Editing OpenStreetMap data with QGIS and Merkaartor

Problem: You want to contribute to OpenStreetMap from your desktop instead of from the Potlatch web tool.

In my last entry I discussed the process of downloading OpenStreetMap data using Quantum GIS (QGIS). This is how the downloaded data looked in the vicinity of the North Plateau Loop in Monte Sano State Park:

In this entry, I will cover two different methods I used to update this data to include my GPS track of the entire loop. I initially attempted to do this with QGIS.

Method #1: QGIS
When you first activate the QGIS OpenStreetMap plugin, the editing widget should appear on the right side of the screen. If it doesn’t, turn it on by going to View –> Panels –> OSM Feature. You should use the widget instead of the standard toolbar to identify and edit OSM features. If you click the OSM identify tool and hover over features, they will turn red and you can see their tags.

Shown above (in red) is one of the footway bits that fell near the North Plateau Loop, along with my GPS tracks (in magenta). I decided to keep the two segments that were already there, along with their foot=permissive and highway=footway tags. I added a name=North Plateau Loop tag to both of them by typing in the <new tag here> area.

Then I pressed the Create Line button.

The editor will automatically snap to existing features. I began at one the end of the segment by the parking lot and traced along the length of my track, stopping to incorporate the second segment along the way. Then I added the three tags to the new lines I had created.

Once I was happy with my edits, I tried to upload them to the OpenStreetMap server. At this point in the process, if you do not yet have an OSM account, go to https://www.openstreetmap.org/user/new and create one. Then, go back to QGIS and press the Upload OSM Data button.

The next screen is a summary of your changes. Add an optional comment to explain what you did, then enter your OSM account username and password, and press the Upload button.

If all goes well, you will get a message saying your upload has completed successfully. I, instead, got a python error message “OperationalError: SQL logic error or missing database”. According to the Quantum GIS forum, this has happened to some other people, but it doesn’t happen to everyone. You may get lucky. If not, you can try another tool such as Merkaartor.

Method #2: Merkaartor
While QGIS is a full GIS software package, Merkaartor has been developed solely for the purpose of working with OpenStreetMap. I found the interface less than intuitive.

After opening the program, my next step would typically be to add a basemap that moves me to the right geographic location. However, there is no Add Data button like I would expect. Instead, there is a list of layers already in the table of contents that have no source. You need to right-click on the top one to point it to some data. You can choose from a pre-loaded list of TMS (tile map service) or WMS (web map service) layers, or add a raster in GeoTIFF or “Walking Paper” (JPG, PNG or BMP) format.

I had trouble getting Merkaartor to load my georeferenced trail map, so I went the map service route. Once you pick a layer (I liked OSM Mapnik), you can use the mouse wheel to zoom and the right mouse button to pan to your area of interest. Then, press the green arrow Download button to get the current OSM layers in that area.

In the next screen that comes up, you would choose to download the Current View, which is selected by default. Alternatively, you could choose to download “From the map below” and do the same zooming and panning to your area of interest within the smaller window.

Merkaartor’s way of displaying the Monte Sano OSM layers is a bit different. It shows every vertex (node).


(click to see full size)

When you hover over a group of nodes, their color will change to a pink highlight. You must click on them to select them. They will then turn royal blue and their tags will be displayed in the Properties window on the bottom left of the screen. In order to select the line instead of the nodes that make it up, you need to move the mouse until the pink highlight turns thicker. After you click, the resulting royal blue selection symbol will also be thicker. Then you will see the tags shown above. You can edit them by typing inside the fields, just as with QGIS.

Go to File –> Import to load your GPS track .gpx file. It will be symbolized in a way that is difficult to distinguish from the OSM data. There is no way to change the symbols. I recommend turning off every layer that you don’t need to make things easier to see. (Do this by clicking on the eye symbol next to the layer.) When you are ready to begin editing, go to the Create menu and select Road.

I started, once again, at the bit of footway near the parking lot.

A couple cool things will happen at this point that didn’t happen in QGIS. First, the program will snap your new line not only to the ends of the existing segments, but also to the vertices of your GPS track. This makes it easier to follow it exactly. Second, the program will automatically carry all of the tags associated with the existing segment over to your new road. You will not have to go back and add them later.

When you have finished digitizing, press the ESC key to exit creation mode. At this point, if you want, you can polish up your work by splitting and merging segments. Simply hold down the CTRL key to select multiple segments, then choose the function to apply from the Road menu.

I found the ability to do that very useful because there was a bit of North Plateau Loop that didn’t belong in the original segments. Also, I worked in pieces so I could zoom in closer, and I liked being able to merge everything into one at the end.

When you are ready to upload your changes, you will need to go to the Tools –> Preferences –> Data tab to enter your OpenStreetMap username and password. Then press the megaphone Upload button. Review and summarize your edits in the next screen.

If you’re me, this time it will work! There is now a perfect North Plateau Loop on OpenStreetMap.org for all to see.

(click to see full size)

My parting thoughts are thus:
I wish I had been able to complete the upload in QGIS, because I find the program more pleasant to work with, and I like the idea of using a single GIS package to do everything. However, Merkaartor does offer some advanced OSM editing functions that make for a cleaner final product.

In summary, these are the main benefits of each tool:

QGIS

  • Full-service GIS package
  • Allows for changing of symbol representation
  • Allows for raster georeferencing and display
  • Better interface for those familiar with ArcGIS

Merkaartor

  • Allows for merging and splitting road segments
  • Snaps to GPS trace vertices
  • Copies tags from attached segment into extension
  • Uploads OSM edits without issues

Tags: , , , ,

5 Responses to “Editing OpenStreetMap data with QGIS and Merkaartor”

  1. Frederik Ramm Says:

    Is there a specific reason why you have not considered JOSM (http://wiki.openstreetmap.org/wiki/JOSM)? Merkaartor is not bad but JOSM is, by a long margin, the #1 standalone OSM editor (JOSM’s user base is 6 times as large as Merkaartor’s, and 150 times as large as that of the QGIS editor).

  2. admin Says:

    Thank you for bringing JOSM to my attention. I had not yet heard of it. I definitely will try it out, and I’ll potentially write about it in a later entry.

  3. Chris Browet Says:

    Hi,

    I am the developer of Merkaartor.

    Would you be so kind as to provide me with details regarding the functionality of the “Add Data button” you were missing?

    Always willing to improve…

  4. Brian May Says:

    I have had the same python error when trying to upload OSM data from QGIS. Basically makes the plugin useless unless you are just trying to go one way with the data and not contribute back. I am new to OpenStreetMap, have used JOSM some, but end up using Potlatch mostly because its really easy. The nice thing about QGIS is as you say its much more familiar to GIS folks used to ArcGIS and more GIS folks need to get involved with OSM. I have tons of GIS data lying around that I can very easily get into QGIS for reference much easier than I can JOSM. The only thing I have been able to figure out is getting WMS services in JOSM. Having said all that, JOSM is certainly a powerful editor and was built from the ground up for robust OSM editing.

  5. user Says:

    JOSM FTW!

Leave a Reply