This is a collection of .poly
files for cities, with the definition of 'city' being the area one level under the region/state level. There isn't a whole lot of concern here for discrepancies between cities, towns, villages, etc.
These .poly
files are used to then extract just the city's OSM file from a greater region's OSM file. For example, creating an exact OSM file for Boston from the North America OSM file. More information on actually using the .poly
files is provided at the bottom of this document.
The ultimate goal is to have them all, but it's a rough process right now. The process explained below shows how to retrieve the .poly
file for a specific city, but the process I've gone through to gather most of the files in this repository is much more automated and uses Overpass Turbo.
Sometimes a city won't have a Relation ID, or the Relation that exists will be broken. For those instances, the final OSM file can be created manually by tracing the city at http://extract.bbbike.org/. Just make sure to select one of the 'OSM XML' formats in the top pulldown menu there.
Go to http://nominatim.openstreetmap.org/ and search for the city you'd like added
Click the 'details' link for that city in the left column
Make sure that the map on the right displays the full city border
Copy the number for 'OSM: relation'
Go to http://polygons.openstreetmap.fr/, paste the number into the form, and click the Submit button
Click the 'poly' link to open the file in the browser, then use File -> Save As
to save the file
The naming convention I've been using is city-name_state-abbreviation.poly
. For example, holyoke_ma.poly
You can use the .poly
file to extract that region from a greater region's OSM file.
brew intsall osmosis
.osm.pbf
file for the region that the city is in from http://download.geofabrik.de/osmosis --read-pbf-fast file="YOUR-REGION-latest.osm.pbf" --bounding-polygon file="CITY-NAME_STATE.poly" --write-xml file="CITY-NAME_STATE.osm"
For example:
osmosis --read-pbf-fast file="north-america-latest.osm.pbf" --bounding-polygon file="holyoke_ma.poly" --write-xml file="holyoke_ma.osm"