Created
July 25, 2014 18:26
-
-
Save mvexel/867fa39d99e2bd111ed3 to your computer and use it in GitHub Desktop.
challenge-tutorial
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Creating your First MapRoulette Challenge | |
You have played MapRoulette. You have seen some of the existing challenges. If you are reading this, you are probably thinking: 'I have a great idea for the next MapRoulette challenge!' | |
Great! That is exactly what I am here to explain step by step. So let's get started! | |
## Step 1 - The Idea | |
The first thing you need is a great idea for a challenge. You probably think you already have one, and you may be right! There are a few ground rules to a great MapRoulette challenge. The problems that make up the challenge... | |
* Require a human eye | |
* Take seconds, not minutes, to fix | |
* Do not require local knowledge | |
* Can be machine-detected (a database or Overpass query, for example) | |
* Involve just a small number of OSM objects | |
For examples of good challenges, just go to MapRoulette and get some inspiration. | |
Let's take a really simple example of a decent challenge idea to work with: *shops that don't have opening hours*. We will work with this idea throughout the rest of this tutorial. | |
## Step 2 - Creating The Challenge | |
[API documentation link](https://github.com/osmlab/maproulette/wiki/API-Documentation#create-or-update-challenge) | |
## Step 3 - Creating The Tasks | |
MapRoulette has no built-in magic to figure out what you want people to fix. You supply it with a set of Tasks for your challenge. How you get these tasks is up to you, but the process should be easily repeatable. Popular ways to collect tasks are Overpass or database queries. | |
Each MapRoulette task has at least an `identifier` and one or more `geometries`. The identifier should be string up to 72 characters, and needs to be unique for your challenge. It also needs to be persistent. | |
[API documentation link](https://github.com/osmlab/maproulette/wiki/API-Documentation#create-or-update-a-task) | |
A simple example: | |
SELECT id, geom FROM nodes WHERE tags @> hstore('amenity', 'restaurant') AND NOT tags ? 'opening_hours'; | |
This gives you a list of OSM nodes and their geometries representing restaurants without opening hours. | |
## Step 4 - Activating The Challenge | |
## Step 5 - Challenge Maintenance | |
## Step 2 - The Tasks | |
Great, we have our idea and we feel good about it. The next step is to get the tasks we want MapRoulette users to fix. This is up to you - , and you are responsible for updating that set of tasks as well. MapRoulette keeps track of what its users mark as fixed, not an error, et cetera - and makes sure only available tasks are shown to users working on your challenge. But users are not always right - sometimes they say they fixed something, but they didn't. Also, believe it or not, problems in OpenStreetMap get fixed outside of MapRoulette. All of this means that you should be updating your challenge regularly. We recommend daily, but at the very least weekly. | |
Before we get into updating, let us look at how to collect our tasks in the first place. | |
In this case, these can be retrieved with a pretty simple database query |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment