first commit

This commit is contained in:
2024-08-04 21:09:59 +08:00
commit 85d65d596a
2711 changed files with 540473 additions and 0 deletions

12
.editorconfig Normal file
View File

@@ -0,0 +1,12 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
[{data/deprecated.json,data/discarded.json,package.json,.package-lock.json}]
indent_size = 2

View File

@@ -0,0 +1,103 @@
name: Add support of a missing OSM tag
description: This requests an OSM tag to be added to the tagging schema in the form of a new preset, field or value.
# title: ''
labels: enhancement
# assignees: ''
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this request to add a new tag to the tagging schema.
- type: input
attributes:
label: OSM Tag(s)
description: Please list the tag or tags which you would like to see included.
placeholder: tourism=camp_site
validations:
required: true
- type: dropdown
attributes:
label: How would you like this tag to see supported?
description: 'A tag can be supported in different ways: A preset, a field or a option in a dropdown field.'
options:
- As a Preset
- As a Field
- As an Option of a Field
- Other (please indicate below)
validations:
required: true
- type: input
attributes:
label: Label
description: The title/name/label of the preset, field or field option (preferably in American English).
placeholder: Campground
validations:
required: true
- type: input
attributes:
label: Aliases
description: 'Only for Presets: Synonyms of the name of the preset.'
placeholder: Campsite
validations:
required: false
- type: input
attributes:
label: Terms
description: 'Only for Presets and Fields: Synonyms of the name of the preset.'
placeholder: Camping, Tenting, Camp Site, Caravans, …
validations:
required: false
- type: input
attributes:
label: Link to OSM Wiki page
description: Link to the documentation of this tag on the OSM wiki.
placeholder: https://wiki.openstreetmap.org/wiki/Tag:tourism=camp_site
validations:
required: true
- type: dropdown
attributes:
label: Status of the Tag
description: The status of the tag(s) according to the OSM wiki.
options:
- Approved
- De Facto
- In Use
- Unspecified / Unknown
- Voting
- Abandoned
- Deprecated
- Discardable
- Draft
- Imported
- Obsolete
- Proposed
- Rejected
- Other (please indicate below)
validations:
required: true
- type: input
attributes:
label: Usage of the tag
description: How many OSM object exist currently which use the tag?
placeholder: '126,000'
validations:
required: true
- type: input
attributes:
label: Replaces other Tag?
description: Does this tag replace a different one which is already supported by the tagging schema?
validations:
required: false
- type: input
attributes:
label: Regional Tag?
description: Should this tag only be available in a specific region or country?
placeholder: global
validations:
required: false
- type: textarea
attributes:
label: Further Information
description: Please add further details about this tag which should be considered. For example, include a link to taginfo, taghistory or to an overpass query, add a list tools which support this tag, etc.
validations:
required: false

24
.github/ISSUE_TEMPLATE/1-bug.md vendored Normal file
View File

@@ -0,0 +1,24 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,37 @@
name: Add a New Deprecation Rule
description: This requests an OSM tag to be added to list of deprecated tags.
# title: ''
labels: deprecating
# assignees: ''
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this request to enhance the tagging schema.
- type: input
attributes:
label: Deprecated OSM Tag(s)
description: Please list the tag(s) which are to be included in the list of deprecation rules.
placeholder: highway=ford
validations:
required: true
- type: input
attributes:
label: Replacement OSM Tag(s)
description: Please list by which tag(s) the deprecated tag(s) should be replaced with.
placeholder: ford=yes
validations:
required: true
- type: input
attributes:
label: Link to OSM Wiki page
description: Link to the OSM wiki where the deprecation of the tag(s) is documented.
placeholder: https://wiki.openstreetmap.org/wiki/Deprecated_features
validations:
required: true
- type: textarea
attributes:
label: Further Information
description: Please add further details about this tag. For example, include a link to taginfo, taghistory or to an overpass query.
validations:
required: false

11
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"

49
.github/workflows/build-preview.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
name: Build Preview
on:
pull_request:
branches:
- main
permissions:
contents: read
jobs:
build-preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- run: npm clean-install
- run: npm run dist
- uses: actions/checkout@v3
with:
repository: openstreetmap/iD
path: './iD'
- run: npm clean-install
working-directory: './iD'
- run: npm run all
working-directory: './iD'
env:
ID_PRESETS_CDN_URL: '../../'
- run: npm run dist
working-directory: './iD'
env:
ID_PRESETS_CDN_URL: '../../'
- uses: actions/upload-artifact@v3
with:
name: preview
path: |
dist
iD/dist
- name: Store pull request number for later use
run: |
echo ${{github.event.number}} > ./pr_number
- uses: actions/upload-artifact@v3
with:
name: pr
path: ./pr_number

107
.github/workflows/deploy-preview.yml vendored Normal file
View File

@@ -0,0 +1,107 @@
name: Deploy Preview
on:
workflow_run:
workflows: ["Build Preview"]
types:
- completed
jobs:
deploy-preview:
runs-on: ubuntu-latest
if: ${{github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'}}
steps:
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm install --global netlify-cli@6
- run: npm install unzipper@0.10
- name: Get pull request number
uses: actions/github-script@v6
id: pull-request-number
with:
result-encoding: string
script: |
const unzipper = require('unzipper');
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id}}
});
const artifact = artifacts.data.artifacts.filter(
artifact => artifact.name === 'pr'
)[0];
if (!artifact) {
throw new Error('No "pr" artifact found');
}
const download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
archive_format: 'zip'
});
const directory = await unzipper.Open.buffer(Buffer.from(download.data));
const file = directory.files.find(d => d.path === 'pr_number');
const content = await file.buffer();
return content.toString();
- uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build-preview.yml
pr: ${{steps.pull-request-number.outputs.result}}
name: preview
- name: Deploy to Netlify
env:
NETLIFY_AUTH_TOKEN: ${{secrets.NETLIFY_AUTH_TOKEN}}
NETLIFY_SITE_ID: ${{secrets.NETLIFY_SITE_ID}}
run: netlify deploy --dir=. --alias=pr-${{steps.pull-request-number.outputs.result}}
- name: Add comment to pull request
uses: actions/github-script@v6
with:
script: |
const pullRequestNumber = parseInt(${{steps.pull-request-number.outputs.result}}, 10);
const start = ':bento:';
const author = 'github-actions[bot]';
const comments = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pullRequestNumber
});
const commentExists = comments.data.some(
comment => comment.user.login === author && comment.body.startsWith(start)
);
if (!commentExists) {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pullRequestNumber,
body: `${start} You can preview the tagging presets of this pull request [here](https://pr-${pullRequestNumber}--ideditor-presets-preview.netlify.app/id/dist/#locale=en).`
});
} else {
console.log(`Preview URL comment already added to PR #${pullRequestNumber}`);
}
- name: Clean up artifact
uses: actions/github-script@v6
with:
result-encoding: string
script: |
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id}}
});
const artifact = artifacts.data.artifacts.filter(
artifact => artifact.name === 'preview'
)[0];
if (!artifact) {
throw new Error('No "preview" artifact found');
}
await github.rest.actions.deleteArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id
});

38
.github/workflows/deploy.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Deploy
permissions:
contents: write
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'Deploy') && github.repository == 'openstreetmap/id-tagging-schema'"
steps:
- name: Checkout
uses: actions/checkout@v3 # If you're using actions/checkout@v3 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Install Node.js dependencies
run: npm clean-install
- name: Build
run: npm run build
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4.5.0
with:
BRANCH: main # The branch the action should deploy to.
FOLDER: . # The folder the action should deploy.
CLEAN: false # Automatically remove deleted files from the deploy branch

40
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Code Style Checks
on: [push, pull_request]
jobs:
lint:
name: Check file endings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: |
notJSONs=`find data/ -type f -not -iname "*.json"`
for f in $notJSONs
do
echo "::error file=$f::File $f is not a .json file."
done
if [ ! -z "$notJSONs" ]; then exit 1; fi
prettier:
name: Check for code formatting mistakes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- run: npm clean-install
- run: 'for f in `find data/ -type f -not -iname "*.json"`; do echo "::error File $f is not a .json file."; done'
- run: npm run lint
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: codespell-project/actions-codespell@master
with:
check_filenames: true
skip: ./.git,./dist,./data/deprecated.json
ignore_words_list: "auxilary,casette,cemetary,chancel,discus,extentions,faiway,generat,goverment,guerilla,guyser,kindergarden,ore,pavillion,sculpter,storys,linz,te"
only_warn: 1

27
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
# This workflow will do a clean install of node dependencies and run tests across different versions of node.
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['18']
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm clean-install
- run: npm run test

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
.DS_Store
.esm-cache
.idea/
/node_modules/
/.tx/tmp/
npm-debug.log
transifex.auth

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
lts/*

6
.prettierignore Normal file
View File

@@ -0,0 +1,6 @@
package.json
package-lock.json
dist/
*.yaml
data/discarded.json
data/deprecated.json

6
.prettierrc Normal file
View File

@@ -0,0 +1,6 @@
{
"parser": "json-stringify",
"proseWrap": "never",
"bracketSpacing": true,
"endOfLine": "lf"
}

5
.travis.yml Normal file
View File

@@ -0,0 +1,5 @@
language: node_js
node_js:
- "10"
- "12"
- "14"

40
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,40 @@
{
"json.schemas": [
{
"fileMatch": [
"data/fields/**/*.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/field.json"
},
{
"fileMatch": [
"data/presets/**/*.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/preset.json"
},
{
"fileMatch": [
"data/preset_categories/**/*.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/preset_category.json"
},
{
"fileMatch": [
"data/deprecated.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/deprecated.json"
},
{
"fileMatch": [
"data/discarded.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/discarded.json"
},
{
"fileMatch": [
"data/preset_defaults.json"
],
"url": "./node_modules/@ideditor/schema-builder/schemas/preset_defaults.json"
}
]
}

1572
CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

66
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,66 @@
## Submitting Issues
Don't hesitate to submit feedback about issues or how the tagging schema could be improved, but please [search existing issues](https://github.com/search?l=&q=repo%3Aopenstreetmap%2Fid-tagging-schema&type=Issues) before [opening a new one](https://github.com/openstreetmap/id-tagging-schema/issues/new/choose).
iD's [code of conduct](https://github.com/openstreetmap/iD/blob/release/CODE_OF_CONDUCT.md) and [privacy policy](https://github.com/openstreetmap/iD/blob/release/PRIVACY.md) also apply to this project.
## General Guidelines
As a general guideline, the tagging schema will only consider tags that are documented on the OSM wiki and have completed a [proposal process](https://wiki.openstreetmap.org/wiki/Proposal_process) or can in some other way be considered as _accepted_ by the OpenStreetMap community.
As the tagging schema is meant to be a general representation of the OSM data for a wide audience of users, some tags might be considered out of scope: for example when a tag requires expert knowledge to be used, or when a tag is extremely rare.
Tags which are not universally applicable globally, can and should be limited to their respective region in the corresponding preset or field of this repository.
## Translating
* **English (US) translations** are managed inside the JSON files of this repository. The Transifex translations for "English (en)" are only a reference for other languages but not exported.
Example: To extend the list of English terms for `shrub`, [modify the `terms`-key in the JSON file](https://github.com/openstreetmap/id-tagging-schema/blob/v3.1.0/data/presets/natural/shrub.json#L16-L19)).
* **All languages** other than English (US) are managed [in the Transifex Project of the iD Editor](https://www.transifex.com/openstreetmap/id-editor/) inside the translation resource _'preset'_.
To to find and update a translation, you can …
1. [open the translation page](https://www.transifex.com/openstreetmap/id-editor/translate/)
2. select a language
3. select _'presets'_
4. search for `key:living_street` or `translation_text:'Living Street'`
* **Request access:** To contribute to a language, [select a language](https://www.transifex.com/openstreetmap/id-editor/languages/) and use 'Join team' to request access. The administrators will approve requests routinely, only rejecting requests for overly specific locales.
* **Base language:** The JSON files in this repository require an "English (US)" translation. This includes data, that use the `locationSet` property to reduce the scope of the data to specific countries since users might still select English as an editor language in those countries. Some presets use a (untranslatable) proper name. See also "Developer Notes".
* **Transifex "Developer Notes":** Use the "Developer Notes" section in Transifex to learn more about the context of a given translation string. For example, [looking at `presets.fields.direction_cardinal-US-CA-NZ.label` in Transiflex](https://www.transifex.com/openstreetmap/id-editor/translate/#en_GB/presets/406422633?q=key%3Adirection_cardinal) will give you the "Developer Notes: `direction=* | Local preset for countries "CA", "NZ", "US"`" which helps you understand that, (a) this label describes the key `direction` and (b) it is only visible in three countries, so other languages usually don't need to translate it (leave it blank or add the English translation instead).
* **Release:** All translation changes are released whenever [a new id-tagging-schema release is created](https://github.com/openstreetmap/id-tagging-schema/releases). They will become visible inside iD and other editors once those editors a short while after that (which can vary as different editors have different release schedules and in some cases, e.g. in iD, translations might even be fetched dynamically from the most recent id-tagging-schema release).
## Making Changes
### Overview and General Structure
Detailed documentation for the data format used in this repository is located with the [schema-builder](https://github.com/ideditor/schema-builder) package, which is the technical basis of this project.
To make a change, update the corresponding file within the `data` folder: The `presets` contain a representation of OpenStreetMap's [map features](wiki.openstreetmap.org/wiki/Map_Features), and the `fields` are their properties. In addition, the tagging schema contains a few `categories` of presets and a list of `deprecated` and `discardable` tags.
### Icons
Icons from different sources (_icon sets_) can be used in the tagging schema. Head over to the [dedicated page](https://github.com/ideditor/schema-builder/blob/main/ICONS.md#icons) about how to use them.
### Code Style
The input files are JSON files which use 4-space indentation. You can use the `npm run lint` command to check whether your files match the expected code style and run `npm run lint:fix` to reformat them if they don't do so.
### Installation and Testing
The following `npm` commands are used in this repository:
* `npm install` installs or updates the repository's required dependencies
* `npm test` validates the source data
* `npm run build` validates the source data and builds some files which are used during development (e.g. strings to be supplied to the translation platform)
* `npm run dist` validates the source data and compiles output files for iD
* `npm run translations` fetches translations from transifex and compiles the translations files for iD
If you have [set up](https://github.com/openstreetmap/iD#installation) your own local instance of the iD editor, you can [configure](https://github.com/openstreetmap/iD/blob/develop/API.md#environment-variables) it to use your local set of tagging presets by setting the `ID_PRESETS_CDN_URL` environment variable. If you do that, don't forget to run `npm run dist` to compile the tagging schema output, as iD will otherwise not see the changes you made.

15
LICENSE.md Normal file
View File

@@ -0,0 +1,15 @@
## ISC License
Copyright (c) 2017, iD Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

49
README.md Normal file
View File

@@ -0,0 +1,49 @@
![test](https://github.com/openstreetmap/id-tagging-schema/workflows/test/badge.svg) [![npm version](https://badge.fury.io/js/%40openstreetmap%2Fid-tagging-schema.svg)](https://badge.fury.io/js/%40openstreetmap%2Fid-tagging-schema)
# iD Tagging Schema
This is the directory of OpenStreetMap tagging data used by the [iD editor](https://github.com/openstreetmap/iD).
It includes presets, fields, deprecations, and more.
## Participate!
* Read up about how you can contribute to the iD Tagging Schema on the [contributing page](CONTRIBUTING.md).
* [Translate!](CONTRIBUTING.md#Translating)
* See the [open issues](https://github.com/openstreetmap/id-tagging-schema/issues?state=open) in the issue tracker if you're looking for something to do.
* Need more help? Ping user `tyr_asd` (Martin Raifer) on [OpenStreetMap Discord](https://discord.gg/openstreetmap) (`#id` channel) or [OpenStreetMap US Slack](https://slack.openstreetmap.us/) (`#id` channel).
## Background
OpenStreetMap itself does not have a formal rigid [database schema](https://en.wikipedia.org/wiki/Database_schema), but relies on a [tagging](https://wiki.openstreetmap.org/wiki/Tags) [folksonomy](https://en.wikipedia.org/wiki/Folksonomy) instead.
Editing tools need to know how tags are used in order to facilitate mapping.
This Tagging Schema fills that need, but with a number of caveats:
- This isn't authoritative or definitive
- Tagging interpretations may vary from mapper to mapper, place to place, and over time
- Our primary aim is to serve the needs of iD mappers (but other tools are welcome to use this too)
- We support tags based on practicality, usage, and community approval
- Sometimes there are reasons we can't support a tag even if it's used or approved
## Usage
### Java/Android
The [westnordost/osmfeatures](https://github.com/westnordost/osmfeatures) project,
a component of [StreetComplete](https://github.com/westnordost/StreetComplete),
makes it easier to use this data with Android or other Java platforms.
### Use by Other Editors
iD tagging schema is used not only by iD. Here's a [list of projects](https://github.com/openstreetmap/id-tagging-schema/wiki/Projects-that-are-using-this-tagging-schema) which use the data from the id-tagging-schema.
## Related Projects
* The [OpenStreetMap wiki](https://wiki.openstreetmap.org/wiki/Map_features) documents the current usage of tags, and hosts discussions about proposed new tags.
* The [ideditor/schema-builder](https://github.com/ideditor/schema-builder) project holds the documentation for the data format used in this repository
* iD also incorporates preset data from the [name-suggestion-index](https://github.com/osmlab/name-suggestion-index).
* Other editors also include their own models of interpretations of OSM tags. See for example [Vespucci's](https://github.com/simonpoole/beautified-JOSM-preset) or [JOSM's](https://josm.openstreetmap.de/wiki/Presets) tagging presets.
## Contributing
See the dedicated [CONTRIBUTING](CONTRIBUTING.md) page for information about this.

1996
data/deprecated.json Normal file

File diff suppressed because it is too large Load Diff

57
data/discarded.json Normal file
View File

@@ -0,0 +1,57 @@
{
"created_by": true,
"converted_by": true,
"odbl": true,
"odbl:note": true,
"tiger:upload_uuid": true,
"tiger:tlid": true,
"tiger:source": true,
"tiger:separated": true,
"geobase:datasetName": true,
"geobase:uuid": true,
"osmarender:nameDirection": true,
"osmarender:renderName": true,
"osmarender:renderRef": true,
"osmarender:rendernames": true,
"sub_sea:type": true,
"KSJ2:ADS": true,
"KSJ2:ARE": true,
"KSJ2:AdminArea": true,
"KSJ2:COP_label": true,
"KSJ2:DFD": true,
"KSJ2:INT": true,
"KSJ2:INT_label": true,
"KSJ2:LOC": true,
"KSJ2:LPN": true,
"KSJ2:OPC": true,
"KSJ2:PubFacAdmin": true,
"KSJ2:RAC": true,
"KSJ2:RAC_label": true,
"KSJ2:RIC": true,
"KSJ2:RIN": true,
"KSJ2:WSC": true,
"KSJ2:coordinate": true,
"KSJ2:curve_id": true,
"KSJ2:curve_type": true,
"KSJ2:filename": true,
"KSJ2:lake_id": true,
"KSJ2:lat": true,
"KSJ2:long": true,
"KSJ2:river_id": true,
"SK53_bulk:load": true,
"yh:LINE_NAME": true,
"yh:LINE_NUM": true,
"yh:STRUCTURE": true,
"yh:TOTYUMONO": true,
"yh:TYPE": true,
"yh:WIDTH": true,
"yh:WIDTH_RANK": true
}

66
data/fields/access.json Normal file
View File

@@ -0,0 +1,66 @@
{
"keys": [
"access",
"foot",
"motor_vehicle",
"bicycle",
"horse"
],
"reference": {
"key": "access"
},
"type": "access",
"label": "Allowed Access",
"placeholder": "Not Specified",
"strings": {
"types": {
"access": "All",
"foot": "Foot",
"motor_vehicle": "Motor Vehicles",
"bicycle": "Bicycles",
"horse": "Horses"
},
"options": {
"yes": {
"title": "Allowed",
"description": "Access allowed by law; a right of way"
},
"no": {
"title": "Prohibited",
"description": "Access not allowed to the general public"
},
"permissive": {
"title": "Permissive",
"description": "Access allowed until such time as the owner revokes the permission"
},
"private": {
"title": "Private",
"description": "Access allowed only with permission of the owner on an individual basis"
},
"designated": {
"title": "Designated",
"description": "Access allowed according to signs or specific local laws"
},
"destination": {
"title": "Destination",
"description": "Access allowed only to reach a destination"
},
"customers": {
"title": "Customers",
"description": "Restricted to customers at the destination"
},
"dismount": {
"title": "Dismount",
"description": "Access allowed but rider must dismount"
},
"permit": {
"title": "Permit",
"description": "Access allowed only with a valid permit or license"
},
"unknown": {
"title": "Unknown",
"description": "Access conditions are unknown or unclear"
}
}
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "access_aisle",
"type": "combo",
"label": "Type"
}

View File

@@ -0,0 +1,22 @@
{
"key": "access",
"type": "combo",
"label": "Allowed Access",
"strings": {
"options": {
"yes": "Public",
"private": "Private",
"permissive": "Permissive",
"customers": "Customers Only",
"permit": "By Permit Only",
"unknown": "Unknown",
"no": "None"
}
},
"autoSuggestions": false,
"terms": [
"permitted",
"private",
"public"
]
}

20
data/fields/activity.json Normal file
View File

@@ -0,0 +1,20 @@
{
"keys": [
"hiking",
"bicycle",
"mtb",
"horse",
"ski"
],
"type": "manyCombo",
"label": "Activity",
"strings": {
"options": {
"hiking": "Hiking",
"bicycle": "Cycling",
"mtb": "Mountain Biking",
"horse": "Horseback Riding",
"ski": "Skiing"
}
}
}

View File

@@ -0,0 +1,15 @@
{
"key": "addr:interpolation",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"all": "All",
"even": "Even",
"odd": "Odd",
"alphabetic": "Alphabetic"
}
},
"autoSuggestions": false,
"customValues": false
}

70
data/fields/address.json Normal file
View File

@@ -0,0 +1,70 @@
{
"type": "address",
"key": "addr",
"keys": [
"addr:block_number",
"addr:city",
"addr:block_number",
"addr:conscriptionnumber",
"addr:county",
"addr:country",
"addr:county",
"addr:district",
"addr:floor",
"addr:hamlet",
"addr:housename",
"addr:housenumber",
"addr:neighbourhood",
"addr:place",
"addr:postcode",
"addr:province",
"addr:quarter",
"addr:state",
"addr:street",
"addr:subdistrict",
"addr:suburb",
"addr:unit"
],
"label": "Address",
"strings": {
"placeholders": {
"block_number": "Block Number",
"block_number!jp": "Block No.",
"city": "City",
"city!cn": "City/Prefecture/League",
"city!jp": "City/Town/Village/Tokyo Special Ward",
"city!vn": "City/Town",
"conscriptionnumber": "123",
"country": "Country",
"county": "County",
"county!jp": "District",
"district": "District",
"district!cn": "District/County/Banner",
"district!vn": "Arrondissement/Town/District",
"floor": "Floor",
"hamlet": "Hamlet",
"housename": "Housename",
"housenumber": "123",
"housenumber!jp": "Building No./Lot No.",
"neighbourhood": "Neighbourhood",
"neighbourhood!jp": "Machi/Chōme/Aza/Koaza",
"place": "Place",
"postcode": "Postcode",
"province": "Province",
"province!cn": "Province/Municipality/AR/SAR",
"province!jp": "Prefecture",
"quarter": "Quarter",
"quarter!jp": "Ōaza",
"state": "State",
"street": "Street",
"subdistrict": "Subdistrict",
"subdistrict!vn": "Ward/Commune/Townlet",
"suburb": "Suburb",
"suburb!jp": "Ward (政令市)",
"unit": "Unit"
}
},
"terms": [
"location"
]
}

View File

@@ -0,0 +1,6 @@
{
"key": "admin_level",
"type": "number",
"minValue": 1,
"label": "Admin Level"
}

View File

@@ -0,0 +1,5 @@
{
"key": "advertising",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,5 @@
{
"key": "aerialway",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,14 @@
{
"key": "aerialway:access",
"type": "combo",
"label": "Access",
"strings": {
"options": {
"entry": "Entry",
"exit": "Exit",
"both": "Both"
}
},
"autoSuggestions": false,
"customValues": false
}

View File

@@ -0,0 +1,5 @@
{
"key": "aerialway:bubble",
"type": "check",
"label": "Bubble"
}

View File

@@ -0,0 +1,7 @@
{
"key": "aerialway:capacity",
"type": "number",
"minValue": 0,
"label": "Capacity (per hour)",
"placeholder": "500, 2500, 5000..."
}

View File

@@ -0,0 +1,7 @@
{
"key": "aerialway:duration",
"type": "number",
"minValue": 0,
"label": "Duration (minutes)",
"placeholder": "1, 2, 3..."
}

View File

@@ -0,0 +1,5 @@
{
"key": "aerialway:heating",
"type": "check",
"label": "Heated"
}

View File

@@ -0,0 +1,7 @@
{
"key": "aerialway:occupancy",
"type": "number",
"minValue": 0,
"label": "Occupancy",
"placeholder": "2, 4, 8..."
}

View File

@@ -0,0 +1,14 @@
{
"key": "aerialway:summer:access",
"type": "combo",
"label": "Access (summer)",
"strings": {
"options": {
"entry": "Entry",
"exit": "Exit",
"both": "Both"
}
},
"autoSuggestions": false,
"customValues": false
}

5
data/fields/aeroway.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "aeroway",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,5 @@
{
"key": "agrarian",
"type": "semiCombo",
"label": "Products"
}

View File

@@ -0,0 +1,9 @@
{
"key": "air_conditioning",
"type": "check",
"label": "Air Conditioning",
"terms": [
"cooling system",
"refrigeration"
]
}

5
data/fields/amenity.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "amenity",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,5 @@
{
"key": "animal_boarding",
"type": "semiCombo",
"label": "For Animals"
}

View File

@@ -0,0 +1,5 @@
{
"key": "animal_breeding",
"type": "semiCombo",
"label": "For Animals"
}

View File

@@ -0,0 +1,5 @@
{
"key": "animal_shelter",
"type": "semiCombo",
"label": "For Animals"
}

View File

@@ -0,0 +1,22 @@
{
"key": "archaeological_site",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"baths": "Baths",
"city": "Historic City",
"crannog": "Crannog",
"enclosure": "Enclosure",
"fortification": "Fortification",
"hut_circle": "Hut Circle",
"megalith": "Megalith",
"necropolis": "Necropolis",
"petroglyph": "Rock Carving",
"roman_circus": "Roman Circus",
"roman_villa": "Roman Villa",
"settlement": "Historic Settlement",
"tumulus": "Tumulus"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"key": "architect",
"type": "text",
"label": "Architect",
"terms": [
"building designer"
]
}

View File

@@ -0,0 +1,5 @@
{
"key": "area:highway",
"type": "typeCombo",
"label": "Type"
}

5
data/fields/artist.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "artist_name",
"type": "text",
"label": "Artist"
}

View File

@@ -0,0 +1,18 @@
{
"key": "artwork_type",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"sculpture": "Sculpture",
"statue": "Statue",
"mural": "Mural",
"installation": "Art Installation",
"graffiti": "Graffiti",
"bust": "Bust",
"painting": "Painting",
"mosaic": "Mosaic",
"relief": "Relief"
}
}
}

11
data/fields/ascent.json Normal file
View File

@@ -0,0 +1,11 @@
{
"key": "ascent",
"minValue": 0,
"type": "number",
"label": "Total Ascent",
"terms": [
"ascent",
"climb",
"cumulative elevation gain"
]
}

View File

@@ -0,0 +1,17 @@
{
"key": "athletics",
"type": "semiCombo",
"label": "Event",
"strings": {
"options": {
"discus_throw": "Discus",
"hammer_throw": "Hammer Throw",
"high_jump": "High Jump",
"javelin_throw": "Javelin",
"long_jump": "Long Jump",
"pole_vault": "Pole Vault",
"shot_put": "Shot Put",
"triple_jump": "Triple Jump"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"key": "athletics",
"type": "semiCombo",
"label": "Event",
"strings": {
"options": {
"javelin_throw": "Javelin",
"long_jump": "Long Jump",
"pole_vault": "Pole Vault",
"running": "Running",
"sprint": "Sprinting",
"steeplechase": "Steeplechase",
"triple_jump": "Triple Jump"
}
}
}

5
data/fields/atm.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "atm",
"type": "check",
"label": "ATM"
}

View File

@@ -0,0 +1,28 @@
{
"key": "attraction",
"type": "typeCombo",
"label": "Type",
"strings": {
"options": {
"animal": "Animal Enclosure",
"water_slide": "Water Slide",
"amusement_ride": "Amusement Ride",
"roller_coaster": "Roller Coaster",
"carousel": "Carousel",
"maze": "Maze",
"summer_toboggan": "Summer Toboggan",
"big_wheel": "Ferris Wheel",
"train": "Tourist Train",
"bumper_car": "Bumper Cars",
"bungee_jumping": "Bungee Jumping",
"dark_ride": "Dark Ride",
"drop_tower": "Drop Tower Ride",
"kiddie_ride": "Kiddie Ride",
"log_flume": "Log Flume",
"pirate_ship": "Pirate Ship Ride",
"river_rafting": "River Rapids Ride",
"swing_carousel": "Swing Carousel",
"alpine_coaster": "Alpine Coaster"
}
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "automated",
"type": "check",
"label": "Automated"
}

View File

@@ -0,0 +1,21 @@
{
"key": "baby_feeding",
"type": "combo",
"label": "Baby Nursing Area",
"strings": {
"options": {
"room": "Dedicated Room",
"yes": "Marked Space",
"no": "None"
}
},
"autoSuggestions": false,
"customValues": false,
"terms": [
"baby feeding",
"breastfeeding",
"lactation",
"mothers",
"nursing"
]
}

View File

@@ -0,0 +1,5 @@
{
"key": "baby",
"type": "check",
"label": "Baby Seat"
}

View File

@@ -0,0 +1,5 @@
{
"key": "backcountry",
"type": "check",
"label": "Backcountry"
}

View File

@@ -0,0 +1,5 @@
{
"key": "backrest",
"type": "check",
"label": "Backrest"
}

5
data/fields/bar.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "bar",
"type": "check",
"label": "Bar"
}

32
data/fields/barrier.json Normal file
View File

@@ -0,0 +1,32 @@
{
"key": "barrier",
"type": "typeCombo",
"label": "Type",
"strings": {
"options": {
"fence": "Fence",
"gate": "Gate",
"wall": "Wall",
"hedge": "Hedge",
"kerb": "Curb",
"bollard": "Bollard",
"lift_gate": "Boom Gate",
"retaining_wall": "Retaining Wall",
"block": "Large Block",
"guard_rail": "Guard Rail",
"cycle_barrier": "Cycle Barrier",
"stile": "Stile",
"entrance": "Entrance",
"swing_gate": "Swing Gate",
"cattle_grid": "Cattle Grid",
"ditch": "Ditch",
"toll_booth": "Toll Booth",
"city_wall": "City Wall",
"kissing_gate": "Kissing Gate",
"chain": "Chain",
"jersey_barrier": "Jersey Barrier",
"height_restrictor": "Height Restrictor",
"turnstile": "Turnstile"
}
}
}

View File

@@ -0,0 +1,14 @@
{
"key": "barrier",
"type": "defaultCheck",
"label": "Barrier",
"geometry": [
"vertex"
],
"strings": {
"options": {
"undefined": "No",
"planter": "Yes"
}
}
}

13
data/fields/basin.json Normal file
View File

@@ -0,0 +1,13 @@
{
"key": "basin",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"detention": "Detention",
"evaporation": "Evaporation",
"infiltration": "Infiltration",
"retention": "Retention"
}
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "bath:open_air",
"label": "Open Air",
"type": "check"
}

View File

@@ -0,0 +1,5 @@
{
"key": "bath:sand_bath",
"label": "Sand Bath",
"type": "check"
}

View File

@@ -0,0 +1,14 @@
{
"key": "bath:type",
"type": "combo",
"label": "Specialty",
"strings": {
"options": {
"hammam": "Hammam",
"hot_spring": "Hot Spring",
"lake": "Lake",
"onsen": "Onsen",
"thermal": "Thermal Bath"
}
}
}

16
data/fields/beauty.json Normal file
View File

@@ -0,0 +1,16 @@
{
"key": "beauty",
"type": "semiCombo",
"label": "Services",
"strings": {
"options": {
"nails": "Manicure / Pedicure",
"tanning": "Tanning",
"cosmetics": "Cosmetics",
"spa": "Day Spa",
"skin_care": "Skin Care",
"waxing": "Waxing",
"hair_removal": "Hair Removal"
}
}
}

8
data/fields/bench.json Normal file
View File

@@ -0,0 +1,8 @@
{
"key": "bench",
"type": "check",
"label": "Bench",
"terms": [
"seating"
]
}

View File

@@ -0,0 +1,15 @@
{
"key": "bicycle_parking",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"stands": "Stand (supports bicycle frame)",
"wall_loops": "Wheelbender (supports wheel only)",
"shed": "Closed Shed",
"lockers": "Individual Lockers",
"building": "In a Building",
"handlebar_holder": "Handlebar Holder"
}
}
}

View File

@@ -0,0 +1,26 @@
{
"key": "bicycle_road",
"type": "defaultCheck",
"label": "Cycle Street",
"terms": [
"bicycle boulevard",
"bicycle road",
"cyclestreet",
"neighborhood bikeway",
"neighborhood byway",
"neighborhood greenway",
"neighborway"
],
"locationSet": {
"exclude": [
"BE",
"NL"
]
},
"strings": {
"options": {
"undefined": "No",
"yes": "Yes"
}
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "bike_ride",
"type": "check",
"label": "Bike and Ride"
}

9
data/fields/bin.json Normal file
View File

@@ -0,0 +1,9 @@
{
"key": "bin",
"type": "check",
"label": "Waste Bin",
"terms": [
"garbage can",
"trash can"
]
}

16
data/fields/blind.json Normal file
View File

@@ -0,0 +1,16 @@
{
"key": "blind",
"type": "radio",
"strings": {
"options": {
"yes": "Yes",
"limited": "Limited",
"no": "No"
}
},
"label": "Blind Person Access",
"terms": [
"sight impairment",
"vision impairment"
]
}

View File

@@ -0,0 +1,13 @@
{
"key": "blood:",
"type": "multiCombo",
"label": "Blood Components",
"strings": {
"options": {
"whole": "whole blood",
"plasma": "plasma",
"platelets": "platelets",
"stemcells": "stem cell samples"
}
}
}

View File

@@ -0,0 +1,18 @@
{
"key": "board_type",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"art": "Art",
"astronomy": "Astronomy",
"geology": "Geology",
"history": "History",
"nature": "Nature",
"notice": "Notice Board",
"plants": "Plants",
"welcome_sign": "Welcome Sign",
"wildlife": "Wildlife"
}
}
}

14
data/fields/bollard.json Normal file
View File

@@ -0,0 +1,14 @@
{
"key": "bollard",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"fixed": "Fixed Bollard",
"flexible": "Flexible Bollard",
"foldable": "Foldable Bollard",
"removable": "Removable Bollard",
"rising": "Rising Bollard"
}
}
}

5
data/fields/books.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "books",
"type": "semiCombo",
"label": "Type of Books"
}

6
data/fields/booth.json Normal file
View File

@@ -0,0 +1,6 @@
{
"key": "booth",
"type": "combo",
"label": "Booth",
"caseSensitive": true
}

5
data/fields/bottle.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "bottle",
"type": "check",
"label": "Bottle Filling"
}

5
data/fields/boules.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "boules",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,5 @@
{
"key": "boundary",
"type": "combo",
"label": "Type"
}

View File

@@ -0,0 +1,5 @@
{
"key": "branch",
"type": "text",
"label": "Branch"
}

5
data/fields/brand.json Normal file
View File

@@ -0,0 +1,5 @@
{
"key": "brand",
"type": "text",
"label": "Brand"
}

13
data/fields/brewery.json Normal file
View File

@@ -0,0 +1,13 @@
{
"key": "brewery",
"type": "semiCombo",
"label": "Sold Beer brands",
"terms": [
"beer brand",
"beer dispensing",
"bottled beer",
"draft beer",
"on tap",
"tap beer"
]
}

7
data/fields/bridge.json Normal file
View File

@@ -0,0 +1,7 @@
{
"key": "bridge",
"type": "typeCombo",
"label": "Type",
"usage": "group",
"placeholder": "Default"
}

View File

@@ -0,0 +1,12 @@
{
"key": "bridge:ref",
"type": "text",
"label": "Bridge Number",
"reference": {
"key": "bridge"
},
"prerequisiteTag": {
"key": "bridge",
"valueNot": "no"
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "bridge:support",
"type": "typeCombo",
"label": "Type"
}

View File

@@ -0,0 +1,17 @@
{
"key": "bridge",
"type": "combo",
"label": "Type",
"strings": {
"options": {
"aqueduct": "Aqueduct",
"boardwalk": "Boardwalk",
"cantilever": "Cantilever Bridge",
"covered": "Covered Bridge",
"low_water_crossing": "Low Water Crossing",
"movable": "Movable Bridge",
"trestle": "Trestle Bridge",
"viaduct": "Viaduct"
}
}
}

72
data/fields/building.json Normal file
View File

@@ -0,0 +1,72 @@
{
"key": "building",
"type": "combo",
"label": "Building",
"strings": {
"options": {
"allotment_house": "Allotment House",
"apartments": "Apartment Building",
"barn": "Barn",
"boathouse": "Boathouse",
"bungalow": "Bungalow",
"bunker": "Bunker",
"cabin": "Cabin",
"carport": "Carport",
"cathedral": "Cathedral Building",
"chapel": "Chapel Building",
"church": "Church Building",
"civic": "Civic Building",
"college": "College Building",
"commercial": "Commercial Building",
"construction": "Building Under Construction",
"cowshed": "Cowshed",
"detached": "Detached House",
"dormitory": "Dormitory",
"farm": "Farm House",
"farm_auxiliary": "Farm Building",
"fire_station": "Fire Station Building",
"garage": "Garage",
"garages": "Garages",
"ger": "Yurt",
"grandstand": "Grandstand",
"greenhouse": "Greenhouse",
"hangar": "Hangar Building",
"hospital": "Hospital Building",
"hotel": "Hotel Building",
"house": "House",
"houseboat": "Houseboat",
"hut": "Hut",
"industrial": "Industrial Building",
"kindergarten": "Preschool / Kindergarten Building",
"manufacture": "Industrial Production Building",
"mosque": "Mosque Building",
"office": "Office Building",
"outbuilding": "Outbuilding",
"pavilion": "Pavilion Building",
"public": "Public Building",
"residential": "Residential Building",
"retail": "Retail Building",
"riding_hall": "Horseback Riding Arena",
"roof": "Roof",
"ruins": "Building Ruins",
"school": "School Building",
"semidetached_house": "Semi-Detached House",
"service": "Service Building",
"shed": "Shed",
"stable": "Stable",
"stadium": "Stadium Building",
"static_caravan": "Mobile Home",
"sty": "Pigsty",
"synagogue": "Synagogue Building",
"temple": "Temple Building",
"terrace": "Row Houses",
"train_station": "Train Station Building",
"transportation": "Transportation Building",
"university": "University Building",
"warehouse": "Warehouse"
}
},
"terms": [
"structure"
]
}

View File

@@ -0,0 +1,9 @@
{
"key": "building:colour",
"type": "colour",
"label": "Façade Color",
"terms": [
"building color",
"facade color"
]
}

View File

@@ -0,0 +1,7 @@
{
"key": "building:flats",
"type": "number",
"minValue": 0,
"label": "Units",
"placeholder": "2, 4, 6, 8..."
}

View File

@@ -0,0 +1,7 @@
{
"key": "building:levels",
"type": "number",
"minValue": 0,
"label": "Levels",
"placeholder": "2, 4, 6..."
}

View File

@@ -0,0 +1,10 @@
{
"key": "building:levels:underground",
"type": "number",
"minValue": 0,
"label": "Underground Levels",
"placeholder": "2, 4, 6...",
"terms": [
"basement levels"
]
}

View File

@@ -0,0 +1,11 @@
{
"key": "building:levels",
"type": "number",
"minValue": 0,
"label": "{building/levels}",
"placeholder": "{building/levels}",
"prerequisiteTag": {
"key": "building",
"valueNot": "no"
}
}

View File

@@ -0,0 +1,5 @@
{
"key": "building:material",
"type": "combo",
"label": "Material"
}

View File

@@ -0,0 +1,6 @@
{
"key": "building:part",
"type": "combo",
"default": "yes",
"label": "Building Part"
}

View File

@@ -0,0 +1,10 @@
{
"key": "building:prefabricated",
"type": "check",
"terms": [
"manufactured",
"modular",
"portable"
],
"label": "Prefabricated"
}

View File

@@ -0,0 +1,8 @@
{
"key": "building",
"type": "combo",
"geometry": [
"area"
],
"label": "{building}"
}

View File

@@ -0,0 +1,9 @@
{
"key": "building",
"type": "combo",
"default": "yes",
"geometry": [
"area"
],
"label": "{building}"
}

Some files were not shown because too many files have changed in this diff Show More