OpenStreetMap

Übersichtskarte erstellen ... gar nicht so einfach

Posted by Harald Hartmann on 5 April 2016 in German (Deutsch).

Aufgabenstellung

Eine Übersichtskarte, auf der grob / schematisch / generalisiert folgende Daten angezeigt werden sollten: Bundeslandgrenzen, Autobahnen, Bundesstraßen, Rennsteig, ein paar größere Städe, und zentral einen großen Punkt für die Gemeinde Schleusegrund.

Ergebnis

Hier das Ergebnis bereits vorweg, danach wie ich es Schritt für Schritt - auch mit Unterstützung der Community im Forum bis dahin letztendlich umgesetzt habe:

Ergebnis

Man sieht es schon, die Bundesstraßen fehlen, mehr dazu unten.

Erster Gehversuch

Daten beschaffen, eingrenzen und filtern

Dafür gibt es ja schon ein paar nette Tools:

wget -q http://download.geofabrik.de/europe/germany-latest.osm.pbf -O germany-latest.osm.pbf
osmconvert --drop-author -b=9.52,49.70,11.83,51.12 germany-latest.osm.pbf -o=uebersicht.o5m
osmfilter uebersicht.o5m --keep="place=town =city place=municipality highway=* AND ref=B\ *" --keep-relations="route=hiking AND name=Rennsteig type=TMC AND name=A* route=road AND ref=B\ * boundary=administrative AND admin_level=4" -o=uebersicht.osm

Daten visualisieren

Ich habe mich dazu entschlossen Maperitive zu verwenden, habe dazu eine Rule erstellt und das erste Ergebnis, sah ja nicht mal so schlecht aus:

MaperitiveRendering

Finishing für den Druck

Da die Übersicht für den Druck verwendet werden, und wie in der Aufgabenbeschreibung etwas schematischer aussehen sollte, habe ich die Visualisierung in maperitive per export-svg exportiert und wollte nun mit Inkscape loslegen.

Damit ging es aber dann los mit den Problemen und der Diskussion im Forum. Und ein paar weitere Gehversuche bzw. Iterationen vergingen.

Mein finaler Weg

Daten beschaffen, eingrenzen und filtern

Eigentlich wie oben, da ich aber nun jede Ebene vorher erst mit JOSM vereinfachen wollte (mehr dazu unten), habe ich jede Ebene einzeln in eine eigene osm-Datei gefiltert:

osmfilter uebersicht.o5m --keep="highway=motorway" -o=motorway.osm
osmfilter uebersicht.o5m --keep= --keep-relations="boundary=administrative AND admin_level=4" -o=boundary.osm
osmfilter uebersicht.o5m --keep= --keep-relations="route=hiking AND name=Rennsteig" -o=rennsteig.osm
osmfilter uebersicht.o5m --keep="place AND population>15000 place=municipality AND name=Schleusegrund" -o=places.osm

Daten vereinfachen

Maperitive hat u.a. die Eigenschaft, das OSM Tag layer auszuwerten, und die ways mit diesem Tag in der Tat in eine eigene Ebene im exportierten SVG einzulagern. Desweiteren wollte ich für das Finishing in Inkscape aber nur zusammengefasste Linien.

Also habe ich dann mit JOSM jede osm-Datei geöffnet und manuell bearbeitet:

  • Bei motorway musste ich eine Spur entfernen. In JOSM gar nicht so schwer wie anfangs gedacht: Man wählt einen way aus und lässt diesen mit (Umschalt+W) verfolgen und markieren. Einmal löschen, fertig.
  • Um aus den vielen Ways eine zusammengefasste Linie zu machen, habe ich wieder die Ways mit Umschalt+W markiert und habe aus der Tag-Liste ALLES bis auf highway und ref rausgeschmissen. Abschließend habe ich dann die markierten Ways mit (c) “Linien verbinden” zu einer einzigen Linie verbunden.

Zum Thema Bundesstraßen:

  • das Filtern ist schon nicht trivial, auf Grund diverser Gründe, z.B. Relationen nicht vollständig, nicht durchgängig mit ref getaggt, usw.
  • auch das Vereinfachen in Josm geht nicht mehr einfach: sehr viele Kreuzungen - da gehören auch Kreisverkehre dazu (die aber ja schematisch nur als Linie dargestellt werden sollten) - die man auch nicht mehr so einfach (in kurzer Zeit) mit Umschalt+W markieren und vereinfachen kann

Deshalb habe ich die Bundesstraßen ausgeklammert.

Daten visualisieren

Wie oben auch, habe ich mit Maperitive und der vorhandenen Regel dann halt jede Ebene einzeln visualisiert und als SVG exportiert.

Finishing für den Druck

In Inkscape habe ich mir dann Ebenen (motorway, rennsteig, boundary,…) angelegt und jeweils das entsprechende SVG importiert.

Mit dem Tipp (Bearbeiten > Klonen > Klonverbindung auftrennen) aus dem Forum war es nun ziemlich einfach: Ich habe mir also z.B.

  • die Ebene “rennsteig” vorgenommen
  • den Rennsteig markiert
  • die Klonverbindung aufgetrennt
  • das Objekt in einen Pfad umgewandelt (Pfad > Objekt in Pfad umwandeln)
  • den Pfad mit dem Pfadwerkzeug (F2) markiert und vereinfacht (Pfad > Vereinfachen)
  • alle Knoten markiert und mit dem Befehl “automatisch abrunden” aus der Symbolleiste geglättet.

PS: Im Forumsbeitrag habe ich mehrfach hintereinander den Pfad “vereinfacht”, was aber definitiv nicht zu dem schönen Ergebnis oben führt. Einmal vereinfachen mit anschließenden Knoten glätten reicht völlig aus.

Mein Re­sü­mee

  • Die Datenqualität könnte in einigen Bereich definitiv besser sein, aber da sind wir ja dabei.
  • Die Daten sind teilweise schon so detailliert, dass man eher wieder Probleme bzw. größere Arbeit damit hat, diese zu vereinfachen.
Location: Schönbrunn, Schleusegrund, Landkreis Hildburghausen, Thüringen, 98667, Deutschland

Login to leave a comment