Bot edit proposal: automatically remove obvious descriptive names (obvious cases only, not all suspect objects)

There are object types where mappers relatively often add invalid name tag that repeats object type, and it is obvious enough that can be fixed remotely.

I was doing it with some objects, and in some cases it is often combined with very problematic tagging nearby (can link some queries if anyone wants).

But for some objects use of obvious descriptive names is quite popular, to the point that manual fixing cannot keep up AND it is possible to fix it with a bot edit AND other tagging in area is typically fine. Sometimes there are clusters of other objects with descriptive names, but these can be found independently.

And yes “Toilet” can be signed but it does not make it a name, like “Toilet, 2 euro fee” is not a name either. Or sign pointing toward bunker with “Bunker” label is not indicating that bunker has a name Bunker.

Note Is name=Toilet even theorethically valid for amenity=toilets? where it was discussed

See also approved bot edit doing this for viewpoints: Mechanical Edits/Mateusz Konieczny - bot account/remove obvious descriptive names for viewpoints (obvious cases only, not all suspect objects) - OpenStreetMap Wiki

I also noticed that OsmAnd edit plugin is overrepresented in adding such bad pseudonames and tracked down problem to a bad interface design, reported in Focus on feature type, not on POI name in editing plugin to reduce how often people editing with OsmAnd add descriptive names · Issue #18651 · osmandapp/OsmAnd · GitHub to its authors. So far they decided to claim that it is not a problem, I plan to compile some statistics making clear their editor is causing problems in this specific area.

I propose to run automated cleanup for multiple types of objects. In each case it would remove also capitalisation variants - so not only name=toilet but also name=Toilet and name=TOILET). In each case only objects tagged as a single type would be processed.
For example amenity=toilets with name=Toilet but also waterway=waterfall would not be edited as it has an unexpected tag.

Note that this relies on assumption that object tagged like

  • amenity=toilets
  • name=Toilet

is always case of misusing name tag.

Objects which carry unexpected tags or tags not typical for viewpoints, or note/fixme tags will be skipped. So for example

  • man_made=cairn
  • amenity=restaurant
  • name=Cairn

well not be touched. In theoretical case of restaurant named “Cairn” which is also cairn, such object will not be modified at all.

Cases like

  • tourism=viewpoint
  • waterway=waterfall
  • name=Viewpoint

or

  • tourism=viewpoint
  • name=Viewpoint
  • note=Actually named “Viewpoint”

would not be edited either as they carry extra unexpected tags.

(Though I do not expect last case to be ever validly tagged…)

Obviously objects with just

name=Toilet

would not be edited in this edit (as both object type and name is required).

  • tourism=viewpoint
  • fee=yes
  • name=VIEWPOINT

would be edited. Similarly with other that are expected attributes of viewpoints.

Bot edit would be worldwide, with edits split in parts, edit run separately for each object type. Edits would be repeated in future.

Note: as required by automated edits code of conduct a bot proposal will be also posted on talk mailing list

Comments welcome - both if you see problems with this edit and if you support it (though upvoting also works I guess)

Following types of objects will be included in this edit (initial series was done only for viewpoints)

  • waterway = waterfall with name waterfall

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • height
      • name (tags sarting from name repeat for each object type listed here)
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • amenity = bench with name bench

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • backrest
      • material
      • surface
      • seats
      • capacity
      • ele
      • colour
      • inscription
      • access
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • leisure = playground with name playground

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • surface
      • access
      • max_age
      • min_age
      • playground:theme
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • tourism = viewpoint with names viewpoint, punkt widokowy (“punkt widokowy” is in Polish)

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • direction
      • ele
      • wheelchair
      • opening_hours
      • area
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • man_made = cairn with name cairn

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • ele
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • military = bunker with name bunker

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • ruins
      • building
      • abandoned
      • disused
      • bunker_type
      • historic
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • amenity = drinking_water with names drinking water, water, potable water

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • ele
      • fee
      • access
      • drinking_water
      • bottle
      • owner
      • cold_water
      • operator
      • indoor
      • covered
      • lit
      • wheelchair
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • tourism = camp_site with names camp site, campsite

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • water_source
      • capacity:tents
      • capacity:caravans
      • caravans
      • tents
      • charge
      • drinking_water
      • fee
      • payment:cash
      • payment:contactless
      • payment:credit_cards
      • power_supply
      • shower
      • toilets
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • landuse = quarry with name quarry

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • resource
      • mineral
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • natural = beach with names beach, plaĹĽa (“plaĹĽa” is in Polish)

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • surface
      • access
      • lifeguard
      • supervised
      • fee
      • operator
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • amenity = post_box with names post box, collection box, mailbox, letter box, drop box

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • operator
      • operator:short
      • operator:type
      • operator:wikidata
      • operator:wikipedia
      • drive_through
      • collection_times
      • royal_cypher
      • royal_cypher:wikidata
      • ref
      • collection_times:signed
      • post_box:type
      • brand
      • brand:wikidata
      • brand:wikipedia
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • landuse = grass with name grass

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • amenity = toilets with names toilet, toilets, toalety, toaleta, wc (toalety, toaleta - that is in Polish, not English)

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • fee
      • operational_status
      • operator
      • operator:type
      • wheelchair
      • check_date
      • toilets:handwashing
      • toilets:position
      • toilets:disposal
      • unisex
      • male
      • female
      • charge
      • currency:RUB
      • opening_hours
      • toilets:wheelchair
      • changing_table
      • flood_prone
      • indoor
      • access
      • lit
      • toilets:access
      • toilets:num_chambers
      • source:form
      • handwashing
      • wheelchair:description
      • gender
      • level
      • supervised
      • lit
      • addr:city
      • addr:town
      • addr:place
      • addr:street
      • addr:housenumber
      • addr:postcode
      • addr:unit
      • addr:state
      • phone
      • contact:phone
      • addr:country
      • addr:suburb
      • addr:county
      • addr:district
      • addr:community
      • addr:subcounty
      • addr:village
      • addr:parish
      • addr:district
      • addr:settlement
      • addr:zone
      • addr:clan
      • addr:ward
      • addr:block
      • addr:full
      • addr:neighbourhood
      • addr:district
      • addr:subcamp
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
  • amenity = parking with name parking

    • only following additional keys are allowed, presence of any other tags will block an automated edit:
      • parking
      • access
      • surface
      • fee
      • hgv
      • lit
      • maxstay
      • smoothness
      • supervised
      • phone
      • website
      • capacity
      • addr:city
      • addr:town
      • addr:place
      • addr:street
      • addr:housenumber
      • addr:postcode
      • addr:unit
      • addr:state
      • phone
      • contact:phone
      • addr:country
      • addr:suburb
      • addr:county
      • addr:district
      • addr:community
      • addr:subcounty
      • addr:village
      • addr:parish
      • addr:district
      • addr:settlement
      • addr:zone
      • addr:clan
      • addr:ward
      • addr:block
      • addr:full
      • addr:neighbourhood
      • addr:district
      • addr:subcamp
      • name
      • source
      • created_by
      • layer
      • is_in
      • url
      • mapillary
      • check_date
      • survey:date
      • is_in:country
      • is_in:state
9 Likes

Looks good to me. After reading the tag whitelists, I can only suggest allowing covered to benches (scee and vespucci templates), and source:date for all objects, and charge for all with fee

I can also see how extending this to name translations into my language could potentially go wrong, so I would recommend always involving a native speaker if that is to be done at all (like the Polish case)

2 Likes

To clarify for potentially unaware - I am native speaker of Polish (not of English, but I am confident for this cases).

I would definitely ask local community first in case of doing bot edits with languages less familiar to me.

1 Like

this lists were based on what is tagged currently but I guess that adding also that is fine futureproofing.

1 Like

Including other photo tags in the white list would be reasonable futureproofing (image, wikimedia_commons, flickr).

3 Likes

I was sceptical at first, but the way you designed it and described it sounds very good. I support you!

The one thing I would be very careful with are street names. Some moght literally be called Forest Road or something, especially in German.

So I would argue for a new proposal for each new tag and associated allowlist of combinations.

2 Likes

Oh definitely. Mass-removing suspicious name tag is a bad idea. Someone had idea to remove name=House that was commonly used with building=house and was invalid there. But they blanked also for example names of House (brand) - Wikipedia shops.

Also, if you have just name (name=Forest area=yes) then proper fix is to replace name with proper tagging.

That is why I check also other tags.

2 Likes