Name Suggestion Index

From OpenStreetMap Wiki
Jump to navigation Jump to search


Name Suggestion Index
Author: osmlab/name-suggestion-index/graphs/contributors GitHub
License: BSD-3-Clause 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

Screengrab from the iD editor as a UK editor types 'deb' 2019-11-04 showing display of Name Suggestion Index data
Screengrab from the iD editor as a UK editor selects an existing feature which matches a brand on the Name Suggestion Index 2019-11-04

The name-suggestion-index (NSI) is a collection of tagging presets that represent:

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

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.).

See also