say_hello
Dauer-User
- 222
hallo Community, guten Morgen,
hier eine neue Frage des Tages: Wie kann ich alle Krankenhäuser von Open Street Map exportieren oder abfragen?
zugegeben. Keine Android-spezifische Frage: Aber ich hab in den letzten Monaten und Jahren erfahren, dass hier so viele Experten sind - und dass die Gebiete auf denen die Android-Communitiy Expertise bieten kann so unglaublich groß sind.
also: Ich möchte alle Krankenhausstandorte in der Open Street Map als Referenz für ein kleines Geokodierungsprojekt extrahieren. Ich weiß, wie ich mit dem QGIS-Plugin alle OSM-Daten für einen kleinen Bereich abrufen kann, bin mir aber nicht sicher, wie ich einen größeren Bereich abfragen soll, z. B. für die gesamte Planetendatei?
- sehr gern würd ich das dann in eine PostGIS überführen also unter PostgreSQL weiter damit arbeiten.
zur Datenbeschaffung - dem Bezug . hier einige Ideen:
1) Die READ Only Overpass-API . Ich weiß nicht, ob es in einem Durchgang für die gesamte Planetendatei funktioniert,
aber vielleicht, wenn wir die Auszeit genug verlängern? Für einen kleineren Bereich und mit dem Vorteil einer (minimalen) Benutzeroberfläche können wir über den XAPI Query Builder auf Overpass zugreifen. Dort können wir amenity = hospital in die Tag-Suche einfügen, unseren Bereich auswählen und loslegen.
2) Geofabrik-Downloads , gefiltert mit Osmosis, wie unter Extrahieren von Teildaten für große Regionen beschrieben?
in der OpenStreetMap-Hilfe.
3. Was ist mit der Verwendung von healthsites.io: in Bezug auf Healthsites?
Dies ist der meines Erachtens wichtigste Link hierbei: Healthsites API Version 2 ich denke dass ich auch healthsites.io für mein Projekt verwenden?
was ist das Ziel: Ich möchte den Datensatz in einer postgresql-db pflegen
Update: Da ich mich besonders für den Datensatz von healthsites.io interessiere, könnte ich ja auch die gewünschten Daten
auf dieser Seite herunterladen: healthsites.io
Und dann nach dem Download käme dann das Importieren dieser OSM-Daten zur Visualisierung und weiteren Analyse in PostGIS.
Es gibt eine Reihe von Tools auf dem Markt - osm2pgsql; imposm; ogr2org; um nur einige wenige zu nennen. Weitere Schritte - und den Einstieg in PostGIS könnte ich hierrüber gehen; Open Street Map (OSM) to PostGIS - The Basics - Cybertec
Am Ende sollen die Daten / und eine Suche (Retrieval) auf einem Webfrontend möglich werden - hier kann man auch an WordPress-Anwendungen denken. Search Results for “maps” | WordPress.org
Ich hab im Moment nicht den kpl. Überblick auf die diversen WP-Plugins - und denke aber dass es sicher OpenStreetMap-Fähige Plugins sein müssten die ich hier heranziehen sollte...
Am Ende will ich ein Retrieval via Web-Frontend möglich machen. Hier wären m.E. auch Wordpress-Plugins interessant. Search Results for “maps” | WordPress.org Ich habe hier aber nicht den kompletten Überblick auf die diversen Möglichkeiten - m.E. muss es natürlich ein OSM-fähiges Wordpress-Plugin sein.
Apropos: - ich kann mit osmfilter einfach die gewünschten Daten filtern - das macht den Datensatz dann viel viel kleiner. Und dann ( für einen viel viel kleineren Datensatz halt ) kann man im Grunde schon wieder mit MySQL anfangen. Da brauchts dann keine PostGIS mehr.
By the way: healthsites.io - die glaube ich könnten für mein Vorhaben schon auch sehr interessant werden - denn dort stehen ja auch speziell die Daten bereit die mich im Kern interessieren.
mit osmfilter kann ich umgehen den ganzen Planetfile downzuloaden - und kann spezieller zugreifen - so wird der Datensatz dann überschaubarer - und ggf. kann ich dann sogar eine einfache MySQL db verwenden.
zu osmfilter:
DE:Osmfilter - OpenStreetMap Wiki
Wenn ich hier mal ein paar Ansätze vergleiche dann sieht das so aus:
also hier ein paar erste Überblicke:
amenity | Keys | OpenStreetMap Taginfo
amenity=hospital | Tags | OpenStreetMap Taginfo
Übersicht:
und ja: wenn wir auf healthsites blicken dann gibt es hier in der Summe 839122 records - da gehören aber viele einzelne Bereiche mit rein ...
- Dentist
- Pharmacy
- Hospital
- etc. etx.
839122 healthsites listed - vgl.: healthsites.io
sieht man genau hin dann ergibt sich folgendes:
Deutschland - hier sind es 2819 Kliniken....- m.a.W. wären dies dann 2819 records. Das ist dann doch überschaubar und m.E. auch für eine MySQL-DB tauglich.
-conclusio: Hier braucht es m.E. keine PostgreSQL-DB.
womit ich hier anfangen sollte ist ... Gucken wie weit ich mit den Daten von healthsites.io komme : vgl healthsites.io
m.a.W. also gucken ob die nicht die Hospitals separat anbieten - wie gesagt ich brauch nur die POI - brauche für den Anfang keine Maps usw. usf. Da dürfte der Datensatz überschaubar klein bleiben. Wenn ich die Daten dann in der DB habe und täglich einen Abzug ziehe - so dass alles auf dem neuesten & aktuellen Stand ist bin ich schon mal weiter.
ggf. arbeite ich hier (also bei dem Healthsites.io - Ansatz auch mit osmfilter - oder ich hole die daten aus dem planetfile -(oder einzelnen Teilbereichen via Geofabrik) - mit osmfilter...
Die Datenbank richte ich vorab ein,....
.....hier noch ein paar interessante Details zu dem healthsites.io-Projket: http://www.healthsites.io –
hier eine neue Frage des Tages: Wie kann ich alle Krankenhäuser von Open Street Map exportieren oder abfragen?
zugegeben. Keine Android-spezifische Frage: Aber ich hab in den letzten Monaten und Jahren erfahren, dass hier so viele Experten sind - und dass die Gebiete auf denen die Android-Communitiy Expertise bieten kann so unglaublich groß sind.
also: Ich möchte alle Krankenhausstandorte in der Open Street Map als Referenz für ein kleines Geokodierungsprojekt extrahieren. Ich weiß, wie ich mit dem QGIS-Plugin alle OSM-Daten für einen kleinen Bereich abrufen kann, bin mir aber nicht sicher, wie ich einen größeren Bereich abfragen soll, z. B. für die gesamte Planetendatei?
- sehr gern würd ich das dann in eine PostGIS überführen also unter PostgreSQL weiter damit arbeiten.
zur Datenbeschaffung - dem Bezug . hier einige Ideen:
1) Die READ Only Overpass-API . Ich weiß nicht, ob es in einem Durchgang für die gesamte Planetendatei funktioniert,
aber vielleicht, wenn wir die Auszeit genug verlängern? Für einen kleineren Bereich und mit dem Vorteil einer (minimalen) Benutzeroberfläche können wir über den XAPI Query Builder auf Overpass zugreifen. Dort können wir amenity = hospital in die Tag-Suche einfügen, unseren Bereich auswählen und loslegen.
2) Geofabrik-Downloads , gefiltert mit Osmosis, wie unter Extrahieren von Teildaten für große Regionen beschrieben?
in der OpenStreetMap-Hilfe.
3. Was ist mit der Verwendung von healthsites.io: in Bezug auf Healthsites?
Dies ist der meines Erachtens wichtigste Link hierbei: Healthsites API Version 2 ich denke dass ich auch healthsites.io für mein Projekt verwenden?
was ist das Ziel: Ich möchte den Datensatz in einer postgresql-db pflegen
Update: Da ich mich besonders für den Datensatz von healthsites.io interessiere, könnte ich ja auch die gewünschten Daten
auf dieser Seite herunterladen: healthsites.io
Und dann nach dem Download käme dann das Importieren dieser OSM-Daten zur Visualisierung und weiteren Analyse in PostGIS.
Es gibt eine Reihe von Tools auf dem Markt - osm2pgsql; imposm; ogr2org; um nur einige wenige zu nennen. Weitere Schritte - und den Einstieg in PostGIS könnte ich hierrüber gehen; Open Street Map (OSM) to PostGIS - The Basics - Cybertec
Am Ende sollen die Daten / und eine Suche (Retrieval) auf einem Webfrontend möglich werden - hier kann man auch an WordPress-Anwendungen denken. Search Results for “maps” | WordPress.org
Ich hab im Moment nicht den kpl. Überblick auf die diversen WP-Plugins - und denke aber dass es sicher OpenStreetMap-Fähige Plugins sein müssten die ich hier heranziehen sollte...
Am Ende will ich ein Retrieval via Web-Frontend möglich machen. Hier wären m.E. auch Wordpress-Plugins interessant. Search Results for “maps” | WordPress.org Ich habe hier aber nicht den kompletten Überblick auf die diversen Möglichkeiten - m.E. muss es natürlich ein OSM-fähiges Wordpress-Plugin sein.
Apropos: - ich kann mit osmfilter einfach die gewünschten Daten filtern - das macht den Datensatz dann viel viel kleiner. Und dann ( für einen viel viel kleineren Datensatz halt ) kann man im Grunde schon wieder mit MySQL anfangen. Da brauchts dann keine PostGIS mehr.
By the way: healthsites.io - die glaube ich könnten für mein Vorhaben schon auch sehr interessant werden - denn dort stehen ja auch speziell die Daten bereit die mich im Kern interessieren.
mit osmfilter kann ich umgehen den ganzen Planetfile downzuloaden - und kann spezieller zugreifen - so wird der Datensatz dann überschaubarer - und ggf. kann ich dann sogar eine einfache MySQL db verwenden.
zu osmfilter:
DE:Osmfilter - OpenStreetMap Wiki
osmfilter ist ein Kommandozeilentool, das aus OSM-Planetfiles Daten mit ausgewählten Tags heraus filtert. Es ist möglich verschiedene Arten von Filtern zu definieren, mit denen OSM-Objekte (d.h. Punkte, Wege und Relationen) einschließlich der zugehörigen Objekte (z.B. Punkte von Wegen, Wege von Relationen, Relationen von anderen Relationen) extrahiert werden können.
Unterstützte Eingabe- und Ausgabe-Formate sind das .osm-Format und das .o5m-Format. Um schnelleres Filtern zu ermöglichen, wird empfohlen, das .o5m-Format zumindest für die Dateneingabe zu verwenden. Das Programm osmconvert hilft bei entsprechenden Formatumwandlungen. Zum Beispiel: ./osmconvert file.pbf -o=file.o5m
Die folgenden Absätze zeigen die wichtigsten Anwendungsbeispiele.
Objekt-Filter:
Filter dieser Kategorie beziehen sich immer auf ganze Objekte (Punkte, Wege oder Relationen), das heißt, sie entscheiden, ob das jeweilige Objekt als Ganzes erhalten bleibt oder komplett aus der Datei ausgeschlossen wird.
Bestimmte Objekte und ihre Mitglieder behalten
./osmfilter norway.osm --keep="highway=primary =secondary waterway=river" -o=streets.osm
./osmfilter switzerland.o5m --keep="highway=cycleway and lit=yes" -o=litcycles.osm
./osmfilter europe.o5m --keep= --keep-relations="route=bus" -o=bus_lines.o5m
./osmfilter bayern.o5m --keep="admin_level=6 and name=Nürnberger\ Land" -o=nbg_boundaries.osm
Der Backslash "\" erlaubt auch Leerzeichen innerhalb von Schlüsselnamen oder Werten.
Objekte eines bestimmten Typs behalten
Um beim Filtern nur Objekte eines bestimmten Typs zu behalten, müssen Filter auch für die beiden anderen Objekttypen definiert werden. Um beispielsweise nur Punkte mit dem Tag fixme zu behalten, wird eines dieser Kommandos verwendet:
--keep-nodes="fixme=" --keep-ways= --keep-relations=
--keep= --keep-nodes="fixme="
Bestimmte Objekte ausschließen
Tag-Filter:
Tag-Filter beziehen sich immer nur auf einzelne Tags. Damit lässt sich festlegen, welche Tags erhalten bleiben und welche ausgeschlossen werden.
Bestimmte Tags behalten
./osmfilter a.o5m --keep-tags="all amenity=restaurant =fast_food" -o=food.osm
./osmfilter a.o5m --keep-tags="all highway= waterway= name=" -o=ways.o5m
Wenn ich hier mal ein paar Ansätze vergleiche dann sieht das so aus:
also hier ein paar erste Überblicke:
amenity | Keys | OpenStreetMap Taginfo
amenity=hospital | Tags | OpenStreetMap Taginfo
Übersicht:
Code:
Typ:
Anzahl Objekte:
[Alle] Alle 181012 0.00%
101736 0.06%
[Way] Way 76 022 0.01%
[Relation] Relation 3 254 0.04%
und ja: wenn wir auf healthsites blicken dann gibt es hier in der Summe 839122 records - da gehören aber viele einzelne Bereiche mit rein ...
- Dentist
- Pharmacy
- Hospital
- etc. etx.
839122 healthsites listed - vgl.: healthsites.io
sieht man genau hin dann ergibt sich folgendes:
Deutschland - hier sind es 2819 Kliniken....- m.a.W. wären dies dann 2819 records. Das ist dann doch überschaubar und m.E. auch für eine MySQL-DB tauglich.
-conclusio: Hier braucht es m.E. keine PostgreSQL-DB.
womit ich hier anfangen sollte ist ... Gucken wie weit ich mit den Daten von healthsites.io komme : vgl healthsites.io
m.a.W. also gucken ob die nicht die Hospitals separat anbieten - wie gesagt ich brauch nur die POI - brauche für den Anfang keine Maps usw. usf. Da dürfte der Datensatz überschaubar klein bleiben. Wenn ich die Daten dann in der DB habe und täglich einen Abzug ziehe - so dass alles auf dem neuesten & aktuellen Stand ist bin ich schon mal weiter.
ggf. arbeite ich hier (also bei dem Healthsites.io - Ansatz auch mit osmfilter - oder ich hole die daten aus dem planetfile -(oder einzelnen Teilbereichen via Geofabrik) - mit osmfilter...
Die Datenbank richte ich vorab ein,....
.....hier noch ein paar interessante Details zu dem healthsites.io-Projket: http://www.healthsites.io –
The data will flow both ways from Healthsites.io to OpenStreetMap, and from OpenStreetMap to Healthsites.io. On the sign up to the Healthsites.io page, users will register using OAuth against the OSM authentication provider. Each data change (create/update/delete) to a health facility on the Healthsite.io platform will be written directly to the OSM database using the OSM API, with the OSM credentials associated with the logged in user on Healthsites.io.
Changes to health facility data made outside of the Healthsites.io platform, and directly to OSM are replicated back in near-real time to a Healthsites.io mirror of all health facility data found in OSM. This is achieved using docker-osm, developed by Kartoza which takes the high frequency diffs produced on OSM and applies them to a PostgreSQL / PostGIS database hosted on Heathsites.io. Changes made locally on healthsites.io are first pushed to OSM via the OSM API and then replicated back to our docker-osm instance using the same mechanism described above.
Our aim with this architectural approach is to make OSM the main storage location of all the health facility data available on Healthsites.io and at the same time facilitate large queries, extracts and general innovation around the body of OSM health facility data, whilst having minimal impact and load on the services offered by OSM. The diagram below illustrates the high level architecture as pertains to interactions between OSM and Healthsites.io.
Data Model: The OSM data model put together for Healthsites was initially based off of several data models used in various HOT projects across South America, Africa and Southeast Asia. The initial list of tags was then compared to the data model that Healthsites.io was already using to ensure that the same attributes were still being captured, but also offered some suggestions for additional key information that should be captured for health facilities. This was based on the numerous collaborations with HOT project partners over the years and their data needs.
The overall idea is to use existing OSM tags where possible and only propose new tags where necessary. A lot of research went into the development of the Healthsites OSM data model, including the review of existing HOT data models and OSM data models available on the OSM wiki. Verification of the tags usage through the OSM wiki, Tag Info and Tag History, with further analysis on tags using OSMFilter for certain areas of interest, helped identify values generally applied in a local area.
Zuletzt bearbeitet: