OSM-Extrakt für Deutschland Nord bzw. Süd wie erstellen

Im Rahmen meines Kartenprojektes möchte ich getrennte Karten für Deutschland-Nord und Deutschland-Süd erstellen. Die beiden Karten sollen eine Überlappung von ca. 100 km haben. Über die jeweilige Landesgrenze hinaus sollen ca. 100 km berücksichtigt werden, damit die Karte auch für Personen in Grenznähe “brauchbar” ist. Frage: Wie kann aus dem Europa-Extrakt von z.B. Geofabrik die vorgenannten Bereiche “ausschneiden”?

Gruß Klaus

Am besten, du steckst in Quantum GIS den Wunschbereich ab, und wandelst das in ein poly-File um:
http://www.mail-archive.com/talk@openstreetmap.org/msg39134.html
Das kannst du dann mit pbftooosm oder osmosis benutzen.

Gruß,
ajoessen

Mit Pbftoosm http://wiki.openstreetmap.org/wiki/DE:Pbftoosm

oder mit

osmconvert http://wiki.openstreetmap.org/wiki/DE:Osmconvert

bei beiden kann direkt eine BBOX angeben , schneidet direkt an der BBOX bzw. löscht unvollständige

oder mit

Tile Splitter http://www.mkgmap.org.uk/page/tile-splitter

der Tile Splitter kann indirekt über die area.list definierte Bereiche ausschneiden Flächen und Linien die über den Bereich hinausgehen werden mit übernommen und nicht abgeschnitten.

Mal nee kleine Auswahl - gibt sicherlich noch einige mehr .

Danke für die Antworten. Den Ansatz mit “splitter” habe ich evaluiert. Er hat sich jedoch, bezogen auf die Datenmenge und den Nachbereitungsaufwand, als ineffizient heraus gestellt (>6 h Laufzeit). Möglicherweise ist das Vorgehensmodell via “Polyfile” grundsätzlich geeigneter.

Ich mach das mit osmchange, damit spiele ich auch die Aktualisierungen von der OSM-Datenbank rein. Der Befehl unter einem Unix, so wie ich ihn anwende, geht dann in etwa so:

zcat .osm.gz| osmchange -B=<polygon_der_region>.poly .osc | gzip .osm.gz

Wenn du den Ausschnitt nur einmalig brauchst, dann einfach die .osc Datei weglassen und als Eingangsfile den Europaextrakt. Bei Updates dann als Eingangsfile nach dem ersten Durchlauf das Ergebnis vom vorherigen Durchlauf nehmen.

Was genau willst du eigentlich aus den Daten generieren? *.img Karten für Garmin-Geräte oder ganz was anderes?

Markus

Schon richtig vermutet, die Weiterverarbeitung erfolgt dann mit mkgmap - deshalb auch zunächst mal der Versuch mit splitter.
Ich werde den Ansatz über osmchange in Kürze (unter OS X) einmal verproben.
Zunächst muß ich mir allerdings das Format des Poly-Files ansehen. Oder hat vielleicht jemand eine adäquate Vorlage?

Klaus

Für ganz DE gibts die vom wambacher hier:
http://wnordmann.homeunix.com/index.php/downloads/cat_view/40-openstreetmap/41-grenzen/48-deutschland/44-poly-files/47-buffer

gruß,
ajoessen

So ein *.poly File selber zu machen ist auch kein so besonderer Aufwand. Am einfachsten in JOSM eine dein gewünschtes Gebiet umschließenden geschlossenen Kurvenzug bauen. Die Datenebene mit dem Linienzug als *.osm lokal speichern und das osm2poly.pl perl Skript drüber laufen lassen. Fertig ist dein Ausschneidepolygon. Ich hab das zumindest so gemacht um meine Länderextrakte von .de .at und .it mit den jeweils angrenzenden Gebiet zu machen und täglich zu aktualisieren. Du kannst das aber im Wiki unter http://wiki.openstreetmap.org/wiki/DE:Osmosis/Polygon_Filter_File_Format ist auch der Link wo man das Skript bekommt.

Markus

Habe osmchange mal unter OS X compiliert - läuft auch recht performant.
Meine Ergebnisdatei enthält allerdings nur Relationen. Muß ich also doch “tiefer” in die “Materie” einsteigen.
Tippe mal auf Anfängerfehler oder Konfigurationsdefekt.

Mein Testaufruf sah wie folgt aus:
cat Nordrhein-Westfalen.osm | ./osmchange -B=Regierungsbezirk_Arnsberg.poly >arnsberg.osm

Hmm, sieht für mich eigentlich gut aus. Du könntest eventell auch nur mal mit einer BoudingBox des Gebiets testen. Ich selber habe mir aber eigentlich den Output von osmchange nie direkt angesehen. Ich habe nur beim Endergebnis bei meiner gesamten Verarbeitungskette osmchange->splitter->mkgmap festgestellt, dass aus der Karte am Garmin oft Randgebiete zum Ausschneidepolygon nicht mehr drauf waren. Ich habe nie genauer untersucht warum, sondern nur das Polygon vergrößert. Eventuell hat da auch schon osmchange was daran verursacht … keine Ahnung.

Wenn du willst kannst du auch mit meinen .de Ausschnitt experimentieren. Unter http://140.78.94.22/osm/ findest du ein germany+.osm.xz das ist .de und etwas aus den Nachbarländern mit dazu.

Markus

Probier versuchshalber eventuell mal das neuere osmconvert. Der Aufruf sieht dann ganz leicht anders aus:

./osmconvert Nordrhein-Westfalen.osm.pbf -B=Regierungsbezirk_Arnsberg.poly >arnsberg.osm

Du kannst mit dem Programm auch nicht benötigte Daten rauswerfen und dadurch die Zieldatei verkleinern: --drop-author
Oder dafür sorgen, dass Referenzen, die auf Nodes verweisen, die außerhalb des ausgeschnittenen Gebiets liegen, entfernt werden (wird aber vermutlich nur für MapComposer gebraucht): --drop-brokenrefs
Außerdem liest osmconvert auch .pbf-Dateien, was die Sache etwas beschleunigt.

Danke für Informationen - inzwischen ist klar geworden, wie die gewünschten Extrakte zu erstellen sind. Aus Prioritätsgründen werde ich das Vorhaben allerdings zunächst zurückstellen. Die Umsetzung versuche ich dann mit osmosis und eigenen poly-Files - die Ergebnisse werde ich dann hier posten.

@Markus: Aus deinem “germany+”-Extrakt habe ich einmal testweise eine Karte erstellt - das Ergebnis kommt meinem Gewünschten schon recht nahe.