OSM-Daten verarbeiten mit Python und Pyosmium
Die OpenStreetMap-Software-Welt bietet eine reiche Auswahl an Tools, um OSM-Daten für bestimmte Verwendungszwecke aufzubereiten (z. B. für Kartenherstellung: osm2pgsql oder Imposm, für Routing: osm2pgrouting, für Geocoding: Nominatim). Außerhalb ihrer Anwendungen stößt man mit so aufbereiteten Daten jedoch schnell an Grenzen, da diese Tools die OSM-Daten in eine bestimmte Struktur zwingen. Oft ist dies das Simple-Feature-Modell. Das OSM-Daten-Modell mit seinen topologischen Informationen und Relationen ist hier wesentlich mächtiger. Wer mehr aus den Daten holen will, zum Beispiel für statistische Analysen oder komplexere Routinganwendungen, arbeitet besser direkt mit den OSM-Rohdaten. PyOsmium bietet hierfür eine Möglichkeit, OSM-Rohdaten schnell in Python zu verarbeiten. PyOsmium (eine auf auf python-boost basierende Python-Anbindungen für Osmium, eine C++-Bibliothek zum Lesen und Schreiben von OSM-Datendateien und Sammlung allgemeiner Funktionen für den Umgang mit OSM-Daten) ermöglicht eine schnelle Prototypfertigung und bietet den Zugang zu verschiedenen Bibliotheken (Shapely, Numpy, Psycopg2 usw.). Dieser Beitrag zeigt anhand von praktischen Beispielen, wie man mittel PyOsmium eigene Tools zur Datenaufbereitung schreiben kann. Er erklärt die Besonderheiten des OSM-Datenmodells und zeigt Techniken auf, wie man effizient mit den Daten umgeht.
Preview
Cite
Access Statistic
