Names

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages
logo Feature: Names
One example for Feature: Names
Description
The name tag is the primary tag used for naming a Element.
Tags

We use name=* to tag the name of things. We tag names of roads, pubs, railway stations, parks, buildings and anything which has a name. See more at Map Features#Name

ITO Map has a layer to highlight named and unnamed and/or addressed buildings.

Key Variations

Descriptions and examples.

  • name=* – Default name
    name=Channel Tunnel
  • int_name=* – Internationally known as
    int_name=Eurotunnel
  • nat_name=* – Nationally known as
    nat_name=That debt-ridden hole in the ground (obviously a joke, not an actual valid tag usage)
  • reg_name=* – Regionally known as
    reg_name=Gateway to France
  • loc_name=* – Locally known as
    loc_name=The way to Carrefour
  • old_name=* – Historically or previously known as
    old_name=A long swim (obviously a joke, not an actual valid tag usage)
  • alt_name=* – when alternative name exists (which doesn't fit in one of the tags name above) (recognized by Nominatim)
    alt_name=Chunnel
  • short_name=* – for a common abbreviation, useful for searching (recognized by Nominatim)
    short_name=UK
  • official_name=* – The fully qualified official name. It has been created for country names but we need a clarification for other cases between name, int_name, loc_name and official_name.
    official_name=Principat d'Andorra [where name=Andorra]
  • sorting_name=* - name, used for correct sorting of names.
    sorting_name=Communication street (where name=street of Communication)

Notes

Abbreviation (don't do it)

An extreme example of abbreviation: Lake Washington Boulevard Northeast and Main Street

If the name can be spelled without an abbreviation, then don't abbreviate it. Computers can easily shorten words but not the other way (St. could be Street or Saint). If the signs have abbreviated words and you don't know what the full word is, then use it temporarily until someone else complete it. Using short forms is a decision of software i.e. the underlying data should have the full street name. This will allow a renderer, a router or a location finder to introduce abbreviations as necessary. See for instance the list of abbreviations used by Name Finder and Nominatim.

Use mixed case with the first letter of each word capitalised (for example, Church Street, not Church street) Note: We can apply this rule quite strictly for latin-based languages but less so for some other languages.

If the name is incorrect when spelled in full, however, do not falsely expand it. (For example: Wilts & Berks Canal, British placenames beginning with 'St'.)

Apart from following the above rules, you should always enter the full name as it appears on the street name signs.

Be aware that street signs may contain errors.

Watch out for apostrophes. The same rule applies. If the street sign has an apostrophe, the OSM data should have an apostrophe. There is no obvious consistency; the London Underground station Barons Court is adjacent to Earl's Court, one with an apostrophe, one without.

Name is the name only

The names should be restricted to the name of the item in question only and should not include categories, types, descriptions, addresses or notes. If something really doesn't have a name, don't add one to OpenStreetMap. Any additional information should be included in separate tags (see, e.g., aforementioned links) to identify its meaning.

Some examples of incorrect usage:

  • Manchester City (for a city named Manchester, do not add a descriptive City; note that New York City may be correct as the common name for The City of New York)
  • Multipolygon Baldo Forest: do not include the object type or other OSM terminology, if it does not apply outside of OSM
  • The Royal Albert Hall, London: do not otherwise include the location London as part of the name, even if there are multiple objects of the same name
  • closed pub (due for demolition): do not describe the object in lieu of a name. Consider the description tag and also adding an old_name tag
  • no name (see #No name, below)
  • Interstate 5 southbound lanes: do not separately name parts of the same object where they are separate in OSM, but not outside of OSM.

No name

Streets which have no name could be tagged noname=yes, but; there are several tagging proposals under discussion: Proposed features/Noname. The idea is to clearly indicate that the street genuinely doesn't have a name, because the absence of a name tag is increasingly used to indicate areas which need to be surveyed still.

Localization

By now the majority of rendering systems can deal with unicode characters, so you can use the local script for the default name tag. There is no need to use the Latin script.

See also Multilingual names

For adding localized names in different languages, add additional name tags with a two letter suffix on the name key. For example, name:fr, for the name in French and name:en for the name in English. The default name (occupying the 'name' tag without suffix) should be the name in whatever language is used locally.

Here is an example of the usage. All these tags might appear on the same element :

name=Irgendwas        (the default name, used locally)
name:en=Something     (the name in English)
name:el=Κάτι          (the name in Greek)
name:de=Irgendwas     (the name in German)
name:pl=Coś           (the name in Polish)
name:fr=Quelque chose (the name in French)
name:es=Algo          (the name in Spanish)
name:it=Qualcosa      (the name in Italian)
name:ko=뭔가           (the name in Korean)
name:ko_rm=Mweonga    (the name in Romanised Korean)


This leads to a more precise definition of alternative names.

Example of language codes according to the alpha-2 code of ISO 639-1 :

de  German
pl  Polish
el  Greek
en  English
es  Spanish
fa  Persian
fr  French
it  Italian
ko  Korean
ru  Russian
zh  Chinese
ko_rm Romanised Korean (NOT conforming to BCP 47 standard, should be: ko-Latn)


A short discussion on this language extension can be found on the discussion page.

Renderer support: There are a few experimental rendering systems displaying these localised names. See Map Internationalization

Import: using osm2pgsql allows users to define new .style files which can include other language's name columns and bring them into the database. In order to render from these columns it is necessary to set up PostGIS views which present these columns as 'name' instead of 'name:languagecode'. An easier alternative might be to use a lua style file to move "name:XX" if it exists to "name".

Editor support: JOSM builds 1044 and newer support the display of local names. It detects the current system locale and tries to display names in this language first. You can change the order JOSM looks for names in the JOSM expert settings. Example: To display names written in Thai first, even if the current locale is 'en' set the following property:

 mappaint.nameOrder=name:th;name:en;int_name;name

Avoid transliteration

Transliteration is the process of taking a name in one language, and simply changing letters from one script to another. In general we should avoid doing this with tags in the OpenStreetMap database. Everything with a name could have auto-generated transliterations, so not just city names, but every road, and every cafe! This kind of automatic augmenting with data is best left for data users. For example Sven Geggus has demonstrated the principle of rendering with auto-generated transliterations. We want to avoid adding in tags into our database for every named object via automated or semi-automated Import.

Instead we only put name translations into the database. These are names which have been used by people on the ground, speaking in different languages (In general we're following Good practice#Map what's on the ground)

For example small towns in England probably don't have a special Russian name (unless there is a local Russian community or something). Their names can all be transliterated into Russian script, but it's not a good idea to add lots and lots of tags to all the towns in England containing these transliterated names.

-Global Russian-
There are official translations made by various governments; such as the former Soviet Union (and successors), that spent a lot of effort in a global mapping project to make Russian language maps, that did cover down to street maps & gazetteers of most countries including in the UK. Today these translated forms of place names are used in international documents at places like the UN ( cite: Russian form of the UN organised European Road Numbering system an English version of the same agreement).
These differ from automatically generated transliterations as they are officially understood and verifiable enough to use in a legal document {I've seen them in a official building application submitted in Oxford, UK (or: ОксфорД, Великобритании } from another Planning report company is this similar legally usable example.
Transliterations made up automatically without reference to a sound verifiable basis are harder to confirm as correct, and are therefore of more limited use, and so should be avoid for inclusion into the main database and could be added automatically after extracting the data from OSM.
--Govanus (talk) 17:18, 23 May 2014 (UTC)

loc_name

loc_name is for the name of a feature as it is known locally, but only where this is deemed to be too much of a slang name or otherwise unofficial-sounding. Ordinarily though, the name which local people use is the name we set in the name tag! Examples where we have used loc_name:

  • There is a bridge in Glasgow known as the Squinty Bridge, but its official name is the Clyde Arc. I have never heard anyone calling it that, so the bridge is tagged loc_name=Squinty Bridge name=Clyde Arc.
  • In Reading there's Union Street, but it's been known for decades as Smelly Alley on account of the fishmongers that lined it. The loc_name is ideal.

alt_name

Apply when an alternative name exists e.g. a street name has different syntax (sometimes even on street signs) although it is not only for street names.

Don't use it for abbreviations and only when one of the other name types don't apply (e.g. reg_name or name:lg_code for regional translations).

These alternative names are usually not rendered but can be used by applications like Nominatim.

sorting_name

sorting_name=* is a proposed approach to supply an alternate name which systems can use for the purpose of sorting alphabetically. This would be useful for street names in some languages/countries, particularly Russian, where words like "Street" are frequently used as a prefix (This is problematic if you simply sort on the main 'name' tag)

Further reading