Zh-hans:Names

From OpenStreetMap Wiki
Jump to navigation Jump to search
Logo. 要素 : Zh-hans:Names
One example for 要素 : Zh-hans:Names
说明
提供OpenStreetMap中地图要素名称的标签。
标签

name=*

提供包含在OpenStreetMap中的地图要素名称的详细信息。

分类

name=*标签是用于映射要素名称的主要标记。参考页面Names了解有关其用法的介绍。

可用于 描述
name 用户自定义 node way area 默认的名称。注意:
  • 对于有争议的区域,请使用实地表现的名称,例如路牌。
  • 请将所有替代项放入本地化标签 (如name:ja或name:ko) 或其变体中 (如loc_name、old_name或alt_name)。
  • 不要缩写词语:abbreviations
name:<xx> 用户自定义 node way area 在不同语言中的名称;譬如name:en=Shanghai。需要注意的是,以下所有主要变体都可以使用语言后缀。参考Multilingual names
name:left , name:right 用户自定义 way 当同一路径在不同方向有不同名称时使用(譬如,形成两个政治实体之间边界的街道)。
int_name[:<xx>] 用户自定义 node way area 国际名称。考虑用特定语言名称替代,如name:en=...。国际名称不一定是英语,如用于在白俄罗斯、保加利亚、希腊、哈萨克斯坦和北马其顿将名字音译为拉丁字母。
loc_name[:<xx>] 用户自定义 node way area 本地名称。
nat_name[:<xx>] 用户自定义 node way area National name.
official_name[:<xx>] 用户自定义 node way area 官方名称。在有较长的官方名称,而通常并不使用的情况下很有用。如official_name=哈尔滨医科大学附属第二医院+name=哈医大二院)。
old_name[:<xx>] 用户自定义 node way area 历史/旧名称,有些情况下仍在使用。
reg_name[:<xx>] 用户自定义 node way area Regional name.
short_name[:<xx>] 用户自定义 node way area 应该是可识别的常用简称,而不是昵称(使用alt_name=*),在搜索时很有用。
sorting_name[:<xx>] 用户自定义 node way area Name, used for correct sorting of names — This is only needed when sorting names cannot be based only on their orthography (using the Unicode Collation Algorithm with collation tables tailored by language and script, or when sorted lists of names are including names written in multiple languages and/or scripts) but requires ignoring some parts such as:
  • ignoring leading articles, or
  • lowering the relative importance of first names cited before a last name,
  • ignoring the generic part of a street name when it occurs before the specific name (e.g., in French with "rue", "boulevard", "place", etc.),

all of them being ignored at the primary sort level and not easily inferable by a preprocessing algorithm.

alt_name[:<xx>] 用户自定义 node way area 广为人知的替代名称。如果有一个名称不适合上述任何标签,可以使用 alt_name;如name=Field Fare Road+alt_name=Fieldfare Road。此标签也可以用于多个以分号分隔的名称,如alt_name=name1;name2;name3,但通常不推荐这么做。
name_1 , name_2 , ... 不要使用这个标签,多个值的后缀名称标记已经被弃用

好的做法

缩写(不要这样做)

主条目:Abbreviations
An extreme example of abbreviation: Lake Washington Boulevard Northeast and Main Street

请不要使用缩写,因为缩写会造成歧义,且不易被计算机处理。如计算机可以很方便地将“Boulevard”缩写成“Blvd”或“Bd”,但反之则不然。

大写字母

General recommendation is to use title case with the first letter of each word capitalised (e.g., Church Street, not Church street) but regional rules have preference over general rules. 例如,在佛兰芒语中,姓氏的大写暗示了此人的贵族身份。源自这些姓氏的街道或公司名称应复制相同的大写字母。在非拉丁语系语言中,通常甚至不可能将名字大写。

注意撇号(')

如果路牌有撇号('),OSM数据也应该有撇号。这通常是没有规律的:伦敦地铁Barons Court站与Earl's Court站相邻,前者带撇号,后者不带撇号。

名称只是名称

name=*应仅限于相关项目的名称,而不应包含官方名称中未包含的其他信息,如categories, typesdescriptionsaddressesrefsnotes。However - if something has the official name "East 110th Street" this full name should be in the name notwithstanding the fact that the "street", the "110" and "east" might be deducible from some other information. If something really doesn't have a name, don't add a name to OpenStreetMap. Any additional information should be included in separate tags (see, e.g., aforementioned links) to identify its meaning.

一些错误使用的例子:

  • "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 longer existing objects should be deleted. Disused objects such as shops can be tagged with lifecycle prefixes. See also nonexistent features page for more info.
  • "no name" : (see #No name, below)
  • "Football pitch" : this describes the feature, and is likely not the actual name. Instead make sure to use sport=soccer (the same for other sport pitches).
  • "Interstate 5 southbound lanes" : do not separately name parts of the same object where they are separate in OSM, but not outside of OSM.
  • "Interstate 5" : When a name would only be duplicating the information in the ref=* tag, then the ref and noname=yes is almost always more appropriate.
  • "Wildwood Boardwalk (seasonal)" : Do not include time-related access restrictions in the name. Instead, use conditional restrictions tags (or opening_hours=* for non-highways). example: access:conditional=no @ (Nov-Apr)
  • "Manchester City" : (for a city named Manchester, do not add a descriptive City; however note that New York City may be correct as the common name for The City of New York)
  • "Foobar Mountain, 8000 ft" : tag height in a separate tag (like ele=* or ele:ft=*), not as part of the name
  • "Lower Hell Hole 1030-002 Dam" : do not embed a reference number in a name just because a source (here USGS GNIS) does so; use a separate ref=* tag, for example, name=Lower Hell Hole Dam and ref:gnis=1030-002
  • "Union Pacific Railroad" : a name=* which was assigned during the USA's 2007-8 TIGER import (of roads and rail); the correct value is the name of the Subdivision/Branch/Line and this railroad name is properly the value of operator=* and/or owner=* (there are many other incorrect values besides Union Pacific). It is OK to precede a railroad name with an operator when two or more otherwise-identically named lines in close proximity would create serious confusion. For example, naming "CN Joliet Subdivision" and "UP Joliet Subdivision" or "BNSF Fort Worth Subdivision" and "UP Fort Worth Subdivision" is sensible. (For now. Even this convention may disappear in the future as operator=* and owner=* become more widespread and avoid such ambiguities).
  • "alternate summit trail" describing role of part of hiking route. For signed routes, you can use roles for recreational route relations

It is certainly wrong for a mapper to invent a name for an airstrip; however most names were invented at some point in history, so if someone invents a name and it catches on and a sizeable group of people refer to the thing by that name, then it's ok to be mapped[1].

无名称的情况

大部分mapper会将没有名称的街道以noname=yes标注,这是为了清楚地表明这条街确实没有名字。

缺少名称标签越来越多地用于指示仍需要调查的区域。

Left and right names

For way objects, names can differ by side of the object.

For example, a street may be on the boundary between Belgium and the Netherlands, Belgium gives it the name "Amsterdamsestraat" and the Netherlands gives it the name "Brusselsestraat".

This is solved by using the name:left=* and name:right=* tags to name both sides separately (using the direction of the way to determine left and right) . The name=* tag can still include both names in order to support different tools.

Example:

note: different left-and-right names doesn't exclude the existence of multilingual names (which also happens more often on country borders). So tags like name:left:fr=* are possible.

多个名称

If you have multiple names for a feature, first try to choose a rich semantic tag like any of the ones in the table (like short_name=*, old_name=* etc.). If none of them works, choose the alt_name=* tag. If there are multiple names that do not fit, alt_name=* can be used with semicolons.

名称不用于描述

要素描述请使用description=*而非name=*

While it is welcome to tag building=house, it is wrong to add also name=house. Or name=Mosque to amenity=place_of_worship + religion=muslim. Validators may detect and propose to remove the most obvious and common incorrect descriptive names, but undetected ones also are incorrect. This is a form of tagging for the renderer.

Though note that some lakes are actually named "The Lake", in such case adding it as a name is fine.

Do not construct names for features[2] by combining the name of an enclosing feature with a description. For example, an unnamed fountain in XYZ Park should not be tagged with name=XYZ Park Fountain. Internal features to a named area should only be tagged with a name when they have a commonly-used local name, or some other indication (such as signage) of the feature's name. If the internal feature is named, it should still not be combined with the enclosing area's name. A feature named 'Smith Fountain' within 'XYZ Park' should be tagged name=Smith Fountain but not name=XYZ Park Smith Fountain.

For example, relation The Lake in New York City's way Central Park is tagged with name=The Lake and not a constructed name like "Central Park Lake". However, actual names referencing location of object are fine, as long it is actual name. For example the way Central Park Tennis Center does include "Central Park" in the name, because "Central Park Tennis Center" is the tennis center's actual name[3].

Despite this principle, historically, public transit route relations were expected to have name=* set to a description of the route in a rigid format.

本地化

到目前为止,大多数渲染系统都可以处理 unicode 字符,因此应使用本地语言作为默认名称name=*,而无需使用拉丁文字。

For adding localized names in different languages, add additional name:code=* tags with a suffix on the name key, where code is a language's ISO 639-1 alpha-2 code (in the second column), or ISO 639-2/T (alpha-3) code (technical/terminologic codes, including possibly codes for macrolanguages, but excepting codes allocated to group of languages, do not use bibliographic codes) if an ISO 639-1 code doesn't exist, or ISO 639-3 (alpha-3) codes (for isolated languages or macrolanguages) otherwise; do not use ISO 639-5 codes allocated for language families.

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.

下面是用法的示例;所有这些标签可能出现在同一个元素上:

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:ja=何か            (the name in Japanese)
name:ko=아무것           (the name in Korean)
name:ko-Latn=Mweonga  (the name in Romanised Korean)   (conforming to BCP 47 standard. Deprecated: ko_rm)

This leads to a more precise definition of alternative names.

Example of language codes according to the alpha-2 (= two-letter-)code of ISO 639-1:

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

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

Renderer support: Some rendering systems display 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". An example is seen in this diary.

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

音译

音译是采用一种语言的名称,并将字母从一种文字更改为另一种文字的过程。对于某些语言来说,这是必要的,尤其是那些具有多种正字法的语言,如旁遮普语或塞尔维亚语。在大多数情况下,一些通常被单独标记的语言之间必然具有音译关系;例如,印地语和乌尔都语在语法或语音上没有区别,并且倾向于分别在梵文和波斯阿拉伯文字中包含相同的字符串。在大多数情况下,自动音译是不可能的,因此建议手动添加和查看这些内容。

一些使用非拉丁字母书写的官方本地语言的国家(特别是在大部分前苏联国家、印度、阿拉伯国家和使用CJK字符的地区)有官方的罗马化或其他音译方案;这些方案可以用目标语言代码的适当标签进行标记。

何时避免音译

在许多情况下都会避免音译。 一般来说,所有有名字的要素都可以音译(城市名称、道路、咖啡馆),但并不一定要把它们都音译;参见Good practice#Map what's on the ground

应避免音译的情况包括:

  • 从维基百科等来源批量导入音译名称;
  • 不常用的人造音译名称(e.g, adding an Inuktitut transliteration of a small village in Indonesia);
  • 虚构语言的名称,如KlingonTengwarNa'vi
  • 没有常用音译的品牌和商店名称。

许多编辑人员依靠自动化工具来翻译和音译名称,如:

特定于语言的名称

name=* contains the common, default name in the local language. name:<lang_code> is used to tag the name in a specified language in cases where the name differs by language, for example name:ru=Москва gives the city's name in Russian (language code ru) while name:en=Moscow gives the English language name (language code en).

In cases where multiple languages are tagged for a name, the local-language name tag should be duplicated with the language-specific sub-key. For example, Moscow is tagged with name=Москва, with the same value as name:ru=Москва. This tagging is important because it ensures that data consumers don't need to infer the local language. Guessing name language based on location is unlikely to always succeed - there are places in Russia where name=* is not in Russian, there are places in USA where correctly mapped name=* is not in English.

On the other hand, do not tag names that do not exist. An unremarkable village somewhere in Poland might have only one name (recorded in name=*). In all other languages, this village would be called by its Polish name, because it has no other name. Just because all other languages use the Polish name, you should not add name:<lang_code> tags for all other languages containing the Polish name!

理由

Tagging both say name=Kraków and name:pl=Kraków is useful for displaying localized names with fallback languages. If someone wants to

  • display names in Polish
  • in case of Polish name being unavailable, show English name (with "Beijing" being preferred over "北京市")
  • otherwise display name:en=*

In such case the solution would be to

  • display name:pl=*
  • if it is unavailable display name:en=*
  • if both are not present display name=*

But note what would happen if name=* would be in Polish, name:pl=* would be not tagged and name:en=* would be tagged:

  • display name:pl=* - skipped, as not present
  • if it is unavailable display name:en=* - done!
  • if both are not present display name=* - not reached

Alternative would be adding guesses about language of name=* (what is tricky, complicated for many languages and areas impossible, fragile and error-prone).

Or explicitly tagging both name=* and name:<lang_code>.

本地名称(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:xx=* 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.

历史名称

The date namespace suffix can be used for historical names, e.g., name:1953--1990=Ernst-Thälmann-Straße.

已弃用的标签

The suffixed tags name_1=* and alt_name_1=* should no longer be used for tagging. They are the result of old imports that were not defined very well.

笔记

也可以看看

外部链接