User:CMoffroad/Tagging

From OpenStreetMap Wiki
Jump to navigation Jump to search

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;