Editing OpenStreetMap

There are many tools that enable you to edit OpenStreetMap. This includes tools that run in the browser, software that you can download to you computer, and apps for you phone. Very advanced users with experience in software development may also want to create their own editing tool by making use of the OpenStreetMap API (although they should discuss this with the community to help avoid common mistakes).

Editing on a computer

If you are editing OpenStreetMap on a computer then try the iD editor or JOSM. You can launch iD with your web browser from the OpenStreetMap.org home page;- simply zoom in on the area you are interested in, and click the “edit” button. iD is designed with beginners in mind and includes a walkthrough to get you started. A more detailed tutorial for iD can be found at the LearnOSM web site.

Despite being a very user friendly focused editor, iD is feature rich and is capable of meeting the needs of the vast majority of users. Those looking for something more powerful should start with iD before considering a move to the JOSM editor. This is a desktop application and can be downloaded from the JOSM homepage. JOSM does not come with a built in walkthrough so it is recommended that you read the JOSM Guide.

Editing on a smartphone

One of the big benefits of editing OpenStreetMap on a smartphone is that you can do so whilst physically at the location you are editing. Effectively you are collecting information and editing the map at the same time.

Those looking for fully featured editor (similar to iD or JOSM) should check out Vespucci on Android and Go Map!! on iOS. These are the most feature rich smartphone editors but can be a bit tricky to use, particularly on smaller screens. To keep things simpler you may wish to consider apps that allow you to edit just a subset of the map features. Examples include StreetComplete (Andriod), OsmAnd (Android/iOS) or MapsMe (Android/iOS). StreetComplete has you editing OpenStreetMap by completing quests, whilst OsmAnd and MapsMe are both apps that are primarily for view the map and finding direction (i.e. a SatNav) but include some basic editing features.

Other editors

There are many other map editors than those listed above. Some focus on mapping very specific features, whilst other focus on integrating external data sources (e.g. RapiD) or creating links to other websites (e.g. OSM ↔ Wikidata).

Not sure what is best for you? Then check out the OpenStreetMap wiki pages related the the Editors and the Editor usage stats.

OpenStreetMap’s data model

Whilst we often refer to “editing the map”, strictly speaking you are editing a database of geographic data. Many of the editing tools provide the user with such an experience that they don’t realise this. Nevertheless it is worth a quick introduction to a few key concepts in case these come up in discussion with the community.

Elements are the basic components of OpenStreetMap’s data model. They consist of:

  • Nodes – These represent a single location (or “point”) on the map. They can be used to define points of interest such as a shop or a postbox.
  • Ways – These represent linear features (or “polylines”) such as rivers or roads. They are made up of a collection of nodes that follow the shape of the feature. Ways can also represent areas (“polygons”) such as buildings or forest. In this case, the way’s first and last node will be the same. In OpenStreetMap this is called a closed way.
  • Relations – These are used when you want to explain how other elements work together. For example if you want to add a bus route you will need to use a relation to describe which highways (ways) the bus follows. Likewise if you want to add a turn restriction you will need to use a relation to describe which highways it is not possible to turn from and to.

All of the above can have one or more associated tags. Tags describe the meaning of the element and consist of two text fields in the form key=value. For example, highway=residential describes a road whose main function is to give access to people’s homes. An element cannot have two tags with the same key. For example, you cannot have an element tagged both amenity=restaurant and amenity=bar.

There is no fixed dictionary of tags, but there are many conventions documented on the OpenStreetMap wiki (starting with the Map Features page). The number of times that a tag has been used is recorded on the Taginfo UK and Taginfo (global) websites.

For more info see this OSM wiki page.