From OpenStreetMap Wiki
Jump to navigation Jump to search


Looking at this node I would suggest "chinees" is changed to "chinese"

Spaces in ref key on French highways

As explained in ref=* highway's ref in France should contain a space between the letter and the number identifying the highway. There are many wrong ref's that don't contain the space and I think it could be a job for Xybot. For Example ref=D222 should be ref=D 222.

power=generator - power_source=wind

There are some wind turbines in Europe which are tagged source=wind instead of power_source=wind

if(power == generator) && (source == wind)
"source|wind"      => "power_source|wind",

bic -> addr:bic why?

Hi, I recognized that xybot changed the tag bic=*, that is mentioned at amenity=bank to addr:bic=*. why i haven't found anything that suggest using addr:bic instead of just bic. greetings --Patzi 19:09, 29 October 2008 (UTC)

Löschung doppelter Tags

Ich hatte an einigen Straßen zwei "note" Tags eingetragen, jeweils der untere wurde gelöscht. Das macht zwar Sinn bei den meisten anderen Tags (warum sollte eine Straße zwei "name" Tags haben). "Note"s sind aber nur kurze Hinweise, von denen -imho- ruhig mehrere vorhanden sein können. Sicking 15:27, 21 November 2008 (UTC)

UK (countries driving on left) - add tag direction=clockwise for mini roundabouts

In the UK when people create the highway=mini_roundabout tag they sometimes forget to also add a tag to indicate it is clockwise (direction=clockwise). The default is for it to be anti-clockise which is wrong for the UK and the mapnik renderer does not show direction so it is not immediately obvious that something is missing.

I propose (for countries that drive on the left) if a node with highway=mini_roundabout is seen and there is no direction tag associated, one is added with the value set to clockwise.

I am not sure whether the bot understands country boundaries but this would be useful. Thanks --skylark 12:45, 28 February 2009 (UTC)

Uppercase and accent

Xybot seems to be very usefull.

Near Montpellier France, we have lot of misspelling with name tag like :

  • rue de la verdine -> Rue de la Verdine
  • Avenue du Général Grollier -> Avenue du Général Grollier

As you can see for example here or here.

We spend a lot of time to fix this manually.

Suggestions are :

  • allee => Allée
  • allée => Allée
  • allée => Allée
  • Allée => Allée
  • avenue => Avenue
  • boulevard => Boulevard
  • chemin => Chemin
  • carrefour => Carrefour
  • college => Collège
  • collège => Collège
  • College => Collège
  • Collège => Collège
  • Ecole => École
  • Elémentaire => Élémentaire
  • Imp. => Impasse
  • imp. => Impasse
  • impasse => Impasse
  • lycee => Lycée
  • lycée => Lycée
  • Lycee => Lycée
  • Lycée => Lycée
  • place => Place
  • plan => Plan
  • pont => Pont
  • résidence => Résidence
  • résidence => Résidence
  • Résidence => Résidence
  • rond point => Rond-point
  • rond-point => Rond-point
  • rue => Rue
  • St => Saint
  • St. => Saint
  • saint => Saint
  • Ã => à
  • ç => ç
  • é => é
  • è => è

And probably much more...

In fact the rule is a majuscule only for the first letter, whitout the word "d'", "du", "de", "des", "l'", "la", "le" and "les".

So what is possible to do ?

Best regards.

--Nix46 13:49, 15 December 2008 (UTC)

Please, let me introduce MS BOT, my "personal" bot made to correct most errors you suggest for name=* in the French area. Have a look at his/my page. --Marcussacapuces91 19:18, 1 March 2009 (UTC)
Due to general hostility, MS BOT is reserved for internal use only, so changes are no more applied to OSM public database. Marcussacapuces91 20:43, 11 May 2009 (UTC)

Source code ?

Could you provide a link to the source code ? (cleanned up from any login or password) so I can see how it works and make local improvements and customized version ?

In the end I'd like to run it with special config on my own edits Sletuffe 09:37, 23 December 2008 (UTC)

I’d like to see the (current) source. Maybe separate such user data as above into a configuration file and put the clean source into the Subversion repository and maintain there? The more transparent the better, in my opinion.--Sward 13:58, 25 December 2008 (UTC)

fix twisted water unclockwise

I hate this message from JOSM Validator. A Job for Agent Xybot to fix the water clockwise. Maybe fix Multipolygons with the clockwise / unclockwise rule for correct Forest Map Rendering.

Please not, twisted water is the validator's problem and the direction of multipolygons is the problem of the renderer.--Landwirt 07:05, 29 March 2009 (UTC)

Autodelete Points with no Data and Atributs.

open suggestion section

I'd suggest to correct common misspellings. (but I think there was already someone who suggested this :-) There is no archive about things already suggested or implemented. At least I found none.

As tags change, new suggestions will come up. Nice thing: a section to suggest typical misspellings

In my case: vehicles -> vehicle, worldwide

A headline 'open suggestions' and a link 'implemented corrections', in alphabetical order would be nice.

--user:tmeller 14 May 2009, 15:16 CEST

Romanian diacritics

In Romanian there are only five diacritics ă â î ș ț (and their upper case counterparts : Ă Â Î Ș Ț). Due to Flash's bug, these entered in Potlatch result in :

ă â î ș ț

and respectively:


Could these be corrected automatically, too?

Also, people continuously use the wrong diacritics for ă, ș/Ș and ț/Ț, using the wrong variants: ã, ş/Ş and ţ/Ţ (capital Ă is almost inexistent). Transforming them into the right ones would be great.

user:eddyp 2009.05.14

natural vs landuse

(or rather, changing the meaning of tags)

Xybot is changing natural=grass to landuse=grass, among other things. Please stop this. Fixing spelling, white space, etc, is fine, but changing the semantics is not. Sward 22:59, 31 May 2009 (UTC)

This has been changed in the meantime. ==Ipofanes 09:14, 3 February 2010 (UTC)

reduce history spamming

Xybot often does creates several changesets with the same type of fix. This reduces the usabiltiy of the history tab (because the bounding boxes of edits like this one are really large, these edits are visible everywhere). As Xybot currently doesn't edit the whole map at once, would it be possible to make sure that edits are regional (split map into sectors, first fix everything in one sector using one changeset, then move to next changeset and sector)? --Tordanik 15:46, 8 June 2009 (UTC)

+1 --Luis Latin 23:46, 6 December 2010 (UTC)

Yes, PLEASE fix this. History is 90% xybot it seems.

remove oneway on roundabouts

junction=roundabout implies oneway=yes, so oneway-Tags on roundabouts are not needed. Removing oneway=x; x in {yes, true, 1} would be a good idea. Other values such as "no", "false", "0", "-1" should not be touched, as this would change the interpretation of the way.

Big areas


isn't possible to make Xybot to edit only on smaller areas? I am talking about making more smaller changesets. Edit areas containing whole Europe aren't much helpful and they are degrading usefulness of history tool. --Petr Dlouhý 16:27, 20 October 2009 (UTC)

+1 -- Malenki 23:52, 16 April 2010 (UTC)
+1 --Luis Latin 23:46, 6 December 2010 (UTC)

Fix missing street names in Fuerteventura


in Fuerteventura many streets are tagged "name|name_missing-unknown" Please remove the name tag and replace by "FIXME|name" Thanks. --Lulu-Ann 21:57, 4 December 2009 (UTC)

Fix typo [Dd]enkmahl

Don't know if this typo shows up often but could be worth a look. Had one right now. Maybe the bot should look if the Denkmal is really a memorial since I bet there could be tourism=artwork which are called e.g. "DenkMahl" on purpose. -- Malenki 23:57, 16 April 2010 (UTC)

a huge list of changes

Hi, ok I checked and found some tags that should be replaced. Interesting enough that in the german speaking areas websites and email addresses are mapped like crazy, but with a lot of different tags. Anyway I didn't limit the list to Germany, I guess some of the things are also on other continents, but cleaning up in Europe would be a good start. I also put some comments into brackets.

first of all my own stupidity:

"payment:geltkarte"      => "payment:electronic_purses",
"payment:geldkarte"      => "payment:electronic_purses",

first some special cases which would get lost or wouldn't be fixed, if a global replacement happened.

"Spielplatz|*"      => "leisure|playground",
"internet|"      => "contact:website|",
"internet|"      => "contact:website|",
"internet|"      => "contact:website|", (guess this way is easier then to put it in the right wikipedia:fi tag)
"internet|"      => "contact:website|",

and some other misspellings/errors I found on tagstat:

"alternate-name"	=> "alt_name",
"alternate:Name"        => "alt_name",
"alternate_name"        => "alt_name",
"name:alternate"        => "alt_name",
"Name:alt"              => "alt_name",
"alternate_name:de"     => "alt_name:de",
"de.wikipedia"          => "wikipedia:de",
"wikiepdia:de"          => "wikipedia:de",
"wikipediaq:de"      	=> "wikipedia:de",
"dink:club-mate"        => "drink:club-mate",
"drink:clubmate"        => "drink:club-mate",
"fr:wikipedia"          => "wikipedia:fr",
"hotspot"      		=> "internet_access",
"internet_acess"        => "internet_access",
"wifi"                  => "internet_access",
"internet"              => "internet_access",
"Telefonnummer"         => "contact:phone",
"Telephone_nr."         => "contact:phone",
"tel_number"            => "contact:phone",
"Telefone"      	=> "contact:phone",
"telephone_number"      => "contact:phone",
"phone number"          => "contact:phone",
"telephone"             => "contact:phone",
"telephon"              => "contact:phone",
"tel"                   => "contact:phone",
"phone_number"          => "contact:phone",
"email"                 => "contact:email",
"addr:email"            => "contact:email",
"uri:contact"           => "contact:email",
"uri:email"      	=> "contact:email",
"url:email"      	=> "contact:email",
"url:contact"           => "contact:email", (all listed there are Austrian mail addresses)
"website:"      	=> "contact:website", (only if website: is the exact string and not if it is part of one)
"website:de"      	=> "contact:website",
"url:de"      		=> "contact:website",
"info_URL"              => "contact:website",
"url:http"              => "contact:website",
"url:en"                => "contact:website",
"uri"                   => "contact:website",
"web"                   => "contact:website",
"url:website"           => "contact:website",
"www"                   => "contact:website",
"website"               => "contact:website",
"url"                   => "contact:website",
"telefax"	        => "contact:fax",
"addr:fax"              => "contact:fax",
"mobile_phone" 	        => "contact:mobile",
"payment:GeldKarte"     => "payment:electronic_purses",
"debit_card"      	=> "payment:debit_cards",
"payment:ec"      	=> "payment:debit_cards",
"payments:telephone_cards"      => "payment:telephone_cards",
"payment:calling_cards" 	=> "payment:telephone_cards",
"credit_card"      	=> "payment:credit_cards",
"payment:credit_card"   => "payment:credit_cards",
"address:town"      	=> "addr:city",
"adress:city"	        => "addr:city",
"name:former"           => "old_name",
"cuisine:en"            => "cuisine",
"cuisine:de|italienisch"=> "cuisine|italian",
"cuisine:de|chinesisch" => "cuisine|chinese",
"cuisine:de|spanisch"   => "cuisine|spanish",
"aerodrome"             => "aeroway", (only the key, someone mapped e.g. aerodrome=taxiway in the Netherlands) 
"loc:name"              => "loc_name",
"name:loc"              => "loc_name",
"vending|parking_ticket"=> "vending|parking_tickets",
"vending|parking"       => "vending|parking_tickets",
"camra"                 => "surveillance",
"camera"                => "surveillance",
"betreiber"             => "operator",
"Nutzung"               => "function", (also the wrong key, but looks like same class of mistakes)
"de:note"               => "note:de",
"nam"                   => "name",
""     		=> "name:de",

cu AssetBurned 03:35, 6 May 2010 (UTC)

Well, "contact:website", "contact:email" and "contact:phone" sounds good, but this days mapping software uses other keys, that's why I prefer following replacements (including those propose by AssetBurned):

"Telefonnummer"         => "phone",
"Telephone_nr."         => "phone",
"tel_number"            => "phone",
"Telefone"      	=> "phone",
"telephone_number"      => "phone",
"phone number"          => "phone",
"telephone"             => "phone",
"telephon"              => "phone",
"tel"                   => "phone",
"phone_number"          => "phone",
"addr:email"            => "email",
"uri:contact"           => "email",
"uri:email"      	=> "email",
"url:email"      	=> "email",
"url:contact"           => "email", (all listed there are Austrian mail addresses)
"website:"      	=> "website", (only if website: is the exact string and not if it is part of one)
"website:de"      	=> "website",
"url:de"      		=> "website",
"info_URL"              => "website",
"url:http"              => "website",
"url:en"                => "website",
"uri"                   => "website",
"web"                   => "website",
"url:website"           => "website",
"www"                   => "website",
"url"                   => "website",
"telefax"	        => "fax",
"addr:fax"              => "fax",

--Iknopf 20:29, 2 November 2010 (UTC)

Smaller Changesets

Hi Xylome, I have a favor to ask: Is there anyway that you can restrict xybot to apply changesets to smaller geographic areas? I monitor changesets in my area by way of an RSS feed and anytime a global changeset is submitted, the RSS feed triggers an alert in my small monitoring area, even if none of the changes are actually in my monitoring area. Global changesets generally make it harder to monitor for vandalism (although xybot has fairly recognizable comments). Thanks. --Dygituljunky 23:36, 29 June 2010 (UTC)

+1 --Luis Latin 23:46, 6 December 2010 (UTC)

Some other typos

"recycling:glasss_bottles"  => "recycling:glass_bottles",
"glas_bottles"              => "recycling:glass_bottles",
"glass_bottles"             => "recycling:glass_bottles",
"glothes"                   => "recycling:clothes",
"glaas"                     => "recycling:glass",
"Bicycle"                   => "bicycle",
"E-Mail"                    => "email",
"Fon"                       => "phone",
"Inhaber"                   => "operator",
"Railway|Station"           => "railway|station",
"crossing|traffic_signal"   => "crossing|traffic_signals",
"surface|Betonplatten"      => "surface|concrete",
"surface|Beton"             => "surface|concrete",
"surface|Schotter/Gras"     => "surface|gravel;grass",
"surface|Schotter"          => "surface|gravel",
"surface|pebbelstone"       => "surface|pebblestone",
"surface|Asphalt"           => "surface|asphalt",
"*|offical"                 => "*|official",
"*|paving stones"           => "*|paving_stones",

Mistyped weekdays:

"Di" => "Tu",
"Mi" => "We",
"Do" => "Th",
"So" => "Su",

--gulp21 13:33, 14 July 2010 (UTC)

and some other mistakes I've found:

"landuse|comercial"     => "landuse|commercial",
"sport|Tennis"          => "sport|tennis",
"leisure|Fussballplatz" => "leisure|pitch" && "sport|soccer"
"opening_hour"          => "opening_hours"

Fix phone/fax (at least for Germany):

"0049"      => "+49",
"(0)"       => "",
"(" || ")"  => "", #remove brackets
"0*"        => "+49 *" # add country code and drop "0"

Fix opening_hours: (d=digit)

"d:dd"        => "0d:dd",
"dd"          => "dd:00"
" und "       => ",",
"Holiday"     => "PH",
"."           => ":",
"Ruhetag"     => "off",
"geschlossen" => "off",
"Okt"         => "Oct",
", "          => ",",
"Uhr"         => "",
# and capitalization mistakes (mo,MO => Mo etc.)

Fix wrong access on ways in Germany:

if(traffic_sign|DE:239 && highway|path){
if(traffic_sign|DE:239 && highway|footway){
if(traffic_sign|DE:240 && highway|footway){
if(traffic_sign|DE:240 && highway|cycleway){
if(traffic_sign|DE:240 && highway|path && (foot|official || bicycle|official)){
if(traffic_sign|DE:241 && highway|footway){
if(traffic_sign|DE:241 && highway|cycleway){
if(traffic_sign|DE:241 && highway|path && (foot|official || bicycle|official)){

Add access to barriers, when accessing the accompanying way is allowed:


--gulp21 10:45, 27 July 2010 (UTC)

key:place related stuff

I used the OSM Inspector to find the most important value errors of the key place=*. Here they are: --ck 22:27, 19 August 2010 (BST)

"place|location" => "place|locality",
"place|airport"  => "aeroway|aerodrome",
"place|district" => "place|suburb",
"place|part"     => "place|suburb",
"place|Hamlet"   => "place|hamlet",
"place|farmyard" => "landuse|farmyard",

"maxspeed:source" => "source:maxspeed"

Thank you!

Did anyone say thank you recently? :-) Thanks for fixing up typos and mispleings! --grin 09:10, 14 April 2011 (BST)

Converting voltage and other units

I have recently found voltage=69kV which should be voltage=69000.

--FK270673 19:32, 11 July 2011 (BST)

minor improvements to spelling

Hi, at the german forums were a few discussions esp. on bad spelling in keys. We startet collecting all examples here: User:Xybot/Improvements2011 --!i! This user is member of the wiki team of OSM 13:54, 5 August 2011 (BST)

Better changeset comments

I'm not fond of the way Xybot's changes show up. It would be nice if each changeset contained only a particular kind of change, and with a better changeset comment. E.g., changing "disabled_spaces=yes" into "capacity:disabled=yes" is not in any way "Fixing typo errors in keys and key/value pairs". When doing such geographically huge changesets I think the changeset comments should be very explicit about what changes have been made. Is there any reason this change couldn't have been submitted with the comment "change disabled_spaces into capacity:disabled"? Rasher 20:17, 25 August 2011 (BST)

I, too, would like more specific changeset comments. --Tordanik 10:02, 26 August 2011 (BST)

Notify affected users when editing/deleting their input

Suggestion: when editing erroneous items, especially when duplicates are being deleted, send a notification to the user(s) with whom the error originated. Apart from making the user aware there is actually a problem and by doing so aiding him in preventing making future similar mistakes, it also avoids discussions when users are actively mapping/editing an area, point out mapping problems to eachother and then receive replies "what are you talking about. Nothing wrong." when in the mean time items are deleted without notification. ;-) --Arie Scheffer 11:59, 28 August 2011 (BST)

notify creators of data at/near 0,0

Imo it would be helpful check for data around 0,0 and to notify users that they created or moved data there. So they can check themselves what went wrong. Right now I send out a second bunch of messages to 12 users.
At the first bunch one replied that he had a bug in a script... -- malenki 17:34, 9 November 2011 (UTC)

Fix keys with = sign in the name =

For example the key "drinkable=":

Better replacement

I think a better substitute value for the key adress and addres is addr:full not address. User 5359 20:03, 5 December 2011 (UTC)

Fix UK (and US?) speed limits

Where maxspeed=n0 is specified in the UK, it should probably be changed to maxspeed=n0 mph. Common UK speed limits are 5, 10, 15, 20, 30, 40, 50, 60 and 70 mph.

Any maxspeed=80 should probably be changed to maxspeed=50 mph (km/h to mph conversion); any maxspeed=* above 30 not divisible by 10 should be converted from assumed km/h to the nearest mph limit from the list.

For example: maxspeed=64 or maxspeed=65 should be changed to maxspeed=40 mph.

You could also find and fix maxspeed=30mph to maxspeed=30 mph (with the space as per the spec).

There are probably similar rules for the US, but they have other common speed limits like 35, 45 and 55 mph. --Troon 11:13, 15 March 2012 (UTC)

New denomination fixes in the FixTypo list

"denomination|assembly_of_god"     => "denomination|assemblies_of_god",
"denomination|Assembly of God"     => "denomination|assemblies_of_god",
"denomination|assemblies of god"   => "denomination|assemblies_of_god",
"denomination|Assemblies of God"   => "denomination|assemblies_of_god",
"denomination|assemblies_of_god"   => "denomination|assemblies_of_god#religion|christian",

--Troon 13:26, 20 March 2012 (UTC)

don´t change denomination=adventist to denomination=seventh_day_adventist

The bot changes denomination=adventist to seventh_day_adventist. According to Wikipedia, the Seventh-day Adventist Church is just a part, a subset of the adventist denomination altogether. This means, that a lot of churches may be adventist, but not seventh_day_adventist. That's why a bot should not change this tag.--Geogast 20:17, 10 September 2012 (BST)

copying "name" to "name:de" for places within Germany (and possibly Austria)

I do not know, whether this is a "janitor"-job. Copying the "name" to "name:de" for places within Germany is a terrible job, if you want it to do by hand. Possibly this could be a job for a bot.

"place|X" & "is_in|*Deutschland*" & "name|Y"  => "name:de|Y"

Tirkon (talk) 20:16, 16 December 2013 (UTC)

Doing this is a terrible idea, no matter whether it's done manually or with a bot. It increases the effort to maintain/update the data. --Tordanik 20:16, 17 December 2013 (UTC)

Corrections for mistyped values of roof:shape

I've used taginfo to find some common typos for roof:shape values:

"roof:shape|skilion"  => "roof:shape|skillion",
"roof:shape|skillon"  => "roof:shape|skillion",
"roof:shape|half_hipped" => "roof:shape|half-hipped",
"roof:shape|garbled" => "roof:shape|gabled",
"roof:shape|gabeld" => "roof:shape|gabled",
"roof:shape|gable" => "roof:shape|gabled",
"roof:shape|pyramid" => "roof:shape|pyramidal",

--Versat (talk) 11:46, 25 December 2014 (UTC)

Correction of typos for buildings

"building|House" => "building|house",
"building|Residential" => "building|residential",
"building|Industrial" => "building|industrial",
"building|apartment" => "building|apartments",
"building|Apartments" => "building|apartments",
"building|y" => "building|yes",
"building|yse" => "building|yes",
"building|1" => "building|yes",
"building|yes1" => "building|yes",

--Evod (talk) 23:28, 16 February 2015 (UTC)

Wood is deprecated

In my mind those tags can be automatically change according to the table found at Key:wood

"wood|deciduous" => "leaf_type|broadleaved"
"wood|broad-leaved" => "leaf_type|broadleaved"
"wood|broad_leaved" => "leaf_type|broadleaved"
"type|broad_leaved" => "leaf_type|broadleaved"
"type|broad_leafed" => "leaf_type|broadleaved"
"type|broad_leaf" => "leaf_type|broadleaved"
"type|broad-leaved" => "leaf_type|broadleaved"
"type|broad-leafed" => "leaf_type|broadleaved"
"trees|broad-leaved" => "leaf_type|broadleaved"

"wood|coniferous" => "leaf_type|needleleaved"
"type|conifer" => "leaf_type|needleleaved"
"type|coniferous" => "leaf_type|needleleaved"
"trees|coniferous" => "leaf_type|needleleaved"

"wood|mixed" => "leaf_type|mixed"
"trees|mixed" => "leaf_type|mixed"

"wood|evergreen" => "leaf_cycle|evergreen"
"type|evergreen" => "leaf_cycle|evergreen"

"type|deciduous" => "leaf_cycle|deciduous"
"type|deciduos" => "leaf_cycle|deciduous"

Maybe to be sure you can check if there is the tag "natural=wood" or "landuse=forest"

And also just check wood, see taginfo

This is a worldwide request (or, at least in France).

--Homer simpsons (talk) 19:25, 8 June 2016 (UTC)

Farm to Farmland

"landuse|farm" => "landuse|farmland"

Even if farmland have been introduced to avoid confusion, in my mind a lot of landuse have the good tag (personnal based on osmose fix) in about 200 edit of farm I saw only wich needed to be farmyard. Then I think xybot can do this automatically, and somebody will correct if there are some with the bad tag. To be sure, but I don't think xybot is able to, it would be use full to check if there are building inside the area (if there are just don't care, maybe it's a farmyard or maybe these are just a farmland).

You can check comparison on [taginfo

This is a worldwide request (or, at least in France).

--Homer simpsons (talk) 17:00, 10 June 2016 (UTC)