OpenStreetMap

The Magic MapRoulette Machine

Posted by mvexel on 2 December 2014 in English (English)

Making a MapRoulette challenge has always been a bit of a, well, challenge. I wrote a tutorial in an attempt to explain the process, but in the end, it is still more work than I would like it to be, and more technical than I would like it to be, too.

So I made something new: the Magical MapRoulette Machine!

The MMM lets you create a MapRoulette challenge interactively. Just answer a few simple questions and your own challenge can be live in minutes. The key component, the part that actually defines which OSM ways or nodes you want to have fixed, is an Overpass API query. If you are not familiar with writing queries in the Overpass Query Language, that would be the only thing you would need to learn a little bit about.

How do I use the Machine?

First download and install it using the instructions on the project page.

Once you have the Machine on your machine, you can just run it in interactive mode by calling it like this: ./mmm.py. It will then ask you a series of questions about things like the Title, Instruction, Help text, etcetera. All those bits are explained in the MapRoulette Tutorial.

questions_1

Next, it will ask you which MapRoulette server to use. It will default to the dev server, which is a great place to start. It is publicly accessible so you can use it to 'battle-test' your Challenge idea. It will also ask if this is a new Challenge or not. Unless you are uploading your Challenge for the first time, you should accept the default, which is to update an existing challenge.

questions_1

(By now you will have noticed that there are default values for each question. These represent an example challenge for shops and restaurants without opening hours around Salt Lake City, Utah, USA. They are just meant to give you some more guidance.)

Next up is the most interesting question: which OSM nodes / ways will actually represent your tasks? You tell the Machine by way of an Overpass query.

overpass-question

Let's look at that a little more closely. Consider this simple example. Say I am a Dutch mapper and I want to create a challenge to fill in all missing lanes on motorways in and around the Netherlands. The Overpass query for that is fairly straightforward.

The Overpass QL looks intimidating at first, but the basics are easy to learn. And for the Magical MapRoulette Machine, you only need the part that actually queries the nodes (or ways). The rest is taken care of internally.

query stub You only need the highlighted part

Once you have the Overpass Query, you are 95% of the way there!

The Machine will now talk to the Overpass API and retrieve your tasks. Depending on the size of the area you are querying, and the complexity of the query, this could take a little while. The machine will eventually respond, and ask you to confirm one more time:

final

At the bottom it will give you the link to your new challenge! Yay! (The example one is online as well to prove that it really works!

Give it a try and let me know what you think!

Location: Alviso, San José, Santa Clara County, California, 95002, United States of America

Comment from iandees on 2 December 2014 at 03:11

This is awesome, Martijn! Super easy way to get started and will be really helpful for mapping parties.

Comment from Zverik on 2 December 2014 at 20:24

Is it possible to add more tasks to a near-complete (or complete) challenge, without creating a new one?

Comment from mvexel on 2 December 2014 at 21:19

Yes, you could change the query to include a bigger bounding box or loosen other query parameters without creating a brand new challenge.

Login to leave a comment