Proposal:Wall tagging structure refinement
| Wall tagging structure refinement | |
|---|---|
| Proposal status: | Draft (under way) |
| Proposed by: | Nadjita |
| Tagging: | wall:structure=*
|
| Applies to: | |
| 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
Deprecated tags
wall=jersey_barrierwall=dry_stonewall=stonewall=brickwall=concretewall=concrete_blockwall=flintwall=gabionwall=pise
Rationale
The current wall=* tagging system combines different semantic categories:
- Function:
wall=noise_barrier,wall=seawall,wall=flood_wall - Material:
wall=stone,wall=brick,wall=concrete - Construction method:
wall=dry_stone,wall=gabion,wall=pise
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, sowall: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_barrierwall=flood_protectionwall=sea_protectionwall=castle_wall
|
material=* |
Material (existing key) | material=concretematerial=stonematerial=brickmaterial=wood
|
wall:structure=* |
Construction method (new key) | wall:structure=gabionwall:structure=dry_stonewall:structure=masonrywall:structure=rammed_earthwall:structure=pouredwall: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=wallis the primary tag) - Specialized renderings can now distinguish by purpose, material, or construction method
Data consumers
- Applications using only
barrier=wallcontinue 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
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
- Remove deprecated
- JOSM: Update presets to:
- Remove deprecatedd
wall=*values - Add
wall:structure=*tobarrier=wallpresets - Include
surface=*options for walls
- Remove deprecatedd
- 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
wall=*material=*wall:structure=*
See also
barrier=wall- Current wall documentationwall=*- Current wall refinement keymaterial=*- Material taggingbuilding:structure=*- Building structure tagging- Proposal:Barriers - Original barrier proposal
Comments
Please comment on the discussion page or on the forum thread.