User:Hugi99/Workbench/uMap Feuerwehrstandorte und Hydranten
The beef
Ziel ist eine interaktive uMap Karte mit Feuerwehrstandorten und Hydranten in der Schweiz dynamisch zu generieren.
Im Bedarfsfall können daraus durch Anpassung des Codes weitere Karten für Kantone / Gemeinden generiert werden oder die Daten können für umfassende Emergency Karten genutzt werden.
Bereits bekannte OSM Hydranten/Feuerwehr Karten
Schrittweise Anleitung
Grundlage
Using Overpass with uMap - Step-by-step tutorial - source: mappa-mercia.org (quite cool Community initiative)
Anleitung für uMap mit zwei Ebenen - Ebene 1 amenity=fire_station und Ebene 2 emergency=fire_hydrant
Für Hydranten wird nur das Schlüssel/Wert (key/value) Paar emergency=fire_hydrant verwendet. Das Paar amenity=fire_hydrant wird nicht verwendet. - taginfo: Verwendung weltweit 351'150 emergency=fire_hydrant und 12'021 amenity=fire_hydrant per 2015-05-01 - Im Vergleich dazu die Schweiz am selben Datum: 13'457 emergency=fire_hydrant vs 402 amenity=fire_hydrant emergency=fire_hydrant. Alle 402 sind doppelt getaggt, nur amenity=fire_hydrant ist nicht vorhanden.
1. Online Werkezug OverPass Turbo Swiss edition aufrufen oder alternativ Overpass Turbo. - Quellen: overpass-turbo.osm.ch oder overpass-turbo.eu
2.1. Wizard anklicken und im Pop-up Fenster amenity=fire_station eingeben. Damit wird eine erste Abfrage im Gebiet des Browser Fensters gemacht und gleichzeitig ein Teil des nachfolgenden Codes für weitere Abfragen erzeugt. Dort die Linien node, way und relation kopieren und gleich darunter einfügen und "amenity"="fire_station" durch "emergency"="fire_station" ersetzen; somit wird die Abrage für beide Schlüssel (amenity=fire_station und emergency=fire_station) auf einmal gemacht.
Ausgabe im Teilfenster links im Browser:
/* This has been generated by the overpass-turbo wizard. The original search was: “amenity=fire_station” and "emergency"="fire_station" */ [out:json][timeout:25]; // gather results ( // query part for: “amenity=fire_station” and "emergency"="fire_station" node["amenity"="fire_station"]({{bbox}}); way["amenity"="fire_station"]({{bbox}}); relation["amenity"="fire_station"]({{bbox}}); node["emergency"="fire_station"]({{bbox}}); way["emergency"="fire_station"]({{bbox}}); relation["emergency"="fire_station"]({{bbox}}); ); // print results out center;
2.3. Export anklicken und im Pop-up Fenster Abfarage (engl.: Query) wählen und dort Nach OverpassQL konvertieren (kompakte Variante) (engl.: convert to (compact)) anklicken.
2.4. Der, durch anklicken von von Nach OverpassQL konvertieren (kompakte Variante) (engl.: convert to (compact)) erzeugte Link zeigt unter Your query in compact Overpass QL::
https://overpass.osm.ch/api/interpreter?data=%5Bout%3Ajson%5D%5Btimeout%3A25%5D%3B%28node%5B%22amenity%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3Bway%5B%22amenity%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3Brelation%5B%22amenity%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3Bnode%5B%22emergency%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3Bway%5B%22emergency%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3Brelation%5B%22emergency%22%3D%22fire%5Fstation%22%5D%2845%2E583289756006316%2C5%2E756835937499999%2C48%2E07807894349862%2C10%2E997314453125%29%3B%29%3Bout%20center%3B%0A
dieser Link wird als Text:
[out:json][timeout:25];(node["amenity"="fire_station"](45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125);way["amenity"="fire_station"] (45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125);relation["amenity"="fire_station"] (45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125);node["emergency"="fire_station"] (45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125);way["emergency"="fire_station"] (45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125);relation["emergency"="fire_station"](45.583289756006316,5.756835937499999,48.07807894349862,10.997314453125););out center;
in einen beliebigen Editor zur weiteren Verarbeitung kopiert. - Achtung: Am Schluss muss out center und nicht out body stehen, da sonst relationen (z.B. Gebäude, die als Feuerwehrmagazin dienen) nicht gerendert / auf der Karte dargestellt werden.
2.5.
https://overpass.osm.ch/api/interpreter?data=[out:json][timeout:25];(node["amenity"="fire_station"]({south},{west},{north},{east}); way["amenity"="fire_station"]({south},{west},{north},{east}); relation["amenity"="fire_station"]({south},{west},{north},{east}); node["emergency"="fire_station"]({south},{west},{north},{east}); way["emergency"="fire_station"]({south},{west},{north},{east}); relation["emergency"="fire_station"]({south},{west},{north},{east}););out center;
3.1 Wizard anklicken und im Pop-up Fenster emergency=fire_hydrant eingeben. Damit wird eine erste Abfrage im Gebiet des Brower Fensters gemacht und gleichzeitig der nachfolgende Code für weitere Abragen für erzeugt
Ausgabe im Teilfenster links im Browser:
/* This has been generated by the overpass-turbo wizard. The original search was: “emergency=fire_hydrant” */ [out:json][timeout:25]; // gather results ( // query part for: “emergency=fire_hydrant” node["emergency"="fire_hydrant"]({{bbox}}); way["emergency"="fire_hydrant"]({{bbox}}); relation["emergency"="fire_hydrant"]({{bbox}}); ); // print results out center;
QA
Im Fall von Hydranten mit gleicher Nummer in uMap, kann man sich diese in OverPass Turbo gleichzeitig anzeigen lassen. Beispiel:
/* This has been generated by the overpass-turbo wizard. The original search was: “emergency=fire_hydrant” */ [out:json][timeout:25]; // gather results ( // query part for: “emergency=fire_hydrant” node["emergency"="fire_hydrant"]["ref"="15"]({{bbox}}); ); // print results out center;
Anschliessend vor Ort kontrollieren und in osm.org korrigieren.
Liste Betreiber
Betreiber der Hydranten (operator) in den Gemeinden in und um Bern im Uhrzeigersinn.
key=operator | key=contact:phone | key=website | Gemeinde / Anmerkungen |
---|---|---|---|
Energie Wasser Bern | +41 31 3213111 | http://www.ewb.ch | Bern - Firma Energie Wasser Bern gemäss Handelsregister. Online HR-Auszug, Zugang auch via zefix.ch |
Gemeinde Ostermundigen - Dienststelle Wasserversorgung | +41 31 9301111 | http://www.ostermundigen.ch/de/verwaltung/tiefbau-und-betriebe/betriebe/wasserversorgung/ | Ostermundigen - |
Muri bei Bern - | |||
Köniz - | |||
Neuenegg - | |||
Mühleberg - | |||
Frauenkappelen - | |||
Wohlen bei Bern - | |||
Kirchlindach - | |||
Bremgarten bei Bern - | |||
Zollikofen - | |||
Ittigen - |
Weitere Betreiber
key=operator | key=contact:phone | key=website | Gemeinde / Anmerkungen |
---|---|---|---|
Energie Thun AG | +41 33 2252200 | http://www.energiethun.ch/de/Produkte/Wasser | Thun - |
Auszeichnung je Hydrant
Details hier
Geographische Eingrenzung
Die Karte kann auch nur für eine Gemeinde oder Kanton (oder die Schweiz) gemacht werden. Folgendes Beispiel ist für die Gemeinde Bern.
Gemeinde Bern
Für Feuerwehstützpunkte:
/* This has been generated by the overpass-turbo wizard. The original search was: “amenity=fire_station” and "emergency"="fire_station" for the Community of Bern */ [out:json][timeout:25]; // gather results ( // query part for: “amenity=fire_station” and "emergency"="fire_station" area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; node(area.gemeinde) ["amenity"="fire_station"]({{bbox}}); area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; way(area.gemeinde) ["amenity"="fire_station"]({{bbox}}); area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; relation(area.gemeinde) ["amenity"="fire_station"]({{bbox}}); area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; node(area.gemeinde) ["emergency"="fire_station"]({{bbox}}); area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; way(area.gemeinde) ["emergency"="fire_station"]({{bbox}}); area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; relation(area.gemeinde) ["emergency"="fire_station"]({{bbox}}); ); // print results out center;
Für Hydranten:
/* This has been generated by the overpass-turbo wizard. The original search was: “emergency"="fire_hydrant" for the Community of Bern */ [out:json][timeout:25]; // gather results ( // query part for: “emergency"="fire_hydrant" area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; node(area.gemeinde) ["emergency"="fire_hydrant"]({{bbox}}); ); // print results out center;
Land Schweiz
Für Feuerwehstützpunkte:
/* This has been generated by the overpass-turbo wizard. The original search was: “amenity=fire_station” and "emergency"="fire_station" for the Country of Switzerland */ [out:json][timeout:25]; // gather results ( // query part for: “amenity=fire_station” and "emergency"="fire_station" area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; node(area.land) ["amenity"="fire_station"]({{bbox}}); area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; way(area.land) ["amenity"="fire_station"]({{bbox}}); area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; relation(area.land) ["amenity"="fire_station"]({{bbox}}); area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; node(area.land) ["emergency"="fire_station"]({{bbox}}); area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; way(area.land) ["emergency"="fire_station"]({{bbox}}); area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; relation(area.land) ["emergency"="fire_station"]({{bbox}}); ); // print results out center;
Für Hydranten:
/* This has been generated by the overpass-turbo wizard. The original search was: “emergency"="fire_hydrant" for the Country of Switzerland */ [out:json][timeout:25]; // gather results ( // query part for: “emergency"="fire_hydrant" area[name="Schweiz, Suisse, Svizzera, Svizra"][admin_level=2][boundary=administrative]->.land; node(area.land) ["emergency"="fire_hydrant"]({{bbox}}); ); // print results out center;
uMap Hilfen
Differenzen suchen
- Alle Hydranten ohne ref Tag in der Gemeinde Bern
/* This has been generated by the overpass-turbo wizard. The original search was: “emergency"="fire_hydrant" without "ref=" for the Community of Bern */ [out:json][timeout:25]; // gather results ( // query part for: “emergency"="fire_hydrant" area[name="Bern"][admin_level=8][boundary=administrative]->.gemeinde; node(area.gemeinde) ["emergency"="fire_hydrant"]["ref"!~".*"]({{bbox}}); ); // print results out center;