Targeted Editing Retrospective

promo image Icon Credits: OpenStreetMap, JOSM & iD

Targeted Editing, 8 months running. What have we learned?

Welcome to the Targeted Editing series where today you can watch cows grazing or make OpenStreetMap data amazing! (Both take about the same amount of time.)

We are nearly eight months in, can you believe it? How about a timeline?

Icon Credits: Mapzen Bubble Wrap

Since our first post in December 2015, there have been 13 posts. Our most recent post was published in May of this year. It’s a great time to take you behind the scenes of the Targeted Editing series to see how we come up with our post topics, how we identify which tags to query, how many edits have occurred, and how it all gets built into a map that you can use to quickly see where your help is needed.

Get your motor running with some motivation

At the core of OpenStreetMap’s strength is it’s community of editors. Thousands of editors are contributing local knowledge all over the world ever day to enhance the best open spatial database available. More and more editors are participating in remote mapping activities as well, often connected to well organized Humanitarian OpenStreetMap campaigns.

It is well understood that the spatial distribution of editors is not evenly distributed across the globe. In addition, some local communities of editors have been editing for significantly longer than other local communities. Ultimately, you will often find the greatest number of new editors joining from areas that appear to be extensively mapped. When faced with a screen full of map features, what can you add?


Image Source: OpenStreetMap

Turns out, there are lots of features to add and existing features to enhance, even in the most densely mapped areas. Sometimes we all just need a little help finding things that can have a big impact as a result of a quick and simple edit.

A veritable theme park of map themes

Every feature in OpenStreetMap has at least one tag to describe what it is. Care to guess how many distinct tags there are in OpenStreetMap? Go ahead, take a stab. I promise I will provide an estimate in a moment, but for now I will just say that it is a very large number.

Navigating this space is like visiting a theme park: lots of fun, sometimes dizzying, and often exhausting by the end of the day. To group themes of features into meaningful and manageable buckets, it is helpful to associate them with use cases. Of course the main use case is making a map for display, but it is common to build functionality on top of that. The two main examples are search and routing.

In the next few sections, we will break down our posts in relationship to these use cases. Oh! Are you still thinking about the number of distinct tags in OpenStreetMap? As of July 21st, there are 80,952,453 distinct tags! (courtesy of taginfo)

Targeted Editing post engagement

To date, we have thirteen posts in the series. The school polygons and campus mapping posts have a little overlap. Ordered by their post date from left to right, the chart below shows a few variables that help us understand how engaged our readers and editors have been with each post.

The total page views for each post is shown in dark purple. Keep in mind: some posts have been up much longer than others. At the time of this writing, our first post was 229 days ago, and our most recent post was 60 days ago. Don’t worry, new posts are in development.

One thing really stands out:

Posts involving highway tags received the most page views! This includes our streets without names, transit colours, and cycleway posts. Perhaps this is no big surprise. There has always been a huge community around street edits, and it is exciting to see the community rallied around edits that contribute to routing applications.

The Targeted Editing series deployed a sub series at the beginning of the year to encourage edits to various types of businesses. Those posts, grouped as New Year’s Resolutions, saw about a third of the traffic as compared to the highway tag related posts.

The post with the least amount of traffic goes to our Tailgate Mania post designed to encourage stadium parking lot and parking aisle edits. While these types of edits stand to help routing, too, this post just did not garner much readership or edits.

Since each post is accompanied by a map to help editors find a theme of features to enhance, we are able to calculate the number of map tiles we have served for each post. The tiles served, divided across all days since the post went live, is shown in orange. These numbers come from our API keys. With the exception of school polygons and campus mapping, each post had it’s own unique map and API key.

Our last measure is average time spent on page, reported in minutes. Overall, the numbers are good with a few surprises. Comparable with page views, the posts involving highway tags had longer average time on page, and the business listing posts were on the other end of the spectrum with the exception of the fitness centres and hospital polygon posts clocking in just over and just under 5 minutes each! The relationship between time on page and word count is muddy at best so we’ve left it out of our graph. The cycleways post was the longest at 3,040 words. The shortest was the building names post at 716 words.


Let’s revisit the maps that were made to encourage routing related OpenStreetMap edits. Follow this link to interact with these maps full screen: Routing Map Picker. When viewing full screen, click the globe in the top right corner of the routing map picker any time to launch the active map tab full screen to search for other cities. Map some features! It’s fun!

Our very first post featured streets without names and it still gets traffic after all this time. At first glance, the numbers can seem alarming. Are there really that many unnamed road segments? When you break things down, the more prominent motorways and primary roads are often well represented with names. The bulk of the unnamed road features are in the residential and tertiary categories. Overall, this is amplified in Mexico City and the subset of Asian cities presented below.

Unnamed Road Segments by Type

Click the legend items on the right on and off to isolate road types

Follow this link to interact with these charts full screen: Unnamed Roads

In addition to unnamed street segments, the cycleways post got a lot of action. Across a subset of 45 metro extracts, 2,252 bike points of interest have been added or modified since the cycleways post, 39,633 kilometers of bike routes were added or modified, and 4,701 kilometers of bike tracks were added or modified! These values reflect an analysis of Metro Extract data made available on July 16th. We can’t nail down the percentage of those edits that were a direct result of our cycleways post, but we are happy we have been able to participate in the push to inspire edits! These numbers alone help us understand how active the community is. One can’t help but be inspired.

Our transit colours post lies at the intersection of routing and display. The goal was to encourage editors to add colour to transit lines in OpenStreetMap where appropriate, and potentially boost the addition of some missing transit lines. Looking back on the twelve cities featured in the original transit colours post, a lot has changed!

Percent of Route Relations with Colour

Light Rail Subway Train Tram
Beijing 77%
Berlin 100% 100% 48% 81%
Boston 100% 100% 100% 100%
DC 100% 100% 100% 100%
London 100% 33% 100%
Moscow 91% 2%
New York 84% 99% 99%
Paris 100% 100% 95% 96%
San Francisco 100% 100% 100% 100%
São Paulo 100% 100%
Sydney 100% 50%
Tokyo 19% 99% 9%

As of July 16th, 2016. For prior values, see the March transit colours post.

The changes are definitely a sign of an active community of editors. Digging deeper, some features were reclassified, some were extended, and some were removed. Transit is dynamic.


All of our posts encourage edits that support a number of use cases, but turning points into polygons is an excellent boost for display. There are many airports, hospitals, and schools in OpenStreetMap that are only represented as points. Some originate from early imports.

Digitizing a polygon to encompass the grounds for these features does wonders for their visual prominence on the map. The area of a feature can also be taken into consideration when calculating min zoom levels and search return priority. Area is not a perfect metric for these purposes, but it is a helpful metric. Check out the maps below from these posts: Follow this link to interact with these maps full screen: Display Map Picker. When viewing full screen, click the globe in the top right corner of the Display Map Picker any time to launch the active map tab full screen to search for other cities.

Read on for graphs of new and modified points of interest since these posts were first published.

What do you search for when you use maps? Common examples include addresses, businesses, and points of interest. We have featured Target Editing posts on banks, building names, fitness centres, grocery stores, and lodging. Airports, hospitals and schools were mentioned above.

Again, these values reflect an analysis of Metro Extract data made available on July 16th. Follow this link to interact with these maps full screen: Search Map Picker. When viewing full screen, click the globe in the top right corner of the Search Map Picker any time to launch the active map tab full screen to search for other cities.

The world is filled with so many search query opportunities, it’s easy to build Targeted Editing posts around them. The question is, are OpenStreetMap editors interested in adding them?

Points of Interest

Click the legend items on the right on and off to isolate feature types

Follow this link to interact with these charts full screen Points of Interest

School and hospital edits in Europe have had strong support from the Quarterly Projects for the UK and Belgium along with International Women’s Day mapathons held in February. Schools in general receive more attention in our subset of North American and Asian cities, too.

Our New Year’s Resolution posts featuring business points of interest tend to highlight lodging and grocery stores as more popular features to edit when compared to banks, ATMs and fitness centres. It’s very possible that some imports are at work to generate these numbers. Nearly 2,500 grocery store edits in Tokyo and another 2,300 in Moscow stand out. A spike in lodging features in Los Angeles is a result of the ongoing Los Angeles County building import. Very exciting to see those buildings coming in with classifications and heights!

Building the Maps

The journey begins with the data

Data, data everywhere - how does it get on the map? After a post topic is chosen, a little data deep diving takes place. All of our topics have had well established OpenStreetMap wiki pages to help us identify the recommended and proper way to tag things. With this information, the next step is to pay taginfo a visit to see what other tagging realities lie waiting for us in the data. Here is a walk through for our New Year’s Resolution - Travel post:

  1. What’s the tag for lodging? For the entire grounds, the wiki suggests tourism=hotel and for buildings: building=hotel. The wiki also lists a “See also” section with additional tags.

  2. Are there any alternative, potentially less optimal, abandoned or unsanctioned tags for hotel? First thought: the amenity key, and taginfo confirms. For the blog post, we research the officially recommended ways for tagging features and present them, but for our maps and our queries, we include all variants. OpenStreetMap is a heterogeneous wonderland of variants. In this process, we find the use of the leisure key, too. Before you know it, you have a giant query:

VALUES      (‘lodging_points’,
             (SELECT Count(*)
              FROM   planet_osm_point
              WHERE  ( tourism IN ( 'chalet’, 'guest_house’, 'hotel’, 'hostel’,
                                    'resort’ )
                        OR building IN ( 'chalet’, 'guest_house’, 'hotel’,
                                         'hostel’, 'resort’
                        OR amenity IN ( 'hotel’, 'love_hotel’, 'motel’ )
                        OR leisure IN ( 'beach_resort’, 'Beach_resort’,
                                        'ski_resort’ )
                        OR ( tags ?| array ['guest_house=bed_and_breakfast’,
                           'ski_resort’] )
                     AND osm_id > 0)); 

…and this is repeated for planet_osm_polygon. Hopefully this catches most of what we are looking for when we think of places to stay while traveling, the topic of our blog post.

With a good start on queries, it is time to share all of this with Mapzen’s Tilezen team to make sure our tiles actually contain most, if not all, of these features. Mapzen’s vector tiles consist of a growing subset of all OpenStreetMap features. For the New Year’s Resolution series, the original plan was to start with the fitness post, but those features needed to be added to our Mapzen tiles first, so we kicked off the series with the groceries post.

Giving our target features visual prominence

For our Target Editing series, we wanted to build an interactive map that highlighted features that might benefit from enhancements. Mapzen’s Refill and Zinc map styles were both great candidates. Zinc won out in the end.

Map using default Zinc style

The color used to highlight features was originally red, and it really popped against the neutral grey shades of Zinc, but red sends an unintentional message: “Something is wrong.”

Map emphasizing unnamed roads in red

Remember our original motivation: help editors find things to enhance. This could be adding names, street addresses, colour tags, and a number of other things. When a feature in OpenStreetMap is missing one of these tags, it does not necessarily mean that the feature is “wrong”. There actually are many roads that legitimately do not have names! So we ditched red and used aqua instead. Aqua, which is really similar to cyan, is a familiar highlight color that is bright and easy to see.

Map emphasizing unnamed roads in aqua

To create a custom version of the Zinc style, we can first import the original as a block and then write the extra lines of code to highlight our features of interest. A few extra considerations may be necessary, like ensuring that our features of interest draw on top of other features. Here’s an example for the streets without names featured above:

yaml code

Building in map interactivity

With our custom style ready to go, the last step is pairing it with some JavaScript. The code results in a pop up window that appears when you hover over a highlighted feature, and that window contains links to popular OpenStreetMap editing environments. A few features in this process were particularly important to us:

  1. Clicking the link to edit in iD or JOSM should open these editing environements with the selected feature ready to go in edit mode. In densely edited areas, it can be difficult to click in just the right place to re-identify something we have identified for you.

  2. Allow shift+click at any other location to open the iD editor centered over that location. This is particularly helpful for adding new features.

  3. Allow option+click to display the topojson vector tile information.

With queries, yaml and JavaScript in place, we are ready to roll!

Addressing a limitation or two

With the Targeted Editing series maps, it’s easy to highlight features that are missing a tag, and it’s exciting to see the highlighting on a feature disappear when the feature is updated. Street names falls into this category.

What do you do when you want to highlight the absence of a related feature? The stadium parking and parking aisles falls into this category. In these cases, we highlighted the stadiums as reference points to help editors find them on the map. See a missing parking lot or missing parking aisles? Edit them in and connect them to the existing road network so routing engines can use them! Your stadium parking is updated, but the stadium still remains highlighted on the map. Not ideal, but it’s a start in helping editors find features.

Blog post stats are static, meaning the stats calculated for the post are generated from the Metro Extracts that were available at the time. You get to enjoy the satisfaction of seeing the map tiles update with your handiwork, but the table of stats refuses to budge. Regular updates is a simple way to address this.

In summary

What have we learned? The Targeted Editing series has had fairly steady interest and engagement with our readers. Thank you! We are so glad you enjoy the posts.

Edits involving highway tags are by far the most popular of the topics we have tackled. Points of interest that fall into the business listing category are being added to OpenStreetMap, too, just not at the same rate as highway infrastructure. Perhaps the biggest take away is evident in the measures of activity over time. The growth of OpenStreetMap data is happening at a faster rate in North America and Europe, whereas India is not quite yet in the fast lane, but still chugging along. None of the cities we have looked at are at a standstill with respect to community edits and participation. Community effort is truly global.

And finally, we can’t take credit for all of the edits that have taken place since each post was published, but we are more excited about that than anything else because we see lots of parallel initiatives to encourage edits. Open data is a remarkable game changer for communities, and we are really excited to be a part of it.

What would you like to see next in the series?