GLE-Postgis-Wege- und Routennetz Views
Aus kvwmap
Version vom 6. Januar 2016, 14:51 Uhr von Markus Hentschel (Diskussion | Beiträge)
Grundlage für die Views sind die Matritzen des Ausbauzustands und der Beurteilungskriterien.
Views Kategorien Rad
CREATE OR REPLACE VIEW wegenetz_b.kategorien_rad_1_3_4 AS ( SELECT wegabschnitte.oid, 'rad'::text AS art, 'Kategorie 1'::text AS kategorie, wegabschnitte.wid, 'keine Einschränkung'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_rad = false AND wegabschnitte.wegbreite >= 2.5 AND (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = '1'::text)) AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text <> 'Poller'::text)) AND (wegabschnitte.kfzverkehr::text = 'Selbständiger Weg'::text OR wegabschnitte.kfzverkehr::text = 'Straßenbegleitender Weg'::text) AND wegabschnitte.wohlbefinden::text = 'keine Beeinträchtigung'::text AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung WHERE weg2strassenquerung.querungsart::text = 'ungesicherte Querung'::text)) UNION SELECT wegabschnitte.oid, 'rad'::text AS art, 'Kategorie 4'::text AS kategorie, wegabschnitte.wid, 'Radfahrverbot'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_rad = true) UNION SELECT wegabschnitte.oid, 'rad'::text AS art, 'Kategorie 3'::text AS kategorie, wegabschnitte.wid, rtrim((( CASE WHEN wegabschnitte.wegbreite < 2::numeric AND wegabschnitte.wegbreite > 0::numeric THEN 'Wegbreite < 2 m, '::text ELSE ::text END || CASE WHEN wegabschnitte.wegbreite IS NULL THEN 'Wegbreite unbekannt, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = '3'::text)) THEN 'ungeeignete Ausbauart oder Mangel/Gefahrenstelle, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = 'unbekannt'::text)) THEN 'Ausbauart unbekannt'::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_rad = false AND (wegabschnitte.wegbreite < 2::numeric OR wegabschnitte.wegbreite IS NULL OR (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = '3'::text OR zustand_rad.zustand_rad = 'unbekannt'::text))); CREATE OR REPLACE VIEW wegenetz_b.kategorien_rad_2 AS SELECT wegabschnitte.oid, 'rad'::text AS art, 'Kategorie 2'::text AS kategorie, wegabschnitte.wid, rtrim(((( CASE WHEN wegabschnitte.wegbreite >= 2::numeric AND wegabschnitte.wegbreite < 2.5 THEN 'Wegbreite >= 2 m und < 2,5 m, '::text ELSE ::text END || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = '2'::text)) THEN 'ausreichende Ausbauart oder Mangel/Gefahrenstelle, '::text ELSE ::text END) || CASE WHEN wegabschnitte.kfzverkehr::text <> 'Selbständiger Weg'::text AND wegabschnitte.kfzverkehr::text <> 'Straßenbegleitender Weg'::text THEN 'nicht selbständig geführter oder straßenbegleitender Weg, '::text ELSE ::text END) || CASE WHEN wegabschnitte.wohlbefinden::text <> 'keine Beeinträchtigung'::text THEN 'Beeinträchtigung des Wohlbefindens, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung WHERE weg2strassenquerung.querungsart::text = 'ungesicherte Querung'::text)) THEN 'ungesicherte Straßenquerung'::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND NOT (wegabschnitte.wid IN ( SELECT kategorien_rad_1_3_4.wid FROM wegenetz_b.kategorien_rad_1_3_4)); CREATE OR REPLACE VIEW wegenetz_b.kategorien_rad_alle AS SELECT kategorien_rad_1_3_4.oid, kategorien_rad_1_3_4.art, kategorien_rad_1_3_4.kategorie, kategorien_rad_1_3_4.wid, kategorien_rad_1_3_4.grund, kategorien_rad_1_3_4.the_geom FROM wegenetz_b.kategorien_rad_1_3_4 UNION SELECT kategorien_rad_2.oid, kategorien_rad_2.art, kategorien_rad_2.kategorie, kategorien_rad_2.wid, kategorien_rad_2.grund, kategorien_rad_2.the_geom FROM wegenetz_b.kategorien_rad_2;
Views Kategorien Reiten
CREATE OR REPLACE VIEW wegenetz_b.kategorien_reiten_1_3_4 AS ( SELECT wegabschnitte.oid, 'reiten'::text AS art, 'Kategorie 1'::text AS kategorie, wegabschnitte.wid, 'keine Einschränkung'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_reiten = false AND wegabschnitte.wegbreite >= 2.5 AND (wegabschnitte.wid IN ( SELECT zustand_reiten.wid FROM wegenetz_b.zustand_reiten WHERE zustand_reiten.zustand_reiten = '1'::text)) AND (wegabschnitte.kfzverkehr::text = 'Selbständiger Weg'::text OR wegabschnitte.kfzverkehr::text = 'Straßenbegleitender Weg'::text) AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen)) AND wegabschnitte.wohlbefinden::text = 'keine Beeinträchtigung'::text AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung)) UNION SELECT wegabschnitte.oid, 'reiten'::text AS art, 'Kategorie 4'::text AS kategorie, wegabschnitte.wid, 'Reitverbot'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_reiten = true) UNION SELECT wegabschnitte.oid, 'reiten'::text AS art, 'Kategorie 3'::text AS kategorie, wegabschnitte.wid, rtrim((((( CASE WHEN wegabschnitte.verbot_reiten = true THEN 'Verbot Reiten, '::text ELSE ::text END || CASE WHEN wegabschnitte.wegbreite < 1::numeric AND wegabschnitte.wegbreite > 1::numeric THEN 'Wegbreite < 1 m, '::text ELSE ::text END) || CASE WHEN wegabschnitte.wegbreite IS NULL THEN 'Wegbreite unbekannt, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_reiten.wid FROM wegenetz_b.zustand_reiten WHERE zustand_reiten.zustand_reiten = '3'::text)) THEN 'ungeeignete Ausbauart oder Mangel/Gefahrenstelle, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_reiten.wid FROM wegenetz_b.zustand_reiten WHERE zustand_reiten.zustand_reiten = 'unbekannt'::text)) THEN 'Ausbauart unbekannt, '::text ELSE ::text END) || CASE WHEN wegabschnitte.kfzverkehr IS NULL OR wegabschnitte.kfzverkehr::text = ::text THEN 'KFZ-Verkehr unbekannt'::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_reiten = false AND (wegabschnitte.wegbreite < 1::numeric OR wegabschnitte.wegbreite IS NULL OR (wegabschnitte.wid IN ( SELECT zustand_reiten.wid FROM wegenetz_b.zustand_reiten WHERE zustand_reiten.zustand_reiten = '3'::text OR zustand_reiten.zustand_reiten = 'unbekannt'::text)) OR wegabschnitte.kfzverkehr IS NULL OR wegabschnitte.kfzverkehr::text = ::text); CREATE OR REPLACE VIEW wegenetz_b.kategorien_reiten_2 AS SELECT wegabschnitte.oid, 'reiten'::text AS art, 'Kategorie 2'::text AS kategorie, wegabschnitte.wid, rtrim(((( CASE WHEN wegabschnitte.wegbreite >= 1::numeric AND wegabschnitte.wegbreite < 2.5 THEN 'Wegbreite >= 1 m und < 2.5 m, '::text ELSE ::text END || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_rad.wid FROM wegenetz_b.zustand_rad WHERE zustand_rad.zustand_rad = '2'::text)) THEN 'ausreichende Ausbauart oder Mangel/Gefahrenstelle, '::text ELSE ::text END) || CASE WHEN wegabschnitte.kfzverkehr::text <> 'Selbständiger Weg'::text AND wegabschnitte.kfzverkehr::text <> 'Straßenbegleitender Weg'::text THEN 'nicht selbständig geführter oder straßenbegleitender Weg, '::text ELSE ::text END) || CASE WHEN wegabschnitte.wohlbefinden::text <> 'keine Beeinträchtigung'::text THEN 'Beeinträchtigung des Wohlbefindens, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung)) THEN 'ungesicherte Straßenquerung, '::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND NOT (wegabschnitte.wid IN ( SELECT kategorien_reiten_1_3_4.wid FROM wegenetz_b.kategorien_reiten_1_3_4)); CREATE OR REPLACE VIEW wegenetz_b.kategorien_reiten_alle AS SELECT kategorien_reiten_1_3_4.oid, kategorien_reiten_1_3_4.art, kategorien_reiten_1_3_4.kategorie, kategorien_reiten_1_3_4.wid, kategorien_reiten_1_3_4.grund, kategorien_reiten_1_3_4.the_geom FROM wegenetz_b.kategorien_reiten_1_3_4 UNION SELECT kategorien_reiten_2.oid, kategorien_reiten_2.art, kategorien_reiten_2.kategorie, kategorien_reiten_2.wid, kategorien_reiten_2.grund, kategorien_reiten_2.the_geom FROM wegenetz_b.kategorien_reiten_2;
Views Kategorien Wandern
CREATE OR REPLACE VIEW wegenetz_b.kategorien_wandern_1_3_4 AS ( SELECT wegabschnitte.oid, 'wandern'::text AS art, 'Kategorie 1'::text AS kategorie, wegabschnitte.wid, 'keine Einschränkung'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_wandern = false AND wegabschnitte.wegbreite IS NOT NULL AND (wegabschnitte.wid IN ( SELECT zustand_wandern.wid FROM wegenetz_b.zustand_wandern WHERE zustand_wandern.zustand_wandern = '1'::text)) AND wegabschnitte.kfzverkehr::text = 'Selbständiger Weg'::text AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen)) AND wegabschnitte.wohlbefinden::text = 'keine Beeinträchtigung'::text AND NOT (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung WHERE weg2strassenquerung.querungsart::text = 'ungesicherte Querung'::text)) UNION SELECT wegabschnitte.oid, 'wandern'::text AS art, 'Kategorie 4'::text AS kategorie, wegabschnitte.wid, 'Verbot Fußgänger'::text AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_wandern = true) UNION SELECT wegabschnitte.oid, 'wandern'::text AS art, 'Kategorie 3'::text AS kategorie, wegabschnitte.wid, rtrim((( CASE WHEN wegabschnitte.verbot_wandern = true THEN 'Verbot Wandern, '::text ELSE ::text END || CASE WHEN wegabschnitte.wegbreite IS NULL THEN 'Wegbreite unbekannt, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_wandern.wid FROM wegenetz_b.zustand_wandern WHERE zustand_wandern.zustand_wandern = '3'::text)) THEN 'ungeeignete Ausbauart oder Mangel/Gefahrenstelle'::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_wandern.wid FROM wegenetz_b.zustand_wandern WHERE zustand_wandern.zustand_wandern = 'unbekannt'::text)) THEN 'Ausbauart unbekannt'::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND wegabschnitte.verbot_wandern = false AND (wegabschnitte.wegbreite IS NULL OR (wegabschnitte.wid IN ( SELECT zustand_wandern.wid FROM wegenetz_b.zustand_wandern WHERE zustand_wandern.zustand_wandern = '3'::text OR zustand_wandern.zustand_wandern = 'unbekannt'::text))); CREATE OR REPLACE VIEW wegenetz_b.kategorien_wandern_2 AS SELECT wegabschnitte.oid, 'wandern'::text AS art, 'Kategorie 2'::text AS kategorie, wegabschnitte.wid, rtrim((( CASE WHEN (wegabschnitte.wid IN ( SELECT zustand_wandern.wid FROM wegenetz_b.zustand_wandern WHERE zustand_wandern.zustand_wandern = '2'::text)) THEN 'ausreichende Ausbauart oder Mangel/Gefahrenstelle, '::text ELSE ::text END || CASE WHEN wegabschnitte.kfzverkehr::text <> 'Selbständiger Weg'::text THEN 'nicht selbständig geführter Weg, '::text ELSE ::text END) || CASE WHEN wegabschnitte.wohlbefinden::text <> 'keine Beeinträchtigung'::text THEN 'Beeinträchtigung des Wohlbefindens, '::text ELSE ::text END) || CASE WHEN (wegabschnitte.wid IN ( SELECT DISTINCT weg2strassenquerung.wid FROM wegenetz_b.weg2strassenquerung WHERE weg2strassenquerung.querungsart::text = 'ungesicherte Querung'::text)) THEN 'ungesicherte Straßenquerung'::text ELSE ::text END, ', '::text) AS grund, wegabschnitte.the_geom FROM wegenetz_b.wegabschnitte_alt wegabschnitte WHERE wegabschnitte.status::text = 'vorhanden'::text AND NOT (wegabschnitte.wid IN ( SELECT kategorien_wandern_1_3_4.wid FROM wegenetz_b.kategorien_wandern_1_3_4)); CREATE OR REPLACE VIEW wegenetz_b.kategorien_wandern_alle AS SELECT kategorien_wandern_1_3_4.oid, kategorien_wandern_1_3_4.art, kategorien_wandern_1_3_4.kategorie, kategorien_wandern_1_3_4.wid, kategorien_wandern_1_3_4.grund, kategorien_wandern_1_3_4.the_geom FROM wegenetz_b.kategorien_wandern_1_3_4 UNION SELECT kategorien_wandern_2.oid, kategorien_wandern_2.art, kategorien_wandern_2.kategorie, kategorien_wandern_2.wid, kategorien_wandern_2.grund, kategorien_wandern_2.the_geom FROM wegenetz_b.kategorien_wandern_2;
Views Zustand
CREATE OR REPLACE VIEW wegenetz_b.zustand_rad AS SELECT wegabschnitte.wid, CASE WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['Asphalt'::character varying::text, 'Betonoberfläche'::character varying::text, 'Betonspurbahn'::character varying::text, 'Betonspurplatten'::character varying::text, 'Kunststeinpflaster'::character varying::text, 'wassergebundene Decke'::character varying::text]) THEN CASE WHEN NOT (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['Querrillen'::text, 'saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text, 'Umlaufschranken'::text]))) THEN '1'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['Querrillen'::text, 'Umlaufschranken'::text]))) THEN '2'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text]))) THEN '3'::text ELSE NULL::text END WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['Schotterweg'::character varying::text, 'Sand-/Kiesweg'::character varying::text, 'Waldweg'::character varying::text]) THEN CASE WHEN NOT (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text]))) THEN '2'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text]))) THEN '3'::text ELSE NULL::text END WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['Kopfsteinpflaster'::character varying::text, 'naturbelassener Weg'::character varying::text]) THEN '3'::text WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['befestigt'::character varying::text, 'versiegelt'::character varying::text, 'unbefestigt'::character varying::text, 'unbekannt'::character varying::text]) THEN 'unbekannt'::text ELSE NULL::text END AS zustand_rad FROM wegenetz_b.wegabschnitte_alt wegabschnitte; CREATE OR REPLACE VIEW wegenetz_b.zustand_reiten AS SELECT wegabschnitte.wid, CASE WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['wassergebundene Decke'::character varying::text, 'Sand-/Kiesweg'::character varying::text, 'Waldweg'::character varying::text, 'naturbelassener Weg'::character varying::text]) THEN CASE WHEN NOT (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['Querrillen'::text, 'saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text, 'Umlaufschranken'::text]))) THEN '1'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['Querrillen'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text, 'Umlaufschranken'::text]))) THEN '2'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = 'saisonal unbefahrbar'::text)) THEN '2'::text ELSE NULL::text END WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['Asphalt'::character varying::text, 'Betonoberfläche'::character varying::text, 'Betonspurbahn'::character varying::text, 'Betonspurplatten'::character varying::text, 'Kunststeinpflaster'::character varying::text, 'Schotterweg'::character varying::text, 'Kopfsteinpflaster'::character varying::text]) THEN '3'::text WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['befestigt'::character varying::text, 'versiegelt'::character varying::text, 'unbefestigt'::character varying::text, 'unbekannt'::character varying::text]) THEN 'unbekannt'::text ELSE NULL::text END AS zustand_reiten FROM wegenetz_b.wegabschnitte_alt wegabschnitte; CREATE OR REPLACE VIEW wegenetz_b.zustand_wandern AS SELECT wegabschnitte.wid, CASE WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['wassergebundene Decke'::character varying::text, 'Schotterweg'::character varying::text, 'Sand-/Kiesweg'::character varying::text, 'Waldweg'::character varying::text, 'naturbelassener Weg'::character varying::text]) THEN CASE WHEN NOT (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text, 'Umlaufschranken'::text]))) THEN '1'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = ANY (ARRAY['saisonal unbefahrbar'::text, 'starke Unebenheiten / Löcher'::text, 'starkes Gefälle / Steigung'::text, 'Stufen / Treppen'::text, 'Umlaufschranken'::text]))) THEN '2'::text ELSE NULL::text END WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['Asphalt'::character varying::text, 'Betonoberfläche'::character varying::text, 'Betonspurbahn'::character varying::text, 'Betonspurplatten'::character varying::text, 'Kunststeinpflaster'::character varying::text]) THEN CASE WHEN NOT (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = 'saisonal unbefahrbar'::text)) THEN '2'::text WHEN (wegabschnitte.wid IN ( SELECT gefahrenstellen.wid FROM wegenetz_b.gefahrenstellen WHERE gefahrenstellen.art::text = 'saisonal unbefahrbar'::text)) THEN '3'::text ELSE NULL::text END WHEN wegabschnitte.ausbauart::text = 'Kopfsteinpflaster'::character varying::text THEN '3'::text WHEN wegabschnitte.ausbauart::text = ANY (ARRAY['befestigt'::character varying::text, 'versiegelt'::character varying::text, 'unbefestigt'::character varying::text, 'unbekannt'::character varying::text]) THEN 'unbekannt'::text ELSE NULL::text END AS zustand_wandern FROM wegenetz_b.wegabschnitte_alt wegabschnitte;