I have added a new option to the Smap Server that will export a survey in OSM format. The following video shows this being used to add house numbers to Openstreetmap.
The survey from that video is defined in an XLSForm template reproduced below:
This survey will collect the street name, odd or even, country, city, postcode in the top level form. It then collects the house numbers and their locations in a repeating group. Some of the top level fields are copied into each house record using the “calculate” type.
I have adopted a couple of naming conventions for surveys that are destined to be exported to osm.
- Any question name that starts with an underscore, such as _country, is not exported.
- If the question name starts with “addr_”, then that is changed to “addr:”. The reason for this is that XLSForm did not seem to support the use of colons inside names but they are used in OSM key values.
I completed the survey twice to get the house numbers for a street called Jewell Crescent. When the results are exported the OSM file looks like this:
[code language=”xml”]
[/code]
After loading into Openstreetmap it looks like this.
This new functionality is in the source code now. It will be included in the next production release of Smap on Sunday 28th of July, after which the server can be downloaded from here.
Other Thoughts
- Currently option names map to OSM values. This is quite restrictive as ODK does not allow these names to have spaces. I will probably add an option to the export function that, if set, will use the option label to set the OSM value.
- You can export any survey to Openstreetmap. Most of the time these won’t have been designed to be loaded directly as the demo was. However it can still be useful to get the data into JOSM and then manually copy information into new OSM nodes. For example if you have a survey with information on health clinics.