published on
tags: openstreetmaps python

OSM Daten als SVG exportieren

OSM2XML

Ich möchte euch heute ein cooles Projekt vorstellen. Der Hase nutzt die Zeit während seines Spezialprojektes sehr effektiv und hat am Wochenende ein Python-Projekt auf GitHub geladen.

Mit dem Skript könnt ihr Daten aus OpenStreetMaps als XML oder SVG exportieren. Das ist super-nützlich, wenn ihr eine skalierbare Grafik vom “Grundriss” eurer Heimatstadt, eures Lieblingsbundeslandes, eurer Lieblingsinsel, Bielefeld oder Trinidad und Tobago braucht.

Das bietet sich auch super für ein Ratespiel an. Wer weiß welche Stadt das ist?

Umrisse von ??? als Vektorgraphik

Los geht’s!

Als erstes solltet ihr die einzige Voraussetzung auf eurem System installieren: Python 3. Ich empfehle (vor allem unter Windows) das mittels Anaconda zu tun. Ladet euch die neuste Version herunter und folgt den Anweisungen des Installers: https://www.anaconda.com/distribution/.

Ob alles geklappt hat, könnt ihr in der Windows Eingabeaufforderung testen. Wenn ihr python eingebt, solltet ihr einen Hinweis zur installierten Version erhalten.

C:\Users\Batman>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.

Als nächstes ladet ihr euch aus dem Repository das Skript herunter: https://github.com/mhaseneyer/osmxml/blob/master/src/osm2svg.py

Und als letztes sucht ihr noch den passenden OSM-Link für das Objekt eurer Wahl heraus. Um das Rätsel von oben aufzulösen, nehmen wir mal an ihr interessiert euch für die Umrisse von Stuttgart: https://www.openstreetmap.org/relation/2793104.

Die sehen in OSM wie folgt aus.

Stuttgart auf OpenStreetMaps

Die Wundermaschine anwerfen

Mit nur einem Befehl lassen wir Python jetzt das Objekt von OSM herunterladen und in eine SVG umwandeln. Dafür übergebt ihr dem Skript einfach den Link zu OSM und einen Namen für das SVG-File.

C:\Users\Batman>python link/to/osm2svg.py https://www.openstreetmap.org/relation/2793104 stuttgart.svg

So einfach ist das. Richtig geiler Scheiß, Danke! 👍