Some of these apply worldwide. It is important to note that sometimes the different spelling is the actual spelling in use, e.g. Castleblaney Livestock Sales uses the different spelling.
Also, spelling is important, especially if you want to search a database. However, just because someone gets a spelling wrong doesn’t mean it is ‘bad’.
Catherdral (should be Cathedral) - fixed for Ireland, some entries worldwide
There are exceptionally few words in the English language that end with the letter ‘q’, in part because the letter ‘q’ is usually followed by the letter ‘u’. Most of the words that do end in the letter ‘q’ are loan words from other languages.
However, in OSM it is unusually common to find such ‘words’ (the vast majority are typing errors), created when people accidentally press ‘q’ instead of ‘Tab’. when typing.
Similarly, people also accidentally press the ` backtick character (also known as ‘backquote’, ‘grave’ or ‘grave accent’).
Most of the following have been fixed. Some will require survey.
building=houseq
addr:city=Ballyraggetq
addr:city=Galwayq
addr:housenumber=16q
addr:housenumber=q
addr:street=“Pine Streetq”
addr:street=“q”
addr:street=“q3”
addr:street=“Fortunes Walkq”
name=“q”
Is there a simply way to search tags for keys and/or values that end with q?
I did use a python script and osmium to filter out suspected objects for the Netherlands:
import re
from collections import defaultdict
from subprocess import run, Popen, PIPE
name2cnt = defaultdict(int)
with Popen([osmium, 'show', '--no-pager', '--format-opl', netherlands.pbf], stdout=PIPE, encoding='utf-8') as proc:
for line in proc.stdout:
if match := re.search(r' T\S+q[, ]', line):
q_str = match.group(0)
# addr:housenumber=24-cq
if match := re.search(r'addr:housenumber=\d+-?\w*q[, ]', q_str):
continue
elif match := re.search(r'[T,](?:name|name:en|brand|operator)=([^, ]*[Qq])[, ]', q_str):
name2cnt[match.group(1)] += 1
continue
elif 'amenity=bbq' in q_str or \
'carriageway_ref=q' in q_str or \
'=lgbtq' in q_str or \
'shop=bbq' in q_str:
continue
print(line, end='')
for name,cnt in sorted(name2cnt.items(), key=lambda name_cnt: name_cnt[1]):
print(f'{cnt:6d} {name}')
That gave about 10 cases of zinq instead of zinc, about 30 objects that were not filtered out but not wrong (links etc.) and 45 real problems. In the list of names I did not immediately see problems.
So it turns out that there are few (native) English language words ending with I, J, Q, U, or V. That changes quite a bit with loan words, especially from Latin / Italian and Hindi. Of course, this will vary from place to place and language to language, so while it will help with many tags, some words will pose problems, especially names.
Uncommon abbreviation: aka or AKA (meaning ‘also known as’). Perhaps alt_name=* and loc_name=* should be used when this is used in name=*. In notes, etc. the full words should probably be used.