User:CMoffroad/Tagging
Below is a list of OpenStreetMap tagging techniques I regularly use to improve outdoor maps of Northern Thailand.
If you have any questions, please comment on the concerned changesets or contact me directly at https://www.openstreetmap.org/message/new/cmoffroad
A list of tools I maintain and tasks I am working on is available at User:CMoffroad
Imagery
General improvements based on satellite imagery.
add missing water features
Add waterway=stream, waterway=river and natural=water + water=reservoir
Note: as per the global wiki water=reservoir is preferred over landuse=reservoir (iD editor will propose to upgrade the tag)
GPS
add missing GPS source
To indicate whether a road/path has been confirmed by public GPS traces
ground survey update
Ground Survey updates using iD Editor based on collected GPS traces and these guidelines https://github.com/cmoffroad/osm-guidelines
highway=track
+surface=unpaved
+source=GPS
: 4-wheel vehicles may be able or are known to use this way.
highway=path
+surface=unpaved
+source=GPS
+motorcycle=yes
: 2-wheel vehicles (light-weight and often only offroad type) may be able or are known to use this way.
highway=footway
+surface=unpaved
+source=GPS
: Walking/hiking trails where high-risk extreme enduro/MTB might be possible depending on surface conditions and skills.
Overpass
Improvements and repairs using Overpass Queries and JOSM Remote Control
add missing import=* from organized editing mappers
Organized editing teams are supposed to include a import=xxxx tag in all their highway additions so they can be tracked over time.
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{user="xxxxxxx"}}
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
(
way[highway](user: {{user}})(if:version()==1)(poly: {{poly}})(area.thailand);
);
(._;>;); out meta;
delete tracktype=* where surface has been paved
Make sure to remove tracktype once an unpaved road become paved.
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
(
way[highway][tracktype][tracktype!=grade1][surface~"^(paved|asphalt|concrete|concrete:plates|chipseal)$"](poly: {{poly}})(area.thailand);
);
(._;>;); out meta;
change tracktype=grade1 to tracktype=grade2 for solid unpaved roads
As per the global wiki always use tracktype=grade2 for solid unpaved roads.
- grade1 is reserved for paved and sealed
- OSMOSE and JOSM will consider an unpaved road with tracktype=grade1 a validation error that needs to be solved
- False positives can be fixed over time as unpaved surfaces eventually become paved
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
(
way[highway][tracktype=grade1][surface][surface!~"^(paved|asphalt|concrete|concrete:plates|concrete:lanes|chipseal)$"](poly: {{poly}})(area.thailand);
);
(._;>;); out meta;
add missing surface=unpaved for highway=track
Always add surface=unpaved
or the exact surface
with highway=track
- While most renderers do not support surface tags (yet), track are assumed by default to be unpaved.
- Without a surface tag, a change of road classification (e.g. track to residential) will render the road as paved, and the unpaved information will be lost
- Unpaved surfaces will ensure routing software will not take users through farms or rough road conditions.
- False positives can be fixed over time as unpaved surfaces eventually become paved
add missing surface=unpaved for highway=path
Always add surface=unpaved
or the exact surface
with highway=path
- While most renderers do not support surface tags (yet), path are assumed by default to be unpaved.
- Without a surface tag, a change of path classification (e.g. path to footway) will render the path as paved, and the unpaved information will be lost
add missing surface=unpaved to any minor road classifications that are already tagged with 4wd_only or tracktype
Always add surface=unpaved
or the exact surface
together with any existing tracktype
(higher than grade1), or 4wd_only
tags.
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
{{highway="^(tertiary|tertiary_link|unclassified|living_street|residential|service|track|busway|pedestrian|escape|raceway)$"}}
(
way[highway~{{highway}}][tracktype][tracktype!=grade1][!surface](poly: {{poly}})(area.thailand);
way[highway~{{highway}}]["4wd_only"][!surface](poly: {{poly}})(area.thailand);
);
(._;>;); out meta;
add missing surface=unpaved to any major road classifications that are already tagged with 4wd_only or tracktype
Always add surface=unpaved
or the exact surface
together with any existing tracktype
(higher than grade1), or 4wd_only
tags.
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
{{highway="^(motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link)$"}}
(
way[highway~{{highway}}][tracktype][tracktype!=grade1][!surface](poly: {{poly}})(area.thailand);
way[highway~{{highway}}]["4wd_only"][!surface](poly: {{poly}})(area.thailand);
);
(._;>;); out meta;
add missing layer=1 to bridges
Bridges should have a layer=*
, for simple crossings almost always layer=1
but other values may be appropriate for complex crossings.
[out:xml];
{{geocodeArea:Thailand}}->.thailand;
{{poly="17.38209494787749 96.78955078125 20.493918871618803 96.78955078125 20.493918871618803 101.44775390625001 17.38209494787749 101.44775390625001"}}
(
way[highway][bridge][!layer](poly: {{poly}})(area.thailand);
);
(._;>;); out meta;