Validating multiple tasks at once
Posted by Patrik_B on 31 July 2022 in English. Last updated on 30 December 2023.When you are reading this you should be already experienced with validating and using JOSM so I will not include basics here.
Validating multiple tasks at once or “Multivalidation”
Usually I am validating projects in HOT Tasking Manager that are focused on mapping buildings. I am going to show you an example of my workflow on one of the Mozambique projects because there are two things that are not in every project and it’s very easy to validate in this area so you can try it on your own. Here is the project
I highly recommend using the shortcuts in JOSM, which you can customize, or you can put tools that you are often using to your toolbar. I will write shortcuts for windows in { }.
For Multivalidation in Mozambique I am using these tools:
EXPERT MODE
Edit → Preferences {F12} → checkbox in the bottom left corner. Thanks to this you will be able to see some stuff that has been hidden before like the number of each layer, more options for Search or some tools like extrude tool for example. If you are using shortcuts (like {X} for extrude tool) those will work even if you won’t turn on the Expert mode.
PLUGINS
List of plugins that I am using and their most useful feature for me:
- Buildings_tools - fundamental plugin for mapping buildings
- Todo - great tool for adding buildings, task areas, anything into list and then easily check all of them one by one
- Utilsplugin2 - mainly for Replace geometry {Ctrl+Shift+G}
- Mapathoner - mainly for Selecting non orthogonal buildings
- Markseen - mark seen areas of the map
- Conflation* - basically Replace geometry for multiple objects at once. Since it is kinda tricky and doesn't have that much of a use I leave it here just as an honorable mention.
VALIDATOR RESULTS PANEL
I am using additional custom rules that are flagging some not that common mistakes made by other mappers. The name is “Validating tasks in HOT TM projects”. Here is their full description with guide how to add them into JOSM.
TASKGRID
Importing borders of every task (taskgrid) in the project
File → Open Location {Ctrl+L}. New window will pop up and you will type there URL link in this form
https://tasking-manager-tm4-production-api.hotosm.org/api/v2/projects/PROJECT_ID/tasks/?as_file=true&format=geojson
so for project #12658 it would be
https://tasking-manager-tm4-production-api.hotosm.org/api/v2/projects/12658/tasks/?as_file=true&format=geojson
Make sure you have ticked option “Download as new layer”.
Don’t worry you don’t have to remember the URL, once you use it, JOSM will remember it and you will just edit the PROJECT_ID part.
I am importing taskgrid because in this project we are suppose to also map buildings outside of the task boundary. And since we don’t want to map buildings inside other tasks, thanks to this we will know if they are inside or not.
MAP PAINT STYLES
Map paint styles are very useful tool that can change visual aspects of what you see on the map. You can even create your own with the MapCSS.
- Missing Maps / Youth Mappers Validators Checks - highlighting shared nodes
- Inline_Validation - highlighting overlaping buildings
- TM Tasks Grid - Shows number of task and its state (mapped/validated/not mapped/…)
SEARCH
Edit → Search {Ctrl+F}.
Very useful tool for validation. And if you are using any search string often, you can easily make it as a button that will appear on your toolbar. To do so, in the Search window, Options section (middle, very left) tick “add toolbar button”. I recommend changing the icons of these buttons in Edit → Preferences {F12} → Toolbar. Or left click on your toolbar → Configure toolbar. I have 8 different buttons like this, I recommend you using these strings:
- “building:-yes” - select every building that has any other tag then building = yes (for example hut, barn, etc.). This is useful because in this Mozambique project we are supposed to use only the building = yes tag.
- “building=yes nodes:5-20” - select buildings with 5-20 nodes. I am using this because in these Mozambique projects there are circular buildings usually very uncommon. So if this search catches any, there is a high chance that I would map them as a rectangular building (with usually 4 nodes).
- “type:way” - I am using this to select borders of tasks that I am currently validating
- “area[building] > node:connection” switch Search syntax in bottom left panel to MapCSS selector - this selects shared nodes. Yes, these are already visually highlighted with Missing Maps / Youth Mappers Validators Checks map paint style but using this string we can easily select them all at once and then we can add them into Todo list plugin.
MY WORKFLOW
In Tasking manager I select multiple tasks, usually I am filtering them by user so I can give them the best feedback since I will check multiple tasks that they mapped. And it is easier for me because if there are any mistakes I know what I should focus on. After I lock the tasks I check if there are any comments, if the mapper didn’t asked about something that they needed help with.
I open JOSM and import the taskgrid, as mentioned before, File → Open Location and use the URL. Then I do my usual checking system for all the tasks at once. I use “area[building] > node:connection”. If it selects any nodes I add them into the Todo list plugin and check them one by one (to unglue buildings that are sharing nodes, I click on the building and press {G} ). Same process goes for “building:-yes” and Mapathoner →Select Non Orthogonal Buildings as well. Since usually there are no circular buildings in Mozambique I am using “building=yes nodes:5-20” as well. If the building has for example 5 nodes and I want to make it 4 nodes rectangular I press {Q} and then Tools → Simplify Way {Shift+Y}.
ADDING TASK AREAS INTO TODO LIST
After all the obvious topological mistakes are solved, I am going to check every task one by one. I switch my active layer (top right part of the screen) to “Boundary for tasks: xxxxx”, use “type:way” search string and add it to the To do list. Then I switch back into OSM layer. Now I can easily move between tasks that I am validating. Then I do the usual validation for each task individually. I scan the area of the task if every building is mapped and if the mapped buildings are mapped well.
After I am done with validating the task I scan the area outside the task box.
Thanks to the taskgrid that I imported before, I can see where are other tasks so I am mapping onlybuildings that are not in areas of any other task.
If you want you can turn off the hatched background of the OSM non downloaded area (View -> Draw boundaries of downloaded data {shortcut isn’t working} ).
If I find any building first of all I have to download the OSM data to check if it isn’t mapped already. The quickest way to download the data is File -> Download in current view (I recommend adding a shortcut). But you can use the usuall Download Data… {Ctrl+Shift+Down} (icon on your toolbar is arrow pointing down) aswell.
Usually I am checking the area from my current task to the next nearest.
When I am done with this, I move to the next task using the to do plugin and repeat the process.
After I am done with validating all the tasks I write a nice feedback in the Tasking Manager. I am poiting out all the mistakes in comment of one task, so the mapper has all the informations together. Usually I choose either the first task on the list or the one where the mapper made the most mistakes. In the comment you can also mention number of another task if he made a specific mistake there or insert printscreens of the mistakes, preferably with before and after. Also if needed, thanks to the custom map paint style you can easily remember number of tasks which you are gonna mark as More mapping needed.
USEFULL LINKS
Advanced building mapping guide
When the mapping is very poor I am using print screens from the current task in my feedback, here are some examples
My feedback messages for the most common mistakes
More feedback messages examples by Becky Candy
Mapathons are the events where I gathered all my knowledge. Check if there are any in your area and if not, you can always join the Missing Maps London ones, which I highly recommend. They are organising one open for everyone on first tuesday of the month and then another one for experienced mappers in the middle of the month. See you there :)
Huge thanks to anthaas who showed me most of the tips and tricks.
Discussion
Comment from martien-176 on 1 August 2022 at 10:01
Thanks, really instructive.
Allow me to mention one additional tool: OSMCha.
With OSMCha you are able to see things that are hidden/hard to spot when validating through the TM.
Eg deletions of features. Say mapper A incorrectly deletes buildings, then mapper B adds them again and closes the task. As a validator you should inform mapper A of their actions. But using only the TM these are not visible any more.
Same with changed features.
Another nice feature is the possibility of using filters. That way you can filter out only beginner mappers in a project. And quickly address these, even before the tasks they mapped become available to validators.
In OSMCha it is also quite easy to see all the other mappings of the mapper (not only the ones of the project you are working in). To get a better context.
It is also possible to give a changeset comment there. The disadvantage of TM comments is that as soon as the project is finished all comments in a way become unfindable. A changeset comment will be permanent, see eg https://resultmaps.neis-one.org/osm-discussion-comments?uid=9621269.
You can enter OSMCha directly via the main project page (shows all changesets within a project) or via the individual task (only the changesets of that specific task).
Comment from anthaas on 1 August 2022 at 19:29
In my opinion there are two different ways how to use multiple validation. 1/ on mapathons you want to target as much as possible new mappers to give them the most early feedback how to improve work. It has practical reason so you don’t have to deal with beginners errors later during validation. But as Patrik mentioned, different users produce different errors, so there is an option 2/ post-mapathon validation or validation that is not dependent on mapathons. In this case the most effective way is to filter by user and validate all his work at once. This is good in a way that user gets only one e-mail notification about validation instead of dozens. And validator is focusing on same validation errors in all of these tasks.
Thank you martien for your input about OSMCha and permanent comments.
Comment from Patrik_B on 2 August 2022 at 06:41
Thank you very much martien for your OSMCha input. I am aware of this tool but I am definetly not using it enough. One day I might message you with few questions about it :)
Thanks anthaas yes, you are definetly right. During mapathon we wanna reach out to as many new mappers ASAP. I forgot to mention that this is post-mapathon validation example :)
Comment from martien-176 on 3 August 2022 at 15:54
Tbh, until now i stayed away from doing multiple one-user validation. I get confused, mainly because often the tasks are widely spread over the project area. But, as Patrik points out, i can use the todo plugin for that.
Thanks Patrik, and you are welcome if you have question on OSMCha. And i am surely going to experiment with your workflow, so i hope you don’t mind if i come back to you with my questions about that?
Comment from Patrik_B on 3 August 2022 at 19:04
I am really glad to hear that! And of course, hit me any time on Slack, it will be a pleasure :)