The shapefile is a common standard for representing geospatial vector data. There are several ways of working with Openstreetmap data and shapefiles.
Developed and regulated by Esri as a (mostly) open specification, the shapefile format spatially describes geometries as either 'points', 'polylines', or 'polygons'. In OpenStreetMap terms these can be considered as 'nodes', 'ways' and 'closed ways', respectively. Each geometry has a set of associated attributes. Broadly speaking these are a bit like OSM's tags.
The shapefile is in fact a grouping of several files formatted to represent different aspects of geodata:
- .shp — shape format; the feature geometry itself.
- .shx — shape index format; a positional index of the feature geometry to allow seeking forwards and backwards quickly.
- .dbf — attribute format; columnar attributes for each shape, in dBase IV format.
There are also several optional files in the shapefile format. The most significant of these is the .prj file which describes the coordinate system and projection information used. Although not part of the Esri shapefile standard, the .lyr file is often included as it contains specifications of how to display the data (colour, labelling, etc) in ArcGIS software.
NOTE: Shapefiles have many limitations, like cutting attribute names. This page explains why and shows better alternatives like GeoJSON or vector GeoPackage.
- For more info about Shapefiles see Wikipedia
Obtaining shapefiles from OSM data
- Pre-made shapefile downloads
- download shapefiles created by Geofabrik, updated daily (usually) with a global extract and some countries. Shapefiles with the following are provided: buildings, landuse, natural, places, point, railways, roads and waterways.
- osmdata.openstreetmap.de has shapefiles for coastlines, water polyons, land polygons and icesheets, updated daily.
- osmdata.openstreetmap.de offers coastline and icesheet data. Operated by FOSSGIS, replaces openstreetmapdata.com.
- BBBike.org extract service offers shape files for more than 200 cities and regions worldwide, updated weekly. Separate shapefiles for points, places, waterways, roads, railways, landuse and buildings with relevant tags, then shapefiles with all points, lines and polygons together.
- Services generating custom shapefile downloads
- HOT Exports service (export.hotosm.org) (code) - custom export based on tag files (or all tags) in certain developing world regions, with data about an hour old
- BBBike.org extract service offers shapefiles for an area of your choosing, updated weekly. Separate shapefiles for points, places, waterways, roads, railways, landuse and buildings with relevant tags, then shapefiles with all points, lines and polygons together.
- OSMaxx extract service, export to Shapefile (and GeoPackage etc.) based on bounding box for whole world with data about a day old.
- OSM2GIS - Simple tool developed by User:Arnaud974, one shapefile each with all tags for points, lines and polygons
Boundaries Map offers worldwide shapefiles of all administrative boundaries. Database will be updated at midnight, German time.Created by User:wambacher
Create your own shapefiles
- QGIS (qgis.org) - This desktop GIS software has a QGIS OSM Plugin allowing you to open OSM files and save them to shapefile
- note: OSM-Plugin only loads information from 8 keys and cuts values at 82 chars.
- Blog post on the steps to do it from JOSM
- ArcGIS has a free editor toolbar as well, which creates geodatabases rather than shapefiles (an ArcGIS file format)
- "Open Street Map layers importations applications" chapter in Orfeo Toolbox Cookbook, Orfeo Toolbox being available in QGIS through the Sextante plugin.
- If you load OSM data into a PostGIS database using osm2pgsql, you can use some PostGIS capable GIS software (e.g. those listed below) or run pgsql2shp (feature of PostGIS) to create a shapefile.
- Osmium can write all vector formats OGR supports using its OGRGeometryFactory and the gdalcpp.hpp wrapper around the GDAL/OGR library. There is some sample code in the Osmcode organisation at Github. The "export" command of Osmium Tool can write the formats OGR supports.
- ogr2ogr - ogr2ogr/GDAL 1.10 or newer has support. Converts OSM data not only to shapefiles but to any vector format which has write support in GDAL/OGR - PostGIS, Oracle, MapInfo, GML, Spatialite etc.
- Spatial Manager is a software suite for converting geospatial datasets. Includes its own OSM data provider.
Obtaining OSM data from shapefiles
Whilst you may want to convert shapefiles into .osm format for some other reason (e.g. to work with OpenStreetMap related tools) such conversion is normally done as part of an import process. See Import/Shapefile for details.
- Merkaartor has support for reading shapefiles.
- JOSM can load shapefiles with its plugin OpenData.
- Potlatch 2 can display shapefiles as background layer (how-to)
Working with shapefiles
- Main article: GIS software
There's lots of GIS software which works with shapefiles.