Name Suggestion Index
Name Suggestion Index | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Author: | osmlab/name-suggestion-index/graphs/contributors GitHub | |||||||||||||||||||
License: | New BSD License | |||||||||||||||||||
Website: | https://nsi.guide | |||||||||||||||||||
Source code: | osmlab/name-suggestion-index GitHub | |||||||||||||||||||
Programming language: | JavaScript | |||||||||||||||||||
An index of canonical common brand names, operators, transit and flags for OpenStreetMap |
||||||||||||||||||||
|
The name-suggestion-index (NSI) is a collection of tagging presets that represent:
- brick-and-mortar brands
- public_transport networks
- common flags
Most of these brands are chain stores, but the index also contains other kinds of chains, particularly in the United States where many kinds of POIs can have retail-style branding. The index's presets appear in OSM editors and power many MapRoulette challenges, helping the community achieve more consistent POI and transit tagging.
Structure
The index consists of JSON files containing items either gathered from OpenStreetMap or submitted by contributors. Each item includes:
- A locationSet specifying where the item is valid
- A generated identifier
- The preferred tags for that item
For example, brands/shop/department_store.json contains:
"brands/shop/department_store": [
…,
{
"displayName": "Debenhams",
"id": "debenhams-a29e63",
"locationSet": {
"include": [
"gb",
"ie"
]
},
"tags": {
"brand": "Debenhams",
"brand:wikidata": "Q1181484",
"name": "Debenhams",
"shop": "department_store"
}
},
…
]
This states that a user in Britain or Eire would have the name of Debenhams suggested if they added a point in iD or Vespucci. As they type 'd', 'e', 'b' the suggested items below it change. The user can then click on Debenhams Department Store and will have the tags brand=Debenhams, brand:wikidata=Q1181484, name=Debenhams, and shop=department_store automatically added for them.
name-suggestion-index uses the brand:wikidata=* tag to obtain a URL to the brand's official logo. For example, Q1181484 has a Facebook ID (P2013) property, so the URL is to the profile picture on the brand's official Facebook page. If a Wikidata item doesn't have a Facebook page listed, the index falls back to the Twitter profile picture via Twitter username (P2002), then to a freely licensed logo on Wikimedia Commons via logo image (P154). name-suggestion-index only provides the URL of the logo image; it doesn't cache or distribute the image itself.
Usage
Every Door
Every Door suggests items from NSI when updating a POI.
Go Map!!
Go Map!! suggests items from NSI when adding a POI or updating its name.
iD
iD includes name-suggestion-index presets[1] when searching for presets and as suggestions when entering a feature's name. Each preset's icon is the brand's official logo.
If a feature has tags that are similar but not identical to a name-suggestion-index entry, a validator warning appears with a suggestion to upgrade the feature's tags to match name-suggestion-index.
Most name-suggestion-index entries have a brand:wikidata=* tag, which causes the Name field to become read-only. If you need to customize the name of a brand-tagged location, change the name=* tag in the "All tags" section.
JOSM
Available as "Name Suggestion Index" preset. A pending feature request from 2017 proposes including name-suggestion-index presets in JOSM by default.
Osmose
Osmose has a check that uses the OSM frequent names extracted by the name-suggestion-index to detect brand candidates in existing OSM objects.
If they correspond to known brands in the NSI, it then suggests to add some tags.
StreetComplete
- For names of shops and amenities (name quest) use NSI data to offer autocomplete (implemented)
- Surveying brand locations (using the Name Suggestion Index) (proposed)
Vespucci
Vespucci suggests presets based on name-suggestion-index when entering a feature's name. See the "Using Name Suggestions" tutorial for more details.
Updates and additions
The NSI is a GitHub repository, meaning that issues can be raised, and updates and additions can be suggested via pull request. See CONTRIBUTING.md in the repo for more details.
Updates and additions should be discussed with the community via the normal channels (tagging mailing lists, country mailing lists, etc.).