Vermont road surfaces
About
I'm hoping to import road surface data provided by the Vermont State government in order to assist in adding full coverage of road surface data for the state. As far as I'm aware, I'm the only OSM contributor who has added road surface tags in Vermont and I would like to use data from the State government to assist my efforts.
This import would add surface=*
tags to existing OSM ways that are tagged as highway=*
. No additional geometry will be added.
Import Plan Outline
Goals
- Import road-surface data for the state of Vermont, USA.
- Existing ways tagged as
highway=*
will havesurface=*
tags added/updated. - Impassible/Untraveled ways will be tagged as
highway=track,surface=dirt
Schedule
Be sure to list the general timeframe of your project.
Import Data
Background
Data source site: http://www.vcgi.org/
Data license: unknown
Type of license (if applicable): e.g. CC-BY-SA, Public Domain, Public Domain with Attribution, etc.
Link to permission (if required): e.g. link to mail list reference url - http://lists.openstreetmap.org/pipermail/imports/2012-December/001617.html
OSM attribution (if required): http://wiki.openstreetmap.org/wiki/Contributors#yourdataprovider
ODbL Compliance verified: yes/no
OSM Data Files
Link to your source data files that you have prepared for the import - e.g. the .osm files you have derived from the data sources.
Import Type
Identify if this is a one-time or recurring import and whether you'll be doing it with automated scripts, etc.
This will be a one-time import that will be followed by manual tagging of missing areas.
Identify what method will be used for entering the imported data into the OSM database - e.g. API, JOSM, upload.py, etc.
Question: What is the best/safest method for adding/updating tags without geometry changes?
Data Preparation
Data Reduction & Simplification
Tags will only be added to existing ways, no geometry additions or changes will be made.
Tagging Plans
The TransRoad_RDS shapefile includes a SURFACE attribute:
Attribute_Definition: Road surface type. Roads surface types are generally based on VTrans Town Highway Maps, or on regional/local review.
Attribute_Definition_Source: VGIS Road Centerline Data Standard
Attribute_Domain_Values:
- Enumerated_Domain:
- Enumerated_Domain_Value: 1
- Enumerated_Domain_Value_Definition: Hard surface (pavement)
- Enumerated_Domain:
- Enumerated_Domain_Value: 2
- Enumerated_Domain_Value_Definition: Gravel
- Enumerated_Domain:
- Enumerated_Domain_Value: 3
- Enumerated_Domain_Value_Definition: Soil or graded and drained earth
- Enumerated_Domain:
- Enumerated_Domain_Value: 5
- Enumerated_Domain_Value_Definition: Unimproved/Primitive
- Enumerated_Domain:
- Enumerated_Domain_Value: 6
- Enumerated_Domain_Value_Definition: Impassable or untravelled
- Enumerated_Domain:
- Enumerated_Domain_Value: 9
- Enumerated_Domain_Value_Definition: Unknown surface type
Attribute_Value_Accuracy_Information:
Attribute_Value_Accuracy: SURFACE
Attribute_Value_Accuracy_Explanation:
Roads surface types are generally based on VTrans Town Highway
Maps, or on regional/local review. Little or no photo
interpretation was done, but road shapes and distances
were originally used to assign SURFACE codes. Some regional
and local knowledge has been used to update SURFACE
codes in updated datasets (see the updates listing).
Legal trails and discontinued roads were all originally
assigned SURFACE equals 9 (unknown).
The surface types of some very short roads could not be
determined from the VTrans maps, especially differentiating
between gravel (2) and soil (3). Surface types for these
arcs were coded 'unknown' (9), or a best judgement was
made. The Town Highway Maps are being generated from the TransRoad_RDS
data and require public highways to have surface code other than
9. The QA/QC process flags highways that don't comform and are
corrected.
Way/Shape Matching
OSM ways are matched first by name to records in the TransRoad_RDS shapefile. The bounding box of the way is then compared to the bounding box of the record in the shapefile by adding the absolute value of the difference of each bbox side. If the difference in bounding box extent is greater than 10km the record is ignored as a potential match. Potential matches are then ordered by closest bounding box match. The best match is used as the primary value and matches that are up to twice the extent of the closest match are considered.
Example:
The OSM way 12345 has a name of "Elm St" and a bounding box (S,W,N,E) of 44.0000,-73.0001,44.0001,-73.0000.
Multiple records in the shapefile exist with a name of "ELM ST":
- ELM ST - bounding-box difference: 125 meters, surface: #1 - Hard surface (paved)
- ELM ST - bounding-box difference: 200 meters, surface: #1 - Hard surface (paved)
- ELM ST - bounding-box difference: 900 meters, surface: #2 - Gravel
- ELM ST - bounding-box difference: 255,000 meters, surface: #1 - Hard surface (paved)
- ELM ST - bounding-box difference: 700,000 meters, surface: #1 - Hard surface (paved)
The best-fit shape has a bounding box difference of 125 meters, so only shapes with differences up to 250 meters will be considered. There are two shapes that fall into this match; since they both have the same surface (#1 - Hard surface) we will consider that the surface for this way. If there was a shape with a difference under 250 meters that had a different surface we would consider this a mixed result and not apply a tag to the way.
Tag mapping
- 1 - Hard surface (paved) adds
surface=paved
if the surface is not already one ofsurface=asphalt
,surface=asphalt
,surface=concrete
. - 2 - Gravel adds/updates-to
surface=gravel
- 3 - Soil or graded and drained earth adds/updates-to
surface=dirt
- 5 - Unimproved/Primitive adds/updates-to
surface=dirt
- 6 - Impassable or untravelled adds/updates-to
surface=dirt, highway=track
- A mixture of different 2 - Gravel, 3 - Soil or graded and drained earth, and/or 5 - Unimproved/Primitive will add the generic tag
surface=unpaved
if nosurface=*
tag is already set.
All other tags or mixtures of tags will not modify the OSM way.
Visualization of changes
The vermont-proposed-surfaces.kmz shows the changes that will be made. Grey-scale ways will be unchanged due to missing or inconclusive data. Colored ways will be tagged as described above.
Changeset Tags
Describe how you'll use changeset tags in the import.
Data Transformation
Describe the transformations you'll need to conduct, the tools you're using, and any specific configurations or code that will be used in the transformation.
The script to generate the import and visualizations lives at https://github.com/adamfranco/vt_road_surface_tags
Data Transformation Results
Post a link to your OSM XML files.
Data Merge Workflow
Team Approach
Describe if you'll be doing this solo or as a team.
References
List all factors that will be evaluated in the import.
Workflow
Detail the steps you'll take during the actual import.
Information to include:
- Step by step instructions
- Changeset size policy
- Revert plans
Conflation
Identify your approach to conflation here.
QA
Add your QA plan here.