größere OSM Datei aufteilen

Hallo,

ich bin auf der Suche nach einem Programm, das in der Lage ist, eine OSM Datei aufzuteilen. Hintergrund: ich hätte gerne die kompletten OSM Daten für Hannover. Ein direkter Export über die OSM Webseite funktioniert (natürlich) nicht. Geofabrik bietet leider als Download nur ganz Niedersachsen an. Die Datei ist dann ca. 1 GB groß und eignet sich nicht wirklich für eine Verarbeitung. Nun würde ich gerne den gewünschten Bereich aus der Geofabrik Datei ‘ausschneiden’. Kann mir da jemand weiterhelfen?

Grüße

Michael

Hallo Michael,

dafür eignet sich das Tool Osmosis hervorragend.

Egal wie - zuerst brauchst du ein Border-Polygon für Hannover. Hast du schon eines?

das ist einfach. In JOSm eine Stelle laden, wo die Grenze verläuft, Relation öffnen, alle Member laden, Filter auf Boundary setzen und Filter invers setzen, alles löschen, Filter wieder raus, alles markieren, Tags alle löschen (ist glaub nicht notwendig), Alle Grenzwege vereinen, Relationen löschen, speichern und mit osm2poly drüber. Fertig. Ganz wichtig…NICHT HOCHLADEN

Ich gehe wie folgt vor:

  1. Unter http://ra.osmsurround.org/analyze.jsp suche ich mir eine oder die passende Relations ID → Für Hannover also ID 59418
    (Geht natürlich auch wie beschrieben direkt in JOSM)
    Diese Vorgehensweise hat manchmal den Vorteil, dass man nach bestimmten Begriffen suchen kann, wie z.B. die Umweltzone von Hannover

  2. Das Problem ist aber, dass die OSM Datei absolut frei von irgendwelchen Eintragungen sein muss.
    Die Einzigen Schlüssel/Werte od. Key/Value müssen wie folgt sein:
    note …
    polygon_file Hannover
    polygon_id 1

    Alles andere muss man in JOSM löschen, weil sonst später osm2poly.pl eine Fehlermeldung anzeigt.
    Bitte NICHT in JOSM HOCHLADEN!!! .

  3. In JOSM unter Datei → Objekte herunterladen wie unter 2. beschrieben die neuen Key/Value eintragen. Alle anderen Relationen löschen

  4. Datei speichern (hannover.osm)

  5. Mit
    …/osm2poly.pl hannover.osm > hannover.poly
    Polygon erzeugen

  6. Zur Kontrolle mache ich immer noch den umgekehrten Weg mit
    //poly2osm.pl hannover.poly > hannover.osm
    Dann nochmals in JOSM laden, aber bitte NICHT HOCHLADEN!!!

  7. Fertig (mit dieser vorgehensweise sammle ich jede Menger solcher POLYGONE, um mit OSMOSIS OSM Daten zu beschneiden.

Weitere Tipps findest du hier:

http://wiki.openstreetmap.org/wiki/User:Geo-francis#Polygon:

http://osm-static.anders-hamburg.de/Deutschland/Niedersachsen/

Was natürlich auch geht:

Mit JOSM eine geschlossene Linie um den auszuschneidenden Bereich malen und diese dann mit osm2poly umwandeln. Das hat den Vorteil, dass man ein paar Meter mehr mitnehmen kann, um im Zweifel nichts wegzuschneiden, das quasi auf der Grenze liegt.

Zum Ausschneiden (wie für vieles andere auch) ist Osmosis das Standard-Tool. Falls das nicht klappt oder du wirklich ein ganz kleines Programm suchst, gehts auch mit diesem reinen “Ausschneider”:
http://wiki.openstreetmap.org/wiki/DE:Osmchange_%28program%29#Anwenden_von_geografischen_Grenzen

Scheitert der Export aus der Kartendarstellung an der Größe (bounding box) oder brauchst Du wirklich die “exakten” Grenzen (border polygon) ?

Vielen Dank, werde ich ausprobieren. Bin mal gespannt, ob das Programm mit so großen Dateien umgehen kann.

es ist die Größe des Exports, die exakten Grenzen benötige ich eigentlich nicht. Die Sache mit dem border polygon werde ich aber vielleicht mal ausprobieren, hört sich interessant an

Das ist genau das Programm, mit dem Geofabrik sämtliche Extrakte aus der planet.osm schneidet.

Solange du keine speziellen Optionen wie -complete relations verwendest, ist es egal, wie groß die Datei ist. Es dauert halt nur…

Mit den Optionen muß sich das Programm Knoten und Wege merken, da sie vielleicht bei den Wegen bzw Relationen gebraucht werden. Dann kann der Platz im tmp-Verzeichnis schon mal knapp werden.

Gruß,
ajoessen

Dann würde ich es über eine einfache XAPI-Anfrage machen, z.B. mit

I love Hannover mit rechtsklick und speichern unter dateiname.osm

(wenn die XAPI mal wieder up ist :))

… wenn denn der XAPI-Server laufen würde. Besser ists mit wget:

wget.exe http://www.informationfreeway.org/api/0.6/node[bbox=9.6038,52.3012,9.8527,52.4703] -O Han.osm

und dann zu jeder Tageszeit mal testen. Ab und zu läufts.

Gruß,
ajoessen

Am schnellsten wäre wohl:
niedersachsen.osm.pbf von der Geofabrik laden

mit osmosis --rb file=niedersachsen.osm.pbf --bb left=… top=… right=… bottom=… --wx file=hannover.osm

Mit der XAPI hatte ich es zu erst auch probiert, die Verfügbarkeit der Server ist halt nicht so besonders, daher bin ich dazu übergegangen, mir die benötigten Daten aus einem Export zu ziehen.