mvexel's diary

  • Rss

Recent diary entries

OpenStreetCam sign detection code and training data open sourced

Posted by mvexel on 16 May 2018 in English (English)

Telenav created and hosts OpenStreetCam, as many of you know. OpenStreetCam now has well over 130 million images contributed in large part by OSM mappers (thanks!). We already integrate the images themselves with JOSM and iD.

About a year ago, we started an internal initiative to apply machine learning to detect important features such as signs that are captured in the images. While we haven’t rolled that out at scale yet, you can already see the results in some US metro areas such as Salt Lake City, Detroit and Dallas / Fort Worth, using the latest version of the OpenStreetCam JOSM plugin. The goal is to make mapping sign content much easier and quicker. You can, for example, filter speed detected speed limit signs to see only the ones where the way in OSM does not have this speed limit yet.

So far, the technology behind this has been internal to Telenav. This is changing today.

Starting today, you can see, download, and contribute to the source code that powers our sign detections from Github. In addition, we’re releasing a training set and a test set of 45000 images manually annotated by our map team with more than 55000 signs in 23 different classes such as: traffic signals, stop signs, speed limits and turn restrictions. You can use these data sets to run your own detection improvements. Perhaps you want to detect benches? Bus stops? Storefronts? Be our guest ☺️ We are happy to add your improvements to the OpenStreetCam platform if they are useful to OSM.

We are also running a competition to celebrate this open source release. If you think you have what it takes to improve our existing detections meaningfully, I encourage you to enter! The competition runs until August 17. There is a $10,000 prize for the winner!

Finally: we do not have any plans to automatically add any of this detected information to OSM. Any improvements will always be made manually by mappers through the existing JOSM plugin, iD integration (coming) and MapRoulette.

If you're interested, there was also an official press release announcing this.

Missing Roads from ImproveOSM now also on MapRoulette

Posted by mvexel on 24 April 2018 in English (English)

Spanish language version

ImproveOSM is my employer Telenav's effort to process billions of GPS points from our users and partners into actionable tasks for mappers. We currently detect missing turn restrictions, missing or wrong one-ways and missing roads. The easiest way to work on these tasks thus far was to install the JOSM plugin.

Now that we have a new version of MapRoulette, I thought it would be nice to make some of these tasks available through MapRoulette as well. This makes it a bit more manageable, because we have 80.000 missing or wrong one-ways, almost 300.000 missing turn restrictions, and almost 1.6 million missing road tiles.. To break that down, let's start with a country-by country effort to add missing roads. I created a challenge for Colombia that you can find here. Let me take you through the process of solving a missing roads task. I use JOSM for my example. You can use iD as well, but then you can skip the steps that involve the JOSM plugins.

1. Install the JOSM plugin

If using JOSM, open the plugin preferences and search for ImproveOSM. Install it and restart JOSM. This will give you three map layers for the different types of tasks. I set the opacity for the missing roads layer lower, because the tiles can make it hard to see the imagery.

2. Pick a Task

Go to the challenge and click 'Start'. You will then be taken to a random task.

3. Complete the Task

The marker for the Task in MapRoulette points to the center of a ImproveOSM missing roads tile.

Sometimes the missing road is not exactly at that location. You can make sure by clicking Edit (make sure you have JOSM running and remote control enabled) and inspecting aerial imagery. You will also see the ImproveOSM tile or tiles used to create the MapRoulette task.

After adding the missing roads (and other things that you see missing or need editing), you can upload your edits. You will notice that MapRoulette has automatically added an appropriate changeset comment for you.

4. Resolve ImproveOSM tiles

Before you switch back to MapRoulette, take a few seconds to activate the ImproveOSM missing roads layer, selecting the tiles affected, and click 'Solve' in the ImproveOSM panel. You can drag to select multiple tiles easily.

5. Repeat

You can now return to MapRoulette and click 'I fixed it' if you added the missing roads. If there was no appropriate aerial imagery, or you weren't sure what to add, you can click 'Too difficult / couldn't see'. In case the roads that ImproveOSM thought were missing were already added by another mapper in the mean time, select 'Already fixed'.

Now you can return to step 2 and continue adding missing roads. Happy mapping!

Want more?

If you would like to see a MapRoulette challenge for your area, please contact me!

New version of OpenStreetCam JOSM plugin with sign detections

Posted by mvexel on 4 April 2018 in English (English)

The Telenav OSM team just released a new version of the OpenStreetCam JOSM plugin. The major new feature is the ability to show and manipulate street sign detections. Images in only a few areas are currently processed for sign detection, so it's not very likely that you will see anything yet, but that will change over time as we catch up processing over 140 million images.


To enable detections, right-click on the OpenStreetCam layer in the Layers panel, and check 'Detections' under 'Data to display'. You can filter the detections by the following criteria:

  • Not older than -- show only detections (or images) from that date or newer.
  • Only mine -- show only detections / images from my own OSM / OSC account.
  • OSM Comparison -- show detections based on comparison with OSM data:
    • Same data -- Only show signs that have corresponding tags / data already mapped in OSM
    • New data -- Only show signs that do not have corresponding data in OSM and need to be mapped
    • Changed data -- Only show signs that have existing tags in OSM but the value is different (for example a 50 km/h sign and the OSM way is mapped as 60 km/h)
    • Unknown -- No match could be made between the detected sign and OSM data
  • Edit status -- show detections based on manually set status of the detection:
    • Open -- new detection, status not changed yet
    • Mapped -- manually marked as mapped
    • Bad sign -- manually marked as a bad detection
    • Other -- other status
  • Detection type -- show only signs of the selected types.
  • Mode -- Show only automatic detections, manually tagged detections, or both.

For the filters OSM Comparison, Edit status and Detection type, you can select multiple values by using shift-click and command/ctrl-click.

In the main editor window, you can select a sign to load the corresponding photo, which will show an outline of the detected sign. If there are multiple signs in an image, you can select the next one by clicking on the location again. (This is something we hope to improve.)


In the new 'OpenStreetMap detections' panel, you can see metadata for the detection, and set the status to Mapped, Bad Detection, or Other. By marking signs that are not detected correctly as Bad Detection, you hide them from other mappers, and we will use that information to improve the detection system.

The plugin is available from the JOSM plugin list, and the source is on Github.

New MapRoulette beta

Posted by mvexel on 28 March 2018 in English (English)

Spanish language version here

Hi all. I want to introduce the new MapRoulette version and invite you to try it. It is currently in beta and feedback and ideas for improvements are very welcome. This information also appears in the wiki section of the MapRoulette GitHub repository. You are welcome to submit issues there. I am looking forward to your feedback!

MapRoulette is a micro-task web tool for OpenStreetMap. It gives you small Tasks you can complete in under a minute to improve OpenStreetMap. Anyone can create groups of tasks, called Challenges, that the community can complete together.

This is the third major version of MapRoulette. The website has been completely redesigned and contains a lot of new features compared to the last major release.

MapRoulette 2 and 3 side by side

Here are some of the most visible new features.


Better ways to discover Challenges you are interested in has been the single most requested improvement. We have spent a lot of time thinking about this, and listening to your feedback. We think you will really enjoy the new ways MapRoulette offers to discover interesting Challenges for you to work on.


Challenge authors can now assign a category to their Challenge, such as Roads, Buildings or Land Use. You can use these categories to quickly narrow down what is interesting to you.


MapRoulette 3 features much improved location based filtering. You can limit your Challenge search to the current map view as you zoom and pan around, and can start the map on an area surrounding your Home Location that you've setup in your OpenStreetMap settings.

Free text

You can use the free text search field to narrow down the list of Challenges to match any text you enter. MapRoulette will search Challenge titles and descriptions for you.

Challenge List

A list of Challenges that match your filter results is now always visible on the left side of the MapRoulette window. It will update in real time as you select filters from the drop down menus, use the free text field, and pan and zoom the map.

Map Display

MapRoulette will now show you where the Tasks in a Challenge are located when you click on a Challenge in the list. As the Task information loads, MapRoulette will first display a bounding box to give you a rough idea. When the Task locations are loaded, you will see them on the map. If there are many, they will be clustered. Zooming in will then show you individual Tasks. You can click on a Task to work on it.

Working on Tasks

MapRoulette now gives you more freedom to decide how you want to work in MapRoulette.

Random or Nearby

The name MapRoulette suggests an element of chance. Tasks within a Challenge used to be served completely at random. This meant that you jump around the map as you work on Tasks. Not everyone appreciated this. We received a lot of requests to offer a way to work on Tasks in a specific area. MapRoulette now offers this. After starting a Task, you can decide if you want your next Task to be one nearby or a random one from the same Challenge. MapRoulette will remember your choice for that challenge.

To change this setting while working on tasks, look for the Random / Nearby switch in the More Options area.

Tracking Tasks

MapRoulette now lets you track a Task. This is useful if you want an easy way to come back to a Task later. When you track a Task, it will be added to the list of tracked Tasks in your Profile page.

To track a Task, click the Track switch in the More Options area.

Saving Challenges

If you like a particular Challenge, MapRoulette now offers an easy way to save it. When you return to MapRoulette, your saved Challenges will always appear at the top of the list.

To save a challenge, click on the title to reveal the details, and then click 'Save'. You can 'Unsave' in the same way.

Working Together


MapRoulette lets you comment on individual Tasks. You can use this feature to let other mappers know why you skipped a Task or marked it as Too Hard, for example. The Challenge author will also be able to review comments, perhaps to make improvements to the Challenge. So you can use comments to let the author know your feedback as well.

To comment on a Task or review previous comments, look for the comment field below the Task instruction.

Virtual Challenges

A new concept in MapRoulette is the Virtual Challenge. This is still very much a work in progress and something we would really like your feedback on. A Virtual Challenge is an impromptu Challenge you can create yourself out of the available Tasks for the area you are interested in. This lets you systematically solve all MapRoulette tasks, across Challenges, in your area. This can be fun and useful for a Mapping Party!

To create a Virtual Challenge, go to the main Challenge list view by clicking on Challenges in the top menu. Next, use the map to zoom in to the area you are interested in. When zoomed in far enough, you will see that individual tasks are loaded and displayed on the map. You will also notice that a button 'Work on mapped Tasks' appears at the top of the Challenges list. By clicking this button, you create a Virtual Challenge that consists of all the currently visible Tasks. If you want, you can use the filters to narrow down the Tasks further before you create your Virtual Challenge.

Social Sharing

When working on a challenge, it's now easy to share a link via email or on selected social networks using the social sharing area near the bottom of the task sidebar.

Go here to try the new version:

Trunk in a funk

Posted by mvexel on 6 October 2017 in English (English)

Here is how Wikipedia defines "Trunk road":

A trunk road, trunk highway, or strategic road is a major road, usually connecting two or more cities, ports, airports and other places, which is the recommended route for long-distance and freight traffic. Many trunk roads have segregated lanes in a dual carriageway, or are of motorway standard.

'usually'.. 'many'.. Adverbs that serve to muddle the definition: I still don't know whether a specific road can be classified as a trunk or not.

The OSM wiki has this to say:

Use highway=trunk for high performance or high importance roads that don't meet the requirement for motorway. In different countries, either performance or importance is used as the defining criterion for trunk – see #International equivalence and Highway:International equivalence for guidance on road classification in different countries.

Hmm. Equally noncommittal. But there are reference to places where more specific references are to be found. I am interested in the United States. So let's look there. The 'International Equivalence' section on the highway=trunk page says:

Surface expressway: A relatively high-speed divided road (at least 40 MPH with a barrier or median separating each direction of traffic), with a limited amount of intersections and driveways; or a major intercity highway. This includes many U.S. Highways (that do not parallel an Interstate) and some state highways. Wikipedia reference

..whereas the separate 'International Equivalence' page says for trunks in the United States:

Limited access highway with occasional grade level intersections, or major intercity highway where no motorway exists.

Not precisely the same, but I am starting to see a pattern. The definition of trunk, according to the people who wrote the wiki pages, seems to be a mix of technical and functional road classification:

  • Technical: Designed for speeds > 40 MPH, limited at-grade intersections.
  • Functional: Major inter-city highway where no motorway exists.

Let's try and apply this to some major roads in Utah that I know well and are currently at least partly marked as trunk. (This Overpass query shows all trunk ways in Utah.)

US Highway 6 between Spanish Fork and I-70, currently marked as trunk in OSM. This is a two lane road with a speed limit of 65 MPH, with some exceptions in places. It is the main connection between the Wasatch Front and southeast Utah and southwest Colorado. There is no freeway alternative. **Conclusion: proper trunk.

State Route 154 or Bangerter Highway as it is known locally. Currently marked as trunk but some stretches are marked motorway as well. It is a 4-6 lane divided highway. Some sections have at-grade intersections (Continuous Flow Interchanges among them) but they are spaced pretty far apart. SR 154 is not a major inter-city highway, and there is a reasonable freeway alternative available. However, SR 154 does serve an important connector function between cities and towns west of Salt Lake City and the SLC International Airport. Conclusion: trunk is OK, but motorway sections should be downgraded.

US Highway 89. Currently only marked trunk between Farmington and I-84, where it meets the technical (if not the functional) definition of trunk. Most of the rest of US-89 is two-lane road with a speed limit of 65 or 70 MPH, with local exceptions. If you look at it purely from a functional perspective, only the stretch between Brigham City and the WY border in the North, and the (long) stretch from Provo south to the AZ border can be considered trunk. The section actually marked trunk currently is not part of either of these two. To my mind, the sections that serve important long distance connecting functions should be trunk as well. Conclusion: more sections should be trunk.

Looking at a few of the roads I know and their current tagging in the context of the current wiki definitions, my overall conclusion is:

A road should be tagged trunk in the United States if either of the following conditions are met:

  1. The road is designed for speeds > 50 MPH and has limited at-grade intersections.
  2. The road is a serves an important inter-city connector function, and there is no freeway alternative.

Small stretches where condition 1) is not met, for example a reduced speed limit in a built up area, should be tagged trunk to maintain a continuous classification.

Pretty? No. Works for me? I think so. What do YOU think?

Mapping Center Turn Lanes in the United States

Posted by mvexel on 3 October 2017 in English (English)

When I moved to the United States six years ago, center turn lanes were a new thing to me. Two Way Left Turn Lanes (TWLTL) , as they are officially called, make traffic safer on busy roads where left turns are made frequently, by offering a dedicated lane for left turns:

design Source: MUTCD

When I first started to map these lanes, there was no documentation on the OpenStreetMap wiki on them, so I just started to map ways that have them with center_turn_lane=yes, thinking that I'd revisit them later if the community came up with more sensible tagging scheme.

In 2012, infamous US mapper NE2 created a page dedicated to TWCTL, adopting the British spelling centre_turn_lane=yes. There are around 6000 uses of this tag, most of them in the United States. The page was created without much if any discussion in the US community: there is only one reference to it on the talk-us mailing list[1].

Since 2012, more elaborate tools and tagging schemes have emerged to map lane configurations. I particularly like the Turn Lanes Editor JOSM plugin which, together with the Lane and Road Information paint style, offers an intuitive and visual way to add lane details to ways.


As you can see, when a two-lane road with a TWLTL is tagged using the plugin, the map paint style offers the correct interpretation. The tags on this way would be as follows:

lanes=3; lanes:forward=1; lanes:backward=1; lanes:both_ways=1; turn:lanes:both_ways=left

Even though this looks much more complicated than just centre_turn_lane=yes, the plugin makes it straightforward to map (it even remembers recently used configurations so you can easily apply to other ways) and it uses the generic lanes tagging schema that is already in wide use, and allows for tagging even the most complex lane configurations.

TWLTL have been a topic of discussion in the Telenav mapping team. We have been adding a lot of lane configuration details in Detroit and Phoenix. For now, I gave the team the following guidance:

  • For ways that don't have TWLTL tagging yet, use the plugin and the generic lanes / turn:lanes schema.
  • Where (local) mappers have already added centre_turn_lane tagging, leave it alone.

I would rather have one consistent tagging style for the United States (and other countries where TWLTLs are common. I would prefer to use the lanes / turn:lanes tagging for that. What do you think?

[1] The OSM mailing lists are notoriously hard to search. I used wget -r -np -l 1 -q -A gz && find . -name \*.gz -exec gunzip {} + && find . -name \*.txt -exec cat {} + | grep centre_turn_lane

Many Mappy Minutes

Posted by mvexel on 28 September 2017 in English (English)

In my last diary, I announced that I would be restarting the virtual Mappy Hour for US / North America mappers. We had our first edition tonight and I enjoyed it very much.

Around 10 people participated. Kate Chapman from OpenStreetMap US joined us to talk about the upcoming State of the Map US conference, which is only four weeks away. We chatted about a variety of interesting topics: welcoming new members, how people become interested in OSM, membership of the OSM Foundation, hack weekends, how to best announce OSM events, and many more things.

The plan was to have this be a mappy 'hour' but we ended up spending two hours talking. We came up with a new name: Many Mappy Minutes. We decided to organize it about once a month. The next Many Mappy Minutes will be on November 15, at 5:30pm Pacific Time. Zoom worked well, so we will continue to meet on there: . You can also dial in from a normal phone. I hope to talk to you then!

OpenStreetMap US Mappy Hours Reboot

Posted by mvexel on 18 September 2017 in English (English)

A few years ago I started a bi-weekly video chat for US mappers, called Mappy Hours. They were fun and varied, with topics ranging from tagging discussions to a presentation about OpenHistoricalMap and many things in between.

Then we all got busy and the Mappy Hours stopped. I was recently reminded about them on the OSM Slack channel, and I thought it would be nice to restart them. So here are the details of the first Mappy Hour:

Wednesday September 27 at 5:30pm Pacific Time

We used to use Google Hangouts, but there were problems with that: a limited number of video participants, you couldn't call in, plugins.. There is no perfect solution but I have had success with Zoom so we will try that. You can either download the Zoom client or call in using your phone.

Zoom link

There are local dial in phone numbers for many countries.

The topic for the first Mappy Hour will be State of the Map US. What are you looking forward to? Do you have a presentation you want to promote? Do you have ideas to make the conference even better than previous years? Let's talk! Even if you are not planning to attend SOTM US, I invite you to attend: there will be plenty of time to talk about other things as well.

MapRoulette newsletter

Posted by mvexel on 13 June 2017 in English (English)

I am still sending out (almost) monthly MapRoulette newsletters. The latest one just went out! If you are interested in receiving them you can see the latest newsletter and subscribe here.

How would you map this?

Posted by mvexel on 11 May 2017 in English (English)

I am trying to figure out mapping complex intersections and I am a little stumped :) To completely represent all possible lanes and turns in an intersection, you would need to define:

  1. The lane layout (turn lanes, through lanes)
  2. The lane connectivity (which lane connects to which at the far end of the intersection)

If I asked you to map this intersection completely, how would you do it? Which (combination of) turn / lane tagging schemes would you use?


(If you're interested, this type of intersection is a CFI or continuous flow intersection.)

Latest MapRoulette newsletter

Posted by mvexel on 28 April 2017 in English (English)

I am going to stop posting the full monthly MapRoulette newsletter here from now on, but the April newsletter has just been sent to the subscribers! You can view it here.

Subscribe to the newsletter on this page.

Maproulette Newsletter - March 2017

Posted by mvexel on 27 March 2017 in English (English)

Here is the latest from the MapRoulette world! If you want to get this newsletter in your mailbox, you can sign up here!

featured MapRoulette was featured in the JOSM message of the day!

MapRoulette has seen a lot of activity in the past month! A total of 407 mappers have logged on and fixed more than 32000 tasks. That is really cool.

New and notable challenges

Also, lots of new challenges! 539 to be precise created in the last month. I know that challenges can still be hard to discover (working on that, I would welcome ideas and help there!) so I want to just manually highlight some challenges that look interesting. If you want your challenge highlighted in this newsletter, please write to!


The latest from Github

How to: Task Instructions

Perhaps you have seen that the task instructions do not always fit in the panel.


That is annoying because it can be unclear what you should do. Usually this is caused by hyperlinks that are too long and can't be broken up. If you are a Challenge creator, you can avoid this by using markdown to wrap the hyperlink. Instead of using the raw link in your instruction (, use this: [description]( it will be displayed like this: description.

Help Wanted: Challenge Administrators

With so many new challenges coming in, it would be great if a few of you would volunteer to help with Challenge maintenance. That means looking at new Challenges that users create to see if they make sense, and helping the Challenge creators to improve them if needed. If you are interested in helping with this, email!

That's it for this month. Please write in if you have suggestions for this newsletter. Happy mapping!

MapRoulette newsletter

Posted by mvexel on 9 March 2017 in English (English)

Here's the latest from the MapRoulette world!

New version released

If you head to, you will see that we have a new release out, 2.0.3. This release addresses some annoyances with the keyboard shortcuts, adds a German translation (das freut mich! Thanks nebulon42!) and cleans up the interface in a few places.


A new section displaying keyboard hints

Mapping Activity

In the past 30 days, we fixed almost 18000 tasks in MapRoulette.


Metrics for the last 30 days. You can see these for yourself on

The most popular challenges were:

  1. Self-Intersecting building outlines - all done!
  2. Crossing Ways: Highway-Railway, US - 55% done, still more than 17000 tasks available
  3. CHN_BuildingRoadIntersectionCheck, 34% done, still 2800 tasks available
  4. Self-Intersecting landuse outlines (World-wide), all done!
  5. Open Rings, all done!

Looking for something to do?

Some interesting Challenges that still need help:

By the way: I created the abbreviated road name challenges using an Overpass query. Did you know that you can turn any Overpass query into a MapRoulette challenge? Read this to learn more.

And also...

  • Do you want to see your own challenge featured in this newsletter? Need help creating your challenge? Contact us at!
  • Do you want to receive this newsletter in your inbox in the future? Sign up here!
  • The MapRoulette Questionnaire is still open if you want to share your opinions on MapRoulette! One lucky participant will receive a mappy prize at SOTM or SOTM US.

MapRoulette newsletter

Posted by mvexel on 9 March 2017 in English (English)

Here's the latest from the MapRoulette world!

New version released

If you head to, you will see that we have a new release out, 2.0.3. This release addresses some annoyances with the keyboard shortcuts, adds a German translation (das freut mich! Thanks nebulon42!) and cleans up the interface in a few places.


A new section displaying keyboard hints

Mapping Activity

In the past 30 days, we fixed almost 18000 tasks in MapRoulette.


Metrics for the last 30 days. You can see these for yourself on

The most popular challenges were:

  1. Self-Intersecting building outlines - all done!
  2. Crossing Ways: Highway-Railway, US - 55% done, still more than 17000 tasks available
  3. CHN_BuildingRoadIntersectionCheck, 34% done, still 2800 tasks available
  4. Self-Intersecting landuse outlines (World-wide), all done!
  5. Open Rings, all done!

Looking for something to do?

Some interesting Challenges that still need help:

By the way: I created the abbreviated road name challenges using an Overpass query. Did you know that you can turn any Overpass query into a MapRoulette challenge? Read this to learn more.

Do you want to see your own challenge featured in this list? Need help creating your challenge? Contact us at!

Adding unknown roads using ImproveOSM

Posted by mvexel on 24 February 2017 in English (English)

When using ImproveOSM, the Telenav tool to find and add missing roads (and other missing things) in OSM, sometimes there is just no detailed aerial imagery to see exactly what road type it is.


While you could say, 'Well without being able to see, I won't add anything'. But because ImproveOSM uses actual GPS traces from drivers, you know that people have been driving there. From the image in the example you can see that a fair number of people must have taken this route, so there must be some sort of road there.

So what I suggest is to add the road as simply highway=road (generic road tag). Then you or someone else can improve it later, based on better imagery or local knowledge.

The example in the image is this new way.

Remember that you can select multiple tiles on ImproveOSM by holding Shift while selecting. That way you can more quickly mark multiple tiles as Solved.


Creating MapRoulette Challenges from GeoJSON

Posted by mvexel on 8 December 2016 in English (English)

This post also appears on the MapRoulette wiki

Creating MapRoulette challenges has never been easier. You can use the API or the brand new Challenge Wizard. I will cover the API in a future post. I have already covered the Wizard in general in a previous post, but right now I want to focus on creating a Challenge with a GeoJSON file.

In my example case, I have a GeoJSON file containing all the bus stop locations in Utah. I downloaded these as a Shapefile from the Utah GIS portal and converted them to GeoJSON using QGIS (there are other methods too, like ogr2ogr but I am too old for that). The result looks like this:

    "type": "FeatureCollection",
    "crs": {
        "type": "name",
        "properties": {
            "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
    "features": [
            "type": "Feature",
            "properties": {
                "StopId": 13840.0,
                "StopName": "HILL FIELD RD @ 1891 N",
                "StreetNum": 1891.0,
                "OnStreet": "N HILL FIELD RD",
                "AtStreet": "ANTELOPE DR",
                "City": "LAYTON",
                "InService": 1,
                "Bench": 0,
                "Shelter": 0,
                "Lighting": 0,
                "Garbage": 0,
                "Bicycle": 0,
                "Transfer": 1,
                "LocationUs": "Bus Stop",
                "UTAStopID": "101001"
            "geometry": {
                "type": "Point",
                "coordinates": [

With this GeoJSON, I go to MapRoulette. After logging in, I go to my Project and create a new Challenge. (For more details on this, see my original post on creating challenges.) I enter the basic information for the Challenge:


Then I go to the next screen to choose my GeoJSON file:


I choose sensible numbers for the default zoom levels and base map:


And then I can complete my Challenge.


After a while I hit refresh in the browser and see that my Challenge is complete, with a little over 6000 tasks. This is the same as the Feature count in the original Shapefile, so I am happy. I can now go to a random task:


And see what the challenge looks like:


Looks pretty good! I can also click on the marker to see the GeoJSON properties:


Now everyone can help add bus stops near me!

But wait...

A word on the quality of this Challenge. It is really hard to verify that a bus stop actually exists using just Bing imagery. So this Challenge may not be suitable for anyone who does not already know the area very well. Another good source for people who don't know the local area is OpenStreetCam or Mapillary imagery. Without knowing if there is coverage for these sources, the Challenge can be hit or miss.


Finally, MapRoulette does not (yet) add the location of the new node to JOSM or iD when you click 'Edit', so you end up switching back and forth between MapRoulette and editor to figure out where to add the bus stop.

In the future, we want to extend MapRoulette to support better handling of GeoJSON source data:

  • Automatic adding of the feature to JOSM or iD (if possible) when clicking 'Edit'
  • parsing of GeoJSON properties and adding them as tags for the new feature

So with a properly formatted GeoJSON you could take most of the hard work out of mapper's hands and they would just need to verify and upload. That would be great progress for community-driven human imports. Please help make this happen, contribute to MapRoulette!

Happy Mapping!

`exit_to` --> `destination` in Canada

Posted by mvexel on 24 October 2016 in English (English)

We had a discussion about retiring the use of exit_to in favor of destination for motorway / trunk exit tagging in the US a while ago. Since then, a shift has happened and a majority of exits is now mapped with destination instead of exit_to. This is great for navigation applications that rely on detailed signpost information, such as OsmAnd, and Scout.

With the situation in the U.S. so much improved, a next obvious target for mapping is Canada :) The situation there has been improved already by the community, but also by organized mapping by Mapbox and Telenav. Still, about 1200 exits remain that are tagged with the 'old' scheme. With the help of my colleagues at Telenav we put these in a MapRoulette challenge.


Because both OpenStreetView and Mapillary have good coverage in Canada, I think we should be able to update most of these exits to use the new scheme. Let's give this a go!

Cemeteries in Texas MapRoulette Challenge now powered by Texas Imagery Service

Posted by mvexel on 20 October 2016 in English (English)

Important note: The imagery I use as an example below is different in source from the imagery used for the MapRoulette imagery. The example below shows imagery that was commissioned by Texas itself, and is available in the public domain. The imagery in the MapRoulette challenge is licensed from Google by Texas and made available to MapRoulette specifically. So I can't say positively that it's OK to add this imagery to JOSM or iD, and removed specific instructions to do so.

Have you tried the Texas Cemetery challenge in MapRoulette? If you have not heard about it yet, I posted about it on my diary a few weeks ago. The short version: the friendly folks at TxDOT supplied me with a database of their known cemetery locations, we matched them with existing OSM, and if there was no match, we ask you to map it :)

If you tried it, you may have found though that it can be a bit frustrating :( Bing and Mapbox aerial imagery is often just not detailed enough to see if there is a cemetery or not in the location indicated. I discussed this problem with the friendly folks over at TxDOT, who are very excited about getting more data into OSM. They told me about some of the high resolution imagery that is available to the public through TNRIS, the Texas Natural Resources Information System. Here is an example of some of the amazing data they have:


If you compare that with Bing, it means the difference between seeing a vague blur or seeing the presence of a cemetery very clearly! Super exciting stuff. So we set out to create a TMS endpoint that we plugged into MapRoulette. See the difference!


Go give it another try! Thank you and thanks TxDOT!

Spotting Cemeteries in Texas

Posted by mvexel on 23 August 2016 in English (English)

I am collaborating with agencies in Texas to update both OSM and Texas data. The pilot project deals with cemeteries. I received a file with almost 7000 cemetery locations. (Even if the idea that there are more people living today than have died thus far in human history turns out to be a myth, I think that is quite a lot!).

The first phase of this collaboration is to see which cemeteries in the Texas data actually exist. We will use MapRoulette for that. Simply go to the Cemetery challenge at and start looking at tasks.

If you see a cemetery in the aerial image, click 'skip' to go to the next one. If you don't see a cemetery, click 'False Positive'. If you are in doubt, click 'skip'.

How can you tell if there is a cemetery? Sometimes it is hard. Look for fine patterns defining the plots, and usually there will be a service road connecting the cemetery to the road network. Sometimes, in larger cemeteries, you may also see paths inside the cemetery. Finally, the marker may not be right on the cemetery, so look around a bit as well. Below are some examples of cemeteries and non-cemeteries.

Once we complete stage 1, we will turn to mapping all the cemeteries that are not yet in OSM yet!


There is a cemetery here: fine regular pattern indicating plots, some paths.


There is a cemetery here also.


No cemetery here, just some grass.

Introducing OpenStreetView

Posted by mvexel on 15 August 2016 in English (English)

After almost a year of thinking, development and testing, the OSM team at Telenav is ready to present OpenStreetView to all OSM mappers! OpenStreetview (OSV) is the free and open street level imagery platform designed 100% with OSM and mappers in mind.

We officially presented OSV to the OSM community at State of the Map US where we had a 20 minute talk and a booth where we gave away crazy little remote controlled cars to everyone who signed up :). The cars were gone quickly – almost half of the people at SOTM US signed up! - but you can still see the talk thanks to the great SOTM US organizers who had all the sessions professionally recorded. If you have 20 minutes and don't like reading, watching that video is going to be the best way to be introduced to what OSV is and how you can use it to improve OSM. Or if you are coming to SOTM in Brussels, you can come meet our team there (more remote controlled cars? Who knows!) and attend the workshop.


The OpenStreetView booth at SOTM US

If you do prefer reading, read on! I wanted to quickly introduce OSV, what the components are, why we believe it is the #1 choice of street level imagery for OSM, and of course how to contribute and use it.

OpenStreetView components

OSV is a web site,, free and open source mobile apps for Android and iOS, a specialized Map Editor, a plugin for JOSM, and of course a back end server. Support for iD is also planned.

The web site is where you go to explore imagery from all over the world, see leaderboards and your own profile and trips. To see your personal stuff, of course you will need to sign in. Your OpenStreetView account is linked to your OSM account, so you don't need to create a separate account. All we store when you sign in for the first time is whatever is public on OSM. (If you want to check what that is, go to, changing 8909 to whatever your OSM ID is -- unless you want to see my details.)


The apps are free to download from the play / app store. For Android, you can also download the APK directly. With the apps you can capture trips. They are optimized for driving but also work well for biking and walking scenarios. Apart from recording trips, you can also upload your trips to OSV. This will happen automatically when you enter WiFi, if you want. Finally you can review your local and server trips and see your profile. Even if you have not logged in on the web site, you can log in to OSV with the apps, also through OSM OAuth. Either way, this will create an account for you on OSV.


One thing that is really specific to OSV is that you can link the app to an OBD2 dongle in your car. Those are little devices that read from the OBD2 port in your car. Almost every car has one. (Challenge: find yours!). The dongle reads all kinds of diagnostic info from the car and broadcast it over Bluetooth or WiFi. They cost around 20 Euros. A list of OSV compatible ones is on the OSM wiki. (Ehm, a very small list so far. If you have a different model, please add your experience!)

obd2 dongle

OSV will read the speed and curve to improve the accuracy of the GPS signal that is recorded for your trip. It comes in extrememly handy when GPS reception is poor or lost altogether, for example in dense tree cover or in tunnels. The dead reckoning provided by the OBD2 unit will maintain proper alignment to the road. Here you see what that means when you are driving through a tunnel (blue = GPS only, signal lost, red = with OBD2 connection).


The OSV apps also have sign detection built in. So this is not done on the server but at 60FPS on the client! This means that it will detect speed limit signs, and more to come, in real time and can warn you if you are speeding. This warning feature is almost ready and will be in one of the next builds. (We update the apps very frequently.)


The JOSM plugin is in an early beta stage. Right now it will simply display the locations of images on the OSV server, and you can click on them to show the image in the OSV panel. Basic functionality, but it works :) and we hope that you have ideas (or even code) to improve it.


Speaking of ideas, we already have an active community reporting issues and suggestions on Github. This is the best place to let us know of any bugs and ideas you have about any part of OSV. Github is also where all the source code for all the components mentioned here is located. Almost everything in OSV is open source, and if it is not we are looking at how we can make it open source.

If you do not like Github or do not want to create an account there, you can also write to with your ideas or bug reports. We are also on Twitter as @openstreetview and we are getting on Facebook and Instagram if you're into that kind of thing.

If you check Github, you will see that we also have upload tools for your existing Virb / GoPro and other action camera images. These are Python scripts, but we also have a GUI tool that you can just drag and drop directories onto to upload. This is in early beta but if you want a copy, let me know.


There are two components that I have not mentioned yet: the Map Editor and the back end. I want to save those for a separate post that I will write soon. Here is a screenshot of the map editor:


Why OpenStreetView?

We think that OpenStreetView is the #1 choice for street level imagery for OSM. Not only because it is almost completely open source. You also remain in full control of the data you upload to OSV. You can always delete individual photos, trips or even delete everything and remove your account if at any moment you don't want to be a part of OSV any longer. This option is on the web site, no need to email anyone or submit a request.

Another reason is because we are building a platform that is very tightly integrated with OSM. This is obvious from the way we handle user accounts: log in with OSM, no separate account. But also deeper down the integration with OSM is tight: we map all trips to OSM ways, so we can link back and forth between trips / images and OSM way objects. This opens up all kinds of interesting possibilities, and I want to spend a separate post on that as well.

For now, it would be cool if you would give OpenStreetView a try. Download the app for your phone, sign in and start capturing. Tell us about your experiences. Explore what is already there. And most important please use it to improve OSM!

Note that OpenStreetView is not a project run by OpenStreetMap or the OpenStreetMap Foundation. It is maintained by Telenav, where I work, for the sole benefit of improving OpenStreetMap.