Overpass Turbo / Overpass: Wie komme ich an diese Daten ran?

Hallo Ihr,

ich würde für eine Befragung gerne die Kontakdaten, insbesondere E-Mail-Adressen von Vereinen und Behörden in Kleinstädten (bis 50.000 Einwohner) in Deuschland aus den Metadaten von OSM extrahieren.

Wie würdet Ihr da rangehen? Als Werkzeug würde ich overpass mit wget oder Overpass Turbo verwenden wollen.
Wenn die alle Daten bekomme, unabhängig von der Bevölkerungszahl, wäre das auch ok.

Oder ich mach es so:

wget "https://www.overpass-api.de/api/xapi?*[bbox=5.86,47.26,15.04,55.07][amenity=community_centre]" -O download.osm

Aber ich weiß nicht, wie ich in diesen Befehl Alle Club-Schlüssel reinbekomme (siehe https://wiki.openstreetmap.org/wiki/Key:club)).
Wenn ich statt [amenity=community_centre] [club] eingebe, bekomme ich eine Fehlermeldung…

Viele Grüße desputin

Für so eine massive Abfrage würde ich mir ein Deutschlandextrakt von der Geofabrik laden und das entsprechend filtern bzw. in eine db importieren, bzw. das Vorgefilterte in eine DB importieren.

Hallo dieterdreist,
super, danke für den Hinweis. Das werde ich tun und dann mit dem osmfilter nach Tags entsprechende Teile extrahieren.

https://wiki.openstreetmap.org/wiki/Osmfilter#Tags_Filter

Also z.B. unter Linux mach ich das dann so:

osmfilter germany-latest.osm.o5m --keep="amenity=social_facility" >amenity_social_facility.o5m

Die Abfrage würde ich mir im Overpass Turbo Wizard zusammenbauen, mit der Eingabe von z.B. “amenity=community_centre or club=* or office=government” kriegst du dann die Abfrage für deine BBOX raus. Eventuell ist es sinnvoll, noch auf das Vorhandensein von email-Adressen zu prüfen, z.B. mit einer Regex wie /~“.*email$”~“.”/, die fängt alles mit email hinten im key. Korrekter Eingabestring für den Wizard ist dann:

(amenity=community_centre or club=* or office=government) and ~".*email$"~"."

Für meinen Hauptmapbereich kriege ich dann diese Abfrage hier:

https://overpass-turbo.eu/s/E7Z . Das sieht für mich so aus, als sei da noch viel Luft nach oben, ich krieg nur marginal viele Ergebnisse (28) für die ganze Region Porta Westfalica-Nienburg (Weser)-Celle-Braunschweig-Seesen (und da liegt Hannover mittendrin).

Auch in Berlin gibts “nur” 140 Stück, wobei davon einiges Linien sind (WTF? Guck dir das mal genauer an, https://overpass-turbo.eu/s/E80 ).

Diese Daten würde ich dann im zweiten Schritt mit den Grenzen der Regionen verschneiden, die Dich interessieren, z.B. mit QGIS, Grenzdatensatz von Wambachers Server ziehen, und dann im QGIS auch auf die Bevölkerungszahl filtern.

Eventuell ist es sinnvoller, alles was eine eMail hat zu ziehen und dann alles “schlechte” rauszuwerfen, z.B. shops, da könntest du mehr Erfolg haben. Das dann aber liefer mit osmfilter und (geofabrik)-Extrakten.

…aber du solltest Dir auch überlegen, ob es eine gute Idee ist, die OSM-Daten für sowas zu verwenden. Wenn es nicht wissenschaftlich ist, kann es als Spam empfunden werden.

Hallo Gormo, super danke für die Hinweise!

Es dient in der Tat wissenschaftlichen Zwecken, insofern habe ich auch kein schlechtes Gewissen :slight_smile:

Alternativ zu Deinem Vorschlag kann man die o5m-Dateien auch in Qgis importieren, dann als csv abspeichern und dann sowas machen:

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" osmdatei.csv

Wie geht das denn mit dem “Grenzdatensatz von Wambachers Server”? Damit habe ich noch gar keine Erfahrungebn gemacht…