Proposal:Wall tagging structure refinement

From OpenStreetMap Wiki
Jump to navigation Jump to search
Wall tagging structure refinement
Proposal status: Draft (under way)
Proposed by: Nadjita
Tagging: wall:structure=*
Applies to: way
Definition: Refinement of wall=* by separating function, material, and structure
Statistics:

Draft started: 2025-08-25

Proposal

This proposal aims to refine the tagging structure for walls (barrier=wall) by clearly separating the purpose, material, and construction method of walls. Currently, the wall=* key mixes these three distinct aspects, leading to ambiguity, inconsistent tagging, and having to decide whether to tag one or the other.

New tags

  1. wall:structure=*

Deprecated tags

  1. wall=jersey_barrier
  2. wall=dry_stone
  3. wall=stone
  4. wall=brick
  5. wall=concrete
  6. wall=concrete_block
  7. wall=flint
  8. wall=gabion
  9. wall=pise

Rationale

The current wall=* tagging system combines different semantic categories:

This mixing creates several problems:

  • Ambiguity: A noise barrier built with gabions cannot be properly tagged, unless we consider gabions a material
  • Data inconsistency: Similar walls are tagged differently depending on which aspect mappers prioritize (function, material, or construction)
  • Conflicts with OSM principles: No clear separation of function, material, and construction

The key wall:structure=* was chosen to:

  • Follow established OSM patterns (mirrors building:structure=* for construction methods)
  • Avoid confusion with construction=* (used for temporary construction sites, so wall:construction=* isn't perfect)
  • Provide clear semantic separation between wall function, materials, and construction techniques
  • Enable precise tagging of engineering-significant construction methods

Tagging

New tagging scheme

Key Purpose Example values
barrier=wall Identifies the feature as a wall (unchanged)
wall=* Function only wall=noise_barrier
wall=flood_protection
wall=sea_protection
wall=castle_wall
material=* Material (existing key) material=concrete
material=stone
material=brick
material=wood
wall:structure=* Construction method (new key) wall:structure=gabion
wall:structure=dry_stone
wall:structure=masonry
wall:structure=rammed_earth
wall:structure=poured
wall:structure=panel

Proposed wall=* values (function)

Value Description Current equivalent
wall=noise_barrier Protection against noise wall=noise_barrier (unchanged)
wall=castle_wall A castle wall wall=castle_wall (unchanged)
wall=flood_wall Protection against flooding wall=flood_wall (unchanged)
wall=seawall Protection against sea/coastal erosion wall=seawall (unchanged)

Proposed wall:structure=* values

Value Description Current equivalent
wall:structure=gabion Wire cages filled with stones/concrete wall=gabion
wall:structure=dry_stone Stones fitted without mortar wall=dry_stone
wall:structure=rammed_earth Compacted earth/clay (known as pise or taipa) wall=pise
wall:structure=adobe Unfired clay bricks or shaped clay (new)
wall:structure=masonry Stones/bricks with mortar (refined from current material tags)
wall:structure=panel Made from prefabricated panels (e.g., wood or concrete) (new)
wall:structure=poured Concrete poured on-site or sprayed (new)
wall:structure=frame Frame construction (wood/bamboo) with infill material, e.g. timber frame, quincha, wattle and daub (new)
wall:structure=carved Carved out of solid rock (new)
wall:structure=woven Braided or woven out of bamboo, reed, or other plants (new)

Proposed material=* values that were once wall=* values

Value Description Current equivalent
material=stone A wall constructed from stones wall=stone
material=brick A wall constructed from bricks wall=brick
material=concrete Concrete wall, constructed from concrete poured in place, or as precast concrete wall panels wall=concrete
material=concrete_block Concrete block wall, constructed from cement concrete blocks and mortar wall=concrete_block
material=soil Rammed earth wall made from compacted soil wall=rammed_earth

Surface treatment

For walls with surface treatments or coverings, the surface=* key can be used to describe the visible outer layer, separate from the structural material:

Value Description Example
surface=plaster Rendered/plastered surface Concrete wall with cement render
surface=tiles Ceramic or stone tiles Concrete wall with ceramic tile cladding
surface=clinker Clinker brick facing Concrete wall with clinker brick veneer
surface=stone Natural stone cladding Concrete wall with stone facade
surface=stucco Cement-based textured coating Concrete wall with rough stucco finish

Example usage:

barrier=wall
material=stone                 # structural material
surface=plaster                # visible surface treatment
wall:structure=masonry

Note that material=* describes the structural/load-bearing material, while surface=* describes the visible outer treatment or cladding.

Migration strategy

The migration requires determining which aspect (purpose, material, or structure) is missing for each existing wall=* value:

Current value What's missing Suggested approach
wall=noise_barrier Material + structure Add material=* and wall:structure=* if determinable
wall=flood_wall Material + structure Add material=* and wall:structure=* if determinable
wall=seawall Material + structure Add material=* and wall:structure=* if determinable
wall=gabion Purpose Becomes wall:structure=gabion, add wall=* for purpose + material=stone (typical)
wall=dry_stone Purpose Becomes material=stone + wall:structure=dry_stone, add wall=* for purpose
wall=brick Purpose Becomes material=brick + wall:structure=masonry, add wall=* for purpose
wall=pise Purpose Becomes material=soil + wall:structure=rammed_earth, add wall=* for purpose
wall=stone Purpose + structure Becomes material=stone, add wall=* for purpose + wall:structure=masonry/dry_stone
wall=concrete Purpose + structure Becomes material=concrete, add wall=* for purpose + wall:structure=poured/panel
wall=concrete_block Purpose Becomes material=concrete_block + wall:structure=masonry, add wall=* for purpose
wall=flint Purpose Becomes material=flint + wall:structure=masonry, add wall=* for purpose
wall=jersey_barrier Becomes barrier=jersey_barrier

No automatic migration

All conversions require manual review by mappers to determine the missing information from local knowledge or imagery.

Compatibility

Rendering

  • Standard OSM-Carto rendering should remain unchanged (barrier=wall is the primary tag)
  • Specialized renderings can now distinguish by purpose, material, or construction method

Data consumers

  • Applications using only barrier=wall continue to work unchanged
  • Applications can progressively adopt the refined tagging for enhanced functionality

Editors

  • Presets should be updated to support the new structure
  • Legacy wall=* values should show validation warnings after transition period

Examples

Image Description Proposed tagging
Noise barrier built with wood panels barrier=wall
wall=noise_barrier
material=wood
wall:structure=panel
Noise barrier built with gabion barrier=wall
wall=noise_barrier
material=stone
wall:structure=gabion
Noise barrier built with aluminium panels barrier=wall
wall=noise_barrier
material=aluminium or material=metal
wall:structure=panel
Adobe wall barrier=wall
wall:structure=adobe
material=clay
Adobe wall built with unfired bricks barrier=wall
wall:structure=adobe
material=clay
Brick wall barrier=wall
wall:structure=masonry
material=brick
Stone wall barrier=wall
wall:structure=masonry
material=stone
Dry stone wall barrier=wall
wall:structure=dry_stone
material=fieldstone
Boundary wall made of prefabricated concrete panels barrier=wall
wall:structure=panel
material=concrete
Rammed earth wall barrier=wall
wall:structure=rammed_earth
material=soil
Bamboo wall barrier=wall
wall:structure=woven
material=bamboo
Concrete block wall barrier=wall
wall:structure=masonry
material=concrete_block
Poured concrete wall barrier=wall
wall:structure=poured
material=concrete
Flint wall barrier=wall
wall:structure=masonry
material=flint
Wattle and daub filled with clay barrier=wall
wall:structure=frame
material=wood
Seawall made of vertical concrete panels barrier=wall
wall=seawall
wall:structure=panel
material=concrete
Flood wall made of vertical concrete panels barrier=wall
wall=flood_wall
wall:structure=panel
material=concrete
Dry stone castle wall barrier=wall
wall=castle_wall
wall:structure=dry_stone
material=stone

Editor integration and validation

Following approval, the following steps will be taken to ensure smooth migration:

Editor presets

Issues will be opened with major OSM editors to update their presets:

  • iD Editor: Update id-tagging-schema to:
    • Remove deprecated wall=* values from presets
    • Add new wall:structure=* key to wall presets
    • Show warnings for deprecated combinations
  • JOSM: Update presets to:
  • Vespucci: Update presets to match the new tagging scheme

Validation rules

Validator warnings will be requested for:

  • JOSM Validator: Add rules to flag deprecated wall=* values and suggest replacements
  • iD Warnings: Show deprecation notices when deprecated values are used
  • Osmose QA: Add checks for inconsistent wall tagging

Community migration support

  • Documentation: Update all language versions of relevant wiki pages
  • Tagging Guidelines: Coordinate with local communities for consistent adoption

Features/Pages affected

See also

Comments

Please comment on the discussion page or on the forum thread.