From OpenStreetMap Wiki
Jump to navigation Jump to search
Simple-task-manager v1-2-0.png
Author Hauke Stieler
License GPL v3 (free of charge)
Platform Web
Version 1.2.1 releases (2020-12-09)
Languages English, German, Japanese, French, and Chinese (China)
Source code GitHub
Programming languages TypeScript, Golang, Bash, and Docker

Simple and easy to use task manager for collaborative mapping in OpenStreetMap.

The Simple Task Manager (also SimpleTaskManager or STM for short) aims to be a simple structured, easy to use and general purpose tasking manager for OpenStreetMap.

A region on the map (called project) can be divided into sub-regions (called tasks) which can be assigned to a user. This assigned user can then work on a task and specify how far the task is done. This is done via process points: E.g. settings 4 of 10 possible process points says "this task is about 40% done" but it could also mean specific things like "4 of the 10 stores in this task have been surveyed".

Project creation

As soon as you logged into STM (you need an account on for that), you see a list of all project you are a member of and also a "Create project" button.

To create a project you need to do two things:

  1. Add data of your project (name, description, etc.)
  2. Add tasks to your project

Add project data

After clicking on "Create Project", you'll see a map and on the right side some input fields:

  • Name: The title/name of the project (required)
  • Max. points per task: Number of process points (s. above) that can be set on each task (reqired)
  • Description: Some describing words and further information on the project (optional)

Create tasks

After adding project specific data, you need to add at least one task to your project. On the right side of the map, you have several controls to draw, edit and remove tasks (hovering over one of the buttons shows a describing tooltip).

From top to bottom:

  1. Plus button: Zoom in
  2. Minus button: Zoom out
  3. Pen: Draw a new task
    1. Tip: Douple-click or click on the first point to finish your polygon.
  4. Marker: Edit a task (adding new edges to a task)
  5. Bin: Delete a task by clicking on it

Divide polygon into smaller tasks

Each task can be subdivided into several smaller tasks.

  1. Go to the tab "Tasks"
  2. Click on a task in the list
  3. In the section "Subdivide:" you can specify the output task and size of each new task
  4. Click on "Preview" to get an idea how the result might look like
  5. Click on "Divide" to actually create these tasks
    1. Important: The original task will be removed permanently!

Load tasks

It's possible to load tasks from local files (from your computer), remote files (from some web-server) or overpass.

Each polygons or multi-polygons in the data will be considered as one task. If your file or overpass-result contains other things like a line-string, STM tries to convert it into a polygon but this might not always work. Manually editing the file and making sure hat only (multi-)polygons exist is the safest way.

When a feature in a file has the property "name" set then the resulting task in STM will have this name, which is shown instead of an technical ID.

Supported file-formats are: GeoJSON, GPX, OSM-XML, EsriJSON, KML and WKT

Local files

The tab "Upload" offers you the possibility to upload a file from your computer. Just click on the "Upload file" button and select a file to upload.

Remote files

The tab "Remote" offers you the possibility to load remote files from a webspace into STM. They must of course be publicly available via HTTP/HTTPS (from some web-storage, GitHub, Pastebin, cloud service, this wiki, .....). Make sure no login, extra button-click or anything else is needed to access the file.

  1. Paste the URL into the URL input field
  2. Click on "Load"

From Overpass

The tab "Remote" offers you the possibility to load polygons from overpass:

  1. Create your query in overpass
    1. Important: The default overpass JSON format is not supported! Use OSM-XML as output format, so the out parameter should be set to xml (like in the example at point 3.1 below): [out:xml]
  2. Click on "Export"
  3. Copy the link after "raw data directly from" (right click and "copy link")
    1. Example URL: (see example query)
  4. Switch back to STM and paste this URL into the URL input field
  5. Click on "Load"

Loading may take a while and depends on the availability/performance of overpass.

Add/edit task properties

Currently each task can have one property: A name, which is shown later in the task list instead on an technical ID.

  1. Go to the tab "Tasks"
  2. Click on a task in the list
  3. In the "Properties:" section there's a field for the name
  4. No saving needed

Work on a task

When working alone on a project, no assignment of tasks is needed and you also won't see any buttons for that in STM. So the "assign/unassign" section can be ignored for such situation.


When a project has at least two members, each member has to be manually assigned to a task. Only the assigned member can change the tasks process points.

  1. Select a task (via the list or directly on the map)
  2. Click the "Assignt to me" button to do assign yourself to the task

Only you can unassign yourself from a task by clicking the "unassign" button.

Update process of a task

Updating a tasks process is done via process points, which can only be set by the user who is assigned to a task. If you are this lucky user, then you see an input field and a "Save" button to update the process points of that task.

Open task in an editor

Currently only the JOSM editor is supported and the button "Open in JOSM" will open the currently selected task in JOSM.

Important: JOSM must run and must have the remote control settings enabled.

When JOSM loads the task, there's also the task polygon shown. To avoid conflicts, don't edit things outside of this polygon as this may be part of another task.

User management

The owner of a project (the user who created the project) has the permissions to add/remove users. Next to the "Tasks" tab, there's the "Users" tab providing an input field to that. So just type in the username and click "Invite".


  • The user name is case sensitive, so the name "mapper123" and "MAPPER123" are different users
  • The user needs at least one contribution (note or changeset) to be found. This is because the OSM API has a mapping-API from user ID to user name but not from user name to user ID.

See also