Machine Readable Tagging API

From OpenStreetMap Wiki
Jump to navigation Jump to search

two merging arrows

It has been proposed that this page or section be merged with Machine-readable Map Feature list. (Discuss)

Partially done as data items

See data items

Overview

Currently the wiki is being used to store human readable information on tagging, and while this would work fine with a limited subset of tags, it doesn't make it easy for people to locate tags they may not have used, or very infrequently used in the past which will ultimately end up with several tags for the same thing, eg amenity=lawyer and shop=lawyer

Neither the wiki nor external search engines can effectively index this information in it's current form as there is a lot of other information mixed in, for example if you search on the wiki for lawyer you end up with a lot of non-relevant information to tagging such as legal advice on database licensing.

The only similar service is tag watch, which uses current tags to help locating errors more easily, but this fails to give you context the tags are used with and allow tags to be easily cross referenced to each other, for example the lanes=* tag is often used in conjunction with the highway=* tag.

Thoughts on Feature set

  • add/update tags, values and descriptions of both.
  • allow tags, values and descriptions to be easily translated.
  • allow people to vote on tags and values which will alter the order of tags returned in searches
  • store the number of times tags are used, allowing this information to effect the order search results are presented
  • allow people to add synonyms for tags/values
  • the use of a wiki formatting function so text can be marked up/formatted
  • have the search to do fuzzy searching of tags, values, descriptions and synonyms.
  • ability to have example images, or reference URLs associated with tags and values which could optionally be displayed by editors/web site
  • the ability to add context to tags by linking tags that are commonly used in conjunction with each other, eg lanes=* should be linked to highway=*
  • document an API so editors can hook into it to read data and write data back into the database
    • By having this functionality built into editors it would allow people to document new tags as part of the work flow
    • Editors would also be able to suggest tags, using fuzzy searches, searching the description of tags and search for synonyms
    • some kind of caching mechanism so editors only need to download updates