Somalia/Somalia Imports/Somalia UNSOS waterways import/Workflow

From OpenStreetMap Wiki
Jump to navigation Jump to search
Main page Workflow

Quick Reference

What we need

a) Have a dedicated import account.

b) Have JOSM Remote control enabled.

c) To avoid a timeout error while retrieving the data from the Tasking Manager, change the JOSM socket.timeout.read option to 60 or 90.

d) Have utilsplugin2 and the Todo list JOSM plugins installed.

e) Have the following filters ready:

  • type:node AND untagged
  • new

Steps

1) Choose a task and load the OSM data and the UNSOS waterways into JOSM.

2) Merge the OSM data and the UNSOS waterways layer into one layer. Open the Maxar and Bing images to begin with. You can use other imagery providers to help yourself, like Esri or others.

3) Using filters, select all UNSOS waterway segments that go beyond the OSM downloaded area, and download data around them with the Download Along... option (Alt+Shift+D).

4) Add the UNSOS waterway segments to the Todo list, so we don't leave any way behind. Then, go waterway after waterway with through the Todo list.

5) If the segment is part of a chain of segments that form one single way, combine (C) the UNSOS segment with the rest of segments that form the waterway.

6) Unless the UNSOS segment is already mapped (partially or totally) in OSM, do the following:

  • Check if the waterway geometry is correct. Keep it as it is, improve it, correct it, complete it or delete it. Remember that this is not a blind import, and it's you who will decide about what to do with each waterway.
  • Check its intermittent=* tag. If the waterway is perennial (very rare), delete this tag.
  • Check its waterway=* tag value and, if you think it's incorrect according to what you see with the satellite images, change it to the value you consider more correct.
  • If it is a prolongation of an existing OSM way, try to keep the existing OSM way tags unless you are sure they aren't correct. Specially, if the OSM waterway has a different name than the UNSOS counterpart, keep that name and add the UNSOS name under an alt_name=* tag.

7) Finally, join the resulting way to the existing OSM data when needed.

8) If highways cross the waterway at any point, add the bridge=yes + layer=1 tags if bridge, and the ford=yes tag if ford. If a ford is traversing a wide riverbed, you may consider adding the ford=yes to the segment of the waterway that crosses the riverbed. If unsure about this crossing, add a fixme=Please check this waterway crossing tag. Also, if you see that a highway shares part of its path with the riverbed of the waterway, please add the flood_prone=yes tag to the segment of the highway that goes inside the riverbed.

9) Proceed with the rest of the UNSOS waterway segments and, when finished, upload the data with the specific OSM user account and the specific changeset tags:

where:

  • imageryProvider = Maxar, Bing, Maxar;Bing or whatever other list of imagery providers used while importing the data.
  • NUMBEROFPROJECT is the Tasking Manager project number.

10) You are ready to start a new task. If you want to leave it here, don't forget to switch back to your REGULAR OSM ACCOUNT now, to avoid using it for purposes other than importing data into OSM!

11) (OPTIONAL) Correct or delete any MadMappers highways that you may encounter. If you do this task, please USE YOUR OSM REGULAR ACCOUNT, as this is not part of the import. So make sure you have set your regular account in the JOSM preferences. (See Appendix 1 to know how to correct/delete MadMappers highways)


Before you actually start with any task

a) You need to create one specific import OSM user account for this import (if you don't have one yet). For example, if your regular OSM account is doejohn, you can create one named doejohn_imports.

You will need a different email account than the one you used to create your regular user account. Hint: If you have a Google Mail account for your regular OSM account, you can open an import account putting dots in the email user. For example: johndoe@gmail.com is equivalent to john.doe@gmail.com or j.ohn.doe@gmail.com.

b) Open JOSM and check that you have enabled the Enable remote control option in the JOSM preferences (F12):

RemoteControlEnabled.png

c) To avoid a timeout error while retrieving the data from the Tasking Manager, change the JOSM socket.timeout.read option to 60 or 90. To do that, go to the JOSM preferences (F12), make sure the Expert Mode is enabled, go to Advance Preferences, seach for time to filter the options, and change de value of the socket.timeout.read to 60 or 90.

ChangingSocketTimeout.png

d) Install the following JOSM plugins (if you don't have them installed yet):

d.1) Utilsplugin2

Utilsplugin2.png

d.2) Todo list

TodolistInstall.png

e) We will have the following useful filters ready to work with the data:

  • type:node AND untagged
  • new

Workflow steps

Getting OSM data and UNSOS waterway segments

1) Open JOSM editor.

2) Select one unfinished project from the following list of HOT Tasking Manager projects for this import:

Type Dates Project Created by Status Done by
TM project 10 Apr. 2020 Somalia UNSOS waterways import (project 01) UN Mappers Available OSM Community
TM project 5 May 2020 Somalia UNSOS waterways import (project 02) UN Mappers Not available OSM Community
TM project 5 May 2020 Somalia UNSOS waterways import (project 03) UN Mappers Not available OSM Community

3) Choose one task:

StartMappingButton2.png


4) Click on START EDITOR:

EditWithJOSMbutton2.png

... and you will download the OSM data for that task area into one layer of the JOSM editor called OSM Data (or similar):

DownloadedOSMlayer2.png

5) We will now download the UNSOS waterways for that same area. Go to Extra Instructions and click in the CLICK HERE link to load the UNSOS data into JOSM:

ExtraInstructions 2.png

The UNSOS waterways will be loaded in a new data layer, called UNSOSwaterwaysProjectXX.osm (where XX = number of import project):

DownloadedUNSOSdata.png

You could obviously do the 5th step before the 4th step.

6) We merge both the OSM data and the UNSOSwaterwaysProjectXX.osm layers into one layer (CTRL+M).

7) Finally, open the Maxar and Bing imageries. You can open Esri or other imagery layers to further help with the mapping.

Preparing the data

Downloading data along UNSOS waterways beyond the task tile

Some of the UNSOS waterways have some of their nodes beyond the downloaded area, so we need to download the OSM data around those nodes.

For this purpose, we will first use the following filters to see only the UNSOS waterways and without their nodes, to make their selection easier.

Note: you can check this document for information about JOSM filters with examples, and this blog article about the same subject.

FilterUNSOSwaterways.png

We will see something like this:

DownloadAlongUNSOS.png

Now we select carefully all the segments that have a part beyond the downloaded area (hold the CTRL key and click on all of them, one by one):

DownloadAlongUNSOS2.png

Be carefull not to leave behind any segment unselected.

We invoke the Download Along tool by clicking on File -> Download along... or by the shortcut Alt+Shift+D:

DownloadAlongUNSOS3.png

A tool settings window will pop-up. We will keep the settings as they are in the next screenshot, and hit the Download button:

DownloadAlongUNSOS4.png

After a few seconds, the tool will inform us of the number of download requests to the OSM server we will need to complete (in the example, they are 16):

DownloadAlongUNSOS7.png

Just hit the Okay button, and the Download along tool will start to download the OSM data around those "out-of-bounds" UNSOS waterways segments:

DownloadAlongUNSOS5.png

At the end, you may find an error or warning pop-up window.

a) If the window is about No data found in this area error, you can ignore it.

Downloadalong08.png

b) In case you get the following warning window:

CheckOnTheServer.png

... just click on Check on the server button and let JOSM do its job. It may take some extra seconds.

The final result will be something like this:

DownloadAlongUNSOS6.png

Adding UNSOS waterways to the Todo list

To work with the waterways, we will pick one new UNSOS segment each time, and follow the steps that we will explain in the next section. But to make sure that we don't leave any segment behind, we will put the UNSOS waterways inside the Todo list JOSM plugin window. In order to do this, we will make sure the JOSM filters are still as follows:

FilterUNSOSwaterways.png

And we select all UNSOS ways (you can do that with the Ctrl+A shortcut):

AllUNSOSwaysSelected.png

In this case, we can see that we have 42 ways selected, and not their nodes:

SelectedWaysNoNodes.png

Now we can add the ways to the Todo list. Just go to the Todo list window, click on the Add button:

ClickAddTodolist.png

and you will see that the 42 ways are added to the list:

WaysAddedTodolist.png

Now we are ready to work with each waterway.

Working with the data

VERY IMPORTANT: Before continuing, disable all JOSM filters.

In the Todo list window, we double click in the first way of the list, and JOSM will zoom in the way. Once we finish with one way, we will mark it as done clicking in the button Mark and the plugin will take us automatically to the next one:

MarkWayTodolist.png

What follows is a list of tasks to perform with each waterway segment:

UNSOS waterways extending out of the TM task area

We have used the Download along... tool to get the OSM data we have around the segments that extend outside the TM task area. We do this in order to make sure we can integrate all ways with the data that we have already in the OSM database.

When we work with UNSOS segments that extend outside the TM task area, we will bear in mind that the area outside of the task corresponds to the neighbout TM task, so other waterways will appear there when we work in that task. So don't bother if you see that one waterway doesn't connect to other waterway, as that connection will be completed when that task will be done by other user.

In the following screenshot you can see one waterway (selected in red) that goes beyond the task area (we mark the outside area with a yellow rectangle):

SegmentOutsideTMtask.png

We can see that the waterway seems to end without connection, and in grey you can see the missing waterways, that belong to the neighbour task, that include also the way where our red waterway will be connected when working with the neighbout task.

IMPORTANT: If the neighbour task has already been completed, we will see that the our UNSOS waterway is already in the OSM database. In this case, just delete the UNSOS waterway and click Mark in the Todo list to go to the next one.

Combining UNSOS segments that are part of a single waterway

Sometimes, we will find that several UNSOS segments are part of a of longer waterway, after checking with the satellite imagery. In this case you can combine them into one single waterway (keyboard shortcut C), unless we have an important reason to work with them separately.

We don't have to do this at once; we can combine ways during the process as we find them.

Accepting, correcting or deleting UNSOS waterways

For each waterway we will check several things:

Geometry

1) In some cases (minority) we may conclude there isn't a waterway, or it is quite suspicious that there is actually a waterway, for all or for a part of its length. In this case, we may ignore (delete) the UNSOS waterway (and continue to the next one with the Todo list), or we may have to delete the part of the waterway that is wrong or quite suspicious. Some examples:

a) A part of a way is not evident at all. We delete it:

SO waterways waterwayNotEvident01.png

SO waterways waterwayNotEvident02.png

b) One part of the waterway comes wrongly inside a town. We delete that part:

SO waterways wrongInsideTown01.png

SO waterways wrongInsideTown02.png

c) Wrong waterways inside a town. We delete them, or the parts of them that are wrong:

SO waterways wrongInsideTownB01.png

2) In some other cases, we may see that the UNSOS waterway is not complete. We may complete it. One example of incomplete UNSOS waterway:

SO waterways continuingWaterway01.png

SO waterways continuingWaterway02.png

3) In some cases we may see that the way doesn't follow correctly the river bed. In this case we can correct its geometry with the Improve Way Accuracy tool (W).

Correct direction

Although the big majority of the UNSOS waterways go in the correct direction (the direction of the stream), you may find some that don't follow it. So check this, and reverse the direction when needed (shortcut R).

If you are unsure about the direction of the water flow, try to get a general view of the whole area, and if still in doubt add a fixme=Please check direction tag to the waterway.

Tagging

1) Intermitence of water: In Somalia the big majority of the rivers are intermittent. So the intermittent=* tag is set to yes by default. But if you find one waterway with perennial water (very rare), you simply delete the intermittent=* tag.

2) Type of waterway: Some ways are set as waterway=river, some others as waterway=stream and the rest as waterway=ditch. Please check that the type is correct. It may happen that some ways are streams instead of river or the opposite, and also there are waterways that may be of a different type, like waterway=ditch, etc. Please, consult the OSM wiki about waterways to see which one is the most correct.

3) Waterway ending without connection: Quite often we will find waterways that end in deserted areas, in a plain, or similar area, seeping inside the ground, before reaching (connecting) another waterway or the sea shore. In these cases, we will add a waterway=stream_end tag to the last waterway node. This tag is well documented in the wiki, so if you get a JOSM warning you can safely ignore it.

UNSOS waterways that are already mapped in OSM

We will encounter that some waterways are already mapped in OSM. In that case we will check the quality of both ways.

When 1) there is already an OSM waterway that covers all the UNSOS segment, or 2) There is an OSM way that covers part of the UNSOS segment, we will proceed as follows:

1) If it the UNSOS segment has already been mapped in OSM for all its length, we will check visually if the UNSOS segment accuracy is better than that of the OSM counterpart or, on the contrary, the UNSOS way accuracy is similar or worse than the OSM segment accuracy.

Let's see what we do in each case:

1.1) In case the UNSOS segment is better quality than the OSM way, we will replace that OSM way with the new UNSOS segment. Some times we will see that the OSM way goes beyond the limits of the UNSOS segment, so in those cases, the first thing we have to do is to split the OSM way in those limits, so we get an OSM segment that has the same limits of the UNSOS segment. Another case is when we have several joined OSM segments that cover all the UNSOS way length. And surely, both issues can happen at the same time. Let's see this graphically:

WorkSegments06.png

We can see that the OSM way (in yellow) goes beyond the UNSOS segment (in red) limits from both ends (West and East). So in this case we will split the OSM way from both ends:

a) West:

Here we see that the OSM way has a node more or less on the limit of the UNSOS segment, so we just select the OSM node and split (keyboard shortcut P):

WorkSegments07.png

b) East:

Here there isn't a node in the OSM way next to the last UNSOS segment node:

WorkSegments08.png

So in this case we will create a new node in the OSM road and then split it in two (P):

WorkSegments09.png

In case we have the OSM way divided in 2 or more segments along the UNSOS segment, we will select all of them and combine them in only one way (C). But that situation may be unusual.

Now, we can replace the OSM segment with the UNSOS segment. We will do that with the Replace Geometry tool when possible, so we will keep the OSM way history. To use the Replace Geometry tool, just select both the UNSOS segment and the OSM segment we want to replace and hit Ctrl+Shift+G:

WorkSegments10.png

There may happen two things:

a) Both the OSM and UNSOS ways are ok for the replacement. If this is the case, you may see first a pop-up window with JOSM telling you what tags are conflictive between the two segments, that you will have to solve. Some examples of conflicts can be:

  • Different types of waterway=*, like for example waterway=river vs. waterway=stream
  • Different names. In that case, unless we have good local knowledge or other authoritative source of information, we will keep the name of the OSM waterway in the name=* tag, and transfer the UNSOS waterway name to an alt_name=* tag.
  • Different sources. In that case, we will combine the sources of both.
  • Lack of intermittent=* tag in the OSM way. In this case, check if the way is intermittent or not with the aid of the different satellite images.

b) But it may happen that when we hit the Ctrl+Shift+G we see the following message:

WorkSegments15.png

In this case, we will transfer the info we see in tags of the OSM way to the UNSOS waterway and delete the OSM way. Similar to what we did in a) but a bit more manually.

In both cases, at the end we make sure to join the resulting segments into only one.

1.2) Otherwise, if the OSM segment is of similar quality or more accurate than the UNSOS one, we will ignore the UNSOS segment (we will delete it). But we will check the info of the UNSOS waterway, because it may give us information that we don't have in OSM: for example, the name of the waterway (river...). In case we use info from the UNSOS waterway, don't forget to add UNSOS to the source=* tag.

2) If the UNSOS waterway covers all the OSM way lenght and beyond, we proceed similarly as with 1), but now the OSM way acting as the UNSOS way and viceversa.

Crossing highways

For every highway that crosses the new waterways, we have to add the following tags:

  • If it is a bridge: bridge=yes and layer=1
  • If it is a ford: in general we will join both the waterway and the highway with a node, and we will tag the node as ford=yes. But in case we have an wide enough waterway, you may consider making the ford as a way all across the riverbed.
  • Sometimes, the waterway goes underneath a highway through a culvert (this happens sometimes with waterway=ditches, for example). In those cases, you will have to cut the segment of the waterway that makes the culvert and add the tunnel=culvert+layer=-1 tags.
  • If unsure about the crossing, you can add a fixme=Please check this waterway crossing tag.
  • Finally, if a highway shares part of its path with the riverbed of a waterway, please add the flood_prone=yes tag to the segment that goes inside the riverbed.

Upload new data to OSM

We will proceed with the rest of UNSOS waterways until we finish with all of them in the Todo list. Once we are done with all UNSOS segments, we will upload the data:

1) As we will import these data with the dedicated OSM import account, we need to make sure we changed the user in the preferences (F12):

SetPreferencesForSpecialOSMaccount.png

2) We click on the Upload button. We correct any errors/warnings we may have, and then we only have to set the following changeset tags:

where:

  • imageryProvider = Maxar, Bing, Maxar;Bing or whatever other list of imagery providers used while importing the data.
  • NUMBEROFPROJECT is the Tasking Manager project number.

Example:

UNSOSchangesetTags.png

And now we (finally!) upload the data.

You may now proceed with another task. In case you don't want to continue for now, DON'T FORGET TO GO TO JOSM PREFERENCES (F12) AND SWITCH BACK TO YOUR REGULAR OSM USER ACCOUNT. It's quite common to leave the import user account active and go mapping other things that you should map with your regular OSM user account.

Need some inspiration?

You can check OSM data, UNSOS waterway segments and resulting data after merging (import) for one task:

Task OSM data before import UNSOS segments to be imported OSM data after import Comments
TM Project 8267, Task 39 1.0 MB 183 KB 1.0 MB


Appendix 1

The MadMappers roads import (2011) is an import performed during the second half of August 2011 (it finished apparently the 2nd of September of that year) by nearly 30 different mappers, and which consisted mostly of tracks. You can find them all around Somalia with the attribution=Mart Roumen; FAO-SWALIM; Madmappers-SOM-2008-01 tag or similar.

Roads import of data from MadMappers didn't follow any Imports guidelines (they weren't enforced by the OSM community as they are today), and asked for expert mappers to help out with checking and merging in the data. (See this wiki for more information).

This import has lots of issues, with many very incorrect or simply non-existing highways that need to be fixed. For most of the areas, they were using low resolution Landsat imagery, as highres imagery (Bing, Mapbox, etc.) were not available as it is today. There is an ongoing Maproulette challenge to start fixing all these roads.

If you want to use this waterways import as an opportunity to also help fixing these ways (optional but highly recommended), please follow these instructions:

  1. As this won't be part of the import workflow, you have to make sure that you will upload the data with your REGULAR OSM ACCOUNT. So please, change the user in the JOSM preferences accordingly.
  2. We will work with the OSM Data layer only, so make sure you have that layer as the active layer.
  3. If you want to search for the MadMappers roads, you can help yourself with the following filter (select the three filter boxes): Roumen
  4. For each MadMappers road, and with the filter disabled, check the following:
    1. If the road actually exists. If that's not the case, simply delete it and go with the next one.
    2. If the road exists:
      1. Correct its geometry. You can do this with W or creating a new one and replacing the old one with Ctrl+Shift+G.
      2. Correct its tags: delete the attribution=* tag, correct its highway=* tag if needed (if it is a highway=track, correct the tracktype=* tag value if needed), and change the source=* tag accordingly.
  5. Once you have finished with all roads, you can upload the data to OSM, with a comment explaining briefly what you have done, and the following hashtags:

where imageryProviders are Maxar, Bing, etc.