Osmosis/Polygon Filter File Format
- For OSM Polygons, see Multipolygon relation.
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
- The first line contains the name of the file.
- The second line contains a name which begins a section defining an individual polygon.
- The third and subsequent lines in the section contain the coordinates of the polygon points in the order longitude, latitude, separated by whitespace. By convention, the coordinates are represented in scientific notation, but Osmosis and osmchange are flexible about the actual numeric representation.
- The last line of the polygon section may repeat the starting point to close the circuit. If it is omitted a closing line will be drawn to the start point. If your polygon contains a centroid as the first point, the last line of your polygon section should complete the path to the actual polygon starting point.
- The polygon section is closed by the text "END" on a line by itself.
- The polygon section name may optionally be prefixed with "!" to subtract the polygon. The section(s) containing the larger area from which to subtract should be listed first. All the polygon sections are combined together to create the final filter area.
- If you want to create a filter area which spans the antimeridian (+/-180 degrees), split the polygon at the antimeridian and create additional polygon sections which continue the desired area on the other side.
- The file is closed by another "END" on a line by itself.
Example command to extract a polygon using such a file (if was named country.poly, for Osmosis):
osmosis --read-xml file="planet-latest.osm" --bounding-polygon file="country.poly" --write-xml file="australia.osm"
If using osmchange (program):
cat planet-latest.osm | osmchange -B=country.poly >australia.osm
If using mapsplit:
mapsplit europe.osm.pbf /tmp/output -p=country.poly
If using osmconvert:
osmconvert europe.osm.pbf -B=country.poly -o=switzerland.o5m
Premade polygon files
Files for Russia, Russia's first level administrative regions (buffered and not) and some surrounding countries are here (also includes the description for QGIS extension to generate such files): http://gis-lab.info/qa/osm-poly.html (RU)
Converting to/from POLY format
- osm2poly.pl and poly2osm.pl to convert to/from OSM XML
- gpx2poly.pl to convert GPX files to OSM XML
- ogr2poly.py to convert OGR supported files (including GPX and Shapefile) to multiple POLY files named by an attribute
- polyconvert.pl combines the prior scripts to allow converting to/from OSM XML, GPX, and WKT
- fast_complete_poly_filter.pl to more quickly filter (extract) OSM data with a POLY via Osmosis
- Python function parse_poly() to convert textual POLY file to a Shapely geometry.
- Python function parse_poly() to convert textual POLY file to a Geodjango MultiPolygon geometry.
- getbound.pl will convert a boundary relation into a POLY file .
- GPX-to-POLY from geocaching-dresden.de is a web tool to convert an uploaded GPX file to a POLY file.
- python-osm: the multipolygon.py script/module can read multipolygons and create poly files.
- JOSM can read and save POLY files with "poly" plugin enabled.
- Online tool for extraction, buffering and conversion.
Buffering the Polygon file
Using Quantum GIS
This tutorial shows how to create buffered POLY files using Quantum GIS and the OSM Poly Export plugin. The example uses a country border shape file, but the technique can be applied to any feature you can load into Quantum GIS.
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: . For the buffering PostGIS is being used. Requirements:
The instructions can be read by typing "./polybuffer -h" on the command prompt.