Proposed bot edit: automatic replacement of surface values where it is safe

I proposed some time ago to fix some surface values.

Edit is documented at

I propose to expand this by fixing also values listed below.

Please comment if any of proposed replacements are dubious in any way and
do not qualify for a replacement with an automated edit.

Please also comment if you checked values proposed to be edited and they seem fine!

Edit will affect around 2200 objects.

It is preferable to use standard tag values where possible,
and in many cases unusual values can be migrated without any data loss.
The list below is supposed to contain only such cases.

If anyone wants I can help them to find affected objects or present listing of
edits which added this tags or list people who added this values onto currently
tagged osm objects.

Samples of this values were tested. I also asked for review at Review requested before proposing bot edit for automated fixing of surface values - Contribuer - Forum OSM France

Tried to use them as detectors of bogus data, neither were really useful for this purpose.
We have many better ways to find OSM data requiring human review.

So I am proposing following changes

tags with highest use, among ones that will be retagged

surface = astroturf with 297 uses
surface = timber with 122 uses
surface = paving with 179 uses
surface = U with 82 uses
surface = enrobé with 276 uses
surface = terre with 383 uses

surface = astroturfsurface = artificial_turf
surface = timbersurface = wood (see Changeset: 66866027 | OpenStreetMap Changeset: 126078123 | OpenStreetMap Changeset: 126078123 | OpenStreetMap Changeset: 68461319 | OpenStreetMap Changeset: 69445813 | OpenStreetMap Changeset: 57280475 | OpenStreetMap Changeset: 126800407 | OpenStreetMap )
surface = DIRTsurface = dirt
surface = pavingsurface = paved
surface = Usurface = unpaved

French from [OSM-talk] Proposed automatic replacements of multiple surface values - the third edition (review welcomed!)
review at Review requested before proposing bot edit for automated fixing of surface values - Contribuer - Forum OSM France

surface = enrobésurface = asphalt
surface = béton_bitumineuxsurface = asphalt
surface = béton_bitumimeuxsurface = asphalt
surface = bitumensurface = asphalt
surface = enrobessurface = asphalt
surface = bitumesurface = asphalt
surface = goudronnésurface = asphalt
surface = gourdonsurface = asphalt
surface = plastiquesurface = plastic
surface = banc_de_sablesurface = sand
surface = terresurface = earth
surface = Terresurface = earth
surface = terre_bouesurface = mud
surface = terre_humidesurface = mud
surface = terre,_bouesurface = mud
surface = gravierssurface = gravel
surface = teresurface = earth
surface = terre2surface = earth
surface = caoutchoucsurface = rubber
surface = boissurface = wood
surface = béton_désactivésurface = concrete
surface = terre_batuesurface = clay
surface = pavéssurface = paved
surface = carrelagesurface = tiles
surface = pelouse_et_terresurface = grass;ground
surface = terre_touvenantsurface = ground
surface = terre;herbesurface = ground;grass
surface = terre_naturelle,_argileusesurface = ground
surface = graviersurface = gravel
surface = gazon_synthétiquesurface = artificial_turf
surface = bétonsurface = concrete
surface = cimentsurface = concrete
surface = herbesurface = grass
surface = gazonsurface = grass
surface = herbsurface = grass
surface = herbe_naturelsurface = grass
surface = pelousesurface = grass
surface = pelouse_naturellesurface = grass
surface = terre_et_rocherssurface = ground;rock
surface = béton_boissurface = concrete;wood
surface = terre,_caillouxsurface = ground;gravel
surface = terre_et_herbesurface = earth;grass
surface = herbe_et_sablesurface = grass;sand
surface = sable_et_terresurface = sand;earth
surface = terre_et_sablesurface = earth;sand
surface = terre_caillouxsurface = ground;gravel
surface = terre_goudronssurface = ground;asphalt
surface = terre_goudronsurface = ground;asphalt
surface = terre_pierressurface = ground;gravel
surface = terre_et_pierresurface = ground;gravel
surface = terr_et_pierresurface = ground;gravel
surface = terre/sablesurface = ground;sand
surface = terre_et_pierressurface = ground;gravel
surface = Herbe_et_caillouxsurface = grass;gravel
surface = terre_et_graviersurface = ground;gravel
surface = gravillons,_bétonsurface = gravel;concrete
surface = graviers_et_terresurface = gravel;ground
surface = sablesurface = sand
surface = Sablesurface = sand
surface = caillouxsurface = gravel
surface = pierresurface = gravel
surface = gravier0surface = gravel
surface = asphalt_on_concrete_sub-basesurface = asphalt Changeset: 30055680 | OpenStreetMap - asked on 2023-03-20 (mapper is inactive, commented that they are fine with this change)
surface = Sandsurface = sand
surface = unhewn_cobblestonessurface = unhewn_cobblestone
surface = holzsurface = wood
surface = schottersurface = gravel
surface = pflastersteinsurface = paved
surface = асфальтsurface = asphalt
surface = concrete1surface = concrete
surface = compactedcsurface = compacted
surface = concreteqsurface = concrete
surface = paving_stones2surface = paving_stones
surface = asphaltq3surface = asphalt
surface = asphaltccsurface = asphalt
surface = asphaltqqsurface = asphalt
surface = unpaved--surface = unpaved
surface = unpavedMNsurface = unpaved
surface = asurface = asphalt
surface = asphalt:chipsealsurface = chipseal
surface = pavementsurface = paved
surface = ground_dirtsurface = dirt
surface = tiledsurface = paved
surface = astro_turfsurface = artificial_turf
surface = wood_plankssurface = wood
surface = ASsurface = asphalt
surface = flooring_tilessurface = tiles
surface = lawnsurface = grass
surface = Bricksurface = brick
surface = Artificial Turfsurface = artificial_turf
surface = easurface = earth
surface = ditsurface = dirt
surface = wooden decksurface = wood
surface = paved_minorsurface = paved
surface = s-andsurface = sand
surface = cobblesurface = cobblestone
surface = unpaved2surface = unpaved
surface = paving_stones4=surface = paving_stones
surface = concreteflsurface = concrete
surface = asphaltwwsurface = asphalt
surface = grassqsurface = grass
surface = unpaved∂surface = unpaved
surface = unhewn-cobblestonesurface = unhewn_cobblestone
surface = unpavedŒsurface = unpaved
surface = paving_stonesvsurface = paving_stones
surface = unpavedNosurface = unpaved
surface = gravel3surface = gravel
surface = sett9surface = sett
surface = concreteassurface = concrete
surface = paved3surface = paved
surface = asphaltŒsurface = asphalt
surface = asphalt_surface = asphalt
surface = asphaltwsurface = asphalt
surface = asphaltqsurface = asphalt
surface = grass2surface = grass
surface = paved22surface = paved
surface = dirtцsurface = dirt
surface = unpaved1surface = unpaved

there are also many low-use values with one or two or three extra bogus characters, for example
surface = dirt22surface = dirt

would be also OK to migrate them without listing them
for review here and just add them to replace list later?
And other similar obvious typos appearing or found in future?

Only low use obvious mistakes would be changed.
If anyone at all will protest and I will not do this and post
for review, like list here, once sufficiently many values are found.

Proposed edit would be automatic, rerun from time to time, split into small
changeset by geographic areas and run by bot account

Following is the same reasoning and plan as previously:

Why it is useful? It helps newbies to avoid becoming confused. It
protects against such values becoming established. Without drudgery
that would be required from the manual cleanup. It also makes easier to
add missing values where needed.

It also cuts down on help/research to answer cases “why this feature
is not showing up properly” (because it has a typo in a tag).

Why automatic edit? I have a massive queue (in thousands and tens of
thousands) of automatically detectable issues which are not reported by
mainstream validators, require fixes and fix requires review or
complete manual cleanup.

There is no point in manual drudgery here, with values clearly
replaceable by better matches.

This values here do NOT require manual overview. If this cases will
turn out to be an useful signal of invalid editing than I will remain
reviewing nearby areas where bot edited.

And I fixed some manually and they were not a great sign of a problematic data.

Yes, bot edit WILL cause objects to be edited. Nevertheless, as result
map data quality will improve.


It appears that you are fixing values that are incorrect but obviously versions of valid ones. Seems reasonable to me.

1 Like

This one should be surface = paving_stones (it’s German for “paving stone”).


Since you’re already at it, can you retag bestraat to paved?

“Pflasterstein” can be both! paving_stone or sett. See an example: FLAIRSTONE Pflasterstein Quadratpflaster Mosaikpflaster Granit grau 7 x 7 x 7 cm (Sack = 25 kg) jetzt kaufen bei

There are many discussions in the German Forum that there is no direct translation of “Schotter”.
See Was ist das für ein Surface
Verwendung von Surface

Edit/Addition: Maybe you could change surface=schotter to surface=unpaved and surface=pflasterstein to surface=paved. This is not a perfect solution, but one would not imply the fuzziness of the two values.


Perhaps just exclude surface=schotter and surface=pflasterstein entirely from this edit? Since this change is about correcting “obvious” surface values, the more complicated cases seem out of scope.


removed both


Not sure about surface=pavingsurface=paved. Certainly in the UK, “paving” is used informally for an area covered in paving stones, where I understand surface=paved to refer to a generic hard surface, e.g. paving (stones) or asphalt. Personally I think this is better as a validator / StreetComplete-type issue.

1 Like

surface=paving could be also used for sett and other values, while surface=paved will be clearly recognised as imprecise.

I can instead manually open notes for this value, if you are sure that surface=paved replacement makes things worse (in such case please comment)