DE:Osmosis/Polygon Filter File Format

From OpenStreetMap Wiki
Jump to navigation Jump to search

Das Osmosis polygon filter file format wird unterstützt von Osmosis, osmconvert, osmchange and pbftoosm. Es ermöglicht die Definition von unregelmäßigen Flächen.

Für OSM Polygons, siehe Multipolygon relation.

Beispiel

australia_v
1
     0.1446763E+03    -0.3825659E+02
     0.1446693E+03    -0.3826255E+02
     0.1446627E+03    -0.3825661E+02
     0.1446763E+03    -0.3824465E+02
     0.1446813E+03    -0.3824343E+02
     0.1446824E+03    -0.3824484E+02
     0.1446826E+03    -0.3825356E+02
     0.1446876E+03    -0.3825210E+02
     0.1446919E+03    -0.3824719E+02
     0.1447006E+03    -0.3824723E+02
     0.1447042E+03    -0.3825078E+02
     0.1446758E+03    -0.3826229E+02
     0.1446693E+03    -0.3826255E+02
END
!2
     0.1422483E+03    -0.3839481E+02
     0.1422436E+03    -0.3839315E+02
     0.1422496E+03    -0.3839070E+02
     0.1422543E+03    -0.3839025E+02
     0.1422574E+03    -0.3839155E+02
     0.1422467E+03    -0.3840065E+02
     0.1422433E+03    -0.3840048E+02
     0.1422420E+03    -0.3839857E+02
     0.1422436E+03    -0.3839315E+02
END
END
  • Die erste Reihe enthält den Namen der Datei.
  • Die zweite Reihe enthält die Sektions-Bezeichnung. Sie zeigt den Beginn einer Polygon-Definition an.
  • Die dritte und die nachfolgenden Reihen in der Sektion beinhalten die Koordinaten des Polygons, angezeigt in der Folge: Longditude, Latitude, getrennt durch Leerzeichen. Außerdem muß jede Zeile mit Leerzeichen beginnen. Üblicherweise werden die Koordinaten im wissenschaftlichen Format angegeben, aber Osmosis und osmconvert sind flexibel und akzeptieren auch normale Gradangaben.
  • Die letzte Linie der Polygon-Sektion kann den Startpunkt wiederholen,um den Polygon-Kreis zu schließen. Das ist aber nicht zwingend notwendig. Denn wird dies nicht gemacht, zieht das Programm zwischen der letzten Koordinate und der Start-Koordinate eine schließende Linie. Wenn Ihr Polygon als ersten Punkt einen Schwerpunkt enthält, sollte jedoch die letzte Zeile der Polygon-Sektion den Pfad mit dem eigentlichen Ausgangspunkt des Polygons abschließen.
  • Die Polygon-Sektion wird auf einer separaten Linie mit dem Text "END" geschlossen.
  • Um ein Polygon zu subtrahieren, wird dem Namen der Polygonsektion das Prefix "!" voran gestellt. Die Sektion(en), die das große Gebiet beinhalten von dem das kleine Gebiet abgezogen werden soll, sollten zuerst aufgelistet werden. Alle Polygon-Sektionen miteinander verbunden ergeben am Ende das extrahierte Gebiet.
  • Wenn Du ein Gebiet ausschneiden möchtest, das den Nullmeridian (antimeridian (+/-180 degrees)) enthält, teile das Polygon an der 0°-Linie und erzeuge ergänzende Polygon-Sekttionen, die den Rest des ausgewählten Gebietes enthalten.
  • Die Datei wird auf einer separaten Linie mit einem weiteren "END" geschlossen.
  • Mehrere solcher Dateien können zu einer kombiniert werden. In diesem Fall müssen die einzelnen Abschnitte durch jeweils eine Leerzeile getrennt werden (kombinierte Dateien werden von den Programmen osmrelpoly und osmassignpoly verwendet).

Bounding-polygon task

Diese Beispiele zeigen, wie eine Fläche mit Hilfe einer als Polygon-Datei abgespeicherte Flächendefinition ausgeschnitten wird. In den Beispielen heißt die Polygon-Datei country.poly. Sie ist mit allen genannten Programmen kompatibel. Nur der Aufruf in den verschiedenen Programmen variiert.

Beispiel für Osmosis:

osmosis --read-xml file="planet-latest.osm" --bounding-polygon file="country.poly" --write-xml file="australia.osm"

Beispiel für osmconvert:

osmconvert europe.osm.pbf -B=country.poly -o=switzerland.o5m

Beispiel einer planet-Datei nach deutschland.osm.pbf

osmconvert planet-200720.osm.pbf -B=country.poly --out-pbf -o=deutschland.osm.pbf


Beispiel für das Extrahieren aller Grenzpolygone aus einer entsprechend gefilterten Datei unter Verwendung des Programms osmrelpoly:

osmrelpoly borders.o5m --simplify=10 --add-admin-levels=";admin_level=" -o=borders.poly

Details zum Osmosis-Code siehe hier:

http://svn.openstreetmap.org/applications/utils/osmosis/trunk/areafilter/src/org/openstreetmap/osmosis/areafilter/common/PolygonFileReader.java

Bezugsquellen für Polygon-Dateien

Basic outline polygons für Länder sind erhältlich auf http://www.naturalearthdata.com/ Digital Charts of the World server
Klicke Dich auf dieser Seite durch zu "Downloads". Dort findest Du drei Einstiege zu Polygon-Dateien und die Beschreibung des Datei-Formates. Du kannst wählen zwischen hoher, mittlerer und niedriger Auflösung.

Einige Dateien für Deutschland und Österreich im SVN-Format gibt es hier: http://trac.openstreetmap.org/browser/applications/utils/osm-extract/polygons

Dateien für Rußland und russische first level administative regions (buffered and not) sowie einigen Nachbarländern gibt es hier (also includes the description for QGIS extension to generate such files): http://gis-lab.info/qa/osm-poly.html (RU)

Ein kleines Tool, das die Erstellung eigener Polygone erleichtert wird hier zur Verfügung gestellt: http://www.geocaching-dresden.de/tools/gpx-to-poly/

Converting To/From OSM Format

Should you wish to convert a Polygon file to/from an OSM way (to use as a nice boundary on a printed map, for example, or to create and edit polygons in an OSM editor like JOSM) you can find the 'osm2poly.pl' and 'poly2osm.pl' tools here:

Buffering the Polygon file

In case you would like to use a Polygon file of an area with a certain buffer distance, it is possible to use the tool 'polybuffer.py', which can be found here: [1]. For the buffering PostGIS is being used. Requirements:

The instructions can be read by typing "./polybuffer -h" on the command prompt.