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 way 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.
- download shapefiles from OpenStreetMapData.com. Coastline data only
Metro Extracts service by Mapzen offers shapefiles for major cities, updated weekly, with either every tag in one shapefile each for points, lines and polygons, or separate shapefiles for different tags
- osm-x-tractor.org offers global and continental extracts. Shapefiles are generated for buildings, roads, landuse, places, POI, natural, hydrography and vegetation. Updated every two weeks.
- osm2shp.ru here you can download openstreetmap data in shapefiles format. Data divided by regions: North and South America, Australia and Oceania, Africa, Europa and Asia.61 layers for download. Data filtered by "Map Features" conditions.
- 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
- Landcover Database Shapefile Download individual layers not only from OSM by a bounding box.
- 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, then you can use some PostGIS capable GIS software (e.g. those listed below) or run pgsql2shp (feature of PostGIS) to create a shapefile.
- OSMLib - A ruby library which can convert to shapefile following a rules file.
- osm2shp in OSM SVN (and a later version) - C++ script developed by User:Frederik Ramm used by Geofabrik for their shapefile downloads. Fast and scaleable, but maybe not so configurable
- osm2shp in google code - C# conversion utility - Seems to be under development by User:Cipt2001
- osm2shp on github - C++ conversion utility, can read complete planet.osm.gz and planet.osm.bz2 streams directly, support tag filtering, under development by User:minad
- osm2shp Java - A very simple command line tool to convert OSM files to Shapefiles. Written in Java. No input from community on its project page. http://sourceforge.net/scm/?type=svn&group_id=355596
- 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.
- Converting OSM to GML - includes follow up information on going from GML to shapefile
- LocalOsmToShp - To Translate local OpenStreetMap files to shapefiles. Browse C code, documents and examples in project files. Can translate points, ways and relations features, controlling the DBF file (columns and fields). By User:Jrtamayo
- 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.
- OSM IQ
- GeoTools GeoTools is an open source Java library that provides tools for geospatial data.
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 shapefilese.