OpenStreetMap (OSM) is a collaborative open source project that aims to create a free editable map of the world. Think of Wikipedia but in map form. OSM was created by Steve Coast in the UK in 2004 after being inspired by the success of Wikipedia and the rise of proprietary mapping data and tools across the world. Since it began, OSM has grown to over two million registered users who can collect data for the platform. This crowdsourced data is then made available under the Open Database License. The data from OSM can be used in various ways including production of paper maps and electronic maps (similar to Google Maps, for example), geocoding of addresses and place names, route planning and for applications and software.
Map data is collected from scratch by volunteers performing systematic ground surveys using tools such as a handheld GPS unit, a notebook, digital camera, aerial photography, or other free sources. The data is then entered into the OSM database. The project has a geographically diverse user-base, due to the emphasis of local knowledge and ground truth in the process of data collection. Data can also come from other open platforms such as Mapillary or OpenStreetCam. Government agencies are also great contributors with many departments submitting their own data under open data policies.
While OSM aims to be a central data source, its map rendering and aesthetics are meant to be only one of many options, some which highlight different elements of the map or emphasise design and performance. OSM uses a topological data structure, with four core elements (also known as data primitives):
- Nodes are points with a geographic position, stored as coordinates (pairs of latitude and longitude coordinates).
- Ways are ordered lists of nodes, representing a polyline, or possibly a polygon if they form a closed loop.
- Relations are ordered lists of nodes, ways and relations (together called "members"), where each member can optionally have a "role" (for example “from” or “to” when talking about directions). Relations are used for representing the relationship of existing nodes and ways.
- Tags are key-value pairs (both arbitrary strings). They are used to store metadata about the map objects (such as their type, their name and their physical properties). Tags are not free-standing, but are always attached to an object: to a node, a way or a relation.
Data provided by the OSM project can be viewed in a web browser simply by going to OpenStreetMap.org. OSM can also be viewed by a range of open source software or tools such as OsmAnd, Maps.me or GNOME Maps. Custom maps can also be generated from the OSM website or through various software including Jawg Maps, Mapnik, Mapbox Studio, Mapzen's Tangrams. There are many use cases for OSM including base maps, custom maps, routing, analysis, research and applications. Some notable services using OSM include:
- Apple for their Maps app
- Moovit for public transit navigation
- Tableau for their mapping needs
- Niantic for their very popular games Ingress and Pokémon Go
- Snapchat for their Snap Map
Another feature of OSM that is very useful is that you can create a custom map, for example by adding layers or points, and then export that map as a dataset. This is very useful because you can create your own datasets and publish those on your open data portal such as the Open Data Hub. OSM allows you to export maps in various formats including image files, embeddable html and map files.
As you can see, OpenStreetMap has a huge range of uses and lots of potential. In the last year, Transport for NSW has started using OSM for various applications and projects. In this series of blog posts we will be discussing these in more detail and outlining how TfNSW is providing customers with better and more accurate data.