Proposal:Trackbuild
| trackbuild=* | |
|---|---|
| Proposal status: | Draft (under way) |
| Proposed by: | Julcnx |
| Tagging: | trackbuild=*
|
| Applies to: | way |
| Definition: | A complementary key to surface=* that records the development level of an unpaved road or track surface, as observable in the field, independent of the material it is made from. Values form a progression from unimproved (natural) through mechanically shaped (graded), loose imported aggregate (imported), to engineered and rolled (rolled). Used alongside surface=* to separate what the surface is made of from how it was built.
|
| Draft started: | 2026-05-08 |
- SUMMARY
- What:
trackbuild=*adds a dedicated key for the development level of unpaved road surfaces: how deliberately the road was built, independent of what it is made of. Values form a progression from passage-formed tracks (trackbuild=natural) through machinery-shaped native soil (trackbuild=graded) and loose imported aggregate (trackbuild=imported) to mechanically compacted (trackbuild=rolled). - Why it matters:
surface=*records material;tracktype=*records current firmness. Neither records how the road was built. Two roads with the same surface and tracktype can have completely different seasonal behaviour and durability depending on whether native soil was graded or aggregate was imported and compacted. - What it is not: a replacement for
surface=*,tracktype=*, orsmoothness=*. It is additive and opt-in. Do not add it if you cannot determine the development level from field observation. - If not accepted: the taxonomy described here reflects concepts already discussed informally in
tracktype=*andsurface=*tagging threads. This page may serve as a reference vocabulary for those discussions regardless of the vote outcome.
Problem
surface=* currently conflates two orthogonal properties:
- Material: what the surface is made of (dirt, gravel, sand, asphalt, etc.)
- Development level: the degree to which the road has been deliberately constructed (unimproved, graded, aggregate placed, mechanically compacted, etc.)
This conflation matters most in regions where a large share of the road network is unpaved, including rural areas across Africa, South and Southeast Asia, and Latin America, where development-level differences directly affect seasonal passability and routing decisions for the majority of the road network.
This conflation produces tagging ambiguities that affect routing and data quality:
surface=compacteddoes not say what material is compacted. A compacted gravel road and a compacted clay road share the tag but behave very differently under rain.surface=dirtcan mean a natural passage-formed track, a machine-graded native soil road, or a degraded engineered road that has reverted to soil. These have different development levels and different long-term behaviour under traffic and rain.surface=mudsignals wet-season conditions but not development level. A natural track and a graded road can both becomesurface=mudafter rain, yet their construction history and recovery time differ.trackbuild=*remains stable across weather conditions: a natural track is stilltrackbuild=naturalwhether it is dry or muddy.- A mapper tagging
surface=gravel+tracktype=grade3conveys material and current condition but nothing about whether the surface is natural, graded, or an imported aggregate. Two roads with the same surface tag and tracktype may have completely different durability and seasonal behaviour based on their development level.
The same unpaved road can look similar across development levels depending on season, recent weather, and local soil type. Without a dedicated key, development level must be inferred from combinations of surface=* and tracktype=*, which were not designed to express it.
Development level predicts seasonal behaviour: a graded clay road may be passable in dry season and impassable after rain; a rolled compacted road survives light rain without surface degradation. Routing engines, trail apps, and seasonal accessibility tools cannot make this distinction from surface=* and tracktype=* alone.
Proposal
Add trackbuild=* as a documented complementary key to surface=*, for use on unpaved highway=* ways (roads, tracks) where the development level can be determined from field observation.
Key
- Key
trackbuild=*
- Type
- String (enumerated values)
- Applies to
- All unpaved
highway=*ways where the development level can be observed in the field, includinghighway=trackand unpaved variants ofhighway=service,highway=residential,highway=unclassified,highway=tertiary, and higher classifications in regions where major roads remain unpaved. Not intended for footways, bridleways, or cycle paths, which have different construction vocabularies.
Values
| Value | Development level | Meaning | Typical surface=* values |
Typical tracktype=*
|
|---|---|---|---|---|
trackbuild=natural |
Natural / unimproved | Formed by passage alone, or by minimal clearing of vegetation. No deliberate construction work, no imported material, no grading equipment used. | surface=dirt, surface=ground, surface=grass, surface=sand, surface=clay, surface=mud |
tracktype=grade4–tracktype=grade5
|
trackbuild=graded |
Minimally improved | Native soil surface shaped by machinery (tractor, grader, bulldozer). No imported material added. Periodic regrading may occur but no new material is introduced. | surface=dirt, surface=ground, surface=clay, surface=sand, surface=mud |
tracktype=grade3–tracktype=grade4
|
trackbuild=imported |
Improved, loose | Imported mineral aggregate (gravel, crushed stone, crusher run, etc.) placed on the road surface but not mechanically compacted. Surface is loose or only lightly traffic-compacted. | surface=gravel, surface=fine_gravel |
tracktype=grade3
|
trackbuild=rolled |
Engineered, rolled | Imported mineral aggregate mechanically compacted with a roller, vibratory plate, or equivalent. Material is bound into a stable wearing course. | surface=compacted |
tracktype=grade2
|
Rolled gravel is by definition surface=compacted. The combination surface=gravel + trackbuild=rolled is contradictory and should not be used.
How to use
trackbuild=* is always used alongside surface=*, not as a replacement for it.
| Situation | Tags |
|---|---|
| Natural earth track, no construction work | surface=dirt + trackbuild=natural
|
| Natural sandy track | surface=sand + trackbuild=natural
|
| Native dirt road graded by tractor, no imported material | surface=dirt + trackbuild=graded
|
| Gravel imported and spread on road, not yet rolled | surface=gravel + trackbuild=imported
|
| Fresh gravel spread over existing compacted base (maintenance layer) | surface=gravel + trackbuild=imported
|
| Crushed stone placed and mechanically rolled | surface=compacted + trackbuild=rolled
|
Overlap with surface=compacted
trackbuild=rolled overlaps with surface=compacted as it exists today:
surface=compacteddescribes a well-graded aggregate surface, carrying both material and construction information in one tag. It remains valid and does not require migration.- Rolled gravel becomes
surface=compacted. The combinationsurface=gravel+trackbuild=rolledis contradictory (see note above). - Mappers who prefer a single-tag approach can continue using
surface=compacted. The new key is additive and opt-in.
surface=compacted remains valid as a standalone tag. trackbuild=rolled alongside it makes the construction method explicit:
surface=compacted (roller use implied) surface=compacted (compacted gravel surface) trackbuild=rolled (roller use explicit)
Mappers should not feel obligated to add trackbuild=* to existing surface=compacted ways. It adds value when distinguishing roller-compacted surfaces from surfaces that appear compacted through traffic alone.
trackbuild=* does not replace:
tracktype=*: tracktype primarily reflects current surface firmness and passability.trackbuild=*records the development level of the road, which does not change with weather or short-term maintenance cycles.smoothness=*: smoothness captures observable rideability at survey time.
Observable field indicators by value
A firm, smooth unpaved road does not on its own indicate engineered construction. Native soil graded by a tractor, and an aggregate road compacted by a roller, can look identical in dry conditions yet behave very differently in wet conditions and have different long-term stability under traffic. The indicators below help distinguish development level without relying on firmness alone.
natural
Typical tags: surface=dirt, surface=ground, surface=grass, surface=sand, surface=clay — tracktype=grade4 to tracktype=grade5
- Tyre tracks pressed into the surface rather than sitting on top — the surface deforms under load
- Surface colour and texture matches the surrounding native soil exactly
- No visible edge definition between road surface and verge
- Desiccation cracking pattern extends across the full road width in dry conditions
- Cut banks (where present) show a soil profile matching the road surface material
- No camber, no drainage channels
- Transitions abruptly to impassable or deeply rutted in wet season
graded
Typical tags: surface=dirt, surface=ground, surface=clay, surface=sand — tracktype=grade3 to tracktype=grade4
- Surface is visibly flatter and more even than surrounding terrain, but colour matches native soil
- Vegetation absent from road surface, present on verge: a clear line of clearing visible
- Some edge definition, but the boundary between road and verge may be soft or overgrown between maintenance cycles
- No visible aggregate particles that differ from the native soil
- May have basic cross-drainage (water bars cut across road) but no formed channels alongside
- Becomes deeply rutted or impassable in wet season, particularly on clay or iron-rich soils
Note: This level is common in rural areas globally. A track created by grading native soil without adding any material is improved in the sense that deliberate construction occurred, but not engineered. Tagging as surface=compacted is not appropriate regardless of dry-season firmness.
imported
Typical tags: surface=gravel, surface=fine_gravel — tracktype=grade3
- Aggregate particles visible at the surface, clearly different in colour or texture from surrounding native soil
- Surface is loose underfoot or under wheel: aggregate shifts or scatters under load
- No camber or only minimal shaping
- No evidence of roller passes: a compacted surface shows a smooth, tight particle matrix; an aggregate surface does not
rolled
Typical tags: surface=compacted + trackbuild=rolled, or surface=compacted alone — tracktype=grade2
- Clear edge definition: a distinct, maintained boundary between road surface and verge
- Surface is harder and more uniform than the surrounding native soil
- Surface colour differs from surrounding native soil (aggregate sourced elsewhere)
- Visible aggregate particles embedded in a finer matrix, with fines visibly filling voids
- Deliberate camber (crown): road surface higher in centre, sloping to edges for drainage
- Formed drainage channels alongside, or embankments
- Survives light rain without immediate surface degradation
- Ruts, where present, are shallower than on native soil roads under equivalent traffic
Ambiguous cases
Firmness alone does not indicate development level
A dry, firm, smooth unpaved road is not sufficient evidence for trackbuild=rolled. Many native soils — including iron-rich tropical soils, caliche, and well-drained sandy loams — are firm and smooth in dry season without any construction. Edge definition, colour difference from surrounding soil, and visible aggregate embedded in a finer matrix are more reliable indicators than firmness alone.
Imported material without mechanical compaction
Material is sometimes imported and spread without a roller, then left for traffic to compact over time. Traffic compaction alone does not qualify as trackbuild=rolled: a roller or equivalent equipment must have been used. A surface compacted only by traffic remains trackbuild=imported regardless of how firm it has become.
Similarly, a fresh maintenance layer of loose gravel spread on a previously rolled road is still trackbuild=imported: the observable surface is loose aggregate, regardless of what lies beneath it.
Degraded engineered surfaces
An engineered road degrades progressively. Where the compacted matrix has broken down but aggregate particles are still visible at the surface, trackbuild=imported is appropriate. Where aggregate has been lost entirely but the underlying construction (camber, drainage structures, embankments) is still visible, trackbuild=rolled can still be inferred. Where all surface evidence has been lost, trackbuild=graded or trackbuild=natural is the more honest tag.
Seasonal ambiguity
A single dry-season survey may not capture enough evidence to distinguish development levels. Where wet-season behaviour is known from local knowledge, signage, or prior survey, this can supplement or override dry-season observations.
Upper boundary: semi-paved surfaces
surface=concrete:lanes (two concrete strips for vehicle wheels, with an unpaved or grassed centre strip) sits above trackbuild=rolled in the development progression but below a fully paved surface. trackbuild=* does not apply: the surface tag already describes the construction type unambiguously, and trackbuild=* adds value only where a surface tag is ambiguous about construction (surface=gravel could be imported or rolled; surface=dirt could be passage-formed or graded). If scope is extended in future to cover semi-paved surfaces, surface=concrete:lanes would map to a value between trackbuild=rolled and fully paved; that extension is out of scope for this proposal.
Relationship to other tags
trackbuild=* value |
Typical surface=* |
Typical tracktype=* |
Role / Notes |
|---|---|---|---|
| (key itself) | Primary material tag | Primarily reflects surface firmness and passability | surface=* is the primary tag; tracktype=* primarily reflects firmness and passability. smoothness=* captures rideability at survey time and is orthogonal.
|
| natural | surface=ground, surface=dirt |
grade4–grade5 | Firmness varies strongly with season |
| graded | surface=dirt, surface=clay |
grade3–grade4 | Depends on maintenance frequency and soil type |
| imported | surface=gravel, surface=fine_gravel |
grade3 | Loose surface, shifts under load |
| rolled | surface=compacted |
grade2 | surface=compacted remains valid without trackbuild=*; adding trackbuild=rolled makes the construction method explicit
|
Mapping from imagery
trackbuild=* requires ground-level observation. Development level cannot be reliably determined from satellite or aerial imagery. Where only unpaved vs paved can be confirmed, do not add trackbuild=*.
Routing and rendering implications
trackbuild=* provides routing engines and data consumers with a stable, weather-independent signal of road construction quality:
trackbuild=natural: highly variable; may become impassable on cohesive soils after rain. No construction investment to protect.trackbuild=graded: significantly worse in wet season; clay and iron-rich soils can rut deeply or become impassable. Firmness returns in dry season.trackbuild=imported: moderate year-round; loose surface reduces traction and speed but does not fail completely in wet conditions.trackbuild=rolled: most stable of the unpaved values; survives light rain without immediate surface degradation.
No special rendering is required. Renderers can treat trackbuild=* as supplementary to surface=* without special casing.
Likely objections and responses
- "Just use tracktype":
tracktype=*primarily reflects current surface firmness and passability. Two grade3 roads can have completely different development levels: one is native soil graded by a tractor; the other is imported gravel spread but not rolled. In dry season they can feel identical underfoot, yet the graded road becomes impassable after rain while the imported road remains passable.trackbuild=*records what was done to the road, not how it feels today.
- "This is redundant with surface=compacted":
surface=compactedis precisely the problem this proposal addresses: it encodes material and construction in a single tag, making it impossible to separately record what the surface is made of and how it was built.trackbuild=*exists to make that distinction explicit when both are known.
- "Too subjective — you cannot tell how a road was built by looking at it": the field indicators in this proposal do not require knowing construction history. They identify observable physical evidence: camber, edge definition, formed drainage channels, aggregate particles embedded in a finer matrix. These are present or absent regardless of whether the surveyor witnessed construction.
- "Four values is too coarse": the four values cover the practical range observable in the field across the global population of unpaved roads. Intermediate states that fall between values should be tagged conservatively (tag the lower development level when uncertain). The key is opt-in: where development level cannot be determined, omit it.
- "Most mappers cannot determine development level": that is why the key is opt-in. A mapper who cannot determine development level should not add it. Those who can — because they surveyed the road, have local knowledge, or can identify the field indicators — add measurable value to the data.
- "Footways and bridleways also have development levels": they do, but the construction vocabulary is different. A footway or bridleway is not typically graded with a bulldozer or surfaced with crushed stone aggregate the same way as a road. Extending this key to those ways would require a different value set and is out of scope for this proposal.
Migration
This proposal introduces a new key. No migration of existing tags is required or recommended. Existing surface=compacted tags are unaffected. The key is additive: mappers who know the development level of a road they are tagging can add it; those who do not should omit it.
Even if this proposal is not accepted as a formal key, the taxonomy of development levels described here reflects concepts that are regularly discussed in tracktype=* and surface=* tagging threads without a shared vocabulary. This page may serve as a reference for those discussions regardless of the vote outcome.
Key name rationale
trackbuild=* is named by analogy with tracktype=*, the established OSM key for unpaved road quality. Both keys apply to the same domain (unpaved roads and tracks), share the same prefix, and follow the same naming convention: lowercase, no underscore. "Build" directly names what the key records: how the road was built. Mappers familiar with tracktype=* will find trackbuild=* by analogy, and the two keys are natural companions in the tagging vocabulary for unpaved roads.
Alternatives considered
trackstandard=*- A real road engineering term ("road standard" = the specification to which a road was built). Parallel to
tracktype=*in format. Rejected because "standard" is not self-explanatory to a general mapper and does not convey what the key measures as clearly as "build."
surface:development=*- Semantically precise, but the colon namespace implies universal scope across all surface types: paved roads, wooden decks, sports courts, and so on. This key is intentionally scoped to unpaved roads, where a coherent development-level progression exists. Paved and special surface types have different construction vocabularies that do not share the same progression.
track_development=*,roadstandard=*,trackgrade=*,trackclass=*- Each rejected for a specific reason:
track_development=*uses an underscore atypical in OSM primary keys;roadstandard=*loses thetracktype=*parallel and "road" in OSM is not specifically unpaved;trackgrade=*is confused withtracktype=*grade values and road incline;trackclass=*implies the administrative highway classification system.
unpaved_development=*,unpaved_standard=*- Accurate in scope, but verbose compared to established keys in the same domain. Underscores in primary key names are atypical in OSM convention.
Features/Pages affected
If approved:
- Key:surface — add
trackbuild=*to the See also list and note the material/development level distinction - Tag:surface=compacted — add a note that
trackbuild=*is available for explicitly separating material from development level when both are known - Key:tracktype — add a note distinguishing
tracktype=*(surface firmness and passability) fromtrackbuild=*(development level)
iD editor
- If approved, open a pull request to openstreetmap/id-tagging-schema to add
trackbuild=*as a supported key with preset values fortrackbuild=natural,trackbuild=graded,trackbuild=imported, andtrackbuild=rolled.
How the wiki would look if passed
The block below is the intended post-approval content of Key:trackbuild, formatted as the key page would appear. Heading levels are shifted one level deeper than on the live page. Proposal-specific sections (rationale, migration, objections) do not appear on the key page.
trackbuild=* records the development level of an unpaved road or track surface as observable in the field, independent of what material it is made from. It is used alongside surface=* to separate what the surface is made of from how it was built.
trackbuild=* is opt-in and requires field observation. Do not add it from satellite or aerial imagery.
Values
| Value | Development level | Meaning | Typical surface=* |
Typical tracktype=*
|
|---|---|---|---|---|
trackbuild=natural |
Natural / unimproved | Formed by passage alone, or by minimal clearing of vegetation. No deliberate construction work, no imported material, no grading equipment used. | surface=dirt, surface=ground, surface=grass, surface=sand, surface=clay, surface=mud |
tracktype=grade4–tracktype=grade5
|
trackbuild=graded |
Minimally improved | Native soil surface shaped by machinery (tractor, grader, bulldozer). No imported material added. Periodic regrading may occur but no new material is introduced. | surface=dirt, surface=clay, surface=sand, surface=mud |
tracktype=grade3–tracktype=grade4
|
trackbuild=imported |
Improved, loose | Imported mineral aggregate (gravel, crushed stone, crusher run) placed on the road surface but not mechanically compacted. Surface is loose or only lightly traffic-compacted. | surface=gravel, surface=fine_gravel |
tracktype=grade3
|
trackbuild=rolled |
Engineered, rolled | Imported mineral aggregate mechanically compacted with a roller or equivalent. Material is bound into a stable wearing course. | surface=compacted |
tracktype=grade2
|
trackbuild=rolled always pairs with surface=compacted. The combination surface=gravel + trackbuild=rolled is contradictory: rolled gravel is compacted by definition.
How to use
trackbuild=* is always used alongside surface=*, not as a replacement for it.
| Situation | Tags |
|---|---|
| Natural earth track, no construction work | surface=dirt + trackbuild=natural
|
| Natural sandy track | surface=sand + trackbuild=natural
|
| Native dirt road graded by tractor, no imported material | surface=dirt + trackbuild=graded
|
| Gravel imported and spread on road, not yet rolled | surface=gravel + trackbuild=imported
|
| Fresh gravel spread over existing compacted base (maintenance layer) | surface=gravel + trackbuild=imported
|
| Crushed stone placed and mechanically rolled | surface=compacted + trackbuild=rolled
|
Field identification
Do not rely on firmness alone. Many native soils are firm and smooth in dry season without any construction. Use multiple observable signals:
- Edge definition (clear boundary between road surface and verge): strongest at
trackbuild=rolled, soft or absent attrackbuild=natural. - Camber (road surface higher in centre, sloping to edges): indicates deliberate shaping; present from
trackbuild=rolled, absent attrackbuild=natural. - Formed drainage channels alongside the road: present at
trackbuild=rolled; cross-drainage only (water bars) possible attrackbuild=graded; absent attrackbuild=natural. - Aggregate particles embedded in a tight matrix (fines filling voids): present at
trackbuild=rolled; loose or absent attrackbuild=imported. - Colour difference from surrounding soil: imported aggregate will differ in colour or texture from the native soil.
Possible tagging mistakes
- Do not use
surface=gravel+trackbuild=rolled. Rolled gravel is by definitionsurface=compacted. - Do not add
trackbuild=*from imagery alone. Development level requires ground-level observation. - Do not tag
trackbuild=rolledbased on dry-season firmness alone. Graded native soil and traffic-compacted aggregate can be equally firm in dry conditions.
Relationship to other keys
surface=*: records the material the road is made of. Always used alongsidetrackbuild=*.tracktype=*: primarily reflects current surface firmness and passability.trackbuild=*records the development level, which does not change with weather or short-term maintenance cycles.smoothness=*: captures observable rideability at survey time. Orthogonal totrackbuild=*.
See also
See also
Questions for the community
- Do the four values (natural, graded, imported, rolled) cover the range of unpaved road construction found in your region, or are there common construction methods that fall between values?
- Is
trackbuild=gradedclear enough to distinguish fromtrackbuild=naturalin contexts where roads have been shaped by repeated vehicle passage rather than deliberate machinery use? - Are the field indicators listed here applicable and recognisable in your region? Are there local construction practices that would make any indicator unreliable or misleading?
- Are there other tags or proposals that overlap with
trackbuild=*in ways not addressed by this proposal?
Comments
Please comment on the discussion page.