ArcGIS Editor for OpenStreetMap

ESRI has just released an add-in for ArcGIS 10 allowing ArcGIS users to download data from and contribute to OpenStreetMap. Marten Hogeweg announced the tool and news spread pretty quickly. While I agree with the favorable reception the tool has received, it’s still in need of work. Having said that, I must also say that this is the first tool I’ve come across that reliably downloads OSM data into a geodatabase based on a user-defined extent. Coupled with a basic symbology tool, it provides very easy access to OSM data. The average GIS user is not one that is necessarily comfortable with XML-formatted data; they want “a shapefile” and this tool delivers that. The retrieval by extent functionality is very important – in a state like New Jersey where we have 566 small municipalities, a GIS user in a borough or even a county would be inclined to download just their area of interest. The statewide shapefile downloads provided by CloudMade left something to be desired.

While the download functionality is pretty straightforward, the workflow to contribute edits back to OSM is a little convoluted. I’ll take you through the process as I downloaded a portion of Rowan University’s campus and updated OSM with some recent changes on campus. First, I opened a new map document, added in the 2007 aerial photography (for reference) and set my coordinate system to NJ State Plane in feet.

Getting Started

Starting out with the bare minimum is worth commenting on. All you need to get started is a geodatabase. The tool will even create the feature dataset in which the point, line and polygon feature classes are stored. I created a file geodatabase and started the “Download and Symbolize OSM” model, which does pretty much what it says.
Download and Symbolize OSM Data dialog in ArcGIS 10

Download and Symbolize OSM Data

With both the Download tool and the Download & Symbolize model, you can specify an extent and the tool will only retrieve data intersecting or contained by that bounding box. The script allows you to work in your native projection system, as the extent values are converted into WGS 84 coordinates. You then specify a name for your new feature dataset (different from most 9.3 tools, where the tool expects it to already exist) and the names for three symbology layers.

Downloaded data with symbology applied...

and without.

I wanted to make a series of edits that incorporated reshaping features, merging two polygons together, creating new features and deleting features. Specifically, one of the three new features created and the reshaped feature were partially traced against existing OSM data. I not only wanted to see how the tool handles duplicate nodes, and in regard to the merged feature, I wanted to see if it would preserve one of the ways while deleting the other. I ran the OSM Editor Extension tool on each of the three feature classes and began the editing session like usual.

Editing in process. The retention basins have been copied over and the construction land use polygon has been reshaped using the Trace tool.

After the editing session was complete is where I began to run into issues. Attempting to upload resulted in several errors and one attempt caused the application to crash. I didn’t receive meaningful feedback from the tool, other than I was apparently getting a 401 error from OSM. Comments from Marten and Thomas on Marten’s blog helped me straighten out the issue and I was able to get the upload to complete.

The changeset is viewable here. 54 nodes and 8 ways took 8 minutes, 18 seconds to commit. (Your results will likely vary, as I’m running all this on my Macbook Pro through VMware.) This script would really benefit from the ability to export to a .osm XML file before uploading, allowing you to inspect the data before contributing. After the OSM Upload tool was finished, I downloaded a slightly larger extent using JOSM to see exactly what was done.

JOSM inspecting the uploaded data

Using JOSM to validate the data uploaded by the OSM Editor add-in

JOSM highlighted several issues in the data uploaded using the add-in. I deleted the Alumni Center building and parking lot (just south of the roundabout), and the ways were deteled, but the nodes were not. While I probably should have opened the point feature class and checked to see that they were deleted from there as well, I did not. The symbology layers hide all the points that are simply vertices for ways, so I forgot about them.

I created a construction land use polygon to cover the Mansion Park apartment complex at the top of the image and used the Trace tool to ensure that the new polygon shared an edge with the roads and university boundary. The resultant land use way does share the existing nodes instead of creating duplicates. Following the same steps to reshape (not create anew) the existing construction polygon representing the work on Rowan Boulevard created duplicate nodes along the existing roadways. So 1 for 2 for suppressing duplicate nodes.

Merging the two polygons that represent the Rowan Boulevard Apartments worked as I had hoped; one way was altered to include the nodes from the other way and the other way was then deleted. The script could have easily dropped both ways and created a new one, but it’s not good practice.

I’ve fixed the minor issues using JOSM and committed them to OSM. While the ArcGIS OSM Editor add-in is not perfect, I feel it is already a strong set of tools for those familiar with ArcGIS looking to get involved with OSM. Once the source code of the Editor is released, I believe it will get considerable traction in the OSM community, where there are currently plenty of offerings for extracting, editing and uploading to and from OSM (including one of my own) but none so well integrated with ArcGIS and ArcToolbox.

If you’ve read this far, you must be somewhat interested in working with OSM from ArcGIS, so go download the tools if you haven’t already. Try it out and share your experiences.

This entry was posted in ESRI, In the News, OpenStreetMap, Tools and Scripts. Bookmark the permalink.

3 Responses to ArcGIS Editor for OpenStreetMap

  1. Thomas Emge says:

    John,

    thanks for looking at the editor extension and giving it thorough review. We’ll look into the issues you’ve mentioned with the duplicate nodes.
    However one thing that caught my attention was the statement about the ability on exporting to an OSM XML file before uploading. Are you looking for a way to manually inspect the changes before a commit? Can you elaborate why you would want such a functionality?

    Thanks,

    Thomas

    • John Reiser says:

      Thank you for taking the time to read my rant! Providing the ability to export to a .OSM file would allow you to use another editing program that is specifically for editing OSM data. JOSM has a powerful validator that is very useful in identifying errors that you or others may have created. Maybe it’s just the geek in me, but I want to have access to the raw data in case I want to do something with it other than simply contribute it back to OSM. There are several open source packages that work on the OSM format to do things like map rendering and network analysis. If I could use ArcGIS to extract data from OSM, add my own data, then export it into .OSM format, I could then use those tools without having data that is private or not appropriate for OSM contributed back to the service.

  2. Hello John,

    After looking through your blog, I think you may be interested in the Geospatial Revolution Project. The project explores the world of digital mapping and how it has changed how we think, behave, and interact. The project will feature a web-based serial release of video episodes – each telling an intriguing geospatial story. The first episodes will be released in mid-September.

    The project can be found here: http://www.geospatialrevolution.psu.edu/. Also, if you are on twitter, be sure to follow @geospatialrev for updates from the production team.

    Please let me know if you have any questions or if you decide to share the project with your readers.

    Thanks!