Depend on id-tagging-schema for presets

This commit is contained in:
Quincy Morgan
2020-11-06 10:38:43 -05:00
parent a51a493574
commit db12fc5f57
1903 changed files with 115 additions and 49492 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +0,0 @@
{
"created_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
}

View File

@@ -1,521 +0,0 @@
## Presets
iD editor preset and field types are defined in [JSON](http://en.wikipedia.org/wiki/JSON)
files located under the `data/presets` folder of the iD repository.
#### Preset Files
Presets are defined in JSON files located under `data/presets/presets`. They're organized in a
directory hierarchy based on OSM key/value pairs. For example, the preset that matches
the tag `leisure=park` is in the file `data/presets/presets/leisure/park.json`.
#### Preset Schema
A basic preset is of the form:
```javascript
{
// The icon in iD which represents this feature.
"icon": "maki-park",
// The names of fields that will appear by default in the editor sidebar.
// See the fields documentation for details of what's valid here.
"fields": [
"address"
],
// The names of fields that the user can add manually. These will also
// appear if the corresponding tags are present.
"moreFields": [
"phone",
"website"
],
// The geometry types for which this preset is valid.
// options are point, area, line, and vertex.
// vertices are points that are parts of lines, like the nodes in a road
// lines are unclosed ways, and areas are closed ways
"geometry": [
"point", "area"
],
// Terms are synonyms for the preset - these are added to fuel
// the search functionality. searching for 'woodland' will bring
// up this 'park' preset
"terms": [
"esplanade",
"village green",
"woodland"
],
// Tags that are added to the feature when selecting the preset,
// and also used to match the preset against existing features.
// You can use the value "*" to match any value.
"tags": {
"leisure": "park"
},
// English language display name for this map feature.
"name": "Park"
}
```
The complete JSON schema for presets can be found in [`data/presets/schema/preset.json`](schema/preset.json)
#### Preset Properties
##### `name`
The primary name of the feature type in American English.
Upon merging with `develop`, this is sent to Transifex for translating to other localizations. Changing the name of an existing preset will require it to be re-translated to all localizations.
This property is required. There is no default.
##### `geometry`
An array of possible geometry types that a feature must have in order to match this preset.
* `point`: an OSM node that is not a member of any way
* `vertex`: an OSM node that is a member of one or more ways
* `line`: an OSM way that is not an area
* `area`: an OSM way that is closed/circular (the first and last nodes are the same) or a `type=multipolygon` relation
* `relation`: an OSM relation
Closed ways can be treated as both `line` or `area` geometry. If a preset allows both, iD will add an additional `area=yes` tag when choosing the preset for an area feature.
The geometry types should be listed in order of preference. For example, the preset for `leisure=swimming_pool` lists `area` before `point`.
This property is required. There is no default.
##### `tags`
An object with the `"key": "value"` tags a feature must have to match this preset. A `"*"` wildcard value can be set to have this preset match any value for that key.
A features can only match one preset even if its tags and geometry could technically match more than one. iD will pick the best match based on `matchScore`, the number of tags, and the use of wildcard values.
This property is required. There is no default.
##### `addTags`
The tags that are added to the feature when selecting this preset. Defaults to `tags`. If needed, this property will typically be a superset of `tags`.
iD's validator will recommend that users add missing tags from `addTags` to matching features. For example, the Bridge preset has these properties:
```
"tags": {
"man_made": "bridge"
},
"addTags": {
"man_made": "bridge",
"layer": "1"
},
```
When adding a feature with this preset, it will be given the tags `man_made=bridge` and `layer=1`. The user could then change `layer` to `3`, for instance, and the feature would still match the preset because it still has `man_made=bridge`. If the user removes the `layer` tag altogether, iD will recommend adding it back with a value of `1`.
##### `removeTags`
The tags that are removed from the feature when deselecting this preset. Defaults to `addTags` or if this is also not defined, to `tags`.
##### `fields`/`moreFields`
Both these properties are arrays of field paths (e.g. `description` or `generator/type`).
`fields` are shown by default and `moreFields` are shown if manually added by the
user or if a matching tag is present. Note that some fields have a `prerequisiteTag`
property that limits when they will be shown.
A preset can reference the fields of another by using that preset's name contained in
brackets, like `{preset}`. For example, `shop/books` references and extends the fields
of `shop`:
```javascript
"fields": [
"{shop}",
"internet_access"
],
"moreFields": [
"{shop}",
"internet_access/fee",
"internet_access/ssid"
],
"tags": {
"shop": "books"
}
```
If `fields` or `moreFields` are not defined, the values of the preset's "parent"
preset are used. For example, `shop/convenience` automatically uses the same
fields as `shop`.
In both explicit and implicit inheritance, fields for keys that define the
preset are generally not inherited. E.g. the `shop` field is not inherited by `shop/…` presets.
##### `icon`
The name of a local SVG icon file. You can use icons from any of the following icon sets. When specifying an icon, use the prefixed version of the name, for example `"icon": "maki-park"`.
* [iD's spritesheet](https://github.com/openstreetmap/iD/tree/develop/svg/iD-sprite/presets) (`iD-`)
* [Maki](https://labs.mapbox.com/maki-icons/) (`maki-`), map-specific icons from Mapbox
* [Temaki](https://ideditor.github.io/temaki/docs/) (`temaki-`), an expansion pack for Maki
* This is the best place to submit a PR if you want to create a preset icon!
* [Font Awesome](https://fontawesome.com/icons?d=gallery&m=free), thousands of general-purpose icons
* There is a free and pro tier. You can use any icon from the free tier in the following styles:
* [Solid](https://fontawesome.com/icons?d=gallery&s=solid&m=free) (`fas-`)
* [Regular](https://fontawesome.com/icons?d=gallery&s=regular&m=free) (`far-`)
* [Brands](https://fontawesome.com/icons?d=gallery&s=brands&m=free) (`fab-`)
##### `imageURL`
The URL of a remote image file. This does not fully replace `icon`—both may be shown in the UI.
For example, `imageURL` is used to specify the logos of brand presets from the [name-suggestion-index](https://github.com/osmlab/name-suggestion-index).
Bitmap images should be at least 100x100px to look good at 50x50pt on high-resolution screens.
##### `searchable`
Deprecated or generic presets can include the property `"searchable": false`.
This means that they will be recognized by iD when editing existing data,
but will not be available as an option when adding new features.
By convention, unsearchable presets have filenames that begin with an underscore
(e.g. `data/presets/presets/landuse/_farm.json`)
##### `matchScore`
A number that ranks this preset against others that match the feature.
For example, a feature with `amenity=cafe` and `building=commercial` will match the Cafe preset instead of the Commercial Building preset because Commercial Building has a lower `matchScore`.
The default is `1.0`.
##### `countryCodes`
An array of two-letter, lowercase [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes. The preset will only be searchable when the user is editing over the specified, whitelisted countries. The locale and language of iD are not factors, just the position of the map.
By default, presets are available everywhere.
##### `notCountryCodes`
An array of two-letter, lowercase [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes. Similar to `countryCodes` except a blocklist.
##### `replacement`
The ID of a preset that is preferable to this one. iD's validator will flag features matching this preset and recommend that the user upgrade the tags.
When possible, use `deprecated.json` instead to specify upgrade paths for old tags. This property is meant for special cases, such as upgrades with geometry requirements.
##### `reference`
A key and optionally a value to link to the wiki documentation for this preset. Only necessary if the preset consists of several tags.
For example,
```javascript
"reference": {
"key": "tower:type",
"value": "communication"
}
```
## Fields
Fields are reusable form elements that can be associated with presets.
#### Field Files
Fields are defined in JSON files located under `data/presets/fields`.
The field files are typically named according to their associated OSM key.
For example, the field for the tag `sport=*` is stored in the file
`data/presets/fields/sport.json`. When a field has multiple versions that
depend on which preset is active, we add a suffix to the filename:
(`sport.json`, `sport_ice.json`, `sport_racing_motor.json`).
Some keys in OSM are namespaced using colons (':'). Namespaced fields
are nested in folders according to their tag.
For example, the field for the tag `piste:difficulty=*` is stored in the file
`data/presets/fields/piste/difficulty.json`.
#### Field Schema
```js
{
"key": "cuisine",
"type": "combo",
"label": "Cuisine"
}
```
The complete JSON schema for fields can be found in [`data/presets/schema/field.json`](schema/field.json)
#### Field Properties
##### `type`
A string specifying the UI and behavior of the field. Must be one of the following values.
###### Text fields
* `text` - Basic single line text field
* `number` - Text field with up/down buttons for entering numbers (e.g. `width=*`)
* `localized` - Text field with localization abilities (e.g. `name=*`, `name:es=*`, etc.)
* `tel` - Text field for entering phone numbers (localized for editing location)
* `email` - Text field for entering email addresses
* `url` - Text field for entering URLs
* `identifier` - Text field for foreign IDs (e.g. `gnis:feature_id`)
* `textarea` - Multi-line text area (e.g. `description=*`)
###### Combo/Dropdown fields
* `combo` - Dropdown field for picking one option out of many (e.g. `surface=*`)
* `typeCombo` - Dropdown field picking a specific type from a generic category key<br/>
(e.g. `waterway=*`. If unset, tag will be `waterway=yes`, but dropdown contains options like `stream`, `ditch`, `river`)
* `multiCombo` - Dropdown field for adding `yes` values to multiple keys with the same prefix (a common multikey)<br/>
(e.g. `recycling:*` -> `recycling:glass=yes`, `recycling:paper=yes`, etc.)
* `manyCombo` - Dropdown field for adding `yes` values to many different keys<br/>
(e.g. `bus`, `tram`, `train` -> `bus=yes`, `tram=yes`, etc.)
* `networkCombo` - Dropdown field that helps users pick a route `network` tag (localized for editing location)
* `semiCombo` - Dropdown field for adding multiple values to a semicolon-delimited list<br/>
(e.g. `sport=*` -> `soccer;lacrosse;athletics;field_hockey`)
###### Checkboxes
* `check` - 3-state checkbox: `yes`, `no`, unknown (no tag)
* `defaultCheck` - 2-state checkbox where checked produces `yes` and unchecked produces no tag
* `onewayCheck` - 3-state checkbox for `oneway` fields, with extra button for direction switching
###### Radio Buttons
* `radio` - Multiple choice radio button field
* `structureRadio` - Multiple choice structure radio button field, with extra input for bridge/tunnel level
###### Special
* `access` - Block of dropdowns for defining the `access=*` tags on a highway
* `address` - Block of text and dropdown fields for entering address information (localized for editing location)
* `cycleway` - Block of dropdowns for adding `cycleway:left` and `cycleway:right` tags on a highway
* `maxspeed` - Numeric text field for speed and dropdown for "mph/kph"
* `restrictions` - Graphical field for editing turn restrictions
* `wikidata` - Search field for selecting a Wikidata entity
* `wikipedia` - Block of fields for selecting a wiki language and Wikipedia page
##### `usage`
A string specifying how iD uses the field. Must be one of the following values.
* `preset` - The field is listed in one or more preset files (default and most common value)
* `changeset` - The field is only used for changeset tags when uploading, e.g. `comment`
* `group` - The field is only used within another field such as `structure`, e.g. `cutting`
* `manual` - The field is only added by iD programmatically as needed, e.g. `restrictions`
##### `key`/`keys`
The `key` property names the OSM key that the field will edit.
Compound fields like `address` expect an array of keys in the `keys` property.
##### `universal`
If a field definition contains the property `"universal": true`, this field will
appear in the "Add Field" list for all presets
##### `geometry`
If specified, only show the field for this kind of geometry. Should contain
one of `point`, `vertex`, `line`, `area`.
##### `default`
The default value for the field. For example, the `building_area.json` field
will automatically add the tag `building=yes` to certain presets that are
associated with building features (but only if drawn as a closed area).
```js
{
"key": "building",
"type": "combo",
"default": "yes",
"geometry": "area",
"label": "Building"
}
```
##### `options`
Combo field types can provide dropdown values in an `options` array.
The user can pick from any of the options, or type their own value.
```js
{
"key": "diaper",
"type": "combo",
"label": "Diaper Changing Available",
"options": ["yes", "no", "room", "1", "2", "3", "4", "5"]
}
```
##### `strings`
Combo field types can accept name-value pairs in the `strings` property.
This is helpful when the field has a fixed number of options and you want to be
able to provide a translatable description of each option. When using `strings`,
the user can not type their own value, they must choose one of the given values.
```js
{
"key": "smoothness",
"type": "combo",
"label": "Smoothness",
"placeholder": "Thin Rollers, Wheels, Off-Road...",
"strings": {
"options": {
"excellent": "Thin Rollers: rollerblade, skateboard",
"good": "Thin Wheels: racing bike",
"intermediate": "Wheels: city bike, wheelchair, scooter",
"bad": "Robust Wheels: trekking bike, car, rickshaw",
"very_bad": "High Clearance: light duty off-road vehicle",
"horrible": "Off-Road: heavy duty off-road vehicle",
"very_horrible": "Specialized off-road: tractor, ATV",
"impassable": "Impassable / No wheeled vehicle"
}
}
}
```
If a combo field does not specify `options` or `strings`, the field will fetch
common tag values from the Taginfo service to use as dropdown values.
##### `snake_case`
For combo fields, spaces are replaced with underscores in the tag value if `snake_case` is `true`. The default is `true`.
##### `caseSensitive`
For combo fields, case-sensitive field values are allowed if `caseSensitive` is `true`. The default is `false`.
##### `minValue`
For number fields, the lowest valid value. There is no default.
##### `maxValue`
For number fields, the greatest valid value. There is no default.
##### `increment`
For number fields, the amount the stepper control increases or decreases the value. The default is `1`.
##### `prerequisiteTag`
An object defining the tags the feature needs before this field will be displayed. It may have this property:
- `key`: The key for the required tag.
And may optionally be combined with one of these properties:
- `value`: The value that the key must have.
- `valueNot`: The value that the key must not have.
Alternatively, the object may contain a single property:
- `keyNot`: The key that must not be present.
For example, this is how we show the Internet Access Fee field only if the feature has an `internet_access` tag not equal to `no`.
```js
"prerequisiteTag": {
"key": "internet_access",
"valueNot": "no"
}
```
If a feature has a value for this field's `key` or `keys`, it will display regardless of the `prerequisiteTag` property.
##### `countryCodes`
An array of two-letter, lowercase [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes. The field will only be available for features in the specified, whitelisted countries.
By default, fields are available everywhere.
##### `notCountryCodes`
An array of two-letter, lowercase [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes. Similar to `countryCodes` except a blocklist.
##### `urlFormat`
For `identifier` fields, the permalink URL of the external record. It must contain a `{value}` placeholder where the tag value will be inserted. For example:
```js
"urlFormat": "https://geonames.usgs.gov/apex/f?p=gnispq:3:::NO::P3_FID:{value}"
```
##### `pattern`
For `identifier` fields, the regular expression that valid values are expected to match to be linkable.
## Building
To build presets, all you need to do is run `npm run build`.
The following files are autogenerated and will be replaced when rebuilding:
* `data/presets/categories.json`
* `data/presets/fields.json`
* `data/presets/presets.json`
* `data/presets.yaml`
* `data/taginfo.json`
* `dist/locales/en.json`
## Custom Presets
iD supports deployments which use a custom set of presets. You can supply presets via
the `presets` accessor:
```js
var id = iD.coreContext().presets({
presets: { ... },
fields: { ... },
defaults: { ... },
categories: { ... }
});
```
All four parts (presets, fields, defaults, and categories) must be supplied. In addition,
several base presets and fields must be included.
Basic geometric presets must be included so that every feature matches at least one preset.
For example:
```js
"area": {
"name": "Area",
"tags": {},
"geometry": ["area"],
"matchScore": 0.1
},
"line": {
"name": "Line",
"tags": {},
"geometry": ["line"],
"matchScore": 0.1
},
"point": {
"name": "Point",
"tags": {},
"geometry": ["point", "vertex"],
"matchScore": 0.1
},
"relation": {
"name": "Relation",
"tags": {},
"geometry": ["relation"],
"matchScore": 0.1
}
```
A "name" field must be included:
```js
"name": {
"key": "name",
"type": "localized",
"label": "Name",
"placeholder": "Common name (if any)"
}
```

View File

@@ -1 +0,0 @@
{"category-barrier": {"icon": "maki-roadblock", "name": "Barrier Features", "members": ["barrier/fence", "barrier/wall", "barrier/ditch", "barrier/gate", "barrier/hedge", "barrier/kerb", "barrier"]}, "category-building": {"icon": "maki-building", "name": "Building Features", "members": ["building", "building/house", "building/apartments", "building/garage", "building/retail", "building/commercial", "building/industrial", "building/residential"]}, "category-golf": {"icon": "maki-golf", "name": "Golf Features", "members": ["golf/fairway", "golf/green", "golf/lateral_water_hazard", "golf/rough", "golf/bunker", "golf/tee", "golf/water_hazard", "golf/driving_range", "golf/hole", "golf/cartpath", "golf/path"]}, "category-landuse": {"icon": "maki-landuse", "name": "Land Use Features", "members": ["landuse/residential", "landuse/industrial", "landuse/commercial", "landuse/retail", "landuse/farmland", "landuse/farmyard", "landuse/forest", "landuse/meadow", "landuse/aquaculture", "landuse/cemetery", "landuse/military", "landuse/religious"]}, "category-natural": {"icon": "maki-natural", "name": "Natural Features", "members": ["natural/water", "natural/wood", "natural/scrub", "natural/wetland", "natural/grassland", "natural/heath", "natural/bare_rock", "natural/beach", "natural/cave_entrance", "natural/glacier", "natural/coastline", "natural/tree_row", "natural/peak", "natural/cliff"]}, "category-path": {"icon": "temaki-pedestrian", "name": "Paths", "members": ["highway/path", "highway/footway", "highway/footway/marked", "highway/footway/sidewalk", "highway/steps", "highway/cycleway", "highway/bridleway", "highway/pedestrian_line"]}, "category-rail": {"icon": "temaki-railway_track", "name": "Rails", "members": ["railway/rail", "railway/disused", "railway/tram", "railway/subway", "railway/narrow_gauge", "railway/light_rail", "railway/monorail", "railway/funicular"]}, "category-restriction": {"icon": "iD-restriction", "name": "Restriction Features", "members": ["type/restriction/no_left_turn", "type/restriction/no_right_turn", "type/restriction/no_straight_on", "type/restriction/no_u_turn", "type/restriction/only_left_turn", "type/restriction/only_right_turn", "type/restriction/only_straight_on", "type/restriction/only_u_turn", "type/restriction"]}, "category-road_major": {"icon": "iD-highway-unclassified", "name": "Major Roads", "members": ["highway/motorway", "highway/trunk", "highway/primary", "highway/secondary", "highway/tertiary", "highway/motorway_link", "highway/trunk_link", "highway/primary_link", "highway/secondary_link", "highway/tertiary_link"]}, "category-road_minor": {"icon": "iD-highway-unclassified", "name": "Minor Roads", "members": ["highway/unclassified", "highway/residential", "highway/living_street", "highway/service", "highway/track"]}, "category-road_service": {"icon": "iD-highway-service", "name": "Service Roads", "members": ["highway/service", "highway/service/parking_aisle", "highway/service/driveway", "highway/service/alley", "highway/service/emergency_access", "highway/service/drive-through"]}, "category-route": {"icon": "iD-route", "name": "Route Features", "members": ["type/route/road", "type/route/bicycle", "type/route/foot", "type/route/hiking", "type/route/horse", "type/route/piste", "type/route/bus", "type/route/train", "type/route/light_rail", "type/route/tram", "type/route/subway", "type/route/ferry", "type/route/power", "type/route/pipeline", "type/route/detour", "type/route_master", "type/route"]}, "category-utility": {"icon": "iD-power-line", "name": "Utility Features", "members": ["power/line", "power/minor_line", "man_made/pipeline", "power/cable/underground"]}, "category-water": {"icon": "maki-water", "name": "Water Bodies", "members": ["natural/water", "natural/water/pond", "natural/water/basin", "natural/water/lake", "natural/water/reservoir"]}, "category-waterway": {"icon": "iD-waterway-stream", "name": "Waterways", "members": ["waterway/stream", "waterway/drain", "waterway/river", "waterway/canal", "waterway/ditch", "natural/water/stream", "natural/water/river", "natural/water/canal"]}}

View File

@@ -1,13 +0,0 @@
{
"icon": "maki-roadblock",
"name": "Barrier Features",
"members": [
"barrier/fence",
"barrier/wall",
"barrier/ditch",
"barrier/gate",
"barrier/hedge",
"barrier/kerb",
"barrier"
]
}

View File

@@ -1,14 +0,0 @@
{
"icon": "maki-building",
"name": "Building Features",
"members": [
"building",
"building/house",
"building/apartments",
"building/garage",
"building/retail",
"building/commercial",
"building/industrial",
"building/residential"
]
}

View File

@@ -1,17 +0,0 @@
{
"icon": "maki-golf",
"name": "Golf Features",
"members": [
"golf/fairway",
"golf/green",
"golf/lateral_water_hazard",
"golf/rough",
"golf/bunker",
"golf/tee",
"golf/water_hazard",
"golf/driving_range",
"golf/hole",
"golf/cartpath",
"golf/path"
]
}

View File

@@ -1,18 +0,0 @@
{
"icon": "maki-landuse",
"name": "Land Use Features",
"members": [
"landuse/residential",
"landuse/industrial",
"landuse/commercial",
"landuse/retail",
"landuse/farmland",
"landuse/farmyard",
"landuse/forest",
"landuse/meadow",
"landuse/aquaculture",
"landuse/cemetery",
"landuse/military",
"landuse/religious"
]
}

View File

@@ -1,20 +0,0 @@
{
"icon": "maki-natural",
"name": "Natural Features",
"members": [
"natural/water",
"natural/wood",
"natural/scrub",
"natural/wetland",
"natural/grassland",
"natural/heath",
"natural/bare_rock",
"natural/beach",
"natural/cave_entrance",
"natural/glacier",
"natural/coastline",
"natural/tree_row",
"natural/peak",
"natural/cliff"
]
}

View File

@@ -1,14 +0,0 @@
{
"icon": "temaki-pedestrian",
"name": "Paths",
"members": [
"highway/path",
"highway/footway",
"highway/footway/marked",
"highway/footway/sidewalk",
"highway/steps",
"highway/cycleway",
"highway/bridleway",
"highway/pedestrian_line"
]
}

View File

@@ -1,14 +0,0 @@
{
"icon": "temaki-railway_track",
"name": "Rails",
"members": [
"railway/rail",
"railway/disused",
"railway/tram",
"railway/subway",
"railway/narrow_gauge",
"railway/light_rail",
"railway/monorail",
"railway/funicular"
]
}

View File

@@ -1,15 +0,0 @@
{
"icon": "iD-restriction",
"name": "Restriction Features",
"members": [
"type/restriction/no_left_turn",
"type/restriction/no_right_turn",
"type/restriction/no_straight_on",
"type/restriction/no_u_turn",
"type/restriction/only_left_turn",
"type/restriction/only_right_turn",
"type/restriction/only_straight_on",
"type/restriction/only_u_turn",
"type/restriction"
]
}

View File

@@ -1,16 +0,0 @@
{
"icon": "iD-highway-unclassified",
"name": "Major Roads",
"members": [
"highway/motorway",
"highway/trunk",
"highway/primary",
"highway/secondary",
"highway/tertiary",
"highway/motorway_link",
"highway/trunk_link",
"highway/primary_link",
"highway/secondary_link",
"highway/tertiary_link"
]
}

View File

@@ -1,11 +0,0 @@
{
"icon": "iD-highway-unclassified",
"name": "Minor Roads",
"members": [
"highway/unclassified",
"highway/residential",
"highway/living_street",
"highway/service",
"highway/track"
]
}

View File

@@ -1,12 +0,0 @@
{
"icon": "iD-highway-service",
"name": "Service Roads",
"members": [
"highway/service",
"highway/service/parking_aisle",
"highway/service/driveway",
"highway/service/alley",
"highway/service/emergency_access",
"highway/service/drive-through"
]
}

View File

@@ -1,23 +0,0 @@
{
"icon": "iD-route",
"name": "Route Features",
"members": [
"type/route/road",
"type/route/bicycle",
"type/route/foot",
"type/route/hiking",
"type/route/horse",
"type/route/piste",
"type/route/bus",
"type/route/train",
"type/route/light_rail",
"type/route/tram",
"type/route/subway",
"type/route/ferry",
"type/route/power",
"type/route/pipeline",
"type/route/detour",
"type/route_master",
"type/route"
]
}

View File

@@ -1,10 +0,0 @@
{
"icon": "iD-power-line",
"name": "Utility Features",
"members": [
"power/line",
"power/minor_line",
"man_made/pipeline",
"power/cable/underground"
]
}

View File

@@ -1,11 +0,0 @@
{
"icon": "maki-water",
"name": "Water Bodies",
"members": [
"natural/water",
"natural/water/pond",
"natural/water/basin",
"natural/water/lake",
"natural/water/reservoir"
]
}

View File

@@ -1,14 +0,0 @@
{
"icon": "iD-waterway-stream",
"name": "Waterways",
"members": [
"waterway/stream",
"waterway/drain",
"waterway/river",
"waterway/canal",
"waterway/ditch",
"natural/water/stream",
"natural/water/river",
"natural/water/canal"
]
}

View File

@@ -1,61 +0,0 @@
{
"area": [
"category-landuse",
"category-building",
"category-water",
"category-natural",
"leisure/park",
"amenity/hospital",
"amenity/place_of_worship",
"amenity/cafe",
"amenity/restaurant",
"area"
],
"line": [
"category-road_major",
"category-road_minor",
"category-rail",
"category-path",
"category-waterway",
"category-barrier",
"category-natural",
"category-utility",
"line"
],
"point": [
"category-natural",
"leisure/park",
"amenity/hospital",
"amenity/place_of_worship",
"amenity/cafe",
"amenity/restaurant",
"amenity/fast_food",
"amenity/bar",
"amenity/bank",
"shop/supermarket",
"point"
],
"vertex": [
"highway/crossing/marked",
"highway/crossing/unmarked",
"railway/level_crossing",
"highway/traffic_signals",
"highway/turning_circle",
"highway/turning_loop",
"traffic_calming",
"highway/mini_roundabout",
"highway/motorway_junction",
"point"
],
"relation": [
"category-route",
"category-restriction",
"public_transport/stop_area",
"type/boundary",
"type/waterway",
"type/multipolygon",
"type/enforcement",
"type/site",
"relation"
]
}

View File

@@ -1,522 +0,0 @@
{
"access_aisle": {"key": "access_aisle", "type": "combo", "label": "Type"},
"access_simple": {"key": "access", "type": "combo", "label": "Allowed Access", "options": ["yes", "permissive", "private", "customers", "permit", "no"], "terms": ["permitted", "private", "public"]},
"access": {"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"}, "dismount": {"title": "Dismount", "description": "Access allowed but rider must dismount"}, "permit": {"title": "Permit", "description": "Access allowed only with a valid permit or license"}}}},
"addr/interpolation": {"key": "addr:interpolation", "type": "combo", "label": "Type", "strings": {"options": {"all": "All", "even": "Even", "odd": "Odd", "alphabetic": "Alphabetic"}}},
"address": {"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"], "icon": "address", "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": "Chōme/Aza/Koaza", "place": "Place", "postcode": "Postcode", "province": "Province", "province!cn": "Province/Municipality/AR/SAR", "province!jp": "Prefecture", "quarter": "Quarter", "quarter!jp": "Ōaza/Machi", "state": "State", "street": "Street", "subdistrict": "Subdistrict", "subdistrict!vn": "Ward/Commune/Townlet", "suburb": "Suburb", "suburb!jp": "Ward", "unit": "Unit"}}, "terms": ["location"]},
"admin_level": {"key": "admin_level", "type": "number", "minValue": 1, "label": "Admin Level"},
"aerialway": {"key": "aerialway", "type": "typeCombo", "label": "Type"},
"aerialway/access": {"key": "aerialway:access", "type": "combo", "label": "Access", "strings": {"options": {"entry": "Entry", "exit": "Exit", "both": "Both"}}},
"aerialway/bubble": {"key": "aerialway:bubble", "type": "check", "label": "Bubble"},
"aerialway/capacity": {"key": "aerialway:capacity", "type": "number", "minValue": 0, "label": "Capacity (per hour)", "placeholder": "500, 2500, 5000..."},
"aerialway/duration": {"key": "aerialway:duration", "type": "number", "minValue": 0, "label": "Duration (minutes)", "placeholder": "1, 2, 3..."},
"aerialway/heating": {"key": "aerialway:heating", "type": "check", "label": "Heated"},
"aerialway/occupancy": {"key": "aerialway:occupancy", "type": "number", "minValue": 0, "label": "Occupancy", "placeholder": "2, 4, 8..."},
"aerialway/summer/access": {"key": "aerialway:summer:access", "type": "combo", "label": "Access (summer)", "strings": {"options": {"entry": "Entry", "exit": "Exit", "both": "Both"}}},
"aeroway": {"key": "aeroway", "type": "typeCombo", "label": "Type"},
"agrarian": {"key": "agrarian", "type": "semiCombo", "label": "Products"},
"air_conditioning": {"key": "air_conditioning", "type": "check", "label": "Air Conditioning", "terms": ["cooling system", "refrigeration"]},
"amenity": {"key": "amenity", "type": "typeCombo", "label": "Type"},
"animal_boarding": {"key": "animal_boarding", "type": "semiCombo", "label": "For Animals"},
"animal_breeding": {"key": "animal_breeding", "type": "semiCombo", "label": "For Animals"},
"animal_shelter": {"key": "animal_shelter", "type": "semiCombo", "label": "For Animals"},
"architect": {"key": "architect", "type": "text", "label": "Architect", "terms": ["building designer"]},
"area/highway": {"key": "area:highway", "type": "typeCombo", "label": "Type"},
"artist": {"key": "artist_name", "type": "text", "label": "Artist"},
"artwork_type": {"key": "artwork_type", "type": "combo", "label": "Type"},
"ascent": {"key": "ascent", "minValue": 0, "type": "number", "label": "Total Ascent", "terms": ["ascent", "climb", "cumulative elevation gain"]},
"atm": {"key": "atm", "type": "check", "label": "ATM"},
"attraction": {"key": "attraction", "type": "typeCombo", "label": "Type"},
"automated": {"key": "automated", "type": "check", "label": "Automated"},
"baby_feeding": {"key": "baby_feeding", "type": "combo", "label": "Baby Nursing Area", "strings": {"options": {"room": "Dedicated Room", "yes": "Marked Space", "no": "None"}}, "terms": ["baby feeding", "breastfeeding", "lactation", "mothers", "nursing"]},
"baby_seat": {"key": "baby", "type": "check", "label": "Baby Seat"},
"backcountry": {"key": "backcountry", "type": "check", "label": "Backcountry"},
"backrest": {"key": "backrest", "type": "check", "label": "Backrest"},
"bar": {"key": "bar", "type": "check", "label": "Bar"},
"barrier": {"key": "barrier", "type": "typeCombo", "label": "Type"},
"basin": {"key": "basin", "type": "combo", "label": "Type"},
"bath/open_air": {"key": "bath:open_air", "label": "Open Air", "type": "check"},
"bath/sand_bath": {"key": "bath:sand_bath", "label": "Sand Bath", "type": "check"},
"bath/type": {"key": "bath:type", "type": "combo", "label": "Specialty"},
"beauty": {"key": "beauty", "type": "semiCombo", "label": "Services"},
"bench": {"key": "bench", "type": "check", "label": "Bench", "terms": ["seating"]},
"bicycle_parking": {"key": "bicycle_parking", "type": "combo", "label": "Type"},
"bin": {"key": "bin", "type": "check", "label": "Waste Bin", "terms": ["garbage can", "trash can"]},
"blind": {"key": "blind", "type": "radio", "strings": {"options": {"yes": "Yes", "limited": "Limited", "no": "No"}}, "label": "Blind Person Access", "terms": ["sight impairment", "vision impairment"]},
"blood_components": {"key": "blood:", "type": "multiCombo", "label": "Blood Components", "strings": {"options": {"whole": "whole blood", "plasma": "plasma", "platelets": "platelets", "stemcells": "stem cell samples"}}},
"board_type": {"key": "board_type", "type": "combo", "label": "Type"},
"bollard": {"key": "bollard", "type": "combo", "label": "Type"},
"booth": {"key": "booth", "type": "combo", "label": "Booth", "caseSensitive": true},
"bottle": {"key": "bottle", "type": "check", "label": "Bottle Filling"},
"boules": {"key": "boules", "type": "typeCombo", "label": "Type"},
"boundary": {"key": "boundary", "type": "combo", "label": "Type"},
"brand": {"key": "brand", "type": "text", "label": "Brand"},
"brewery": {"key": "brewery", "type": "semiCombo", "label": "Draft Beers", "terms": ["on tap"]},
"bridge_combo": {"key": "bridge", "type": "combo", "label": "Type"},
"bridge": {"key": "bridge", "type": "typeCombo", "label": "Type", "usage": "group", "placeholder": "Default"},
"bridge/support": {"key": "bridge:support", "type": "typeCombo", "label": "Type"},
"building_area": {"key": "building", "type": "combo", "default": "yes", "geometry": ["area"], "label": "Building"},
"building": {"key": "building", "type": "combo", "label": "Building", "terms": ["structure"]},
"building/flats": {"key": "building:flats", "type": "number", "minValue": 0, "label": "Units", "placeholder": "2, 4, 6, 8..."},
"building/levels_building": {"key": "building:levels", "type": "number", "minValue": 0, "label": "Building Levels", "placeholder": "2, 4, 6...", "prerequisiteTag": {"key": "building", "valueNot": "no"}},
"building/levels": {"key": "building:levels", "type": "number", "minValue": 0, "label": "Levels", "placeholder": "2, 4, 6..."},
"building/levels/underground": {"key": "building:levels:underground", "type": "number", "minValue": 0, "label": "Underground Levels", "placeholder": "2, 4, 6...", "terms": ["basement levels"]},
"building/material": {"key": "building:material", "type": "combo", "label": "Material"},
"bunker_type": {"key": "bunker_type", "type": "combo", "label": "Type"},
"cables": {"key": "cables", "type": "number", "minValue": 1, "label": "Cables", "placeholder": "1, 2, 3..."},
"camera/direction": {"key": "camera:direction", "type": "number", "label": "Direction (Degrees Clockwise)", "placeholder": "45, 90, 180, 270"},
"camera/mount": {"key": "camera:mount", "type": "combo", "label": "Camera Mount"},
"camera/type": {"key": "camera:type", "type": "combo", "label": "Camera Type", "strings": {"options": {"fixed": "Fixed", "panning": "Panning", "dome": "Dome"}}},
"capacity_parking": {"key": "capacity", "type": "number", "minValue": 0, "label": "Total Spaces", "placeholder": "10, 20, 30..."},
"capacity_volume": {"key": "capacity", "type": "number", "minValue": 0, "label": "Capacity (Cubic Meters)", "placeholder": "50, 100, 200..."},
"capacity": {"key": "capacity", "type": "number", "minValue": 0, "label": "Capacity", "placeholder": "50, 100, 200..."},
"capacity/disabled_parking": {"key": "capacity:disabled", "type": "number", "minValue": 0, "label": "Accessible Spaces", "placeholder": "1, 2, 3..."},
"cash_in": {"key": "cash_in", "type": "check", "label": "Cash In"},
"castle_type": {"key": "castle_type", "type": "combo", "label": "Type"},
"changing_table": {"key": "changing_table", "type": "check", "label": "Diaper Changing Table"},
"charge_fee": {"key": "charge", "type": "text", "label": "Fee Amount", "placeholder": "1 EUR, 5 USD, 10 JPY…", "prerequisiteTag": {"key": "fee", "valueNot": "no"}},
"charge_toll": {"key": "charge", "type": "text", "label": "Toll Amount", "placeholder": "1 EUR, 5 USD, 10 JPY…", "prerequisiteTag": {"key": "toll", "valueNot": "no"}},
"check_date": {"key": "check_date", "type": "text", "label": "Last Checked Date", "placeholder": "YYYY-MM-DD"},
"circumference": {"key": "circumference", "type": "combo", "label": "Circumference", "snake_case": false, "placeholder": "1 m, 20 cm, 30 in…"},
"clothes": {"key": "clothes", "type": "semiCombo", "label": "Clothes"},
"club": {"key": "club", "type": "typeCombo", "label": "Type"},
"collection_times": {"key": "collection_times", "type": "text", "label": "Collection Times"},
"collector": {"key": "collector", "type": "semiCombo", "label": "Items"},
"colour": {"key": "colour", "type": "text", "label": "Color"},
"comment": {"key": "comment", "type": "textarea", "label": "Changeset Comment", "usage": "changeset", "placeholder": "Brief description of your contributions (required)"},
"communication_multi": {"key": "communication:", "type": "multiCombo", "label": "Communication Types"},
"connectivity": {"key": "connectivity", "type": "text", "label": "Connectivity"},
"construction": {"key": "construction", "type": "combo", "label": "Type"},
"consulate": {"key": "consulate", "type": "combo", "label": "Type"},
"consulting": {"key": "consulting", "type": "semiCombo", "label": "Expertise"},
"contact/webcam": {"key": "contact:webcam", "type": "url", "icon": "website", "label": "Webcam URL", "placeholder": "http://example.com/"},
"content": {"key": "content", "type": "combo", "label": "Content", "options": ["silage", "water", "oil", "fuel", "slurry", "gas", "manure", "sewage"]},
"conveying_escalator": {"key": "conveying", "type": "check", "label": "Escalator"},
"conveying": {"key": "conveying", "type": "typeCombo", "label": "Movement Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "reversible": "Reversible"}}},
"country_flag": {"key": "country", "type": "combo", "label": "Flag Country", "prerequisiteTag": {"key": "flag:type", "value": "national"}},
"country": {"key": "country", "type": "combo", "label": "Country"},
"couplings": {"key": "couplings", "type": "number", "minValue": 1, "label": "Couplings", "placeholder": "1, 2, 3..."},
"covered": {"key": "covered", "type": "check", "label": "Covered"},
"craft": {"key": "craft", "type": "typeCombo", "label": "Type"},
"crane/type": {"key": "crane:type", "type": "combo", "label": "Crane Type", "strings": {"options": {"portal_crane": "Portal Crane", "floor-mounted_crane": "Floor-mounted Crane", "travel_lift": "Travel Lift"}}},
"crop": {"key": "crop", "type": "semiCombo", "label": "Crops"},
"crossing": {"key": "crossing", "type": "combo", "label": "Type"},
"crossing/island": {"key": "crossing:island", "type": "check", "label": "Refuge Island"},
"cuisine": {"key": "cuisine", "type": "semiCombo", "label": "Cuisines", "terms": ["fare", "food types"]},
"currency_multi": {"key": "currency:", "type": "multiCombo", "label": "Currency Types", "terms": ["bills", "cash", "coins", "money"]},
"cutting": {"key": "cutting", "type": "typeCombo", "label": "Type", "usage": "group", "placeholder": "Default"},
"cycle_network": {"key": "cycle_network", "type": "networkCombo", "label": "Network"},
"cycleway": {"keys": ["cycleway", "cycleway:left", "cycleway:right"], "reference": {"key": "cycleway"}, "type": "cycleway", "label": "Bike Lanes", "placeholder": "none", "strings": {"types": {"cycleway:left": "Left side", "cycleway:right": "Right side"}, "options": {"none": {"title": "None", "description": "No bike lane"}, "lane": {"title": "Standard bike lane", "description": "A bike lane separated from auto traffic by a painted line"}, "shared_lane": {"title": "Shared bike lane", "description": "A bike lane with no separation from auto traffic"}, "track": {"title": "Bike track", "description": "A bike lane separated from traffic by a physical barrier"}, "share_busway": {"title": "Bike lane shared with bus", "description": "A bike lane shared with a bus lane"}, "opposite_lane": {"title": "Opposite bike lane", "description": "A bike lane that travels in the opposite direction of traffic"}, "opposite": {"title": "Contraflow bike lane", "description": "A bike lane that travels in both directions on a one-way street"}}}},
"dance/style": {"key": "dance:style", "type": "semiCombo", "label": "Dance Styles"},
"date": {"key": "date", "type": "check", "label": "Date"},
"defibrillator/location": {"key": "defibrillator:location", "type": "textarea", "label": "Location Description"},
"delivery": {"key": "delivery", "type": "check", "label": "Delivery"},
"denomination": {"key": "denomination", "type": "combo", "label": "Denomination", "prerequisiteTag": {"key": "religion", "valueNot": "none"}},
"denotation": {"key": "denotation", "type": "combo", "label": "Denotation"},
"departures_board": {"key": "departures_board", "type": "combo", "label": "Departures Board", "strings": {"options": {"yes": "Yes", "timetable": "Timetable", "realtime": "Realtime", "no": "None"}}},
"depth": {"key": "depth", "minValue": 0, "type": "number", "label": "Depth (Meters)"},
"descent": {"key": "descent", "minValue": 0, "type": "number", "label": "Total Descent", "terms": ["descent", "cumulative elevation"]},
"description": {"key": "description", "type": "textarea", "label": "Description", "universal": true, "terms": ["summary"]},
"design": {"key": "design", "type": "combo", "label": "Design"},
"destination_oneway": {"key": "destination", "type": "semiCombo", "label": "Destinations", "prerequisiteTag": {"key": "oneway", "value": "yes"}, "snake_case": false},
"destination_waterway": {"key": "destination", "type": "text", "label": "Destination"},
"destination": {"key": "destination", "type": "semiCombo", "label": "Destinations"},
"destination/ref_oneway": {"key": "destination:ref", "type": "semiCombo", "label": "Destination Road Numbers", "prerequisiteTag": {"key": "oneway", "value": "yes"}, "snake_case": false},
"destination/ref": {"key": "destination:ref", "type": "semiCombo", "label": "Destination Road Numbers", "snake_case": false},
"destination/symbol_oneway": {"key": "destination:symbol", "type": "semiCombo", "label": "Destination Symbols", "prerequisiteTag": {"key": "oneway", "value": "yes"}},
"destination/symbol": {"key": "destination:symbol", "type": "semiCombo", "label": "Destination Symbols"},
"devices": {"key": "devices", "type": "number", "minValue": 0, "label": "Devices", "placeholder": "1, 2, 3..."},
"diameter": {"key": "diameter", "type": "combo", "label": "Diameter", "snake_case": false, "placeholder": "5 mm, 10 cm, 15 in…"},
"diet_multi": {"key": "diet:", "type": "multiCombo", "label": "Diet Types", "terms": ["gluten free", "fruitarian", "halal", "kosher", "lactose free", "meat", "pescatarian", "raw", "vegan", "vegetarian"]},
"diplomatic": {"key": "diplomatic", "type": "combo", "label": "Type"},
"diplomatic/services": {"key": "diplomatic:services:", "type": "multiCombo", "label": "Services"},
"direction_clock": {"key": "direction", "type": "combo", "label": "Direction", "strings": {"options": {"clockwise": "Clockwise", "anticlockwise": "Counterclockwise"}}},
"direction_point": {"key": "direction", "type": "number", "label": "Direction (Degrees Clockwise)", "placeholder": "45, 90, 180, 270", "increment": 5, "geometry": ["point"]},
"direction_vertex_dual": {"key": "direction", "type": "combo", "label": "Direction Affected", "strings": {"options": {"forward": "Forward", "backward": "Backward"}}},
"direction_vertex": {"key": "direction", "type": "combo", "label": "Direction Affected", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}},
"direction": {"key": "direction", "type": "number", "label": "Direction (Degrees Clockwise)", "increment": 5, "placeholder": "45, 90, 180, 270"},
"dispensing": {"key": "dispensing", "type": "check", "label": "Dispenses Prescriptions", "default": "yes"},
"display": {"key": "display", "type": "combo", "label": "Display", "options": ["analog", "digital", "sundial", "unorthodox"]},
"distance": {"key": "distance", "type": "text", "label": "Distance", "terms": ["length", "mileage"]},
"disused/amenity": {"key": "disused:amenity", "type": "typeCombo", "label": "Type"},
"disused/railway": {"key": "disused:railway", "type": "typeCombo", "label": "Type"},
"disused/shop": {"key": "disused:shop", "type": "typeCombo", "label": "Type"},
"dock": {"key": "dock", "type": "combo", "label": "Type"},
"dog": {"key": "dog", "type": "combo", "label": "Dogs", "strings": {"options": {"yes": "Allowed", "leashed": "Leashed Only", "no": "Not Allowed"}}, "terms": ["animals", "pets"]},
"door_type": {"key": "door", "type": "typeCombo", "label": "Type"},
"door": {"key": "door", "type": "combo", "label": "Door"},
"drink_multi": {"key": "drink:", "type": "multiCombo", "label": "Drinks"},
"drinking_water": {"key": "drinking_water", "type": "check", "label": "Drinkable", "terms": ["drinkworthy", "potable"]},
"drive_through": {"key": "drive_through", "type": "check", "label": "Drive-Through"},
"duration": {"key": "duration", "type": "text", "label": "Duration", "placeholder": "00:00"},
"ele_node": {"key": "ele", "type": "number", "icon": "elevation", "label": "Elevation", "universal": true, "geometry": ["point", "vertex"], "terms": ["altitude", "height"]},
"ele": {"key": "ele", "type": "number", "icon": "elevation", "label": "Elevation", "geometry": ["line", "area", "relation"], "terms": ["altitude", "height"]},
"electrified": {"key": "electrified", "type": "combo", "label": "Electrification", "placeholder": "Contact Line, Electrified Rail...", "strings": {"options": {"contact_line": "Contact Line", "rail": "Electrified Rail", "yes": "Yes (unspecified)", "no": "No"}}, "terms": ["contact line", "powered", "third rail"]},
"email": {"key": "email", "type": "email", "placeholder": "example@example.com", "label": "Email"},
"embankment": {"key": "embankment", "type": "typeCombo", "label": "Type", "usage": "group", "placeholder": "Default"},
"embassy": {"key": "embassy", "type": "combo", "label": "Type"},
"emergency_combo": {"key": "emergency", "type": "combo", "label": "Type"},
"emergency_ward_entrance": {"key": "emergency_ward_entrance", "type": "combo", "label": "Type"},
"emergency": {"key": "emergency", "type": "check", "label": "Emergency"},
"enforcement": {"key": "enforcement", "type": "combo", "label": "Type"},
"entrance": {"key": "entrance", "type": "typeCombo", "label": "Type"},
"except": {"key": "except", "type": "combo", "label": "Exceptions"},
"expected_rcn_route_relations": {"key": "expected_rcn_route_relations", "type": "number", "label": "Adjacent Cycling Nodes"},
"expected_rwn_route_relations": {"key": "expected_rwn_route_relations", "type": "number", "label": "Adjacent Walking Nodes"},
"faces": {"key": "faces", "type": "number", "minValue": 0, "label": "Faces"},
"fax": {"key": "fax", "type": "tel", "label": "Fax", "placeholder": "+31 42 123 4567"},
"fee": {"key": "fee", "type": "check", "label": "Fee"},
"fence_type": {"key": "fence_type", "type": "combo", "label": "Type"},
"fire_hydrant/diameter": {"key": "fire_hydrant:diameter", "type": "combo", "label": "Diameter (mm, in, or letters)", "snake_case": false},
"fire_hydrant/pressure": {"key": "fire_hydrant:pressure", "type": "combo", "label": "Pressure (bar)", "snake_case": false},
"fire_hydrant/type": {"key": "fire_hydrant:type", "type": "combo", "label": "Shape", "strings": {"options": {"pillar": "Pillar/Aboveground", "underground": "Underground", "wall": "Wall", "pipe": "Capped Pipe"}}},
"fireplace": {"key": "fireplace", "type": "check", "label": "Fireplace"},
"fishing": {"key": "fishing", "type": "combo", "label": "Fishing"},
"fitness_station": {"key": "fitness_station", "type": "typeCombo", "label": "Equipment Type"},
"fixme": {"key": "fixme", "type": "textarea", "label": "Fix Me", "universal": true, "terms": ["help request"]},
"flag/type": {"key": "flag:type", "type": "combo", "label": "Flag Type"},
"floating": {"key": "floating", "type": "check", "label": "Floating"},
"flood_prone": {"key": "flood_prone", "type": "check", "label": "Flood Prone"},
"ford": {"key": "ford", "type": "typeCombo", "label": "Type", "usage": "group", "placeholder": "Default"},
"fountain": {"key": "fountain", "type": "combo", "label": "Type"},
"frequency_electrified": {"key": "frequency", "type": "combo", "label": "Operating Frequency", "prerequisiteTag": {"key": "electrified", "valueNot": "no"}},
"frequency": {"key": "frequency", "type": "combo", "label": "Operating Frequency"},
"from": {"key": "from", "type": "text", "label": "From"},
"fuel_multi": {"key": "fuel:", "type": "multiCombo", "label": "Fuel Types"},
"fuel": {"key": "fuel", "type": "combo", "label": "Fuel"},
"gambling": {"key": "gambling", "type": "semiCombo", "label": "Games"},
"garden/type": {"key": "garden:type", "type": "combo", "label": "Garden Type"},
"gauge": {"key": "gauge", "type": "combo", "label": "Gauge"},
"gender": {"type": "radio", "keys": ["male", "female", "unisex"], "label": "Gender", "placeholder": "Unknown", "strings": {"options": {"male": "Male", "female": "Female", "unisex": "Unisex"}}, "terms": ["access", "female", "male", "unisex"]},
"generator/method": {"key": "generator:method", "type": "combo", "label": "Method"},
"generator/output/electricity": {"key": "generator:output:electricity", "type": "typeCombo", "label": "Power Output", "placeholder": "50 MW, 100 MW, 200 MW...", "snake_case": false},
"generator/source": {"key": "generator:source", "type": "combo", "label": "Source"},
"generator/type": {"key": "generator:type", "type": "combo", "label": "Type"},
"geyser/height": {"key": "geyser:height", "type": "text", "label": "Eruption Height"},
"gnis/feature_id": {"key": "gnis:feature_id", "type": "identifier", "label": "GNIS Feature ID", "urlFormat": "https://geonames.usgs.gov/apex/f?p=gnispq:3:::NO::P3_FID:{value}", "pattern": "^[0-9]{1,}$", "countryCodes": ["us"], "terms": ["Federal Geographic Names Information Service", "United States Board on Geographic Names", "USA"]},
"government": {"key": "government", "type": "typeCombo", "label": "Type"},
"grades": {"key": "grades", "type": "combo", "label": "Grade Levels", "snake_case": false},
"grape_variety": {"key": "grape_variety", "type": "semiCombo", "label": "Grape Varieties"},
"group_only": {"key": "group_only", "type": "check", "label": "Groups Only"},
"guest_house": {"key": "guest_house", "type": "combo", "label": "Type"},
"handicap": {"key": "handicap", "type": "number", "label": "Handicap", "placeholder": "1-18"},
"handrail": {"key": "handrail", "type": "check", "label": "Handrail"},
"hashtags": {"key": "hashtags", "type": "semiCombo", "label": "Hashtags", "usage": "changeset", "placeholder": "#example"},
"healthcare": {"key": "healthcare", "type": "typeCombo", "label": "Type"},
"healthcare/speciality": {"key": "healthcare:speciality", "type": "semiCombo", "reference": {"key": "healthcare"}, "label": "Specialties"},
"heating": {"key": "heating", "type": "check", "label": "Heating"},
"height_building": {"key": "height", "minValue": 0, "type": "number", "label": "Building Height (Meters)", "prerequisiteTag": {"key": "building", "valueNot": "no"}},
"height": {"key": "height", "minValue": 0, "type": "number", "label": "Height (Meters)"},
"highspeed": {"key": "highspeed", "type": "check", "label": "High-Speed"},
"highway": {"key": "highway", "type": "typeCombo", "label": "Type"},
"historic": {"key": "historic", "type": "typeCombo", "label": "Type"},
"historic/civilization": {"key": "historic:civilization", "type": "combo", "label": "Historic Civilization"},
"historic/wreck/date_sunk": {"key": "wreck:date_sunk", "type": "text", "label": "Date Sunk"},
"historic/wreck/visible_at_high_tide": {"key": "wreck:visible_at_high_tide", "type": "check", "label": "Visible At High Tide"},
"historic/wreck/visible_at_low_tide": {"key": "wreck:visible_at_low_tide", "type": "check", "label": "Visible At Low Tide"},
"hoops": {"key": "hoops", "type": "number", "minValue": 0, "label": "Hoops", "placeholder": "1, 2, 4..."},
"horse_dressage": {"key": "sport", "type": "check", "label": "Dressage Riding", "strings": {"options": {"undefined": "No", "equestrian": "Yes"}}, "reference": {"key": "sport", "value": "equestrian"}},
"horse_riding": {"key": "leisure", "type": "check", "label": "Horseback Riding", "strings": {"options": {"undefined": "No", "horse_riding": "Yes"}}, "reference": {"key": "leisure", "value": "horse_riding"}},
"horse_scale": {"key": "horse_scale", "type": "combo", "label": "Horseback Riding Difficulty", "placeholder": "Difficult, Dangerous...", "strings": {"options": {"common": "Easy: No problems or difficulties. (default)", "demanding": "Use with caution: Uneven way, occasional difficult passages.", "difficult": "Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.", "critical": "Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.", "dangerous": "Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.", "impossible": "Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life."}}},
"horse_stables": {"key": "amenity", "type": "check", "label": "Riding Stable", "strings": {"options": {"undefined": "No", "stables": "Yes"}}, "reference": {"key": "amenity", "value": "stables"}},
"hot_water": {"key": "hot_water", "type": "check", "label": "Hot Water"},
"iata": {"key": "iata", "type": "text", "label": "IATA Airport Code"},
"icao": {"key": "icao", "type": "text", "label": "ICAO Airport Code"},
"image": {"key": "image", "type": "url", "label": "Image", "placeholder": "https://example.com/photo.jpg", "universal": true, "terms": ["icon", "image uri", "photo", "picture"]},
"incline_steps": {"key": "incline", "type": "combo", "label": "Incline", "strings": {"options": {"up": "Up", "down": "Down"}}},
"incline": {"key": "incline", "type": "combo", "label": "Incline"},
"indoor_type": {"key": "indoor", "type": "typeCombo", "label": "Type"},
"indoor": {"key": "indoor", "type": "check", "label": "Indoor"},
"industrial": {"key": "industrial", "type": "combo", "label": "Type"},
"informal": {"key": "informal", "type": "check", "label": "Informal"},
"information": {"key": "information", "type": "typeCombo", "label": "Type"},
"inscription": {"key": "inscription", "type": "textarea", "label": "Inscription"},
"intermittent_yes": {"key": "intermittent", "type": "check", "label": "Intermittent", "default": "yes"},
"intermittent": {"key": "intermittent", "type": "check", "label": "Intermittent"},
"internet_access": {"key": "internet_access", "type": "combo", "label": "Internet Connection", "strings": {"options": {"yes": "Yes", "no": "No", "wlan": "Wifi", "wired": "Wired", "terminal": "Terminal"}}, "terms": ["wifi", "wlan"]},
"internet_access/fee": {"key": "internet_access:fee", "type": "combo", "label": "Internet Access", "strings": {"options": {"no": "Free", "yes": "Paid", "customers": "Customers Only"}}, "prerequisiteTag": {"key": "internet_access", "valueNot": "no"}, "terms": ["wifi fee"]},
"internet_access/ssid": {"key": "internet_access:ssid", "type": "text", "label": "Wifi Network Name", "prerequisiteTag": {"key": "internet_access", "valueNot": "no"}, "terms": ["ssid"]},
"interval": {"key": "interval", "type": "text", "label": "Interval"},
"junction_line": {"key": "junction", "type": "combo", "label": "Junction", "strings": {"options": {"roundabout": "Roundabout", "circular": "Traffic Circle", "jughandle": "Jughandle"}}},
"junction/ref_oneway": {"key": "junction:ref", "type": "text", "label": "Junction Number", "prerequisiteTag": {"key": "oneway", "value": "yes"}},
"kerb": {"key": "kerb", "type": "combo", "label": "Curb"},
"kerb/height": {"key": "kerb:height", "type": "combo", "snake_case": false, "label": "Height"},
"kneipp_water_cure_multi": {"key": "kneipp_water_cure:", "type": "multiCombo", "label": "Basin Types"},
"label": {"key": "label", "type": "textarea", "label": "Label"},
"lamp_mount": {"key": "lamp_mount", "type": "combo", "label": "Mount"},
"lamp_type": {"key": "lamp_type", "type": "combo", "label": "Type"},
"landuse": {"key": "landuse", "type": "typeCombo", "label": "Type"},
"lanes": {"key": "lanes", "type": "number", "minValue": 0, "label": "Lanes", "placeholder": "1, 2, 3..."},
"language_multi": {"key": "language:", "type": "multiCombo", "label": "Languages"},
"layer": {"key": "layer", "type": "number", "label": "Layer", "placeholder": "0"},
"leaf_cycle_singular": {"key": "leaf_cycle", "type": "combo", "label": "Leaf Cycle", "strings": {"options": {"evergreen": "Evergreen", "deciduous": "Deciduous", "semi_evergreen": "Semi-Evergreen", "semi_deciduous": "Semi-Deciduous"}}},
"leaf_cycle": {"key": "leaf_cycle", "type": "combo", "label": "Leaf Cycle", "strings": {"options": {"evergreen": "Evergreen", "deciduous": "Deciduous", "semi_evergreen": "Semi-Evergreen", "semi_deciduous": "Semi-Deciduous", "mixed": "Mixed"}}},
"leaf_type_singular": {"key": "leaf_type", "type": "combo", "label": "Leaf Type", "strings": {"options": {"broadleaved": "Broadleaved", "needleleaved": "Needleleaved", "leafless": "Leafless"}}},
"leaf_type": {"key": "leaf_type", "type": "combo", "label": "Leaf Type", "strings": {"options": {"broadleaved": "Broadleaved", "needleleaved": "Needleleaved", "mixed": "Mixed", "leafless": "Leafless"}}},
"leisure": {"key": "leisure", "type": "typeCombo", "label": "Type"},
"length": {"key": "length", "type": "number", "minValue": 0, "label": "Length (Meters)"},
"level_semi": {"key": "level", "type": "semiCombo", "label": "Levels", "terms": ["building floors", "decks", "stories", "storeys", "storys"]},
"level": {"key": "level", "type": "combo", "label": "Level", "terms": ["building floor", "deck", "storey", "story"], "prerequisiteTag": {"keyNot": "building"}},
"liaison": {"key": "liaison", "type": "combo", "label": "Type"},
"line_attachment": {"key": "line_attachment", "type": "combo", "label": "Line Attachment"},
"line_management": {"key": "line_management", "type": "combo", "label": "Line Management", "terms": ["branching", "line topology", "termination"]},
"lit": {"key": "lit", "type": "check", "label": "Lit", "terms": ["lamp", "lighting"]},
"location_pool": {"key": "location", "type": "typeCombo", "label": "Location", "strings": {"options": {"outdoor": "Outdoor", "indoor": "Indoor", "roof": "Rooftop"}}},
"location": {"key": "location", "type": "combo", "label": "Location"},
"lock": {"key": "lock", "type": "check", "label": "Lock"},
"lockable": {"key": "lockable", "type": "check", "label": "Lockable"},
"man_made": {"key": "man_made", "type": "typeCombo", "label": "Type"},
"manhole": {"key": "manhole", "type": "typeCombo", "label": "Type"},
"manufacturer": {"key": "manufacturer", "type": "combo", "snake_case": false, "caseSensitive": true, "label": "Manufacturer"},
"map_size": {"key": "map_size", "type": "typeCombo", "label": "Coverage"},
"map_type": {"key": "map_type", "type": "typeCombo", "label": "Type"},
"mapillary": {"key": "mapillary", "type": "identifier", "label": "Mapillary Image ID", "urlFormat": "https://mapillary.com/app/?focus=photo&pKey={value}", "pattern": "^[a-zA-Z0-9-_]{1,}$", "universal": true},
"marker": {"key": "marker", "type": "typeCombo", "label": "Type"},
"material": {"key": "material", "type": "combo", "label": "Material"},
"max_age": {"key": "max_age", "type": "number", "minValue": 0, "label": "Maximum Age", "terms": ["upper age limit"]},
"maxheight": {"key": "maxheight", "type": "combo", "label": "Max Height", "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"", "snake_case": false},
"maxspeed": {"key": "maxspeed", "type": "maxspeed", "label": "Speed Limit", "placeholder": "40, 50, 60..."},
"maxspeed/advisory": {"key": "maxspeed:advisory", "type": "maxspeed", "label": "Advisory Speed Limit", "placeholder": "40, 50, 60..."},
"maxstay": {"key": "maxstay", "type": "combo", "label": "Max Stay", "options": ["15 min", "30 min", "45 min", "1 hr", "1.5 hr", "2 hr", "2.5 hr", "3 hr", "4 hr", "1 day", "2 day"], "snake_case": false},
"maxweight_bridge": {"key": "maxweight", "type": "combo", "label": "Max Weight", "snake_case": false, "prerequisiteTag": {"key": "bridge", "valueNot": "no"}},
"maxweight": {"key": "maxweight", "type": "combo", "label": "Max Weight", "snake_case": false},
"memorial": {"key": "memorial", "type": "combo", "label": "Type"},
"microbrewery": {"key": "microbrewery", "type": "check", "label": "Microbrewery", "terms": ["brewpub", "craft beer"]},
"mimics": {"key": "mimics", "type": "combo", "label": "Mimics", "terms": ["camoflauged", "disguised", "looks like", "tree"]},
"min_age": {"key": "min_age", "type": "number", "minValue": 0, "label": "Minimum Age", "terms": ["lower age limit"]},
"minspeed": {"key": "minspeed", "type": "maxspeed", "label": "Minimum Speed Limit", "placeholder": "20, 30, 40..."},
"monitoring_multi": {"key": "monitoring:", "type": "multiCombo", "label": "Monitoring"},
"mtb/scale": {"key": "mtb:scale", "type": "combo", "label": "Mountain Biking Difficulty", "placeholder": "0, 1, 2, 3...", "strings": {"options": {"0": "0: Solid gravel/packed earth, no obstacles, wide curves", "1": "1: Some loose surface, small obstacles, wide curves", "2": "2: Much loose surface, large obstacles, easy hairpins", "3": "3: Slippery surface, large obstacles, tight hairpins", "4": "4: Loose surface or boulders, dangerous hairpins", "5": "5: Maximum difficulty, boulder fields, landslides", "6": "6: Not rideable except by the very best mountain bikers"}}},
"mtb/scale/imba": {"key": "mtb:scale:imba", "type": "combo", "label": "IMBA Trail Difficulty", "placeholder": "Easy, Medium, Difficult...", "strings": {"options": {"0": "Easiest (white circle)", "1": "Easy (green circle)", "2": "Medium (blue square)", "3": "Difficult (black diamond)", "4": "Extremely Difficult (double black diamond)"}}},
"mtb/scale/uphill": {"key": "mtb:scale:uphill", "type": "combo", "label": "Mountain Biking Uphill Difficulty", "placeholder": "0, 1, 2, 3...", "strings": {"options": {"0": "0: Avg. incline <10%, gravel/packed earth, no obstacles", "1": "1: Avg. incline <15%, gravel/packed earth, few small objects", "2": "2: Avg. incline <20%, stable surface, fistsize rocks/roots", "3": "3: Avg. incline <25%, variable surface, fistsize rocks/branches", "4": "4: Avg. incline <30%, poor condition, big rocks/branches", "5": "5: Very steep, bike generally needs to be pushed or carried"}}},
"museum": {"key": "museum", "type": "combo", "label": "Type"},
"name": {"key": "name", "type": "localized", "label": "Name", "universal": true, "placeholder": "Common name (if any)", "terms": ["label", "title"]},
"natural": {"key": "natural", "type": "typeCombo", "label": "Natural"},
"network_bicycle": {"key": "network", "type": "combo", "label": "Network Class", "placeholder": "Local, Regional, National, International", "strings": {"options": {"lcn": "Local", "rcn": "Regional", "ncn": "National", "icn": "International"}}},
"network_foot": {"key": "network", "type": "combo", "label": "Network Class", "placeholder": "Local, Regional, National, International", "strings": {"options": {"lwn": "Local", "rwn": "Regional", "nwn": "National", "iwn": "International"}}},
"network_horse": {"key": "network", "type": "combo", "label": "Network Class", "placeholder": "Local, Regional, National, International", "strings": {"options": {"lhn": "Local", "rhn": "Regional", "nhn": "National", "ihn": "International"}}},
"network_road": {"key": "network", "type": "networkCombo", "label": "Network"},
"network": {"key": "network", "type": "text", "label": "Network"},
"network/type": {"key": "network:type", "type": "combo", "label": "Network Type", "prerequisiteTag": {"key": "network"}},
"not/name": {"key": "not:name", "type": "semiCombo", "label": "Incorrect Names", "terms": ["common mistake names", "wrong names"]},
"note": {"key": "note", "type": "textarea", "universal": true, "icon": "note", "label": "Note", "terms": ["comment"]},
"office": {"key": "office", "type": "typeCombo", "label": "Type"},
"oneway_yes": {"key": "oneway", "type": "onewayCheck", "label": "One Way", "strings": {"options": {"undefined": "Assumed to be Yes", "yes": "Yes", "no": "No", "reversible": "Reversible", "alternating": "Alternating"}}},
"oneway": {"key": "oneway", "type": "onewayCheck", "label": "One Way", "strings": {"options": {"undefined": "Assumed to be No", "yes": "Yes", "no": "No", "reversible": "Reversible", "alternating": "Alternating"}}, "terms": ["bidirectional", "oneway", "unidirectional"]},
"oneway/bicycle": {"key": "oneway:bicycle", "type": "check", "label": "One Way (Bicycles)", "prerequisiteTag": {"key": "oneway"}},
"openfire": {"key": "openfire", "type": "check", "label": "Open Fires Allowed"},
"opening_date": {"key": "opening_date", "type": "text", "label": "Expected Opening Date", "placeholder": "YYYY-MM-DD"},
"opening_hours": {"key": "opening_hours", "type": "combo", "label": "Hours", "placeholder": "Unknown", "snake_case": false},
"opening_hours/covid19": {"key": "opening_hours:covid19", "type": "combo", "label": "COVID-19 Pandemic Hours", "terms": ["coronavirus", "lockdown", "opening hours", "SARSCoV2"], "snake_case": false},
"operator": {"key": "operator", "type": "text", "label": "Operator"},
"operator/type": {"key": "operator:type", "type": "combo", "label": "Operator Type", "prerequisiteTag": {"key": "operator"}},
"organic": {"key": "organic", "type": "combo", "label": "Organic Products", "strings": {"options": {"no": "None", "yes": "Some", "only": "Only"}}, "terms": ["natural", "non-gmo"]},
"outdoor_seating": {"key": "outdoor_seating", "type": "check", "label": "Outdoor Seating"},
"par": {"key": "par", "type": "number", "minValue": 1, "label": "Par", "placeholder": "3, 4, 5..."},
"park_ride": {"key": "park_ride", "type": "check", "label": "Park and Ride"},
"parking_entrance": {"key": "parking", "type": "combo", "label": "Type", "strings": {"options": {"underground": "Underground", "multi-storey": "Multilevel"}}},
"parking_space": {"key": "parking_space", "type": "combo", "label": "Type"},
"parking": {"key": "parking", "type": "combo", "label": "Type", "strings": {"options": {"surface": "Surface", "underground": "Underground", "multi-storey": "Multilevel", "lane": "Roadside Lane", "carports": "Carports", "garage_boxes": "Garage Boxes", "rooftop": "Rooftop", "sheds": "Sheds"}}},
"payment_multi_fee": {"key": "payment:", "type": "multiCombo", "label": "Payment Types", "prerequisiteTag": {"key": "fee", "valueNot": "no"}},
"payment_multi": {"key": "payment:", "type": "multiCombo", "label": "Payment Types"},
"phases": {"key": "phases", "type": "number", "minValue": 1, "label": "Phases", "placeholder": "1, 2, 3..."},
"phone": {"key": "phone", "type": "tel", "icon": "maki-telephone", "label": "Telephone", "placeholder": "+31 42 123 4567", "terms": ["phone number"]},
"piste/difficulty_downhill": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice (instructional)", "easy": "Easy (green circle)", "intermediate": "Intermediate (blue square)", "advanced": "Advanced (black diamond)", "expert": "Expert (double black diamond)", "freeride": "Freeride (off-piste)", "extreme": "Extreme (climbing equipment required)"}}},
"piste/difficulty_nordic": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice - Flat, no effort needed", "easy": "Easy - Soft hills, short steep section", "intermediate": "Intermediate - Steep section", "advanced": "Advanced - Narrow, steep or icy section, sharp turn", "expert": "Expert - Dangerous terrain around"}}},
"piste/difficulty_skitour": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice - L: <30° incline", "easy": "Easy - WS: 30-35° incline", "intermediate": "Intermediate - ZS: 35-40° incline", "advanced": "Advanced - S: 40-45° incline", "expert": "Expert - SS: 4550° incline", "freeride": "Freeride - AS: 5055° incline", "extreme": "Extreme - EX: >55° incline"}}},
"piste/difficulty": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice", "easy": "Easy", "intermediate": "Intermediate", "advanced": "Advanced", "expert": "Expert", "freeride": "Freeride", "extreme": "Extreme"}}},
"piste/grooming_downhill": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "mogul": "Mogul", "backcountry": "Backcountry - no grooming"}}},
"piste/grooming_hike": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic - Winter Hiking", "backcountry": "Backcountry - Snowshoeing"}}},
"piste/grooming_nordic": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "backcountry": "Backcountry, no grooming", "classic+skating": "Classic and Skating", "scooter": "Scooter/Snowmobile", "skating": "Skating"}}},
"piste/grooming": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "mogul": "Mogul", "backcountry": "Backcountry", "classic+skating": "Classic and Skating", "scooter": "Scooter/Snowmobile", "skating": "Skating"}}},
"piste/type": {"key": "piste:type", "type": "typeCombo", "label": "Type", "strings": {"options": {"downhill": "Downhill", "nordic": "Nordic", "skitour": "Skitour", "sled": "Sled", "hike": "Hike", "sleigh": "Sleigh", "ice_skate": "Ice Skate", "snow_park": "Snow Park", "playground": "Playground", "connection": "Connection"}}},
"place": {"key": "place", "type": "typeCombo", "label": "Type"},
"plant": {"key": "plant", "type": "combo", "label": "Plant"},
"plant/method": {"key": "plant:method", "type": "combo", "label": "Generation Method"},
"plant/output/electricity": {"key": "plant:output:electricity", "type": "typeCombo", "label": "Power Output", "placeholder": "500 MW, 1000 MW, 2000 MW...", "snake_case": false},
"plant/source": {"key": "plant:source", "type": "combo", "label": "Energy Source"},
"playground": {"key": "playground", "type": "combo", "label": "Type"},
"playground/theme": {"key": "playground:theme", "type": "combo", "label": "Theme"},
"plots": {"key": "plots", "type": "number", "minValue": 0, "label": "Plots", "placeholder": "10, 20, 30..."},
"polling_station": {"key": "polling_station", "type": "check", "label": "Polling Place", "terms": ["voting place"]},
"population": {"key": "population", "type": "text", "label": "Population"},
"portable": {"key": "portable", "type": "check", "label": "Portable", "terms": ["detached", "mobile", "moveable"]},
"post": {"type": "address", "key": "post", "keys": ["post:block_number", "post:city", "post:block_number", "post:conscriptionnumber", "post:county", "post:country", "post:county", "post:district", "post:floor", "post:hamlet", "post:housename", "post:housenumber", "post:neighbourhood", "post:place", "post:postcode", "post:province", "post:quarter", "post:state", "post:street", "post:subdistrict", "post:suburb", "post:unit"], "label": "Delivery Address"},
"power_supply": {"key": "power_supply", "type": "check", "label": "Power Supply"},
"power": {"key": "power", "type": "typeCombo", "label": "Type"},
"preschool": {"key": "preschool", "type": "check", "label": "Preschool"},
"produce": {"key": "produce", "type": "semiCombo", "label": "Produce"},
"product": {"key": "product", "type": "semiCombo", "label": "Products"},
"public_bookcase/type": {"key": "public_bookcase:type", "type": "combo", "label": "Type"},
"pump": {"key": "pump", "type": "combo", "label": "Pump", "strings": {"options": {"yes": "Yes", "manual": "Manual Hand Pump", "powered": "Machine-Powered Pump", "no": "None"}}},
"railway": {"key": "railway", "type": "typeCombo", "label": "Type"},
"railway/position": {"key": "railway:position", "type": "text", "placeholder": "Distance to one decimal (123.4)", "label": "Milestone Position"},
"railway/signal/direction": {"key": "railway:signal:direction", "type": "combo", "label": "Direction Affected", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}},
"ramp": {"key": "ramp", "type": "check", "label": "Embedded Ramp"},
"rating": {"key": "rating", "type": "combo", "label": "Power Rating", "snake_case": false},
"rcn_ref": {"key": "rcn_ref", "type": "text", "label": "Cycling Code"},
"real_fire": {"countryCodes": ["gb", "ie"], "key": "real_fire", "type": "check", "label": "Real Fire", "terms": ["fire place", "fire"]},
"recycling_accepts": {"key": "recycling:", "type": "multiCombo", "label": "Accepts"},
"recycling_type": {"key": "recycling_type", "type": "combo", "label": "Type", "placeholder": "Container, Center", "strings": {"options": {"container": "Container", "centre": "Center"}}},
"ref_aeroway_gate": {"key": "ref", "type": "text", "label": "Gate Number"},
"ref_golf_hole": {"key": "ref", "type": "text", "label": "Hole Number", "placeholder": "1-18"},
"ref_highway_junction": {"key": "ref", "type": "text", "label": "Junction Number"},
"ref_platform": {"key": "ref", "type": "text", "label": "Platform Number"},
"ref_road_number": {"key": "ref", "type": "text", "label": "Road Number"},
"ref_room_number": {"key": "ref", "type": "text", "label": "Room Number"},
"ref_route": {"key": "ref", "type": "text", "label": "Route Number"},
"ref_runway": {"key": "ref", "type": "text", "label": "Runway Number", "placeholder": "e.g. 01L/19R"},
"ref_stop_position": {"key": "ref", "type": "text", "label": "Stop Number"},
"ref_taxiway": {"key": "ref", "type": "text", "label": "Taxiway Name", "placeholder": "e.g. A5"},
"ref": {"key": "ref", "type": "text", "label": "Reference Code"},
"ref/isil": {"key": "ref:isil", "type": "text", "label": "ISIL Code"},
"ref/vatin": {"key": "ref:vatin", "type": "identifier", "label": "VAT ID Number", "notCountryCodes": ["ao", "ai", "bm", "bt", "io", "vg", "bn", "ky", "km", "cu", "dj", "er", "fk", "gi", "gg", "hk", "iq", "ki", "xk", "kw", "lr", "ly", "mo", "mv", "mh", "fm", "ms", "mm", "nr", "kp", "om", "pw", "pn", "qa", "sh", "sm", "st", "sb", "so", "gs", "ss", "sr", "sz", "sy", "tl", "tc", "tv", "us", "va", "ye"], "terms": ["value added tax identification number", "vatin"]},
"relation": {"key": "type", "type": "combo", "label": "Type"},
"religion": {"key": "religion", "type": "combo", "label": "Religion"},
"reservation": {"key": "reservation", "type": "combo", "label": "Reservations", "strings": {"options": {"yes": "Accepted", "no": "Not Accepted", "required": "Required", "recommended": "Recommended"}}},
"residential": {"key": "residential", "type": "combo", "label": "Type"},
"resort": {"key": "resort", "type": "combo", "label": "Type"},
"resource": {"key": "resource", "type": "semiCombo", "label": "Resources"},
"restriction": {"key": "restriction", "type": "combo", "label": "Type"},
"restrictions": {"type": "restrictions", "geometry": ["vertex"], "icon": "iD-restrictions", "usage": "manual", "reference": {"rtype": "restriction"}, "label": "Turn Restrictions"},
"roof/colour": {"key": "roof:colour", "type": "combo", "label": "Roof Color"},
"room": {"key": "room", "type": "combo", "label": "Type"},
"rooms": {"key": "rooms", "type": "number", "minValue": 0, "label": "Rooms"},
"roundtrip": {"key": "roundtrip", "type": "check", "label": "Forms Loop", "terms": ["circular", "closed", "looping", "roundtrip"]},
"route_master": {"key": "route_master", "type": "combo", "label": "Type"},
"route": {"key": "route", "type": "combo", "label": "Type"},
"ruins": {"key": "ruins", "type": "combo", "label": "Type"},
"rwn_ref": {"key": "rwn_ref", "type": "text", "label": "Walking Code"},
"sac_scale": {"key": "sac_scale", "type": "combo", "label": "Hiking Difficulty", "placeholder": "Mountain Hiking, Alpine Hiking...", "strings": {"options": {"hiking": "T1: Hiking", "mountain_hiking": "T2: Mountain Hiking", "demanding_mountain_hiking": "T3: Demanding Mountain Hiking", "alpine_hiking": "T4: Alpine Hiking", "demanding_alpine_hiking": "T5: Demanding Alpine Hiking", "difficult_alpine_hiking": "T6: Difficult Alpine Hiking"}}},
"salt": {"key": "salt", "type": "check", "label": "Salt", "terms": ["saline", "salinated"]},
"sanitary_dump_station": {"key": "sanitary_dump_station", "type": "check", "label": "Toilet Disposal"},
"screen": {"key": "screen", "type": "number", "label": "Screens", "placeholder": "1, 4, 8…", "minValue": 0},
"scuba_diving": {"key": "scuba_diving:", "type": "multiCombo", "label": "Services", "options": ["repair", "courses", "rental", "filling", "air_filling", "nitrox_filling", "trimix_filling", "oxygen_filling"]},
"seamark/beacon_isolated_danger/shape": {"key": "seamark:beacon_isolated_danger:shape", "type": "combo", "label": "Shape"},
"seamark/beacon_lateral/category": {"key": "seamark:beacon_lateral:category", "type": "combo", "label": "Category", "strings": {"options": {"port": "Port", "starboard": "Starboard", "waterway_left": "Waterway Left", "waterway_right": "Waterway Right", "danger_left": "Danger Left", "danger_right": "Danger Right"}}},
"seamark/beacon_lateral/colour": {"key": "seamark:beacon_lateral:colour", "type": "combo", "label": "Color", "strings": {"options": {"red": "Red", "green": "Green", "grey": "Grey"}}},
"seamark/beacon_lateral/shape": {"key": "seamark:beacon_lateral:shape", "type": "combo", "label": "Shape"},
"seamark/beacon_lateral/system": {"key": "seamark:beacon_lateral:system", "type": "combo", "label": "System", "strings": {"options": {"iala-a": "IALA A", "iala-b": "IALA B", "cevni": "CEVNI", "other": "Other"}}},
"seamark/buoy_lateral/category": {"key": "seamark:buoy_lateral:category", "type": "combo", "label": "Category", "strings": {"options": {"port": "Port", "starboard": "Starboard", "channel_left": "Channel Left", "channel_right": "Channel Right", "waterway_left": "Waterway Left", "waterway_right": "Waterway Right", "danger_left": "Danger Left", "danger_right": "Danger Right", "preferred_channel_port": "Preferred Channel Port", "preferred_channel_starboard": "Preferred Channel Starboard"}}},
"seamark/buoy_lateral/colour": {"key": "seamark:buoy_lateral:colour", "type": "combo", "label": "Color", "strings": {"options": {"red": "Red", "green": "Green", "red;white;red;white": "Red-White-Red-White", "green;white;green;white": "Green-White-Green-White", "red;green;red": "Red-Green-Red", "green;red;green": "Green-Red-Green", "white": "White", "yellow": "Yellow"}}},
"seamark/buoy_lateral/shape": {"key": "seamark:buoy_lateral:shape", "type": "combo", "label": "Shape"},
"seamark/buoy_lateral/system": {"key": "seamark:buoy_lateral:system", "type": "combo", "label": "System", "strings": {"options": {"iala-a": "IALA A", "iala-b": "IALA B", "cevni": "CEVNI", "other": "Other"}}},
"seamark/mooring/category": {"key": "seamark:mooring:category", "type": "combo", "label": "Category"},
"seamark/type": {"key": "seamark:type", "type": "combo", "label": "Seamark", "terms": ["marine"]},
"seamark/wreck/category": {"key": "seamark:wreck:category", "type": "combo", "label": "Category"},
"seasonal": {"key": "seasonal", "type": "check", "label": "Seasonal"},
"seats": {"key": "seats", "type": "number", "minValue": 0, "label": "Seats", "placeholder": "2, 4, 6..."},
"second_hand": {"key": "second_hand", "type": "combo", "label": "Sells Used", "placeholder": "Yes, No, Only", "strings": {"options": {"yes": "Yes", "no": "No", "only": "Only"}}},
"segregated": {"key": "segregated", "type": "check", "label": "Bicycle-Pedestrian Separation"},
"self_service": {"key": "self_service", "type": "check", "label": "Self-Service"},
"service_rail": {"key": "service", "type": "combo", "label": "Service Type", "strings": {"options": {"spur": "Spur", "yard": "Yard", "siding": "Siding", "crossover": "Crossover"}}},
"service_times": {"key": "service_times", "type": "text", "label": "Service Times"},
"service": {"key": "service", "type": "combo", "label": "Type", "options": ["driveway", "parking_aisle", "alley", "drive-through", "emergency_access"]},
"service/bicycle": {"key": "service:bicycle:", "type": "multiCombo", "label": "Services"},
"service/vehicle": {"key": "service:vehicle:", "type": "multiCombo", "label": "Services"},
"shelter_type": {"key": "shelter_type", "type": "combo", "label": "Type"},
"shelter": {"key": "shelter", "type": "check", "label": "Shelter"},
"shop": {"key": "shop", "type": "typeCombo", "label": "Type"},
"shower": {"key": "shower", "type": "check", "label": "Showers"},
"siren/purpose": {"key": "siren:purpose", "type": "combo", "label": "Purpose"},
"siren/type": {"key": "siren:type", "type": "combo", "label": "Type", "strings": {"options": {"pneumatic": "Pneumatic", "electronic": "Electronic", "other": "Other"}}},
"site_type": {"key": "site_type", "type": "combo", "label": "Site Type"},
"site": {"key": "site", "type": "combo", "label": "Type"},
"smoking": {"key": "smoking", "type": "combo", "label": "Smoking", "placeholder": "No, Separated, Yes...", "strings": {"options": {"no": "No smoking anywhere", "separated": "In smoking areas, not physically isolated", "isolated": "In smoking areas, physically isolated", "outside": "Allowed outside", "yes": "Allowed everywhere", "dedicated": "Dedicated to smokers (e.g. smokers' club)"}}},
"smoothness": {"key": "smoothness", "type": "combo", "label": "Smoothness", "placeholder": "Thin Rollers, Wheels, Off-Road...", "strings": {"options": {"excellent": "Thin Rollers: rollerblade, skateboard", "good": "Thin Wheels: racing bike", "intermediate": "Wheels: city bike, wheelchair, scooter", "bad": "Robust Wheels: trekking bike, car, rickshaw", "very_bad": "High Clearance: light duty off-road vehicle", "horrible": "Off-Road: heavy duty off-road vehicle", "very_horrible": "Specialized off-road: tractor, ATV", "impassable": "Impassable / No wheeled vehicle"}}},
"sms": {"key": "sms", "type": "check", "label": "SMS"},
"social_facility_for": {"key": "social_facility:for", "type": "combo", "label": "People Served"},
"social_facility": {"key": "social_facility", "type": "combo", "label": "Type"},
"source": {"key": "source", "type": "semiCombo", "icon": "source", "universal": true, "label": "Sources", "snake_case": false, "caseSensitive": true, "options": ["survey", "local knowledge", "gps", "aerial imagery", "streetlevel imagery"], "terms": ["reference"]},
"species/wikidata": {"key": "species:wikidata", "keys": ["species:wikidata", "species:wikipedia"], "type": "wikidata", "label": "Species Wikidata"},
"sport_ice": {"key": "sport", "type": "semiCombo", "label": "Sports", "options": ["ice_skating", "ice_hockey", "multi", "curling", "ice_stock"]},
"sport_racing_motor": {"key": "sport", "type": "semiCombo", "label": "Sports", "options": ["motor", "karting", "motocross"]},
"sport_racing_nonmotor": {"key": "sport", "type": "semiCombo", "label": "Sports", "options": ["bmx", "cycling", "dog_racing", "horse_racing", "running"]},
"sport": {"key": "sport", "type": "semiCombo", "label": "Sports"},
"stars": {"key": "stars", "type": "combo", "label": "Stars", "terms": ["rating"]},
"start_date": {"key": "start_date", "type": "text", "universal": true, "label": "Start Date", "placeholder": "YYYY-MM-DD", "terms": ["inception"]},
"step_count": {"key": "step_count", "type": "number", "minValue": 0, "label": "Number of Steps"},
"stile": {"key": "stile", "type": "combo", "label": "Type"},
"stop": {"key": "stop", "type": "combo", "label": "Stop Type", "strings": {"options": {"all": "All Ways", "minor": "Minor Road"}}},
"street_cabinet": {"key": "street_cabinet", "type": "combo", "label": "Type"},
"stroller": {"key": "stroller", "type": "radio", "strings": {"options": {"yes": "Yes", "limited": "Limited", "no": "No"}}, "label": "Stroller Access", "terms": ["baby carriage", "perambulator", "pram", "pushchair"]},
"structure_waterway": {"type": "structureRadio", "keys": ["tunnel"], "label": "Structure", "placeholder": "Unknown", "strings": {"options": {"tunnel": "Tunnel"}}},
"structure": {"type": "structureRadio", "keys": ["bridge", "tunnel", "embankment", "cutting", "ford"], "label": "Structure", "placeholder": "Unknown", "strings": {"options": {"bridge": "Bridge", "tunnel": "Tunnel", "embankment": "Embankment", "cutting": "Cutting", "ford": "Ford"}}},
"studio": {"key": "studio", "type": "combo", "label": "Type"},
"substance": {"key": "substance", "type": "combo", "label": "Substance"},
"substation": {"key": "substation", "type": "typeCombo", "label": "Type"},
"supervised": {"key": "supervised", "type": "check", "label": "Supervised", "terms": ["guarded", "manned"]},
"support": {"key": "support", "type": "combo", "label": "Support"},
"surface": {"key": "surface", "type": "combo", "label": "Surface"},
"surveillance": {"key": "surveillance", "type": "combo", "label": "Surveillance Kind"},
"surveillance/type": {"key": "surveillance:type", "type": "combo", "label": "Surveillance Type", "strings": {"options": {"camera": "Camera", "guard": "Guard", "ALPR": "Automatic License Plate Reader"}}},
"surveillance/zone": {"key": "surveillance:zone", "type": "combo", "label": "Surveillance Zone"},
"survey/date": {"key": "survey:date", "type": "text", "label": "Last Survey Date"},
"swimming_pool": {"key": "swimming_pool", "type": "combo", "label": "Type"},
"switch": {"key": "switch", "type": "combo", "label": "Type", "strings": {"options": {"mechanical": "Mechanical", "circuit_breaker": "Circuit Breaker", "disconnector": "Disconnector", "earthing": "Earthing"}}},
"tactile_paving": {"key": "tactile_paving", "type": "check", "label": "Tactile Paving"},
"takeaway": {"key": "takeaway", "type": "combo", "label": "Takeaway", "placeholder": "Yes, No, Takeaway Only...", "strings": {"options": {"yes": "Yes", "no": "No", "only": "Takeaway Only"}}, "terms": ["take out", "takeout"]},
"target": {"key": "target", "type": "combo", "label": "Target"},
"telecom": {"key": "telecom", "type": "combo", "label": "Type"},
"telecom/medium": {"key": "telecom:medium", "type": "combo", "label": "Medium"},
"tidal": {"key": "tidal", "type": "check", "label": "Tidal"},
"to": {"key": "to", "type": "text", "label": "To"},
"toilets": {"key": "toilets", "type": "check", "label": "Toilets"},
"toilets/disposal": {"key": "toilets:disposal", "type": "combo", "label": "Disposal", "strings": {"options": {"flush": "Flush", "pitlatrine": "Pit Latrine", "chemical": "Chemical", "bucket": "Bucket"}}},
"toilets/handwashing": {"key": "toilets:handwashing", "type": "check", "label": "Handwashing"},
"toilets/position": {"key": "toilets:position", "type": "semiCombo", "label": "Positions"},
"toll": {"key": "toll", "type": "check", "label": "Toll"},
"tomb": {"key": "tomb", "type": "typeCombo", "label": "Type"},
"tourism": {"key": "tourism", "type": "typeCombo", "label": "Type"},
"tower/construction": {"key": "tower:construction", "type": "combo", "label": "Construction", "placeholder": "Guyed, Lattice, Concealed, ..."},
"tower/type": {"key": "tower:type", "type": "combo", "label": "Type"},
"townhall/type": {"key": "townhall:type", "type": "combo", "label": "Type"},
"tracktype": {"key": "tracktype", "type": "combo", "label": "Track Type", "placeholder": "Solid, Mostly Solid, Soft...", "strings": {"options": {"grade1": "Solid: paved or heavily compacted hardcore surface", "grade2": "Mostly Solid: gravel/rock with some soft material mixed in", "grade3": "Even mixture of hard and soft materials", "grade4": "Mostly Soft: soil/sand/grass with some hard material mixed in", "grade5": "Soft: soil/sand/grass"}}},
"trade": {"key": "trade", "type": "typeCombo", "label": "Type"},
"traffic_calming": {"key": "traffic_calming", "type": "typeCombo", "label": "Type"},
"traffic_sign": {"key": "traffic_sign", "type": "typeCombo", "label": "Traffic Sign"},
"traffic_sign/direction": {"key": "traffic_sign:direction", "type": "combo", "label": "Direction Affected", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}, "geometry": ["vertex"]},
"traffic_signals": {"key": "traffic_signals", "type": "combo", "label": "Type", "default": "signal"},
"traffic_signals/direction": {"key": "traffic_signals:direction", "type": "combo", "label": "Direction Affected", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}},
"trail_visibility": {"key": "trail_visibility", "type": "combo", "label": "Trail Visibility", "placeholder": "Excellent, Good, Bad...", "strings": {"options": {"excellent": "Excellent: unambiguous path or markers everywhere", "good": "Good: markers visible, sometimes require searching", "intermediate": "Intermediate: few markers, path mostly visible", "bad": "Bad: no markers, path sometimes invisible/pathless", "horrible": "Horrible: often pathless, some orientation skills required", "no": "No: pathless, excellent orientation skills required"}}},
"transformer": {"key": "transformer", "type": "combo", "label": "Type", "strings": {"options": {"distribution": "Distribution", "generator": "Generator", "converter": "Converter", "traction": "Traction", "auto": "Autotransformer", "phase_angle_regulator": "Phase Angle Regulator", "auxiliary": "Auxiliary", "yes": "Unknown"}}},
"trees": {"key": "trees", "type": "semiCombo", "label": "Trees"},
"trench": {"key": "trench", "type": "combo", "label": "Type"},
"trolley_wire": {"key": "trolley_wire", "type": "check", "label": "Overhead Trolley Wires"},
"tunnel_combo": {"key": "tunnel", "type": "combo", "label": "Type"},
"tunnel": {"key": "tunnel", "type": "typeCombo", "label": "Type", "usage": "group", "placeholder": "Default"},
"usage_rail": {"key": "usage", "type": "combo", "label": "Usage Type", "strings": {"options": {"main": "Main", "branch": "Branch", "industrial": "Industrial", "military": "Military", "test": "Test", "tourism": "Tourism"}}},
"utility_semi": {"key": "utility", "type": "semiCombo", "label": "Utilities"},
"utility": {"key": "utility", "type": "typeCombo", "label": "Utility"},
"valve": {"key": "valve", "type": "combo", "label": "Type"},
"vehicles": {"keys": ["bus", "trolleybus", "tram", "train", "subway", "light_rail", "monorail", "ferry"], "type": "manyCombo", "label": "Vehicles", "strings": {"options": {"bus": "Bus", "trolleybus": "Trolleybus", "tram": "Tram", "train": "Train", "subway": "Subway", "light_rail": "Light Rail", "monorail": "Monorail", "ferry": "Ferry"}}, "reference": {"key": "public_transport"}, "prerequisiteTag": {"keyNot": "aerialway"}},
"vending": {"key": "vending", "type": "semiCombo", "label": "Types of Goods"},
"vhf": {"key": "vhf", "type": "text", "label": "VHF Channel", "terms": ["call sign", "very high frequency"]},
"video_calls": {"key": "video", "type": "check", "label": "Video Calls"},
"visibility": {"key": "visibility", "type": "combo", "label": "Visibility", "strings": {"options": {"house": "Up to 5m (16ft)", "street": "5 to 20m (16 to 65ft)", "area": "Over 20m (65ft)"}}},
"volcano/status": {"key": "volcano:status", "type": "combo", "label": "Volcano Status", "strings": {"options": {"active": "Active", "dormant": "Dormant", "extinct": "Extinct"}}},
"volcano/type": {"key": "volcano:type", "type": "combo", "label": "Volcano Type", "strings": {"options": {"stratovolcano": "Stratovolcano", "shield": "Shield", "scoria": "Scoria"}}},
"voltage_electrified": {"key": "voltage", "type": "combo", "label": "Voltage", "prerequisiteTag": {"key": "electrified", "valueNot": "no"}},
"voltage": {"key": "voltage", "type": "combo", "label": "Voltage"},
"voltage/primary": {"key": "voltage:primary", "type": "combo", "label": "Primary Voltage"},
"voltage/secondary": {"key": "voltage:secondary", "type": "combo", "label": "Secondary Voltage"},
"voltage/tertiary": {"key": "voltage:tertiary", "type": "combo", "label": "Tertiary Voltage"},
"wall": {"key": "wall", "type": "combo", "label": "Type"},
"waste": {"key": "waste", "type": "semiCombo", "label": "Waste"},
"water_point": {"key": "water_point", "type": "check", "label": "Water Point"},
"water_source": {"key": "water_source", "default": "main", "type": "combo", "label": "Water Source"},
"water_tank/volume": {"key": "water_tank:volume", "type": "text", "label": "Volume (Liters)", "placeholder": "10000, 20000, 30000…"},
"water_volume": {"key": "water_volume", "type": "number", "label": "Water Reserve Volume (m³)", "snake_case": false},
"water": {"key": "water", "type": "combo", "label": "Type"},
"waterway": {"key": "waterway", "type": "typeCombo", "label": "Type"},
"website": {"key": "website", "type": "url", "icon": "website", "placeholder": "https://example.com", "label": "Website", "terms": ["internet presence", "uri", "url", "webpage"]},
"wetland": {"key": "wetland", "type": "combo", "label": "Type"},
"wheelchair": {"key": "wheelchair", "type": "radio", "strings": {"options": {"yes": "Yes", "limited": "Limited", "no": "No"}}, "icon": "maki-wheelchair", "label": "Wheelchair Access", "terms": ["handicap access"]},
"wholesale": {"key": "wholesale", "type": "typeCombo", "label": "Wholesale"},
"width": {"key": "width", "type": "number", "minValue": 0, "label": "Width (Meters)"},
"wikidata": {"key": "wikidata", "keys": ["wikidata", "wikipedia"], "type": "wikidata", "icon": "wikipedia", "universal": true, "label": "Wikidata"},
"wikimedia_commons": {"key": "wikimedia_commons", "type": "identifier", "label": "Wikimedia Commons Page", "placeholder": "File:Example.jpg", "urlFormat": "https://commons.wikimedia.org/wiki/{value}", "pattern": "^(?:File|Category):.{1,}", "universal": true},
"wikipedia": {"key": "wikipedia", "keys": ["wikipedia", "wikidata"], "type": "wikipedia", "icon": "wikipedia", "universal": true, "label": "Wikipedia"},
"windings": {"key": "windings", "type": "number", "minValue": 1, "label": "Windings", "placeholder": "1, 2, 3..."},
"windings/configuration": {"key": "windings:configuration", "type": "combo", "label": "Windings Configuration", "strings": {"options": {"star": "Star / Wye", "delta": "Delta", "open-delta": "Open Delta", "zigzag": "Zig Zag", "open": "Open", "scott": "Scott", "leblanc": "Leblanc"}}}
}

View File

@@ -1,50 +0,0 @@
{
"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"
},
"dismount": {
"title": "Dismount",
"description": "Access allowed but rider must dismount"
},
"permit": {
"title": "Permit",
"description": "Access allowed only with a valid permit or license"
}
}
}
}

View File

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

View File

@@ -1,11 +0,0 @@
{
"key": "access",
"type": "combo",
"label": "Allowed Access",
"options": ["yes", "permissive", "private", "customers", "permit", "no"],
"terms": [
"permitted",
"private",
"public"
]
}

View File

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

View File

@@ -1,71 +0,0 @@
{
"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"
],
"icon": "address",
"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": "Chōme/Aza/Koaza",
"place": "Place",
"postcode": "Postcode",
"province": "Province",
"province!cn": "Province/Municipality/AR/SAR",
"province!jp": "Prefecture",
"quarter": "Quarter",
"quarter!jp": "Ōaza/Machi",
"state": "State",
"street": "Street",
"subdistrict": "Subdistrict",
"subdistrict!vn": "Ward/Commune/Townlet",
"suburb": "Suburb",
"suburb!jp": "Ward",
"unit": "Unit"
}
},
"terms": [
"location"
]
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +0,0 @@
{
"key": "bath:type",
"type": "combo",
"label": "Specialty"
}

View File

@@ -1,5 +0,0 @@
{
"key": "beauty",
"type": "semiCombo",
"label": "Services"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,8 +0,0 @@
{
"key": "brewery",
"type": "semiCombo",
"label": "Draft Beers",
"terms": [
"on tap"
]
}

View File

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

View File

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

View File

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

View File

@@ -1,8 +0,0 @@
{
"key": "building",
"type": "combo",
"label": "Building",
"terms": [
"structure"
]
}

View File

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

View File

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

View File

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

View File

@@ -1,11 +0,0 @@
{
"key": "building:levels",
"type": "number",
"minValue": 0,
"label": "Building Levels",
"placeholder": "2, 4, 6...",
"prerequisiteTag": {
"key": "building",
"valueNot": "no"
}
}

View File

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

View File

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

View File

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

View File

@@ -1,7 +0,0 @@
{
"key": "cables",
"type": "number",
"minValue": 1,
"label": "Cables",
"placeholder": "1, 2, 3..."
}

View File

@@ -1,6 +0,0 @@
{
"key": "camera:direction",
"type": "number",
"label": "Direction (Degrees Clockwise)",
"placeholder": "45, 90, 180, 270"
}

View File

@@ -1,5 +0,0 @@
{
"key": "camera:mount",
"type": "combo",
"label": "Camera Mount"
}

View File

@@ -1,12 +0,0 @@
{
"key": "camera:type",
"type": "combo",
"label": "Camera Type",
"strings": {
"options": {
"fixed": "Fixed",
"panning": "Panning",
"dome": "Dome"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"key": "capacity",
"type": "number",
"minValue": 0,
"label": "Capacity",
"placeholder": "50, 100, 200..."
}

View File

@@ -1,7 +0,0 @@
{
"key": "capacity:disabled",
"type": "number",
"minValue": 0,
"label": "Accessible Spaces",
"placeholder": "1, 2, 3..."
}

View File

@@ -1,7 +0,0 @@
{
"key": "capacity",
"type": "number",
"minValue": 0,
"label": "Total Spaces",
"placeholder": "10, 20, 30..."
}

View File

@@ -1,7 +0,0 @@
{
"key": "capacity",
"type": "number",
"minValue": 0,
"label": "Capacity (Cubic Meters)",
"placeholder": "50, 100, 200..."
}

View File

@@ -1,5 +0,0 @@
{
"key": "cash_in",
"type": "check",
"label": "Cash In"
}

View File

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

View File

@@ -1,5 +0,0 @@
{
"key": "changing_table",
"type": "check",
"label": "Diaper Changing Table"
}

View File

@@ -1,10 +0,0 @@
{
"key": "charge",
"type": "text",
"label": "Fee Amount",
"placeholder": "1 EUR, 5 USD, 10 JPY…",
"prerequisiteTag": {
"key": "fee",
"valueNot": "no"
}
}

View File

@@ -1,10 +0,0 @@
{
"key": "charge",
"type": "text",
"label": "Toll Amount",
"placeholder": "1 EUR, 5 USD, 10 JPY…",
"prerequisiteTag": {
"key": "toll",
"valueNot": "no"
}
}

View File

@@ -1,6 +0,0 @@
{
"key": "check_date",
"type": "text",
"label": "Last Checked Date",
"placeholder": "YYYY-MM-DD"
}

View File

@@ -1,7 +0,0 @@
{
"key": "circumference",
"type": "combo",
"label": "Circumference",
"snake_case": false,
"placeholder": "1 m, 20 cm, 30 in…"
}

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