Setup for importing address points from Utah's dataset to OpenStreetMap.
This should work anywhere in Utah with minimal changes. However, there are surely some issues that will arise in areas outside of Cache Valley, I haven't tested this anywhere else!
Some issues may occur when using this on more "squiggly" roads since I made some assumptions about the grid system when writing the translation functionality. TODO: More testing should reveal what fixes need to be made.
-
Community Prerequisites
- Follow standard procedure for OSM imports:
-
Download Data - Address Points dataset from UGRC (Shapefile or GeoDatabase will do, I think)
-
Software Prerequisites
- This Script - Provides "translation" functionality
- QGIS - Desktop GIS Software
ogr2osm
, allows conversion from many formats to OSM features- JOSM - Desktop OSM Editor
- Conflation - JOSM Plugin to combine with existing data
-
Narrow Dataset
- In QGIS, open data source, select AddressPoints downloaded from UGRC.
- Add an OSM raster base layer if you want. Not necessary, it just helps me get my bearings.
- Right-click on AddressPoints layer, hit filter, choose a city and apply the filter. Click OK.
- Right-click on now filtered AddressPoints layer, then Export. I think a few different formats should work, but I left it on GeoPackage. Choose a filename, the rest of the options should be OK at default.
-
Translate tags
- After downloading this script, open it up and pick the right path for the exported city address points file. (TODO: Add ability to just pass it in)
- Run the script. Output file will be the same filename but with
.osm
extension. - Watch for warnings/errors in console. The script should add FIXME tags to anything that might have an issue.
-
Inspect Output
- Launch JOSM, open the
.osm
file. Hit ctrl+A to select all points, and look at the tag inspector for anything that looks out of place. - You can do a search for
fixme=*
to check out any issues and fix before uploading.
- Launch JOSM, open the
-
Handle Conflation (See conflation usage)
- In JOSM, download the relevant OSM data for the area.
- Show the Conflation panel. Click Configure there.
- Select all data to be imported, then "freeze" it under the reference section.
- The translation script will assign a "UGRC:address_type" tag, "primary" addresses are more likely to be good merge candidates for buildings.
- If desired, select import data, do a search for "UGRC:address_type"=primary before freezing reference selection.
- Select the relevant data to be merged into (existing OSM data), then freeze under subject.
- See sample list of features for a good starting point search.
- Click Generate Matches. In the Conflation panel, review matches.
- You can sort by distance to initially weed out questionable items.
- You can sort by conflict to work those out before proceeding.
- You can select one or many features on the map, then click Conflate or Remove to approve or deny their corresponding conflation operations.
- Reference Only items can usually be conflated (read: added to subject layer) without too much trouble.
- Subject Only items can usually be left alone.
- Conflation step is the most critical step in lining things up correctly. Don't rush!
-
QA
- Select all modified features and go through the tags list. Be sure that no "temporary" or unnecessary tags have been left.
- Check to see if any
fixme
items can be resolved before upload. - Run JOSM validation tool to search for any additional issues.
-
Upload to OSM
Include the following tags in your changeset:
import=yes
mechanical=yes
created_by=___
source=Utah AGRC
comment=Import addresses from Utah's dataset
description=https://wiki.openstreetmap.org/wiki/Utah/CacheValleyAddressImport