From b3c58ae82e3ecaa02d81645edf4b883b176ef3f1 Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Wed, 9 Feb 2022 22:37:21 +0100 Subject: [PATCH] Extract and validate images using a new conversion, regenerate docs --- Docs/Layers/address.md | 82 +- Docs/Layers/ambulancestation.md | 132 +- Docs/Layers/artwork.md | 143 +- Docs/Layers/barrier.md | 195 +- Docs/Layers/bench.md | 175 +- Docs/Layers/bench_at_pt.md | 89 +- Docs/Layers/bicycle_library.md | 188 +- Docs/Layers/bicycle_rental.md | 357 +- Docs/Layers/bicycle_tube_vending_machine.md | 206 +- Docs/Layers/bike_cafe.md | 185 +- Docs/Layers/bike_cleaning.md | 118 +- Docs/Layers/bike_parking.md | 215 +- Docs/Layers/bike_repair_station.md | 330 +- Docs/Layers/bike_shop.md | 338 +- Docs/Layers/bike_themed_object.md | 146 +- Docs/Layers/binocular.md | 84 +- Docs/Layers/birdhide.md | 137 +- Docs/Layers/cafe_pub.md | 270 +- Docs/Layers/charging_station.md | 3015 +++++----- Docs/Schemas/LayerConfigJson.schema.json | 9 +- Docs/Schemas/LayerConfigJsonJSC.ts | 9 +- Docs/Schemas/LayoutConfigJson.schema.json | 9 +- Docs/Schemas/LayoutConfigJsonJSC.ts | 9 +- .../LineRenderingConfigJson.schema.json | 7 +- Docs/Schemas/LineRenderingConfigJsonJSC.ts | 7 +- .../PointRenderingConfigJson.schema.json | 7 +- Docs/Schemas/PointRenderingConfigJsonJSC.ts | 7 +- .../TagRenderingConfigJson.schema.json | 7 +- Docs/Schemas/TagRenderingConfigJsonJSC.ts | 7 +- Docs/Schemas/TilesourceConfigJson.schema.json | 7 +- Docs/Schemas/TilesourceConfigJsonJSC.ts | 7 +- Logic/DetermineLayout.ts | 3 +- .../Sources/StaticFeatureSource.ts | 9 +- Models/ThemeConfig/Conversion/FixImages.ts | 127 + .../Conversion/LegacyJsonConvert.ts | 99 - Models/ThemeConfig/Conversion/Validation.ts | 55 +- Models/ThemeConfig/Json/LayerConfigJson.ts | 2 +- .../Json/TagRenderingConfigJson.ts | 2 + Models/ThemeConfig/LayerConfig.ts | 42 +- Models/ThemeConfig/LayoutConfig.ts | 62 +- Models/ThemeConfig/PointRenderingConfig.ts | 32 +- Models/ThemeConfig/TagRenderingConfig.ts | 12 - UI/BigComponents/CopyrightPanel.ts | 19 +- UI/NewPoint/ConfirmLocationOfPoint.ts | 2 +- .../bike_repair_station/license_info.json | 4 +- assets/layoutconfigmeta.json | 4913 ++++++++++++++++- .../themes/bicycle_rental/license_info.json | 10 +- .../toerisme_vlaanderen.json | 2 +- scripts/fixTheme.ts | 83 - scripts/generateLicenseInfo.ts | 13 +- test/ImageAttribution.spec.ts | 13 +- test/LegacyThemeLoader.spec.ts | 18 +- 52 files changed, 8611 insertions(+), 3408 deletions(-) delete mode 100644 scripts/fixTheme.ts diff --git a/Docs/Layers/address.md b/Docs/Layers/address.md index 9f287d389..bd1a1c845 100644 --- a/Docs/Layers/address.md +++ b/Docs/Layers/address.md @@ -1,4 +1,6 @@ -address + + + address ========= @@ -7,77 +9,107 @@ address Addresses + + + ## Table of contents 1. [address](#address) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [housenumber](#housenumber) + [street](#street) + [fixme](#fixme) -- This layer will automatically load [named_streets](./named_streets.md) into the layout as it depends on it: A - calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _ - closest_3_street_names) + + + + - This layer will automatically load [named_streets](./named_streets.md) into the layout as it depends on it: A calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _closest_3_street_names) + [Go to the source code](../assets/layers/address/address.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- addr:housenumber~^..*$|addr:street~^..*$ -Supported attributes + + - addr:housenumber~^..*$|addr:street~^..*$ + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/addr:housenumber#values) [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/addr:housenumber#values) [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D) [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D) [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D) [](https://taginfo.openstreetmap.org/keys/fixme#values) [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:fixme%3D) -### housenumber + + + +### housenumber + + The question is **What is the number of this house?** -This rendering asks information about the -property [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) +This rendering asks information about the property [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) This is rendered with `The housenumber is {addr:housenumber}` -- **This building has no house number** corresponds - with nohousenumber - =yes -### street + + - **This building has no house number** corresponds with nohousenumber=yes + + + + +### street + + The question is **What street is this address located in?** -This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) +This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) This is rendered with `This address is in street {addr:street}` -- **Located in {_closest_street:0:name}** corresponds with addr:street= -- **Located in {_closest_street:1:name}** corresponds with addr:street= -- **Located in {_closest_street:2:name}** corresponds with addr:street= -### fixme + + - **Located in {_closest_street:0:name}** corresponds with addr:street= + - **Located in {_closest_street:1:name}** corresponds with addr:street= + - **Located in {_closest_street:2:name}** corresponds with addr:street= + + + + +### fixme + + The question is **What should be fixed here? Please explain** -This rendering asks information about the property [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme) +This rendering asks information about the property [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme) This is rendered with `Fixme description{fixme}` -- **No fixme - write something here to explain complicated cases** corresponds with + + + - **No fixme - write something here to explain complicated cases** corresponds with + This document is autogenerated from assets/layers/address/address.json \ No newline at end of file diff --git a/Docs/Layers/ambulancestation.md b/Docs/Layers/ambulancestation.md index acd737657..721a0f7b6 100644 --- a/Docs/Layers/ambulancestation.md +++ b/Docs/Layers/ambulancestation.md @@ -1,20 +1,23 @@ -ambulancestation + + + ambulancestation ================== -An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and -other medical supplies. +An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and other medical supplies. + + + ## Table of contents 1. [ambulancestation](#ambulancestation) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [ambulance-name](#ambulance-name) + [ambulance-street](#ambulance-street) + [ambulance-place](#ambulance-place) @@ -22,91 +25,136 @@ other medical supplies. + [ambulance-operator-type](#ambulance-operator-type) + [images](#images) -#### Themes using this layer -- [hailhydrant](https://mapcomplete.osm.be/hailhydrant) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [hailhydrant](https://mapcomplete.osm.be/hailhydrant) + [Go to the source code](../assets/layers/ambulancestation/ambulancestation.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- emergency - =ambulance_station -Supported attributes + + - emergency=ambulance_station + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/addr:place#values) [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/addr:place#values) [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/operator:type#values) [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type) | [string](../SpecialInputElements.md#string) | [government](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dgovernment) [community](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dcommunity) [ngo](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dngo) [private](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dprivate) -### ambulance-name + + + +### ambulance-name + + The question is **What is the name of this ambulance station?** -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `This station is called {name}.` -### ambulance-street + + +### ambulance-street + + The question is ** What is the street name where the station located?** -This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) +This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) This is rendered with `This station is along a highway called {addr:street}.` -### ambulance-place + + +### ambulance-place + + The question is **Where is the station located? (e.g. name of neighborhood, villlage, or town)** -This rendering asks information about the property [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) +This rendering asks information about the property [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) This is rendered with `This station is found within {addr:place}.` -### ambulance-agency + + +### ambulance-agency + + The question is **What agency operates this station?** -This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) This is rendered with `This station is operated by {operator}.` -### ambulance-operator-type + + + + + + + +### ambulance-operator-type + + The question is **How is the station operator classified?** -This rendering asks information about the -property [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type) +This rendering asks information about the property [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type) This is rendered with `The operator is a(n) {operator:type} entity.` -- **The station is operated by the government.** corresponds - with operator:type - =government -- **The station is operated by a community-based, or informal organization.** corresponds - with operator:type - =community -- **The station is operated by a formal group of volunteers.** corresponds - with operator:type - =ngo -- **The station is privately operated.** corresponds - with operator:type - =private -### images + + - **The station is operated by the government.** corresponds with operator:type=government + - **The station is operated by a community-based, or informal organization.** corresponds with operator:type=community + - **The station is operated by a formal group of volunteers.** corresponds with operator:type=ngo + - **The station is privately operated.** corresponds with operator:type=private + + + + +### images + + _This tagrendering has no question and is thus read-only_ + + This document is autogenerated from assets/layers/ambulancestation/ambulancestation.json \ No newline at end of file diff --git a/Docs/Layers/artwork.md b/Docs/Layers/artwork.md index 6e20a4754..5846931e8 100644 --- a/Docs/Layers/artwork.md +++ b/Docs/Layers/artwork.md @@ -1,4 +1,6 @@ -artwork + + + artwork ========= @@ -7,115 +9,142 @@ artwork Diverse pieces of artwork + + + ## Table of contents 1. [artwork](#artwork) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [artwork-artwork_type](#artwork-artwork_type) + [artwork-artist_name](#artwork-artist_name) + [artwork-website](#artwork-website) + [artwork-wikidata](#artwork-wikidata) -#### Themes using this layer -- [artwork](https://mapcomplete.osm.be/artwork) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [artwork](https://mapcomplete.osm.be/artwork) + [Go to the source code](../assets/layers/artwork/artwork.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- tourism - =artwork -Supported attributes + + - tourism=artwork + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/artwork_type#values) [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type) | [string](../SpecialInputElements.md#string) | [architecture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Darchitecture) [mural](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dmural) [painting](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dpainting) [sculpture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dsculpture) [statue](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstatue) [bust](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dbust) [stone](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstone) [installation](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dinstallation) [graffiti](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dgraffiti) [relief](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Drelief) [azulejo](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dazulejo) [tilework](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dtilework) -[](https://taginfo.openstreetmap.org/keys/artist_name#values) [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/wikidata#values) [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) | +[](https://taginfo.openstreetmap.org/keys/artist_name#values) [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/wikidata#values) [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### artwork-artwork_type + + + + +### artwork-artwork_type + + The question is **What is the type of this artwork?** -This rendering asks information about the property [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type) +This rendering asks information about the property [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type) This is rendered with `This is a {artwork_type}` -- **Architecture** corresponds with - artwork_type= - architecture -- **Mural** corresponds with - artwork_type=mural -- **Painting** corresponds with - artwork_type= - painting -- **Sculpture** corresponds with - artwork_type= - sculpture -- **Statue** corresponds with - artwork_type=statue -- **Bust** corresponds with - artwork_type=bust -- **Stone** corresponds with - artwork_type=stone -- **Installation** corresponds with - artwork_type= - installation -- **Graffiti** corresponds with - artwork_type= - graffiti -- **Relief** corresponds with - artwork_type=relief -- **Azulejo (Spanish decorative tilework)** corresponds - with artwork_type - =azulejo -- **Tilework** corresponds with - artwork_type= - tilework -### artwork-artist_name + + - **Architecture** corresponds with artwork_type=architecture + - **Mural** corresponds with artwork_type=mural + - **Painting** corresponds with artwork_type=painting + - **Sculpture** corresponds with artwork_type=sculpture + - **Statue** corresponds with artwork_type=statue + - **Bust** corresponds with artwork_type=bust + - **Stone** corresponds with artwork_type=stone + - **Installation** corresponds with artwork_type=installation + - **Graffiti** corresponds with artwork_type=graffiti + - **Relief** corresponds with artwork_type=relief + - **Azulejo (Spanish decorative tilework)** corresponds with artwork_type=azulejo + - **Tilework** corresponds with artwork_type=tilework + + + + +### artwork-artist_name + + The question is **Which artist created this?** -This rendering asks information about the property [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) +This rendering asks information about the property [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) This is rendered with `Created by {artist_name}` -### artwork-website + + +### artwork-website + + The question is **Is there a website with more information about this artwork?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `More information on this website` -### artwork-wikidata + + +### artwork-wikidata + + The question is **Which Wikidata-entry corresponds with this artwork?** -This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) -This is rendered -with `Corresponds with {wikidata}` +This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) +This is rendered with `Corresponds with {wikidata}` This document is autogenerated from assets/layers/artwork/artwork.json \ No newline at end of file diff --git a/Docs/Layers/barrier.md b/Docs/Layers/barrier.md index b57ec5627..aff864247 100644 --- a/Docs/Layers/barrier.md +++ b/Docs/Layers/barrier.md @@ -1,4 +1,6 @@ -barrier + + + barrier ========= @@ -7,13 +9,15 @@ barrier Obstacles while cycling, such as bollards and cycle barriers + + + ## Table of contents 1. [barrier](#barrier) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [bicycle=yes/no](#bicycle=yesno) + [barrier_type](#barrier_type) + [Bollard type](#bollard-type) @@ -24,139 +28,174 @@ Obstacles while cycling, such as bollards and cycle barriers + [Overlap (cyclebarrier)](#overlap-(cyclebarrier)) -- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on - it: a preset snaps to this layer (presets[0]) -- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on - it: a preset snaps to this layer (presets[1]) -#### Themes using this layer -- [cycle_infra](https://mapcomplete.osm.be/cycle_infra) -- [personal](https://mapcomplete.osm.be/personal) + + - This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on it: a preset snaps to this layer (presets[0]) + - This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on it: a preset snaps to this layer (presets[1]) + + + + +#### Themes using this layer + + + + + + - [cycle_infra](https://mapcomplete.osm.be/cycle_infra) + [Go to the source code](../assets/layers/barrier/barrier.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- barrier - =bollard - |barrier - =cycle_barrier -Supported attributes + + - barrier=bollard|barrier=cycle_barrier + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/bicycle#values) [bicycle](https://wiki.openstreetmap.org/wiki/Key:bicycle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dno) [](https://taginfo.openstreetmap.org/keys/barrier#values) [barrier](https://wiki.openstreetmap.org/wiki/Key:barrier) | Multiple choice | [bollard](https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard) [cycle_barrier](https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier) [](https://taginfo.openstreetmap.org/keys/bollard#values) [bollard](https://wiki.openstreetmap.org/wiki/Key:bollard) | Multiple choice | [removable](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dremovable) [fixed](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfixed) [foldable](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfoldable) [flexible](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dflexible) [rising](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Drising) [](https://taginfo.openstreetmap.org/keys/cycle_barrier#values) [cycle_barrier](https://wiki.openstreetmap.org/wiki/Key:cycle_barrier) | Multiple choice | [single](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsingle) [double](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Ddouble) [triple](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dtriple) [squeeze](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsqueeze) -[](https://taginfo.openstreetmap.org/keys/maxwidth:physical#values) [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) | [length](../SpecialInputElements.md#length) | -[](https://taginfo.openstreetmap.org/keys/width:separation#values) [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) | [length](../SpecialInputElements.md#length) | -[](https://taginfo.openstreetmap.org/keys/width:opening#values) [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) | [length](../SpecialInputElements.md#length) | -[](https://taginfo.openstreetmap.org/keys/overlap#values) [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) | [length](../SpecialInputElements.md#length) | +[](https://taginfo.openstreetmap.org/keys/maxwidth:physical#values) [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) | [length](../SpecialInputElements.md#length) | +[](https://taginfo.openstreetmap.org/keys/width:separation#values) [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) | [length](../SpecialInputElements.md#length) | +[](https://taginfo.openstreetmap.org/keys/width:opening#values) [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) | [length](../SpecialInputElements.md#length) | +[](https://taginfo.openstreetmap.org/keys/overlap#values) [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) | [length](../SpecialInputElements.md#length) | + + + + +### bicycle=yes/no + -### bicycle=yes/no The question is **Can a bicycle go past this barrier?** -- **A cyclist can go past this.** corresponds - with bicycle - =yes -- **A cyclist can not go past this.** corresponds - with bicycle - =no -### barrier_type + + + + - **A cyclist can go past this.** corresponds with bicycle=yes + - **A cyclist can not go past this.** corresponds with bicycle=no + + + + +### barrier_type + + _This tagrendering has no question and is thus read-only_ -- **This is a single bollard in the road** corresponds - with barrier - =bollard -- **This is a cycle barrier slowing down cyclists** corresponds - with barrier - =cycle_barrier -### Bollard type + + + + - **This is a single bollard in the road** corresponds with barrier=bollard + - **This is a cycle barrier slowing down cyclists** corresponds with barrier=cycle_barrier + + + + +### Bollard type + + The question is **What kind of bollard is this?** -- **Removable bollard** corresponds with - bollard=removable -- **Fixed bollard** corresponds with - bollard=fixed -- **Bollard that can be folded down** corresponds - with bollard - =foldable -- **Flexible bollard, usually plastic** corresponds - with bollard - =flexible -- **Rising bollard** corresponds with - bollard=rising -### Cycle barrier type + + + + - **Removable bollard** corresponds with bollard=removable + - **Fixed bollard** corresponds with bollard=fixed + - **Bollard that can be folded down** corresponds with bollard=foldable + - **Flexible bollard, usually plastic** corresponds with bollard=flexible + - **Rising bollard** corresponds with bollard=rising + + + + +### Cycle barrier type + + The question is **What kind of cycling barrier is this?** -- **Single, just two barriers with a space - inbetween ** corresponds - with cycle_barrier - =single -- **Double, two barriers behind each - other ** corresponds - with cycle_barrier - =double -- **Triple, three barriers behind each - other ** corresponds - with cycle_barrier - =triple -- **Squeeze gate, gap is smaller at top, than at the - bottom ** corresponds - with cycle_barrier - =squeeze -### MaxWidth + + + + - **Single, just two barriers with a space inbetween ** corresponds with cycle_barrier=single + - **Double, two barriers behind each other ** corresponds with cycle_barrier=double + - **Triple, three barriers behind each other ** corresponds with cycle_barrier=triple + - **Squeeze gate, gap is smaller at top, than at the bottom ** corresponds with cycle_barrier=squeeze + + + + +### MaxWidth + + The question is **How wide is the gap left over besides the barrier?** -This rendering asks information about the -property [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) +This rendering asks information about the property [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) This is rendered with `Maximum width: {maxwidth:physical} m` -### Space between barrier (cyclebarrier) + + +### Space between barrier (cyclebarrier) + + The question is **How much space is there between the barriers (along the length of the road)?** -This rendering asks information about the -property [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) +This rendering asks information about the property [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) This is rendered with `Space between barriers (along the length of the road): {width:separation} m` -### Width of opening (cyclebarrier) + + +### Width of opening (cyclebarrier) + + The question is **How wide is the smallest opening next to the barriers?** -This rendering asks information about the -property [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) +This rendering asks information about the property [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) This is rendered with `Width of opening: {width:opening} m` -### Overlap (cyclebarrier) + + +### Overlap (cyclebarrier) + + The question is **How much overlap do the barriers have?** -This rendering asks information about the property [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) -This is rendered with `Overlap: {overlap} m` +This rendering asks information about the property [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) +This is rendered with `Overlap: {overlap} m` This document is autogenerated from assets/layers/barrier/barrier.json \ No newline at end of file diff --git a/Docs/Layers/bench.md b/Docs/Layers/bench.md index fd52ffff4..553369ea3 100644 --- a/Docs/Layers/bench.md +++ b/Docs/Layers/bench.md @@ -1,20 +1,23 @@ -bench + + + bench ======= -A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few -questions about them. +A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few questions about them. + + + ## Table of contents 1. [bench](#bench) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bench-backrest](#bench-backrest) + [bench-seats](#bench-seats) @@ -23,120 +26,168 @@ questions about them. + [bench-colour](#bench-colour) + [bench-survey:date](#bench-surveydate) -#### Themes using this layer -- [benches](https://mapcomplete.osm.be/benches) -- [nature](https://mapcomplete.osm.be/nature) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [benches](https://mapcomplete.osm.be/benches) + - [nature](https://mapcomplete.osm.be/nature) + [Go to the source code](../assets/layers/bench/bench.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =bench -Supported attributes + + - amenity=bench + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/backrest#values) [backrest](https://wiki.openstreetmap.org/wiki/Key:backrest) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dno) -[](https://taginfo.openstreetmap.org/keys/seats#values) [seats](https://wiki.openstreetmap.org/wiki/Key:seats) | [nat](../SpecialInputElements.md#nat) | +[](https://taginfo.openstreetmap.org/keys/seats#values) [seats](https://wiki.openstreetmap.org/wiki/Key:seats) | [nat](../SpecialInputElements.md#nat) | [](https://taginfo.openstreetmap.org/keys/material#values) [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [metal](https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal) [stone](https://wiki.openstreetmap.org/wiki/Tag:material%3Dstone) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) [steel](https://wiki.openstreetmap.org/wiki/Tag:material%3Dsteel) -[](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) | +[](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) | [](https://taginfo.openstreetmap.org/keys/colour#values) [colour](https://wiki.openstreetmap.org/wiki/Key:colour) | [color](../SpecialInputElements.md#color) | [brown](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dbrown) [green](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgreen) [gray](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgray) [white](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dwhite) [red](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dred) [black](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblack) [blue](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblue) [yellow](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dyellow) [](https://taginfo.openstreetmap.org/keys/survey:date#values) [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) | [date](../SpecialInputElements.md#date) | [](https://wiki.openstreetmap.org/wiki/Tag:survey:date%3D) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### bench-backrest + + + + +### bench-backrest + + The question is **Does this bench have a backrest?** -- **Backrest: Yes** corresponds with - backrest=yes -- **Backrest: No** corresponds with - backrest=no -### bench-seats + + + + - **Backrest: Yes** corresponds with backrest=yes + - **Backrest: No** corresponds with backrest=no + + + + +### bench-seats + + The question is **How many seats does this bench have?** -This rendering asks information about the property [seats](https://wiki.openstreetmap.org/wiki/Key:seats) +This rendering asks information about the property [seats](https://wiki.openstreetmap.org/wiki/Key:seats) This is rendered with `{seats} seats` -### bench-material + + +### bench-material + + The question is **What is the bench (seating) made from?** -This rendering asks information about the property [material](https://wiki.openstreetmap.org/wiki/Key:material) +This rendering asks information about the property [material](https://wiki.openstreetmap.org/wiki/Key:material) This is rendered with `Material: {material}` -- **Material: wood** corresponds with - material=wood -- **Material: metal** corresponds with - material=metal -- **Material: stone** corresponds with - material=stone -- **Material: concrete** corresponds with - material=concrete -- **Material: plastic** corresponds with - material=plastic -- **Material: steel** corresponds with - material=steel -### bench-direction + + - **Material: wood** corresponds with material=wood + - **Material: metal** corresponds with material=metal + - **Material: stone** corresponds with material=stone + - **Material: concrete** corresponds with material=concrete + - **Material: plastic** corresponds with material=plastic + - **Material: steel** corresponds with material=steel + + + + +### bench-direction + + The question is **In which direction are you looking when sitting on the bench?** -This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction) +This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction) This is rendered with `When sitting on the bench, one looks towards {direction}°.` -### bench-colour + + +### bench-colour + + The question is **Which colour does this bench have?** -This rendering asks information about the property [colour](https://wiki.openstreetmap.org/wiki/Key:colour) +This rendering asks information about the property [colour](https://wiki.openstreetmap.org/wiki/Key:colour) This is rendered with `Colour: {colour}` -- **Colour: brown** corresponds with colour - =brown -- **Colour: green** corresponds with colour - =green -- **Colour: gray** corresponds with colour - =gray -- **Colour: white** corresponds with colour - =white -- **Colour: red** corresponds with colour - =red -- **Colour: black** corresponds with colour - =black -- **Colour: blue** corresponds with colour - =blue -- **Colour: yellow** corresponds with - colour=yellow -### bench-survey:date + + - **Colour: brown** corresponds with colour=brown + - **Colour: green** corresponds with colour=green + - **Colour: gray** corresponds with colour=gray + - **Colour: white** corresponds with colour=white + - **Colour: red** corresponds with colour=red + - **Colour: black** corresponds with colour=black + - **Colour: blue** corresponds with colour=blue + - **Colour: yellow** corresponds with colour=yellow + + + + +### bench-survey:date + + The question is **When was this bench last surveyed?** -This rendering asks information about the property [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) +This rendering asks information about the property [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) This is rendered with `This bench was last surveyed on {survey:date}` -- **Surveyed today!** corresponds with survey:date= + + + - **Surveyed today!** corresponds with survey:date= + This document is autogenerated from assets/layers/bench/bench.json \ No newline at end of file diff --git a/Docs/Layers/bench_at_pt.md b/Docs/Layers/bench_at_pt.md index 979e1713b..4653d1311 100644 --- a/Docs/Layers/bench_at_pt.md +++ b/Docs/Layers/bench_at_pt.md @@ -1,4 +1,6 @@ -bench_at_pt + + + bench_at_pt ============= @@ -7,71 +9,106 @@ bench_at_pt A layer showing all public-transport-stops which do have a bench + + + ## Table of contents 1. [bench_at_pt](#bench_at_pt) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bench_at_pt-name](#bench_at_pt-name) + [bench_at_pt-bench_type](#bench_at_pt-bench_type) -#### Themes using this layer -- [benches](https://mapcomplete.osm.be/benches) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [benches](https://mapcomplete.osm.be/benches) + [Go to the source code](../assets/layers/bench_at_pt/bench_at_pt.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- bench - =yes - |bench - =stand_up_bench -Supported attributes + + - bench=yes|bench=stand_up_bench + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/bench#values) [bench](https://wiki.openstreetmap.org/wiki/Key:bench) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes) [stand_up_bench](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench) [no](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dno) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### bench_at_pt-name + + + + +### bench_at_pt-name + + _This tagrendering has no question and is thus read-only_ -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `{name}` -### bench_at_pt-bench_type + + +### bench_at_pt-bench_type + + The question is **What kind of bench is this?** -- **There is a normal, sit-down bench here** corresponds - with bench - =yes -- **Stand up bench** corresponds with bench - =stand_up_bench -- **There is no bench here** corresponds with - bench=no + + + + + - **There is a normal, sit-down bench here** corresponds with bench=yes + - **Stand up bench** corresponds with bench=stand_up_bench + - **There is no bench here** corresponds with bench=no + This document is autogenerated from assets/layers/bench_at_pt/bench_at_pt.json \ No newline at end of file diff --git a/Docs/Layers/bicycle_library.md b/Docs/Layers/bicycle_library.md index 7e7a1045a..e3017e3e1 100644 --- a/Docs/Layers/bicycle_library.md +++ b/Docs/Layers/bicycle_library.md @@ -1,19 +1,23 @@ -bicycle_library + + + bicycle_library ================= - + A facility where bicycles can be lent for longer period of times + + + ## Table of contents 1. [bicycle_library](#bicycle_library) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bicycle_library-name](#bicycle_library-name) + [website](#website) @@ -24,129 +28,187 @@ A facility where bicycles can be lent for longer period of times + [bicycle-library-target-group](#bicycle-library-target-group) + [description](#description) -#### Themes using this layer -- [bicyclelib](https://mapcomplete.osm.be/bicyclelib) -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [bicyclelib](https://mapcomplete.osm.be/bicyclelib) + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bicycle_library/bicycle_library.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =bicycle_library -Supported attributes + + - amenity=bicycle_library + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D) [€20warranty + €20/year](https://wiki.openstreetmap.org/wiki/Tag:charge%3D€20warranty + €20/year) [](https://taginfo.openstreetmap.org/keys/bicycle_library:for#values) [bicycle_library:for](https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for) | Multiple choice | [child](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dchild) [adult](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dadult) [disabled](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Ddisabled) -[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### bicycle_library-name + + + + +### bicycle_library-name + + The question is **What is the name of this bicycle library?** -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `This bicycle library is called {name}` -### website + + +### website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -- **{contact:website}** corresponds with contact:website~^..*$_This - option cannot be chosen as answer_ -### phone + + - **{contact:website}** corresponds with contact:website~^..*$_This option cannot be chosen as answer_ + + + + +### phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -- **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be - chosen as answer_ -### email + + - **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_ + + + + +### email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -- **{contact:email}** corresponds with contact:email~^..*$_This - option cannot be chosen as answer_ -### opening_hours + + - **{contact:email}** corresponds with contact:email~^..*$_This option cannot be chosen as answer_ + + + + +### opening_hours + + The question is **What are the opening hours of {name}?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` -### bicycle_library-charge + + +### bicycle_library-charge + + The question is **How much does lending a bicycle cost?** -This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `Lending a bicycle costs {charge}` -- **Lending a bicycle is free** corresponds with - fee=no -- **Lending a bicycle costs €20/year and €20 warranty** corresponds - with fee - =yes - &charge - =€20warranty + - €20/year -### bicycle-library-target-group + + - **Lending a bicycle is free** corresponds with fee=no + - **Lending a bicycle costs €20/year and €20 warranty** corresponds with fee=yes&charge=€20warranty + €20/year + + + + +### bicycle-library-target-group + + The question is **Who can lend bicycles here?** -- **Bikes for children available** corresponds - with bicycle_library:for - =child -- **Bikes for adult available** corresponds - with bicycle_library:for - =adult -- **Bikes for disabled persons available** corresponds - with bicycle_library:for - =disabled -### description -The question is **Is there still something relevant you couldn't give in the previous questions? Add it -here.
Don't repeat already stated facts** -This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) -This is rendered with `{description}` + + - **Bikes for children available** corresponds with bicycle_library:for=child + - **Bikes for adult available** corresponds with bicycle_library:for=adult + - **Bikes for disabled persons available** corresponds with bicycle_library:for=disabled + + + + +### description + + + +The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.
Don't repeat already stated facts** + +This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) +This is rendered with `{description}` This document is autogenerated from assets/layers/bicycle_library/bicycle_library.json \ No newline at end of file diff --git a/Docs/Layers/bicycle_rental.md b/Docs/Layers/bicycle_rental.md index 5ea76a073..e818dd0a5 100644 --- a/Docs/Layers/bicycle_rental.md +++ b/Docs/Layers/bicycle_rental.md @@ -1,4 +1,6 @@ -bicycle_rental + + + bicycle_rental ================ @@ -7,13 +9,15 @@ bicycle_rental Bicycle rental stations + + + ## Table of contents 1. [bicycle_rental](#bicycle_rental) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [bicycle_rental_type](#bicycle_rental_type) + [website](#website) + [email](#email) @@ -35,252 +39,323 @@ Bicycle rental stations + [rental-capacity-bicycle-type](#rental-capacity-bicycle-type) + [questions](#questions) -#### Themes using this layer -- [bicycle_rental](https://mapcomplete.osm.be/bicycle_rental) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [bicycle_rental](https://mapcomplete.osm.be/bicycle_rental) + [Go to the source code](../assets/layers/bicycle_rental/bicycle_rental.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =bicycle_rental - |bicycle_rental~^..*$| - service:bicycle:rental - =yes|rental~^.* - bicycle.*$ -Supported attributes + + - amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$ + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/rental#values) [rental](https://wiki.openstreetmap.org/wiki/Key:rental) | [string](../SpecialInputElements.md#string) | [city_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike) [ebike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike) [bmx](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx) [mtb](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb) [kid_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike) -[](https://taginfo.openstreetmap.org/keys/capacity:city_bike#values) [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/capacity:ebike#values) [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/capacity:kid_bike#values) [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/capacity:bmx#values) [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/capacity:mtb#values) [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/capacity:bicycle_pannier#values) [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:city_bike#values) [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:ebike#values) [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:kid_bike#values) [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:bmx#values) [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:mtb#values) [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:bicycle_pannier#values) [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) | [pnat](../SpecialInputElements.md#pnat) | + + + + +### bicycle_rental_type + -### bicycle_rental_type The question is **What kind of bicycle rental is this?** -- **This is a shop whose main focus is bicycle rental** corresponds - with shop - =bicycle_rental - &bicycle_rental - =shop -- **This is a rental buisiness which rents out various objects and/or vehicles. It rents out bicycles too, but this is - not the main focus** corresponds with shop - =rental_This option cannot be - chosen as answer_ -- **This is a shop which sells or repairs bicycles, but also rents out bicycles** corresponds - with service:bicycle: - rental=yes - &shop - =bicycle -- **This is an automated docking station, where a bicycle is mechanically locked into a structure** corresponds - with bicycle_rental - = - docking_station -- **A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles - are parked nearby** corresponds with - bicycle_rental - = - key_dispensing_machine -- **This is a dropoff point: a designated bicycle parking for this cycle rental** corresponds - with bicycle_rental - =dropoff_point -### website + + + + - **This is a shop whose main focus is bicycle rental** corresponds with shop=bicycle_rental&bicycle_rental=shop + - **This is a rental buisiness which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus** corresponds with shop=rental_This option cannot be chosen as answer_ + - **This is a shop which sells or repairs bicycles, but also rents out bicycles** corresponds with service:bicycle:rental=yes&shop=bicycle + - **This is an automated docking station, where a bicycle is mechanically locked into a structure** corresponds with bicycle_rental=docking_station + - **A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby** corresponds with bicycle_rental=key_dispensing_machine + - **This is a dropoff point: a designated bicycle parking for this cycle rental** corresponds with bicycle_rental=dropoff_point + + + + +### website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -- **{contact:website}** corresponds with contact:website~^..*$_This - option cannot be chosen as answer_ -### email + + - **{contact:website}** corresponds with contact:website~^..*$_This option cannot be chosen as answer_ + + + + +### email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -- **{contact:email}** corresponds with contact:email~^..*$_This - option cannot be chosen as answer_ -### phone + + - **{contact:email}** corresponds with contact:email~^..*$_This option cannot be chosen as answer_ + + + + +### phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -- **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be - chosen as answer_ -### opening_hours + + - **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_ + + + + +### opening_hours + + The question is **What are the opening hours of {name}?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` -### payment-options + + +### payment-options + + The question is **Which methods of payment are accepted here?** -- **Cash is accepted here** corresponds - with payment:cash - =yesUnselecting this answer - will add payment:cash - =no -- **Payment cards are accepted here** corresponds - with payment:cards - =yesUnselecting this answer - will add payment:cards - =no -### payment-options-advanced + + + + - **Cash is accepted here** corresponds with payment:cash=yesUnselecting this answer will add payment:cash=no + - **Payment cards are accepted here** corresponds with payment:cards=yesUnselecting this answer will add payment:cards=no + + + + +### payment-options-advanced + + The question is **Which methods of payment are accepted here?** -- **Cash is accepted here** corresponds - with payment:cash - =yesUnselecting this answer - will add payment:cash - =no -- **Payment cards are accepted here** corresponds - with payment:cards - =yesUnselecting this answer - will add payment:cards - =no -- **Payment is done using a dedicated app** corresponds - with payment:app - =yesUnselecting this answer - will add payment:app - =no -- **Payment is done using a membership card** corresponds - with payment: - membership_card= - yesUnselecting this answer will - add payment: - membership_card= - no -### bicycle-types + + + + - **Cash is accepted here** corresponds with payment:cash=yesUnselecting this answer will add payment:cash=no + - **Payment cards are accepted here** corresponds with payment:cards=yesUnselecting this answer will add payment:cards=no + - **Payment is done using a dedicated app** corresponds with payment:app=yesUnselecting this answer will add payment:app=no + - **Payment is done using a membership card** corresponds with payment:membership_card=yesUnselecting this answer will add payment:membership_card=no + + + + +### bicycle-types + + The question is **What kind of bicycles and accessories are rented here?** -This rendering asks information about the property [rental](https://wiki.openstreetmap.org/wiki/Key:rental) +This rendering asks information about the property [rental](https://wiki.openstreetmap.org/wiki/Key:rental) This is rendered with `{rental} is rented here` -- **Normal city bikes can be rented here** corresponds - with rental - =city_bike -- **Electrical bikes can be rented here** corresponds - with rental - =ebike -- **BMX bikes can be rented here** corresponds - with rental - =bmx -- **Mountainbikes can be rented here** corresponds - with rental - =mtb -- **Bikes for childs can be rented here** corresponds - with rental - =kid_bike -### rental-capacity-bicycle-type + + - **Normal city bikes can be rented here** corresponds with rental=city_bike + - **Electrical bikes can be rented here** corresponds with rental=ebike + - **BMX bikes can be rented here** corresponds with rental=bmx + - **Mountainbikes can be rented here** corresponds with rental=mtb + - **Bikes for childs can be rented here** corresponds with rental=kid_bike + + + + +### rental-capacity-bicycle-type + + The question is **How much city bikes can be rented here? ** -This rendering asks information about the -property [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) +This rendering asks information about the property [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) This is rendered with `{capacity:city_bike} city bikes can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ -### rental-capacity-bicycle-type + + + + +### rental-capacity-bicycle-type + + The question is **How much electrical bikes can be rented here? ** -This rendering asks information about the -property [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) +This rendering asks information about the property [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) This is rendered with `{capacity:ebike} electrical bikes can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ -### rental-capacity-bicycle-type + + + + +### rental-capacity-bicycle-type + + The question is **How much bikes for children can be rented here? ** -This rendering asks information about the -property [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) +This rendering asks information about the property [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) This is rendered with `{capacity:kid_bike} bikes for children can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ -### rental-capacity-bicycle-type + + + + +### rental-capacity-bicycle-type + + The question is **How much BMX bikes can be rented here? ** -This rendering asks information about the property [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) +This rendering asks information about the property [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) This is rendered with `{capacity:bmx} BMX bikes can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ -### rental-capacity-bicycle-type + + + + +### rental-capacity-bicycle-type + + The question is **How much mountainbike can be rented here? ** -This rendering asks information about the property [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) +This rendering asks information about the property [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) This is rendered with `{capacity:mtb} mountainbike can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ -### rental-capacity-bicycle-type + + + + +### rental-capacity-bicycle-type + + The question is **How much bicycle panniers can be rented here? ** -This rendering asks information about the -property [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) +This rendering asks information about the property [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) This is rendered with `{capacity:bicycle_pannier} bicycle panniers can be rented here` -### questions + + +### questions + + _This tagrendering has no question and is thus read-only_ + + This document is autogenerated from assets/layers/bicycle_rental/bicycle_rental.json \ No newline at end of file diff --git a/Docs/Layers/bicycle_tube_vending_machine.md b/Docs/Layers/bicycle_tube_vending_machine.md index 2e36758b0..77a05e667 100644 --- a/Docs/Layers/bicycle_tube_vending_machine.md +++ b/Docs/Layers/bicycle_tube_vending_machine.md @@ -1,21 +1,23 @@ -bicycle_tube_vending_machine + + + bicycle_tube_vending_machine ============================== - + + +A layer showing vending machines for bicycle tubes (either purpose-built bicycle tube vending machines or classical vending machines with bicycle tubes and optionally additional bicycle related objects such as lights, gloves, locks, ...) + + -A layer showing vending machines for bicycle tubes (either purpose-built bicycle tube vending machines or classical -vending machines with bicycle tubes and optionally additional bicycle related objects such as lights, gloves, locks, -...) ## Table of contents 1. [bicycle_tube_vending_machine](#bicycle_tube_vending_machine) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [Still in use?](#still-in-use) + [bicycle_tube_vending_machine-charge](#bicycle_tube_vending_machine-charge) @@ -24,145 +26,167 @@ vending machines with bicycle tubes and optionally additional bicycle related ob + [bicycle_tube_vending_machine-operator](#bicycle_tube_vending_machine-operator) + [bicycle_tube_vending_maching-other-items](#bicycle_tube_vending_maching-other-items) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bicycle_tube_vending_machine/bicycle_tube_vending_machine.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =vending_machine -- vending~^.*bicycle_tube.*$ -Supported attributes + + - amenity=vending_machine + - vending~^.*bicycle_tube.*$ + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/operational_status#values) [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3D) [broken](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken) [closed](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed) -[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/brand#values) [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | [Continental](https://wiki.openstreetmap.org/wiki/Tag:brand%3DContinental) [Schwalbe](https://wiki.openstreetmap.org/wiki/Tag:brand%3DSchwalbe) [](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [Schwalbe](https://wiki.openstreetmap.org/wiki/Tag:operator%3DSchwalbe) [Continental](https://wiki.openstreetmap.org/wiki/Tag:operator%3DContinental) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### Still in use? + + + + +### Still in use? + + The question is **Is this vending machine still operational?** -This rendering asks information about the -property [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) +This rendering asks information about the property [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) This is rendered with `The operational status is {operational_status}` -- **This vending machine works** corresponds with -- **This vending machine is broken** corresponds - with operational_status - =broken -- **This vending machine is closed** corresponds - with operational_status - =closed -### bicycle_tube_vending_machine-charge + + - **This vending machine works** corresponds with + - **This vending machine is broken** corresponds with operational_status=broken + - **This vending machine is closed** corresponds with operational_status=closed + + + + +### bicycle_tube_vending_machine-charge + + The question is **How much does a bicycle tube cost?** -This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `A bicycle tube costs {charge}` -### vending-machine-payment-methods + + +### vending-machine-payment-methods + + The question is **How can one pay at this tube vending machine?** -- **Payment with coins is possible** corresponds - with payment:coins - =yesUnselecting this answer - will add payment:coins - =no -- **Payment with notes is possible** corresponds - with payment:notes - =yesUnselecting this answer - will add payment:notes - =no -- **Payment with cards is possible** corresponds - with payment:cards - =yesUnselecting this answer - will add payment:cards - =no -### bicycle_tube_vending_machine-brand + + + + - **Payment with coins is possible** corresponds with payment:coins=yesUnselecting this answer will add payment:coins=no + - **Payment with notes is possible** corresponds with payment:notes=yesUnselecting this answer will add payment:notes=no + - **Payment with cards is possible** corresponds with payment:cards=yesUnselecting this answer will add payment:cards=no + + + + +### bicycle_tube_vending_machine-brand + + The question is **Which brand of tubes are sold here?** -This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand) +This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand) This is rendered with `{brand} tubes are sold here` -- **Continental tubes are sold here** corresponds - with brand - =Continental -- **Schwalbe tubes are sold here** corresponds - with brand - =Schwalbe -### bicycle_tube_vending_machine-operator + + - **Continental tubes are sold here** corresponds with brand=Continental + - **Schwalbe tubes are sold here** corresponds with brand=Schwalbe + + + + +### bicycle_tube_vending_machine-operator + + The question is **Who maintains this vending machine?** -This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) This is rendered with `This vending machine is maintained by {operator}` -- **Maintained by Schwalbe** corresponds - with operator - =Schwalbe -- **Maintained by Continental** corresponds - with operator - =Continental -### bicycle_tube_vending_maching-other-items + + - **Maintained by Schwalbe** corresponds with operator=Schwalbe + - **Maintained by Continental** corresponds with operator=Continental + + + + +### bicycle_tube_vending_maching-other-items + + The question is **Are other bicycle bicycle accessories sold here?** -- **Bicycle lights are sold here** corresponds - with vending:bicycle_light - =yesUnselecting this - answer will add vending: - bicycle_light=no -- **Gloves are sold here** corresponds - with vending:gloves - =yesUnselecting this answer - will add vending:gloves - =no -- **Bicycle repair kits are sold here** corresponds - with vending: - bicycle_repair_kit - =yesUnselecting - this answer will add - vending:bicycle_repair_kit - =no -- **Bicycle pumps are sold here** corresponds - with vending:bicycle_pump - =yesUnselecting this - answer will add vending: - bicycle_pump=no -- **Bicycle locks are sold here** corresponds - with vending:bicycle_lock - =yesUnselecting this - answer will add vending: - bicycle_lock=no + + + + + - **Bicycle lights are sold here** corresponds with vending:bicycle_light=yesUnselecting this answer will add vending:bicycle_light=no + - **Gloves are sold here** corresponds with vending:gloves=yesUnselecting this answer will add vending:gloves=no + - **Bicycle repair kits are sold here** corresponds with vending:bicycle_repair_kit=yesUnselecting this answer will add vending:bicycle_repair_kit=no + - **Bicycle pumps are sold here** corresponds with vending:bicycle_pump=yesUnselecting this answer will add vending:bicycle_pump=no + - **Bicycle locks are sold here** corresponds with vending:bicycle_lock=yesUnselecting this answer will add vending:bicycle_lock=no + This document is autogenerated from assets/layers/bicycle_tube_vending_machine/bicycle_tube_vending_machine.json \ No newline at end of file diff --git a/Docs/Layers/bike_cafe.md b/Docs/Layers/bike_cafe.md index c1c0c1da4..18e6d980e 100644 --- a/Docs/Layers/bike_cafe.md +++ b/Docs/Layers/bike_cafe.md @@ -1,20 +1,23 @@ -bike_cafe + + + bike_cafe =========== -A bike café is a café geared towards cyclists, for example with services such as a pump, with lots of bicycle-related -decoration, ... +A bike café is a café geared towards cyclists, for example with services such as a pump, with lots of bicycle-related decoration, ... + + + ## Table of contents 1. [bike_cafe](#bike_cafe) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bike_cafe-name](#bike_cafe-name) + [bike_cafe-bike-pump](#bike_cafe-bike-pump) @@ -25,129 +28,175 @@ decoration, ... + [bike_cafe-email](#bike_cafe-email) + [bike_cafe-opening_hours](#bike_cafe-opening_hours) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_cafe/bike_cafe.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =pub - |amenity - =bar - |amenity - =cafe - |amenity - =restaurant -- pub - =cycling - |pub - =bicycle - |theme - =cycling - |theme - =bicycle|service:bicycle:.*~^..* - $ -Supported attributes + + - amenity=pub|amenity=bar|amenity=cafe|amenity=restaurant + - pub=cycling|pub=bicycle|theme=cycling|theme=bicycle|service:bicycle:.*~^..*$ + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/service:bicycle:pump#values) [service:bicycle:pump](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno) [](https://taginfo.openstreetmap.org/keys/service:bicycle:diy#values) [service:bicycle:diy](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno) [](https://taginfo.openstreetmap.org/keys/service:bicycle:repair#values) [service:bicycle:repair](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno) -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### bike_cafe-name + + + + +### bike_cafe-name + + The question is **What is the name of this bike cafe?** -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `This bike cafe is called {name}` -### bike_cafe-bike-pump + + +### bike_cafe-bike-pump + + The question is **Does this bike cafe offer a bike pump for use by anyone?** -- **This bike cafe offers a bike pump for anyone** corresponds - with service:bicycle:pump - =yes -- **This bike cafe doesn't offer a bike pump for anyone** corresponds - with service:bicycle:pump - =no -### bike_cafe-repair-tools + + + + - **This bike cafe offers a bike pump for anyone** corresponds with service:bicycle:pump=yes + - **This bike cafe doesn't offer a bike pump for anyone** corresponds with service:bicycle:pump=no + + + + +### bike_cafe-repair-tools + + The question is **Are there tools here to repair your own bike?** -- **This bike cafe offers tools for DIY repair** corresponds - with service:bicycle:diy - =yes -- **This bike cafe doesn't offer tools for DIY repair** corresponds - with service:bicycle:diy - =no -### bike_cafe-repair-service + + + + - **This bike cafe offers tools for DIY repair** corresponds with service:bicycle:diy=yes + - **This bike cafe doesn't offer tools for DIY repair** corresponds with service:bicycle:diy=no + + + + +### bike_cafe-repair-service + + The question is **Does this bike cafe repair bikes?** -- **This bike cafe repairs bikes** corresponds - with service:bicycle: - repair=yes -- **This bike cafe doesn't repair bikes** corresponds - with service:bicycle: - repair=no -### bike_cafe-website + + + + - **This bike cafe repairs bikes** corresponds with service:bicycle:repair=yes + - **This bike cafe doesn't repair bikes** corresponds with service:bicycle:repair=no + + + + +### bike_cafe-website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -### bike_cafe-phone + + +### bike_cafe-phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -### bike_cafe-email + + +### bike_cafe-email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -### bike_cafe-opening_hours + + +### bike_cafe-opening_hours + + The question is **When it this bike café opened?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) -This is rendered with `{opening_hours_table(opening_hours)}` +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This is rendered with `{opening_hours_table(opening_hours)}` This document is autogenerated from assets/layers/bike_cafe/bike_cafe.json \ No newline at end of file diff --git a/Docs/Layers/bike_cleaning.md b/Docs/Layers/bike_cleaning.md index ff2cd9bd8..67bee5864 100644 --- a/Docs/Layers/bike_cleaning.md +++ b/Docs/Layers/bike_cleaning.md @@ -1,4 +1,6 @@ -bike_cleaning + + + bike_cleaning =============== @@ -7,96 +9,114 @@ bike_cleaning A layer showing facilities where one can clean their bike + + + ## Table of contents 1. [bike_cleaning](#bike_cleaning) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bike_cleaning-service:bicycle:cleaning:charge](#bike_cleaning-servicebicycle:cleaning:charge) + [bike_cleaning-charge](#bike_cleaning-charge) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_cleaning/bike_cleaning.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- service:bicycle: - cleaning=yes - |service:bicycle: - cleaning=diy - |amenity - =bicycle_wash - |amenity - =bike_wash -Supported attributes + + - service:bicycle:cleaning=yes|service:bicycle:cleaning=diy|amenity=bicycle_wash|amenity=bike_wash + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### bike_cleaning-service:bicycle:cleaning:charge + + + + +### bike_cleaning-service:bicycle:cleaning:charge + + The question is **How much does it cost to use the cleaning service?** -This rendering asks information about the -property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) +This rendering asks information about the property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) This is rendered with `Using the cleaning service costs {service:bicycle:cleaning:charge}` -- **The cleaning service is free to use** corresponds - with service:bicycle: - cleaning:fee - = - no&service:bicycle:cleaning:charge= -- **Free to use** corresponds - with service:bicycle: - cleaning:fee= - no_This option cannot be chosen as answer_ -- **The cleaning service has a fee, but the amount is not known** corresponds - with service:bicycle: - cleaning:fee - = - yes&service:bicycle:cleaning:charge=_This option cannot be chosen as answer_ -### bike_cleaning-charge + + - **The cleaning service is free to use** corresponds with service:bicycle:cleaning:fee=no&service:bicycle:cleaning:charge= + - **Free to use** corresponds with service:bicycle:cleaning:fee=no_This option cannot be chosen as answer_ + - **The cleaning service has a fee, but the amount is not known** corresponds with service:bicycle:cleaning:fee=yes&service:bicycle:cleaning:charge=_This option cannot be chosen as answer_ + + + + +### bike_cleaning-charge + + The question is **How much does it cost to use the cleaning service?** -This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `Using the cleaning service costs {charge}` -- **Free to use cleaning service** corresponds - with fee - =no&charge= -- **Free to use** corresponds with fee - =no_This option cannot be chosen as - answer_ -- **The cleaning service has a fee** corresponds - with fee - =yes + + + - **Free to use cleaning service** corresponds with fee=no&charge= + - **Free to use** corresponds with fee=no_This option cannot be chosen as answer_ + - **The cleaning service has a fee** corresponds with fee=yes + This document is autogenerated from assets/layers/bike_cleaning/bike_cleaning.json \ No newline at end of file diff --git a/Docs/Layers/bike_parking.md b/Docs/Layers/bike_parking.md index 040263ed7..6a8629e79 100644 --- a/Docs/Layers/bike_parking.md +++ b/Docs/Layers/bike_parking.md @@ -1,19 +1,23 @@ -bike_parking + + + bike_parking ============== - + A layer showing where you can park your bike + + + ## Table of contents 1. [bike_parking](#bike_parking) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [Bicycle parking type](#bicycle-parking-type) + [Underground?](#underground) @@ -23,148 +27,185 @@ A layer showing where you can park your bike + [Cargo bike spaces?](#cargo-bike-spaces) + [Cargo bike capacity?](#cargo-bike-capacity) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_parking/bike_parking.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =bicycle_parking -Supported attributes + + - amenity=bicycle_parking + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/bicycle_parking#values) [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking) | [string](../SpecialInputElements.md#string) | [stands](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dstands) [wall_loops](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dwall_loops) [handlebar_holder](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dhandlebar_holder) [rack](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Drack) [two_tier](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dtwo_tier) [shed](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dshed) [bollard](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dbollard) [floor](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dfloor) [](https://taginfo.openstreetmap.org/keys/location#values) [location](https://wiki.openstreetmap.org/wiki/Key:location) | Multiple choice | [underground](https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground) [surface](https://wiki.openstreetmap.org/wiki/Tag:location%3Dsurface) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop) [](https://taginfo.openstreetmap.org/keys/covered#values) [covered](https://wiki.openstreetmap.org/wiki/Key:covered) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:covered%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:covered%3Dno) -[](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [nat](../SpecialInputElements.md#nat) | +[](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [nat](../SpecialInputElements.md#nat) | [](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [](https://taginfo.openstreetmap.org/keys/cargo_bike#values) [cargo_bike](https://wiki.openstreetmap.org/wiki/Key:cargo_bike) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dyes) [designated](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dno) -[](https://taginfo.openstreetmap.org/keys/capacity:cargo_bike#values) [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) | [nat](../SpecialInputElements.md#nat) | +[](https://taginfo.openstreetmap.org/keys/capacity:cargo_bike#values) [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) | [nat](../SpecialInputElements.md#nat) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### Bicycle parking type + + + + +### Bicycle parking type + + The question is **What is the type of this bicycle parking?** -This rendering asks information about the -property [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking) +This rendering asks information about the property [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking) This is rendered with `This is a bicycle parking of the type: {bicycle_parking}` -- **Staple racks ** corresponds - with bicycle_parking - =stands -- **Wheel rack/loops ** corresponds - with bicycle_parking - =wall_loops -- **Handlebar holder ** corresponds - with bicycle_parking - = - handlebar_holder -- **Rack ** corresponds - with bicycle_parking - =rack -- **Two-tiered ** corresponds - with bicycle_parking - =two_tier -- **Shed ** corresponds - with bicycle_parking - =shed -- **Bollard ** corresponds - with bicycle_parking - =bollard -- **An area on the floor which is marked for bicycle parking** corresponds - with bicycle_parking - =floor -### Underground? + + - **Staple racks ** corresponds with bicycle_parking=stands + - **Wheel rack/loops ** corresponds with bicycle_parking=wall_loops + - **Handlebar holder ** corresponds with bicycle_parking=handlebar_holder + - **Rack ** corresponds with bicycle_parking=rack + - **Two-tiered ** corresponds with bicycle_parking=two_tier + - **Shed ** corresponds with bicycle_parking=shed + - **Bollard ** corresponds with bicycle_parking=bollard + - **An area on the floor which is marked for bicycle parking** corresponds with bicycle_parking=floor + + + + +### Underground? + + The question is **What is the relative location of this bicycle parking?** -- **Underground parking** corresponds with - location=underground -- **Surface level parking** corresponds with - location=surface -- **Rooftop parking** corresponds with - location=rooftop -- **Surface level parking** corresponds with _This option cannot be chosen as answer_ -- **Rooftop parking** corresponds with - location=rooftop -### Is covered? + + + + - **Underground parking** corresponds with location=underground + - **Surface level parking** corresponds with location=surface + - **Rooftop parking** corresponds with location=rooftop + - **Surface level parking** corresponds with _This option cannot be chosen as answer_ + - **Rooftop parking** corresponds with location=rooftop + + + + +### Is covered? + + The question is **Is this parking covered? Also select "covered" for indoor parkings.** -- **This parking is covered (it has a roof)** corresponds - with covered - =yes -- **This parking is not covered** corresponds - with covered - =no -### Capacity + + + + - **This parking is covered (it has a roof)** corresponds with covered=yes + - **This parking is not covered** corresponds with covered=no + + + + +### Capacity + + The question is **How many bicycles fit in this bicycle parking (including possible cargo bicycles)?** -This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) +This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) This is rendered with `Place for {capacity} bikes` -### Access + + +### Access + + The question is **Who can use this bicycle parking?** -This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) +This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) This is rendered with `{access}` -- **Publicly accessible** corresponds with - access=yes -- **Access is primarily for visitors to a business** corresponds - with access - =customers -- **Access is limited to members of a school, company or organisation** corresponds - with access - =private -### Cargo bike spaces? + + - **Publicly accessible** corresponds with access=yes + - **Access is primarily for visitors to a business** corresponds with access=customers + - **Access is limited to members of a school, company or organisation** corresponds with access=private + + + + +### Cargo bike spaces? + + The question is **Does this bicycle parking have spots for cargo bikes?** -- **This parking has room for cargo bikes** corresponds - with cargo_bike - =yes -- **This parking has designated (official) spots for cargo bikes.** corresponds - with cargo_bike - =designated -- **You're not allowed to park cargo bikes** corresponds - with cargo_bike - =no -### Cargo bike capacity? + + + + - **This parking has room for cargo bikes** corresponds with cargo_bike=yes + - **This parking has designated (official) spots for cargo bikes.** corresponds with cargo_bike=designated + - **You're not allowed to park cargo bikes** corresponds with cargo_bike=no + + + + +### Cargo bike capacity? + + The question is **How many cargo bicycles fit in this bicycle parking?** -This rendering asks information about the -property [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) -This is rendered with `This parking fits {capacity:cargo_bike} cargo bikes` +This rendering asks information about the property [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) +This is rendered with `This parking fits {capacity:cargo_bike} cargo bikes` This document is autogenerated from assets/layers/bike_parking/bike_parking.json \ No newline at end of file diff --git a/Docs/Layers/bike_repair_station.md b/Docs/Layers/bike_repair_station.md index 245639590..8c7db97cc 100644 --- a/Docs/Layers/bike_repair_station.md +++ b/Docs/Layers/bike_repair_station.md @@ -1,230 +1,302 @@ -bike_repair_station + + + bike_repair_station ===================== - + A layer showing bicycle pumps and bicycle repair tool stands + + + ## Table of contents 1. [bike_repair_station](#bike_repair_station) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bike_repair_station-available-services](#bike_repair_station-available-services) + + [Operational status](#operational-status) + + [bike_repair_station-opening_hours](#bike_repair_station-opening_hours) + [bike_repair_station-operator](#bike_repair_station-operator) + [bike_repair_station-email](#bike_repair_station-email) + [bike_repair_station-phone](#bike_repair_station-phone) - + [bike_repair_station-opening_hours](#bike_repair_station-opening_hours) + [bike_repair_station-bike-chain-tool](#bike_repair_station-bike-chain-tool) + [bike_repair_station-bike-stand](#bike_repair_station-bike-stand) - + [Operational status](#operational-status) + [Email maintainer](#email-maintainer) + [bike_repair_station-valves](#bike_repair_station-valves) + [bike_repair_station-electrical_pump](#bike_repair_station-electrical_pump) + [bike_repair_station-manometer](#bike_repair_station-manometer) + [level](#level) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_repair_station/bike_repair_station.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - = - bicycle_repair_station -Supported attributes + + - amenity=bicycle_repair_station + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/service:bicycle:tools#values) [service:bicycle:tools](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes) -[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [De Fietsambassade Gent](https://wiki.openstreetmap.org/wiki/Tag:operator%3DDe Fietsambassade Gent) -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/service:bicycle:pump:operational_status#values) [service:bicycle:pump:operational_status](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status) | Multiple choice | [broken](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken) [operational](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Doperational) [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) +[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/service:bicycle:chain_tool#values) [service:bicycle:chain_tool](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dno) [](https://taginfo.openstreetmap.org/keys/service:bicycle:stand#values) [service:bicycle:stand](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dno) -[](https://taginfo.openstreetmap.org/keys/service:bicycle:pump:operational_status#values) [service:bicycle:pump:operational_status](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status) | Multiple choice | [broken](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken) [](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3D) [](https://taginfo.openstreetmap.org/keys/valves#values) [valves](https://wiki.openstreetmap.org/wiki/Key:valves) | [string](../SpecialInputElements.md#string) | [sclaverand](https://wiki.openstreetmap.org/wiki/Tag:valves%3Dsclaverand) [dunlop](https://wiki.openstreetmap.org/wiki/Tag:valves%3Ddunlop) [schrader](https://wiki.openstreetmap.org/wiki/Tag:valves%3Dschrader) [](https://taginfo.openstreetmap.org/keys/manual#values) [manual](https://wiki.openstreetmap.org/wiki/Key:manual) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:manual%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:manual%3Dno) [](https://taginfo.openstreetmap.org/keys/manometer#values) [manometer](https://wiki.openstreetmap.org/wiki/Key:manometer) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dno) [broken](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dbroken) -[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) +[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### bike_repair_station-available-services -The question is **Which services are available at this bike station?** -- **There is only a pump present** corresponds - with service:bicycle:tools - =no - &service:bicycle:pump - =yes -- **There are only tools (screwdrivers, pliers...) present** corresponds - with service:bicycle:tools - =yes - &service:bicycle:pump - =no -- **There are both tools and a pump present** corresponds - with service:bicycle:tools - =yes - &service:bicycle:pump - =yes -### bike_repair_station-operator -The question is **Who maintains this cycle pump?** +### bike_repair_station-available-services -This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) -This is rendered with `Maintained by {operator}` -- **De Fietsambassade Gent** corresponds - with operator - =De Fietsambassade - Gent -### bike_repair_station-email +The question is **Which services are available at this location?** -The question is **What is the email address of the maintainer?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) -This is rendered with `{email}` -### bike_repair_station-phone -The question is **What is the phone number of the maintainer?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) -This is rendered with `{phone}` + - **There is only a pump present** corresponds with service:bicycle:tools=no&service:bicycle:pump=yes + - **There are only tools (screwdrivers, pliers...) present** corresponds with service:bicycle:tools=yes&service:bicycle:pump=no + - **There are both tools and a pump present** corresponds with service:bicycle:tools=yes&service:bicycle:pump=yes -### bike_repair_station-opening_hours -The question is **When is this bicycle repair point open?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) -This is rendered with `{opening_hours_table()}` -- **Always open** corresponds with - opening_hours=24/7 -- **Always open** corresponds with _This option cannot be chosen as answer_ +### Operational status -### bike_repair_station-bike-chain-tool -The question is **Does this bike repair station have a special tool to repair your bike chain?** - -- **There is a chain tool** corresponds - with service:bicycle: - chain_tool= - yes -- **There is no chain tool** corresponds - with service:bicycle: - chain_tool= - no - -### bike_repair_station-bike-stand - -The question is **Does this bike station have a hook to hang your bike on or a stand to raise it?** - -- **There is a hook or stand** corresponds - with service:bicycle:stand - =yes -- **There is no hook or stand** corresponds - with service:bicycle:stand - =no - -### Operational status The question is **Is the bike pump still operational?** -- **The bike pump is broken** corresponds - with - service:bicycle:pump:operational_status - = - broken -- **The bike pump is operational** corresponds with -### Email maintainer + + + + - **The bike pump is broken** corresponds with service:bicycle:pump:operational_status=broken + - **The bike pump is operational** corresponds with service:bicycle:pump:operational_status=operational + + + + +### bike_repair_station-opening_hours + + + +The question is **When is this bicycle repair point open?** + +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This is rendered with `{opening_hours_table()}` + + + + - **Always open** corresponds with opening_hours=24/7 + + + + +### bike_repair_station-operator + + + +The question is **Who maintains this cycle pump?** + +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) +This is rendered with `Maintained by {operator}` + + + +### bike_repair_station-email + + + +The question is **What is the email address of the maintainer?** + +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This is rendered with `{email}` + + + +### bike_repair_station-phone + + + +The question is **What is the phone number of the maintainer?** + +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This is rendered with `{phone}` + + + +### bike_repair_station-bike-chain-tool + + + +The question is **Does this bike repair station have a special tool to repair your bike chain?** + + + + + + - **There is a chain tool** corresponds with service:bicycle:chain_tool=yes + - **There is no chain tool** corresponds with service:bicycle:chain_tool=no + + + + +### bike_repair_station-bike-stand + + + +The question is **Does this bike station have a hook to hang your bike on or a stand to raise it?** + + + + + + - **There is a hook or stand** corresponds with service:bicycle:stand=yes + - **There is no hook or stand** corresponds with service:bicycle:stand=no + + + + +### Email maintainer + + _This tagrendering has no question and is thus read-only_ -### bike_repair_station-valves + + + + +### bike_repair_station-valves + + The question is **What valves are supported?** -This rendering asks information about the property [valves](https://wiki.openstreetmap.org/wiki/Key:valves) +This rendering asks information about the property [valves](https://wiki.openstreetmap.org/wiki/Key:valves) This is rendered with `This pump supports the following valves: {valves}` -- **Sclaverand (also known as Presta)** corresponds - with valves - =sclaverand -- **Dunlop** corresponds with valves - =dunlop -- **Schrader (cars)** corresponds with - valves=schrader -### bike_repair_station-electrical_pump + + - **Sclaverand (also known as Presta)** corresponds with valves=sclaverand + - **Dunlop** corresponds with valves=dunlop + - **Schrader (cars)** corresponds with valves=schrader + + + + +### bike_repair_station-electrical_pump + + The question is **Is this an electric bike pump?** -- **Manual pump** corresponds with manual - =yes -- **Electrical pump** corresponds with - manual=no -### bike_repair_station-manometer + + + + - **Manual pump** corresponds with manual=yes + - **Electrical pump** corresponds with manual=no + + + + +### bike_repair_station-manometer + + The question is **Does the pump have a pressure indicator or manometer?** -- **There is a manometer** corresponds with - manometer=yes -- **There is no manometer** corresponds - with manometer - =no -- **There is manometer but it is broken** corresponds - with manometer - =broken -### level + + + + - **There is a manometer** corresponds with manometer=yes + - **There is no manometer** corresponds with manometer=no + - **There is manometer but it is broken** corresponds with manometer=broken + + + + +### level + + The question is **On what level is this feature located?** -This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) +This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) This is rendered with `Located on the {level}th floor` -- **Located underground** corresponds with - location=underground_ - This option cannot be chosen as answer_ -- **Located on the ground floor** corresponds - with level - =0 -- **Located on the ground floor** corresponds with _This option cannot be chosen as answer_ -- **Located on the first floor** corresponds - with level - =1 + + + - **Located underground** corresponds with location=underground_This option cannot be chosen as answer_ + - **Located on the ground floor** corresponds with level=0 + - **Located on the ground floor** corresponds with _This option cannot be chosen as answer_ + - **Located on the first floor** corresponds with level=1 + - **Located on the first basement level** corresponds with level=-1 + This document is autogenerated from assets/layers/bike_repair_station/bike_repair_station.json \ No newline at end of file diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index 9ef84a28e..b5cf88a19 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -1,4 +1,6 @@ -bike_shop + + + bike_shop =========== @@ -7,13 +9,15 @@ bike_shop A shop specifically selling bicycles or related items + + + ## Table of contents 1. [bike_shop](#bike_shop) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bike_shop-is-bicycle_shop](#bike_shop-is-bicycle_shop) + [bike_shop-name](#bike_shop-name) @@ -32,49 +36,60 @@ A shop specifically selling bicycles or related items + [bike_repair_bike-wash](#bike_repair_bike-wash) + [bike_cleaning-service:bicycle:cleaning:charge](#bike_cleaning-servicebicycle:cleaning:charge) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_shop/bike_shop.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- shop - =bicycle - |amenity - =bicycle_rental - |shop - =sports&service:bicycle:retail!~ - ^no$&service:bicycle:repair!~^no$&sport - =bicycle - |sport - =cycling| -Supported attributes + + - shop=bicycle|amenity=bicycle_rental|shop=sports&service:bicycle:retail!~^no$&service:bicycle:repair!~^no$&sport=bicycle|sport=cycling| + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | -[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/service:bicycle:retail#values) [service:bicycle:retail](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno) [](https://taginfo.openstreetmap.org/keys/service:bicycle:repair#values) [service:bicycle:repair](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold) [brand](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand) [](https://taginfo.openstreetmap.org/keys/service:bicycle:rental#values) [service:bicycle:rental](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno) @@ -82,187 +97,240 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/service:bicycle:pump#values) [service:bicycle:pump](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dseparate) [](https://taginfo.openstreetmap.org/keys/service:bicycle:diy#values) [service:bicycle:diy](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Donly_sold) [](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning#values) [service:bicycle:cleaning](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes) [diy](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dno) -[](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### bike_shop-is-bicycle_shop + + + + +### bike_shop-is-bicycle_shop + + _This tagrendering has no question and is thus read-only_ -### bike_shop-name + + + + +### bike_shop-name + + The question is **What is the name of this bicycle shop?** -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `This bicycle shop is called {name}` -### bike_shop-website + + +### bike_shop-website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -### bike_shop-phone + + +### bike_shop-phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -### bike_shop-email + + +### bike_shop-email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -### bike_shop-opening_hours + + +### bike_shop-opening_hours + + The question is **When is this shop opened?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `{opening_hours_table(opening_hours)}` -### description -The question is **Is there still something relevant you couldn't give in the previous questions? Add it -here.
Don't repeat already stated facts** -This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) +### description + + + +The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.
Don't repeat already stated facts** + +This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) This is rendered with `{description}` -### bike_shop-access + + +### bike_shop-access + + _This tagrendering has no question and is thus read-only_ -This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) +This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) This is rendered with `Enkel voor {access}` -### bike_repair_sells-bikes + + +### bike_repair_sells-bikes + + The question is **Does this shop sell bikes?** -- **This shop sells bikes** corresponds - with service:bicycle: - retail=yes -- **This shop doesn't sell bikes** corresponds - with service:bicycle: - retail=no -### bike_repair_repairs-bikes + + + + - **This shop sells bikes** corresponds with service:bicycle:retail=yes + - **This shop doesn't sell bikes** corresponds with service:bicycle:retail=no + + + + +### bike_repair_repairs-bikes + + The question is **Does this shop repair bikes?** -- **This shop repairs bikes** corresponds - with service:bicycle: - repair=yes -- **This shop doesn't repair bikes** corresponds - with service:bicycle: - repair=no -- **This shop only repairs bikes bought here** corresponds - with service:bicycle: - repair= - only_sold -- **This shop only repairs bikes of a certain brand** corresponds - with service:bicycle: - repair=brand -### bike_repair_rents-bikes + + + + - **This shop repairs bikes** corresponds with service:bicycle:repair=yes + - **This shop doesn't repair bikes** corresponds with service:bicycle:repair=no + - **This shop only repairs bikes bought here** corresponds with service:bicycle:repair=only_sold + - **This shop only repairs bikes of a certain brand** corresponds with service:bicycle:repair=brand + + + + +### bike_repair_rents-bikes + + The question is **Does this shop rent out bikes?** -- **This shop rents out bikes** corresponds - with service:bicycle: - rental=yes -- **This shop doesn't rent out bikes** corresponds - with service:bicycle: - rental=no -### bike_repair_second-hand-bikes + + + + - **This shop rents out bikes** corresponds with service:bicycle:rental=yes + - **This shop doesn't rent out bikes** corresponds with service:bicycle:rental=no + + + + +### bike_repair_second-hand-bikes + + The question is **Does this shop sell second-hand bikes?** -- **This shop sells second-hand bikes** corresponds - with service:bicycle: - second_hand= - yes -- **This shop doesn't sell second-hand bikes** corresponds - with service:bicycle: - second_hand= - no -- **This shop only sells second-hand bikes** corresponds - with service:bicycle: - second_hand= - only -### bike_repair_bike-pump-service + + + + - **This shop sells second-hand bikes** corresponds with service:bicycle:second_hand=yes + - **This shop doesn't sell second-hand bikes** corresponds with service:bicycle:second_hand=no + - **This shop only sells second-hand bikes** corresponds with service:bicycle:second_hand=only + + + + +### bike_repair_bike-pump-service + + The question is **Does this shop offer a bike pump for use by anyone?** -- **This shop offers a bike pump for anyone** corresponds - with service:bicycle:pump - =yes -- **This shop doesn't offer a bike pump for anyone** corresponds - with service:bicycle:pump - =no -- **There is bicycle pump, it is shown as a separate point ** corresponds - with service:bicycle:pump - =separate -### bike_repair_tools-service + + + + - **This shop offers a bike pump for anyone** corresponds with service:bicycle:pump=yes + - **This shop doesn't offer a bike pump for anyone** corresponds with service:bicycle:pump=no + - **There is bicycle pump, it is shown as a separate point ** corresponds with service:bicycle:pump=separate + + + + +### bike_repair_tools-service + + The question is **Are there tools here to repair your own bike?** -- **This shop offers tools for DIY repair** corresponds - with service:bicycle:diy - =yes -- **This shop doesn't offer tools for DIY repair** corresponds - with service:bicycle:diy - =no -- **Tools for DIY repair are only available if you bought/hire the bike in the shop** corresponds - with service:bicycle:diy - =only_sold -### bike_repair_bike-wash + + + + - **This shop offers tools for DIY repair** corresponds with service:bicycle:diy=yes + - **This shop doesn't offer tools for DIY repair** corresponds with service:bicycle:diy=no + - **Tools for DIY repair are only available if you bought/hire the bike in the shop** corresponds with service:bicycle:diy=only_sold + + + + +### bike_repair_bike-wash + + The question is **Are bicycles washed here?** -- **This shop cleans bicycles** corresponds - with service:bicycle: - cleaning=yes -- **This shop has an installation where one can clean bicycles themselves** corresponds - with service:bicycle: - cleaning=diy -- **This shop doesn't offer bicycle cleaning** corresponds - with service:bicycle: - cleaning=no -### bike_cleaning-service:bicycle:cleaning:charge + + + + - **This shop cleans bicycles** corresponds with service:bicycle:cleaning=yes + - **This shop has an installation where one can clean bicycles themselves** corresponds with service:bicycle:cleaning=diy + - **This shop doesn't offer bicycle cleaning** corresponds with service:bicycle:cleaning=no + + + + +### bike_cleaning-service:bicycle:cleaning:charge + + The question is **How much does it cost to use the cleaning service?** -This rendering asks information about the -property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) +This rendering asks information about the property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) This is rendered with `Using the cleaning service costs {service:bicycle:cleaning:charge}` -- **The cleaning service is free to use** corresponds - with service:bicycle: - cleaning:fee - = - no&service:bicycle:cleaning:charge= -- **Free to use** corresponds - with service:bicycle: - cleaning:fee= - no_This option cannot be chosen as answer_ -- **The cleaning service has a fee, but the amount is not known** corresponds - with service:bicycle: - cleaning:fee - = - yes&service:bicycle:cleaning:charge=_This option cannot be chosen as answer_ + + + - **The cleaning service is free to use** corresponds with service:bicycle:cleaning:fee=no&service:bicycle:cleaning:charge= + - **Free to use** corresponds with service:bicycle:cleaning:fee=no_This option cannot be chosen as answer_ + - **The cleaning service has a fee, but the amount is not known** corresponds with service:bicycle:cleaning:fee=yes&service:bicycle:cleaning:charge=_This option cannot be chosen as answer_ + This document is autogenerated from assets/layers/bike_shop/bike_shop.json \ No newline at end of file diff --git a/Docs/Layers/bike_themed_object.md b/Docs/Layers/bike_themed_object.md index 0c10faefa..150c95317 100644 --- a/Docs/Layers/bike_themed_object.md +++ b/Docs/Layers/bike_themed_object.md @@ -1,4 +1,6 @@ -bike_themed_object + + + bike_themed_object ==================== @@ -7,13 +9,15 @@ bike_themed_object A layer with bike-themed objects but who don't match any other layer + + + ## Table of contents 1. [bike_themed_object](#bike_themed_object) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [description](#description) + [website](#website) @@ -21,104 +25,138 @@ A layer with bike-themed objects but who don't match any other layer + [phone](#phone) + [opening_hours](#opening_hours) -#### Themes using this layer -- [cyclofix](https://mapcomplete.osm.be/cyclofix) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cyclofix](https://mapcomplete.osm.be/cyclofix) + [Go to the source code](../assets/layers/bike_themed_object/bike_themed_object.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- theme - =bicycle - |theme - =cycling - |sport - =cycling - |association - =cycling - |association - =bicycle - |ngo - =cycling - |ngo - =bicycle - |club - =bicycle - |club - =cycling -Supported attributes + + - theme=bicycle|theme=cycling|sport=cycling|association=cycling|association=bicycle|ngo=cycling|ngo=bicycle|club=bicycle|club=cycling + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### description -The question is **Is there still something relevant you couldn't give in the previous questions? Add it -here.
Don't repeat already stated facts** -This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) + + +### description + + + +The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.
Don't repeat already stated facts** + +This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) This is rendered with `{description}` -### website + + +### website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -- **{contact:website}** corresponds with contact:website~^..*$_This - option cannot be chosen as answer_ -### email + + - **{contact:website}** corresponds with contact:website~^..*$_This option cannot be chosen as answer_ + + + + +### email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -- **{contact:email}** corresponds with contact:email~^..*$_This - option cannot be chosen as answer_ -### phone + + - **{contact:email}** corresponds with contact:email~^..*$_This option cannot be chosen as answer_ + + + + +### phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -- **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be - chosen as answer_ -### opening_hours + + - **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_ + + + + +### opening_hours + + The question is **What are the opening hours of {name}?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) -This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` This document is autogenerated from assets/layers/bike_themed_object/bike_themed_object.json \ No newline at end of file diff --git a/Docs/Layers/binocular.md b/Docs/Layers/binocular.md index ff88c682c..b10ce7f78 100644 --- a/Docs/Layers/binocular.md +++ b/Docs/Layers/binocular.md @@ -1,73 +1,113 @@ -binocular + + + binocular =========== - + Binoculas + + + ## Table of contents 1. [binocular](#binocular) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [binocular-charge](#binocular-charge) + [binocular-direction](#binocular-direction) -#### Themes using this layer -- [binoculars](https://mapcomplete.osm.be/binoculars) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [binoculars](https://mapcomplete.osm.be/binoculars) + [Go to the source code](../assets/layers/binocular/binocular.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =binoculars -Supported attributes + + - amenity=binoculars + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D) -[](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) | +[](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) | + + + + +### images + -### images _This tagrendering has no question and is thus read-only_ -### binocular-charge + + + + +### binocular-charge + + The question is **How much does one have to pay to use these binoculars?** -This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `Using these binoculars costs {charge}` -- **Free to use** corresponds with fee - =no -### binocular-direction + + - **Free to use** corresponds with fee=no + + + + +### binocular-direction + + The question is **When looking through this binocular, in what direction does one look?** -This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction) -This is rendered with `Looks towards {direction}°` +This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction) +This is rendered with `Looks towards {direction}°` This document is autogenerated from assets/layers/binocular/binocular.json \ No newline at end of file diff --git a/Docs/Layers/birdhide.md b/Docs/Layers/birdhide.md index e0bf91153..bb001465c 100644 --- a/Docs/Layers/birdhide.md +++ b/Docs/Layers/birdhide.md @@ -1,4 +1,6 @@ -birdhide + + + birdhide ========== @@ -7,108 +9,133 @@ birdhide Een vogelkijkhut + + + ## Table of contents 1. [birdhide](#birdhide) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [bird-hide-shelter-or-wall](#bird-hide-shelter-or-wall) + [bird-hide-wheelchair](#bird-hide-wheelchair) + [birdhide-operator](#birdhide-operator) -#### Themes using this layer -- [nature](https://mapcomplete.osm.be/nature) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [nature](https://mapcomplete.osm.be/nature) + [Go to the source code](../assets/layers/birdhide/birdhide.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- leisure - =bird_hide -Supported attributes + + - leisure=bird_hide + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/building#values) [building](https://wiki.openstreetmap.org/wiki/Key:building) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:building%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes) [tower](https://wiki.openstreetmap.org/wiki/Tag:building%3Dtower) [](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) [](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [Natuurpunt](https://wiki.openstreetmap.org/wiki/Tag:operator%3DNatuurpunt) [Agentschap Natuur en Bos](https://wiki.openstreetmap.org/wiki/Tag:operator%3DAgentschap Natuur en Bos) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### bird-hide-shelter-or-wall + + + + +### bird-hide-shelter-or-wall + + The question is **Is dit een kijkwand of kijkhut?** -- **Vogelkijkwand** corresponds with - shelter=no -- **Vogelkijkhut** corresponds with - amenity=shelter - &building - =yes - &shelter - =yes -- **Vogelkijktoren** corresponds with - building=tower - &bird_hide - =tower -- **Vogelkijkhut** corresponds with - amenity=shelter - |building - =yes - |shelter - =yes_This option cannot be chosen - as answer_ -### bird-hide-wheelchair + + + + - **Vogelkijkwand** corresponds with shelter=no + - **Vogelkijkhut** corresponds with amenity=shelter&building=yes&shelter=yes + - **Vogelkijktoren** corresponds with building=tower&bird_hide=tower + - **Vogelkijkhut** corresponds with amenity=shelter|building=yes|shelter=yes_This option cannot be chosen as answer_ + + + + +### bird-hide-wheelchair + + The question is **Is deze vogelkijkplaats rolstoeltoegankelijk?** -- **Er zijn speciale voorzieningen voor rolstoelen** corresponds - with wheelchair - =designated -- **Een rolstoel raakt er vlot** corresponds - with wheelchair - =yes -- **Je kan er raken met een rolstoel, maar het is niet makkelijk** corresponds - with wheelchair - =limited -- **Niet rolstoeltoegankelijk** corresponds - with wheelchair - =no -### birdhide-operator + + + + - **Er zijn speciale voorzieningen voor rolstoelen** corresponds with wheelchair=designated + - **Een rolstoel raakt er vlot** corresponds with wheelchair=yes + - **Je kan er raken met een rolstoel, maar het is niet makkelijk** corresponds with wheelchair=limited + - **Niet rolstoeltoegankelijk** corresponds with wheelchair=no + + + + +### birdhide-operator + + The question is **Wie beheert deze vogelkijkplaats?** -This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) This is rendered with `Beheer door {operator}` -- **Beheer door Natuurpunt** corresponds - with operator - =Natuurpunt -- **Beheer door het Agentschap Natuur en Bos ** corresponds - with operator - =Agentschap - Natuur en Bos + + + - **Beheer door Natuurpunt** corresponds with operator=Natuurpunt + - **Beheer door het Agentschap Natuur en Bos ** corresponds with operator=Agentschap Natuur en Bos + This document is autogenerated from assets/layers/birdhide/birdhide.json \ No newline at end of file diff --git a/Docs/Layers/cafe_pub.md b/Docs/Layers/cafe_pub.md index e3c68e09a..af04b6700 100644 --- a/Docs/Layers/cafe_pub.md +++ b/Docs/Layers/cafe_pub.md @@ -1,19 +1,23 @@ -cafe_pub + + + cafe_pub ========== - + A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions + + + ## Table of contents 1. [cafe_pub](#cafe_pub) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [Name](#name) + [Classification](#classification) @@ -26,185 +30,231 @@ A layer showing cafés and pubs where one can gather around a drink. The layer a + [service:electricity](#serviceelectricity) + [dog-access](#dog-access) -#### Themes using this layer -- [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs) + [Go to the source code](../assets/layers/cafe_pub/cafe_pub.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =bar - |amenity - =pub - |amenity - =cafe - |amenity - =biergarten -Supported attributes + + - amenity=bar|amenity=pub|amenity=cafe|amenity=biergarten + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/amenity#values) [amenity](https://wiki.openstreetmap.org/wiki/Key:amenity) | Multiple choice | [pub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub) [bar](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar) [cafe](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe) [restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [biergarten](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten) -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### Name + + + + +### Name + + The question is **What is the name of this pub?** -This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) This is rendered with `This pub is named {name}` -### Classification + + +### Classification + + The question is **What kind of cafe is this** -- **Dit is een bruin café of een kroeg waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig - met veel houtwerk ** corresponds with - amenity=pub -- **Dit is een bar waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en - commercieel, soms met lichtinstallatie en feestmuziek** corresponds - with amenity - =bar -- **Dit is een cafe - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te - nuttigen.** corresponds with amenity - =cafe -- **Dit is een restaurant waar men een maaltijd geserveerd krijgt** corresponds - with amenity - =restaurant -- **Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland** corresponds - with amenity - =biergarten -### opening_hours + + + + - **Dit is een bruin café of een kroeg waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk ** corresponds with amenity=pub + - **Dit is een bar waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek** corresponds with amenity=bar + - **Dit is een cafe - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen.** corresponds with amenity=cafe + - **Dit is een restaurant waar men een maaltijd geserveerd krijgt** corresponds with amenity=restaurant + - **Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland** corresponds with amenity=biergarten + + + + +### opening_hours + + The question is **What are the opening hours of {name}?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` -### website + + +### website + + The question is **What is the website of {name}?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` -- **{contact:website}** corresponds with contact:website~^..*$_This - option cannot be chosen as answer_ -### email + + - **{contact:website}** corresponds with contact:website~^..*$_This option cannot be chosen as answer_ + + + + +### email + + The question is **What is the email address of {name}?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `{email}` -- **{contact:email}** corresponds with contact:email~^..*$_This - option cannot be chosen as answer_ -### phone + + - **{contact:email}** corresponds with contact:email~^..*$_This option cannot be chosen as answer_ + + + + +### phone + + The question is **What is the phone number of {name}?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `{phone}` -- **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be - chosen as answer_ -### payment-options + + - **{contact:phone}** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_ + + + + +### payment-options + + The question is **Which methods of payment are accepted here?** -- **Cash is accepted here** corresponds - with payment:cash - =yesUnselecting this answer - will add payment:cash - =no -- **Payment cards are accepted here** corresponds - with payment:cards - =yesUnselecting this answer - will add payment:cards - =no -### wheelchair-access + + + + - **Cash is accepted here** corresponds with payment:cash=yesUnselecting this answer will add payment:cash=no + - **Payment cards are accepted here** corresponds with payment:cards=yesUnselecting this answer will add payment:cards=no + + + + +### wheelchair-access + + The question is **Is this place accessible with a wheelchair?** -- **This place is specially adapted for wheelchair users** corresponds - with wheelchair - =designated -- **This place is easily reachable with a wheelchair** corresponds - with wheelchair - =yes -- **It is possible to reach this place in a wheelchair, but it is not easy** corresponds - with wheelchair - =limited -- **This place is not reachable with a wheelchair** corresponds - with wheelchair - =no -### service:electricity + + + + - **This place is specially adapted for wheelchair users** corresponds with wheelchair=designated + - **This place is easily reachable with a wheelchair** corresponds with wheelchair=yes + - **It is possible to reach this place in a wheelchair, but it is not easy** corresponds with wheelchair=limited + - **This place is not reachable with a wheelchair** corresponds with wheelchair=no + + + + +### service:electricity + + The question is **Does this amenity have electrical outlets, available to customers when they are inside?** -- **There are plenty of domestic sockets available to customers seated indoors, where they can charge their - electronics** corresponds with - service:electricity= - yes -- **There are a few domestic sockets available to customers seated indoors, where they can charge their electronics** - corresponds with service: - electricity= - limited -- **There are no sockets available indoors to customers, but charging might be possible if the staff is asked** - corresponds with service: - electricity=ask -- **There are a no domestic sockets available to customers seated indoors** corresponds - with service:electricity - =no -### dog-access + + + + - **There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics** corresponds with service:electricity=yes + - **There are a few domestic sockets available to customers seated indoors, where they can charge their electronics** corresponds with service:electricity=limited + - **There are no sockets available indoors to customers, but charging might be possible if the staff is asked** corresponds with service:electricity=ask + - **There are a no domestic sockets available to customers seated indoors** corresponds with service:electricity=no + + + + +### dog-access + + The question is **Are dogs allowed in this business?** -- **Dogs are allowed** corresponds with dog - =yes -- **Dogs are not allowed** corresponds - with dog - =no -- **Dogs are allowed, but they have to be leashed** corresponds - with dog - =leashed -- **Dogs are allowed and can run around freely** corresponds - with dog - =unleashed + + + + + - **Dogs are allowed** corresponds with dog=yes + - **Dogs are not allowed** corresponds with dog=no + - **Dogs are allowed, but they have to be leashed** corresponds with dog=leashed + - **Dogs are allowed and can run around freely** corresponds with dog=unleashed + This document is autogenerated from assets/layers/cafe_pub/cafe_pub.json \ No newline at end of file diff --git a/Docs/Layers/charging_station.md b/Docs/Layers/charging_station.md index 3023a71be..39add11cc 100644 --- a/Docs/Layers/charging_station.md +++ b/Docs/Layers/charging_station.md @@ -1,19 +1,23 @@ -charging_station + + + charging_station ================== - + A charging station + + + ## Table of contents 1. [charging_station](#charging_station) - * [Themes using this layer](#themes-using-this-layer) - -- [Basic tags for this layer](#basic-tags-for-this-layer) -- [Supported attributes](#supported-attributes) + * [Themes using this layer](#themes-using-this-layer) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + [images](#images) + [Type](#type) + [access](#access) @@ -102,1843 +106,1486 @@ A charging station + [questions](#questions) + [questions](#questions) -#### Themes using this layer -- [charging_stations](https://mapcomplete.osm.be/charging_stations) -- [personal](https://mapcomplete.osm.be/personal) + + + + + + + + +#### Themes using this layer + + + + + + - [charging_stations](https://mapcomplete.osm.be/charging_stations) + [Go to the source code](../assets/layers/charging_station/charging_station.json) -Basic tags for this layer + Basic tags for this layer --------------------------- Elements must have the all of following tags to be shown on this layer: -- amenity - =charging_station - |disused:amenity - = - charging_station|planned: - amenity= - charging_station| - construction:amenity - = - charging_station -Supported attributes + + - amenity=charging_station|disused:amenity=charging_station|planned:amenity=charging_station|construction:amenity=charging_station + + + + + Supported attributes ---------------------- **Warning** This quick overview is incomplete + + attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) -[](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:schuko#values) [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:typee#values) [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:chademo#values) [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_cable#values) [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1#values) [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_combo#values) [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger#values) [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2#values) [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_combo#values) [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_cable#values) [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs#values) [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination#values) [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination#values) [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:USB-A#values) [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin#values) [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin#values) [socket:bosch_5pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin) | [pnat](../SpecialInputElements.md#pnat) | -[](https://taginfo.openstreetmap.org/keys/socket:schuko:voltage#values) [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:schuko:current#values) [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:schuko:output#values) [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:typee:voltage#values) [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:typee:current#values) [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:typee:output#values) [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:chademo:voltage#values) [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:chademo:current#values) [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:chademo:output#values) [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:voltage#values) [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:current#values) [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:output#values) [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1:voltage#values) [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1:current#values) [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1:output#values) [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:voltage#values) [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:current#values) [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:output#values) [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:voltage#values) [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:current#values) [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:output#values) [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2:voltage#values) [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2:current#values) [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2:output#values) [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:voltage#values) [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:current#values) [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:output#values) [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:voltage#values) [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:current#values) [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:output#values) [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:voltage#values) [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:current#values) [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:output#values) [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:voltage#values) [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:current#values) [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:output#values) [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:voltage#values) [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:current#values) [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:output#values) [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:USB-A:voltage#values) [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:USB-A:current#values) [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:USB-A:output#values) [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:voltage#values) [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:current#values) [socket:bosch_3pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:output#values) [socket:bosch_3pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:voltage#values) [socket:bosch_5pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:current#values) [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | -[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:output#values) [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:schuko#values) [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:typee#values) [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:chademo#values) [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_cable#values) [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1#values) [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_combo#values) [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger#values) [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2#values) [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_combo#values) [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_cable#values) [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs#values) [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination#values) [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination#values) [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:USB-A#values) [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin#values) [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin#values) [socket:bosch_5pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/socket:schuko:voltage#values) [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:schuko:current#values) [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:schuko:output#values) [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:typee:voltage#values) [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:typee:current#values) [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:typee:output#values) [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:chademo:voltage#values) [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:chademo:current#values) [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:chademo:output#values) [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:voltage#values) [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:current#values) [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_cable:output#values) [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1:voltage#values) [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1:current#values) [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1:output#values) [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:voltage#values) [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:current#values) [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type1_combo:output#values) [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:voltage#values) [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:current#values) [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger:output#values) [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2:voltage#values) [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2:current#values) [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2:output#values) [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:voltage#values) [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:current#values) [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_combo:output#values) [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:voltage#values) [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:current#values) [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:type2_cable:output#values) [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:voltage#values) [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:current#values) [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_supercharger_ccs:output#values) [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:voltage#values) [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:current#values) [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:output#values) [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:voltage#values) [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:current#values) [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:tesla_destination:output#values) [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:USB-A:voltage#values) [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:USB-A:current#values) [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:USB-A:output#values) [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:voltage#values) [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:current#values) [socket:bosch_3pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_3pin:output#values) [socket:bosch_3pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:voltage#values) [socket:bosch_5pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:current#values) [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/socket:bosch_5pin:output#values) [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) [](https://taginfo.openstreetmap.org/keys/fee#values) [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) -[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/authentication:phone_call:number#values) [authentication:phone_call:number](https://wiki.openstreetmap.org/wiki/Key:authentication:phone_call:number) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/authentication:phone_call:number#values) [authentication:phone_call:number](https://wiki.openstreetmap.org/wiki/Key:authentication:phone_call:number) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/maxstay#values) [maxstay](https://wiki.openstreetmap.org/wiki/Key:maxstay) | [string](../SpecialInputElements.md#string) | [unlimited](https://wiki.openstreetmap.org/wiki/Tag:maxstay%3Dunlimited) [](https://taginfo.openstreetmap.org/keys/network#values) [network](https://wiki.openstreetmap.org/wiki/Key:network) | [string](../SpecialInputElements.md#string) | [AeroVironment](https://wiki.openstreetmap.org/wiki/Tag:network%3DAeroVironment) [Blink](https://wiki.openstreetmap.org/wiki/Tag:network%3DBlink) [EVgo](https://wiki.openstreetmap.org/wiki/Tag:network%3DEVgo) [Allego](https://wiki.openstreetmap.org/wiki/Tag:network%3DAllego) [Blue Corner](https://wiki.openstreetmap.org/wiki/Tag:network%3DBlue Corner) [Tesla](https://wiki.openstreetmap.org/wiki/Tag:network%3DTesla) -[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | -[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | -[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | -[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) -[](https://taginfo.openstreetmap.org/keys/ref#values) [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | +[](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) +[](https://taginfo.openstreetmap.org/keys/ref#values) [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/planned:amenity#values) [planned:amenity](https://wiki.openstreetmap.org/wiki/Key:planned:amenity) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:planned:amenity%3D) [](https://wiki.openstreetmap.org/wiki/Tag:planned:amenity%3D) [charging_station](https://wiki.openstreetmap.org/wiki/Tag:planned:amenity%3Dcharging_station) [](https://wiki.openstreetmap.org/wiki/Tag:planned:amenity%3D) [](https://wiki.openstreetmap.org/wiki/Tag:planned:amenity%3D) [](https://taginfo.openstreetmap.org/keys/parking:fee#values) [parking:fee](https://wiki.openstreetmap.org/wiki/Key:parking:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:parking:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:parking:fee%3Dyes) -### images + + + +### images + + _This tagrendering has no question and is thus read-only_ -### Type + + + + +### Type + + The question is **Which vehicles are allowed to charge here?** -- **Bicycles can be charged here** corresponds - with bicycle - =yesUnselecting this answer will - add bicycle - =no -- **Cars can be charged here** corresponds - with motorcar - =yesUnselecting this answer will - add motorcar - =no -- **Scooters can be charged here** corresponds - with scooter - =yesUnselecting this answer will - add scooter - =no -- **Heavy good vehicles (such as trucks) can be charged here** corresponds - with hgv - =yesUnselecting this answer will - add hgv - =no -- **Buses can be charged here** corresponds - with bus - =yesUnselecting this answer will - add bus - =no -### access + + + + - **Bicycles can be charged here** corresponds with bicycle=yesUnselecting this answer will add bicycle=no + - **Cars can be charged here** corresponds with motorcar=yesUnselecting this answer will add motorcar=no + - **Scooters can be charged here** corresponds with scooter=yesUnselecting this answer will add scooter=no + - **Heavy good vehicles (such as trucks) can be charged here** corresponds with hgv=yesUnselecting this answer will add hgv=no + - **Buses can be charged here** corresponds with bus=yesUnselecting this answer will add bus=no + + + + +### access + + The question is **Who is allowed to use this charging station?** -This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) +This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access) This is rendered with `Access is {access}` -- **Anyone can use this charging station (payment might be needed)** corresponds - with access - =yes -- **Anyone can use this charging station (payment might be needed)** corresponds - with access - =permissive - |access - =public_This option cannot be - chosen as answer_ -- **Only customers of the place this station belongs to can use this charging station
E.g. a - charging station operated by hotel which is only usable by their guests** corresponds - with access - =customers -- **Not accessible to the general public (e.g. only accessible to the owners, employees, ...)** corresponds - with access - =private -### capacity + + - **Anyone can use this charging station (payment might be needed)** corresponds with access=yes + - **Anyone can use this charging station (payment might be needed)** corresponds with access=permissive|access=public_This option cannot be chosen as answer_ + - **Only customers of the place this station belongs to can use this charging station
E.g. a charging station operated by hotel which is only usable by their guests** corresponds with access=customers + - **Not accessible to the general public (e.g. only accessible to the owners, employees, ...)** corresponds with access=private + + + + +### capacity + + The question is **How much vehicles can be charged here at the same time?** -This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) +This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) This is rendered with `{capacity} vehicles can be charged here at the same time` -### Available_charging_stations (generated) + + +### Available_charging_stations (generated) + + The question is **Which charging connections are available here?** -- **
Schuko wall - plug without ground pin (CEE7/4 type F)
** corresponds - with socket:schuko - =1Unselecting this answer will - add -- **
Schuko wall - plug without ground pin (CEE7/4 type F)
** corresponds with socket:schuko~^..*$&socket:schuko!~^1$_ - This option cannot be chosen as answer_ -- **
European wall - plug with ground pin (CEE7/4 type E)
** corresponds - with socket:typee - =1Unselecting this answer will - add -- **
European wall - plug with ground pin (CEE7/4 type E)
** corresponds with socket:typee~^..*$&socket:typee!~^1$_This - option cannot be chosen as answer_ -- **
- Chademo
** corresponds - with socket:chademo - =1Unselecting this answer - will add -- **
- Chademo
** corresponds with socket:chademo~^..*$&socket:chademo!~^1$_This option cannot be chosen as - answer_ -- **
Type 1 - with cable (J1772)
** corresponds - with socket:type1_cable - =1Unselecting this answer - will add -- **
Type 1 - with cable (J1772)
** corresponds with socket:type1_cable~^..*$&socket:type1_cable!~^1$_This option - cannot be chosen as answer_ -- **
Type - 1 without cable (J1772)
** corresponds - with socket:type1 - =1Unselecting this answer will - add -- **
Type - 1 without cable (J1772)
** corresponds with socket:type1~^..*$&socket:type1!~^1$_This option - cannot be chosen as answer_ -- **
Type 1 - CCS (aka Type 1 Combo)
** corresponds - with socket:type1_combo - =1Unselecting this answer - will add -- **
Type 1 - CCS (aka Type 1 Combo)
** corresponds with socket:type1_combo~^..*$&socket:type1_combo!~^1$_This - option cannot be chosen as answer_ -- **
- Tesla Supercharger
** corresponds - with socket: - tesla_supercharger - =1Unselecting this - answer will add -- **
- Tesla Supercharger
** corresponds with socket:tesla_supercharger~^..*$&socket:tesla_supercharger!~^1$_ - This option cannot be chosen as answer_ -- **
Type - 2 (mennekes)
** corresponds - with socket:type2 - =1Unselecting this answer will - add -- **
Type - 2 (mennekes)
** corresponds with socket:type2~^..*$&socket:type2!~^1$_This option cannot be chosen as - answer_ -- **
Type 2 - CCS (mennekes)
** corresponds - with socket:type2_combo - =1Unselecting this answer - will add -- **
Type 2 - CCS (mennekes)
** corresponds with socket:type2_combo~^..*$&socket:type2_combo!~^1$_This option cannot - be chosen as answer_ -- **
Type 2 - with cable (mennekes)
** corresponds - with socket:type2_cable - =1Unselecting this answer - will add -- **
Type 2 - with cable (mennekes)
** corresponds with socket:type2_cable~^..*$&socket:type2_cable!~^1$_This option - cannot be chosen as answer_ -- **
Tesla - Supercharger CCS (a branded type2_css)
** corresponds - with socket: - tesla_supercharger_ccs - =1Unselecting - this answer will add -- **
Tesla - Supercharger CCS (a branded type2_css)
** corresponds with socket:tesla_supercharger_ccs~^..*$&socket: - tesla_supercharger_ccs!~^1$_This option cannot be chosen as answer_ -- **
- Tesla Supercharger (destination)
** corresponds - with socket: - tesla_destination= - 1Unselecting this answer will add -- **
- Tesla Supercharger (destination)
** corresponds with socket:tesla_destination~^..*$&socket: - tesla_destination!~^1$&_country - =us_This option cannot be chosen - as answer_ -- **
Tesla - supercharger (destination) (A Type 2 with cable branded as tesla)
** corresponds - with socket: - tesla_destination= - 1Unselecting this answer will add -- **
Tesla - supercharger (destination) (A Type 2 with cable branded as tesla)
** corresponds with socket: - tesla_destination~^..*$&socket:tesla_destination!~^1$&_country!~^us$_This option cannot be chosen as answer_ -- **
USB to - charge phones and small electronics
** corresponds - with socket:USB-A - =1Unselecting this answer will - add -- **
USB to - charge phones and small electronics
** corresponds with socket:USB-A~^..*$&socket:USB-A!~^1$_This option - cannot be chosen as answer_ -- **
Bosch - Active Connect with 3 pins and cable
** corresponds - with socket:bosch_3pin - =1Unselecting this answer - will add -- **
Bosch - Active Connect with 3 pins and cable
** corresponds with socket:bosch_3pin~^..*$&socket:bosch_3pin!~ - ^1$_This option cannot be chosen as answer_ -- **
Bosch - Active Connect with 5 pins and cable
** corresponds - with socket:bosch_5pin - =1Unselecting this answer - will add -- **
Bosch - Active Connect with 5 pins and cable
** corresponds with socket:bosch_5pin~^..*$&socket:bosch_5pin!~ - ^1$_This option cannot be chosen as answer_ - -### plugs-0 - -The question is **How much plugs of type
Schuko wall plug without ground -pin (CEE7/4 type -F)
are -available here?** - -This rendering asks information about the -property [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) -This is rendered -with `There are {socket:schuko} plugs of type
Schuko wall plug without ground pin (CEE7/4 type F)
available here` - -### plugs-1 - -The question is **How much plugs of type
European wall plug with ground -pin (CEE7/4 type -E)
are -available here?** - -This rendering asks information about the property [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) -This is rendered -with `There are {socket:typee} plugs of type
European wall plug with ground pin (CEE7/4 type E)
available here` - -### plugs-2 - -The question is **How much plugs of type
-Chademo
-are available here?** - -This rendering asks information about the -property [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) -This is rendered -with `There are {socket:chademo} plugs of type
Chademo
available here` - -### plugs-3 - -The question is **How much plugs of type
Type 1 with cable ( -J1772)
-are available here?** - -This rendering asks information about the -property [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) -This is rendered -with `There are {socket:type1_cable} plugs of type
Type 1 with cable (J1772)
available here` - -### plugs-4 - -The question is **How much plugs of type
Type 1 without cable ( -J1772)
-are available here?** - -This rendering asks information about the property [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) -This is rendered -with `There are {socket:type1} plugs of type
Type 1 without cable (J1772)
available here` - -### plugs-5 - -The question is **How much plugs of type
Type 1 CCS (aka Type 1 -Combo)
-are available here?** - -This rendering asks information about the -property [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) -This is rendered -with `There are {socket:type1_combo} plugs of type
Type 1 CCS (aka Type 1 Combo)
available here` - -### plugs-6 - -The question is **How much plugs of type
Tesla -Supercharger
-are available here?** - -This rendering asks information about the -property [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) -This is rendered -with `There are {socket:tesla_supercharger} plugs of type
Tesla Supercharger
available here` - -### plugs-7 -The question is **How much plugs of type
Type 2 ( -mennekes)
-are available here?** -This rendering asks information about the property [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) -This is rendered -with `There are {socket:type2} plugs of type
Type 2 (mennekes)
available here` -### plugs-8 -The question is **How much plugs of type
Type 2 CCS ( -mennekes)
-are available here?** + - **
Schuko wall plug without ground pin (CEE7/4 type F)
** corresponds with socket:schuko=1Unselecting this answer will add + - **
Schuko wall plug without ground pin (CEE7/4 type F)
** corresponds with socket:schuko~^..*$&socket:schuko!~^1$_This option cannot be chosen as answer_ + - **
European wall plug with ground pin (CEE7/4 type E)
** corresponds with socket:typee=1Unselecting this answer will add + - **
European wall plug with ground pin (CEE7/4 type E)
** corresponds with socket:typee~^..*$&socket:typee!~^1$_This option cannot be chosen as answer_ + - **
Chademo
** corresponds with socket:chademo=1Unselecting this answer will add + - **
Chademo
** corresponds with socket:chademo~^..*$&socket:chademo!~^1$_This option cannot be chosen as answer_ + - **
Type 1 with cable (J1772)
** corresponds with socket:type1_cable=1Unselecting this answer will add + - **
Type 1 with cable (J1772)
** corresponds with socket:type1_cable~^..*$&socket:type1_cable!~^1$_This option cannot be chosen as answer_ + - **
Type 1 without cable (J1772)
** corresponds with socket:type1=1Unselecting this answer will add + - **
Type 1 without cable (J1772)
** corresponds with socket:type1~^..*$&socket:type1!~^1$_This option cannot be chosen as answer_ + - **
Type 1 CCS (aka Type 1 Combo)
** corresponds with socket:type1_combo=1Unselecting this answer will add + - **
Type 1 CCS (aka Type 1 Combo)
** corresponds with socket:type1_combo~^..*$&socket:type1_combo!~^1$_This option cannot be chosen as answer_ + - **
Tesla Supercharger
** corresponds with socket:tesla_supercharger=1Unselecting this answer will add + - **
Tesla Supercharger
** corresponds with socket:tesla_supercharger~^..*$&socket:tesla_supercharger!~^1$_This option cannot be chosen as answer_ + - **
Type 2 (mennekes)
** corresponds with socket:type2=1Unselecting this answer will add + - **
Type 2 (mennekes)
** corresponds with socket:type2~^..*$&socket:type2!~^1$_This option cannot be chosen as answer_ + - **
Type 2 CCS (mennekes)
** corresponds with socket:type2_combo=1Unselecting this answer will add + - **
Type 2 CCS (mennekes)
** corresponds with socket:type2_combo~^..*$&socket:type2_combo!~^1$_This option cannot be chosen as answer_ + - **
Type 2 with cable (mennekes)
** corresponds with socket:type2_cable=1Unselecting this answer will add + - **
Type 2 with cable (mennekes)
** corresponds with socket:type2_cable~^..*$&socket:type2_cable!~^1$_This option cannot be chosen as answer_ + - **
Tesla Supercharger CCS (a branded type2_css)
** corresponds with socket:tesla_supercharger_ccs=1Unselecting this answer will add + - **
Tesla Supercharger CCS (a branded type2_css)
** corresponds with socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!~^1$_This option cannot be chosen as answer_ + - **
Tesla Supercharger (destination)
** corresponds with socket:tesla_destination=1Unselecting this answer will add + - **
Tesla Supercharger (destination)
** corresponds with socket:tesla_destination~^..*$&socket:tesla_destination!~^1$&_country=us_This option cannot be chosen as answer_ + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
** corresponds with socket:tesla_destination=1Unselecting this answer will add + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
** corresponds with socket:tesla_destination~^..*$&socket:tesla_destination!~^1$&_country!~^us$_This option cannot be chosen as answer_ + - **
USB to charge phones and small electronics
** corresponds with socket:USB-A=1Unselecting this answer will add + - **
USB to charge phones and small electronics
** corresponds with socket:USB-A~^..*$&socket:USB-A!~^1$_This option cannot be chosen as answer_ + - **
Bosch Active Connect with 3 pins and cable
** corresponds with socket:bosch_3pin=1Unselecting this answer will add + - **
Bosch Active Connect with 3 pins and cable
** corresponds with socket:bosch_3pin~^..*$&socket:bosch_3pin!~^1$_This option cannot be chosen as answer_ + - **
Bosch Active Connect with 5 pins and cable
** corresponds with socket:bosch_5pin=1Unselecting this answer will add + - **
Bosch Active Connect with 5 pins and cable
** corresponds with socket:bosch_5pin~^..*$&socket:bosch_5pin!~^1$_This option cannot be chosen as answer_ -This rendering asks information about the -property [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) -This is rendered -with `There are {socket:type2_combo} plugs of type
Type 2 CCS (mennekes)
available here` -### plugs-9 -The question is **How much plugs of type
Type 2 with cable ( -mennekes)
-are available here?** -This rendering asks information about the -property [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) -This is rendered -with `There are {socket:type2_cable} plugs of type
Type 2 with cable (mennekes)
available here` +### plugs-0 -### plugs-10 -The question is **How much plugs of type
Tesla Supercharger CCS (a branded -type2_css)
-are available here?** -This rendering asks information about the -property [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) -This is rendered -with `There are {socket:tesla_supercharger_ccs} plugs of type
Tesla Supercharger CCS (a branded type2_css)
available here` +The question is **How much plugs of type
Schuko wall plug without ground pin (CEE7/4 type F)
are available here?** -### plugs-11 +This rendering asks information about the property [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) +This is rendered with `There are {socket:schuko} plugs of type
Schuko wall plug without ground pin (CEE7/4 type F)
available here` -The question is **How much plugs of type
Tesla Supercharger ( -destination)
-are available here?** -This rendering asks information about the -property [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) -This is rendered -with `There are {socket:tesla_destination} plugs of type
Tesla Supercharger (destination)
available here` -### plugs-12 +### plugs-1 -The question is **How much plugs of type
Tesla supercharger (destination) ( -A Type 2 with cable branded as -tesla)
-are available here?** -This rendering asks information about the -property [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) -This is rendered -with `There are {socket:tesla_destination} plugs of type
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
available here` -### plugs-13 +The question is **How much plugs of type
European wall plug with ground pin (CEE7/4 type E)
are available here?** -The question is **How much plugs of type
USB to charge phones and small -electronics
-are available here?** +This rendering asks information about the property [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) +This is rendered with `There are {socket:typee} plugs of type
European wall plug with ground pin (CEE7/4 type E)
available here` -This rendering asks information about the property [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) -This is rendered -with `There are {socket:USB-A} plugs of type
USB to charge phones and small electronics
available here` -### plugs-14 -The question is **How much plugs of type
Bosch Active Connect with 3 pins -and -cable
-are available here?** +### plugs-2 -This rendering asks information about the -property [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) -This is rendered -with `There are {socket:bosch_3pin} plugs of type
Bosch Active Connect with 3 pins and cable
available here` -### plugs-15 - -The question is **How much plugs of type
Bosch Active Connect with 5 pins -and -cable
-are available here?** -This rendering asks information about the -property [socket:bosch_5pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin) -This is rendered -with `There are {socket:bosch_5pin} plugs of type
Bosch Active Connect with 5 pins and cable
available here` +The question is **How much plugs of type
Chademo
are available here?** + +This rendering asks information about the property [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) +This is rendered with `There are {socket:chademo} plugs of type
Chademo
available here` + + + +### plugs-3 + + + +The question is **How much plugs of type
Type 1 with cable (J1772)
are available here?** + +This rendering asks information about the property [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) +This is rendered with `There are {socket:type1_cable} plugs of type
Type 1 with cable (J1772)
available here` + + + +### plugs-4 + + + +The question is **How much plugs of type
Type 1 without cable (J1772)
are available here?** + +This rendering asks information about the property [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) +This is rendered with `There are {socket:type1} plugs of type
Type 1 without cable (J1772)
available here` + + + +### plugs-5 + + + +The question is **How much plugs of type
Type 1 CCS (aka Type 1 Combo)
are available here?** + +This rendering asks information about the property [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) +This is rendered with `There are {socket:type1_combo} plugs of type
Type 1 CCS (aka Type 1 Combo)
available here` + + + +### plugs-6 + + + +The question is **How much plugs of type
Tesla Supercharger
are available here?** + +This rendering asks information about the property [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) +This is rendered with `There are {socket:tesla_supercharger} plugs of type
Tesla Supercharger
available here` + + + +### plugs-7 + + + +The question is **How much plugs of type
Type 2 (mennekes)
are available here?** + +This rendering asks information about the property [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) +This is rendered with `There are {socket:type2} plugs of type
Type 2 (mennekes)
available here` + + + +### plugs-8 + + + +The question is **How much plugs of type
Type 2 CCS (mennekes)
are available here?** + +This rendering asks information about the property [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) +This is rendered with `There are {socket:type2_combo} plugs of type
Type 2 CCS (mennekes)
available here` + + + +### plugs-9 + + + +The question is **How much plugs of type
Type 2 with cable (mennekes)
are available here?** + +This rendering asks information about the property [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) +This is rendered with `There are {socket:type2_cable} plugs of type
Type 2 with cable (mennekes)
available here` + + + +### plugs-10 + + + +The question is **How much plugs of type
Tesla Supercharger CCS (a branded type2_css)
are available here?** + +This rendering asks information about the property [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) +This is rendered with `There are {socket:tesla_supercharger_ccs} plugs of type
Tesla Supercharger CCS (a branded type2_css)
available here` + + + +### plugs-11 + + + +The question is **How much plugs of type
Tesla Supercharger (destination)
are available here?** + +This rendering asks information about the property [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) +This is rendered with `There are {socket:tesla_destination} plugs of type
Tesla Supercharger (destination)
available here` + + + +### plugs-12 + + + +The question is **How much plugs of type
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
are available here?** + +This rendering asks information about the property [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) +This is rendered with `There are {socket:tesla_destination} plugs of type
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
available here` + + + +### plugs-13 + + + +The question is **How much plugs of type
USB to charge phones and small electronics
are available here?** + +This rendering asks information about the property [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) +This is rendered with `There are {socket:USB-A} plugs of type
USB to charge phones and small electronics
available here` + + + +### plugs-14 + + + +The question is **How much plugs of type
Bosch Active Connect with 3 pins and cable
are available here?** + +This rendering asks information about the property [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) +This is rendered with `There are {socket:bosch_3pin} plugs of type
Bosch Active Connect with 3 pins and cable
available here` + + + +### plugs-15 + + + +The question is **How much plugs of type
Bosch Active Connect with 5 pins and cable
are available here?** + +This rendering asks information about the property [socket:bosch_5pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin) +This is rendered with `There are {socket:bosch_5pin} plugs of type
Bosch Active Connect with 5 pins and cable
available here` + + + +### voltage-0 + + + +The question is **What voltage do the plugs with
Schuko wall plug without ground pin (CEE7/4 type F)
offer?** + +This rendering asks information about the property [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) +This is rendered with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs {socket:schuko:voltage} volt` + + + + - **
Schuko wall plug without ground pin (CEE7/4 type F)
outputs 230 volt** corresponds with socket:socket:schuko:voltage=230 V + + + + +### current-0 + + + +The question is **What current do the plugs with
Schuko wall plug without ground pin (CEE7/4 type F)
offer?** + +This rendering asks information about the property [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) +This is rendered with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most {socket:schuko:current}A` + + + + - **
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most 16 A** corresponds with socket:socket:schuko:current=16 A + + + + +### power-output-0 + + + +The question is **What power output does a single plug of type
Schuko wall plug without ground pin (CEE7/4 type F)
offer?** + +This rendering asks information about the property [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) +This is rendered with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most {socket:schuko:output}` + + + + - **
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most 3.6 kw** corresponds with socket:socket:schuko:output=3.6 kw + + + + +### voltage-1 + + + +The question is **What voltage do the plugs with
European wall plug with ground pin (CEE7/4 type E)
offer?** + +This rendering asks information about the property [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) +This is rendered with `
European wall plug with ground pin (CEE7/4 type E)
outputs {socket:typee:voltage} volt` + + + + - **
European wall plug with ground pin (CEE7/4 type E)
outputs 230 volt** corresponds with socket:socket:typee:voltage=230 V + + + + +### current-1 + + + +The question is **What current do the plugs with
European wall plug with ground pin (CEE7/4 type E)
offer?** + +This rendering asks information about the property [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) +This is rendered with `
European wall plug with ground pin (CEE7/4 type E)
outputs at most {socket:typee:current}A` + + + + - **
European wall plug with ground pin (CEE7/4 type E)
outputs at most 16 A** corresponds with socket:socket:typee:current=16 A + + + + +### power-output-1 + + + +The question is **What power output does a single plug of type
European wall plug with ground pin (CEE7/4 type E)
offer?** + +This rendering asks information about the property [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) +This is rendered with `
European wall plug with ground pin (CEE7/4 type E)
outputs at most {socket:typee:output}` + + + + - **
European wall plug with ground pin (CEE7/4 type E)
outputs at most 3 kw** corresponds with socket:socket:typee:output=3 kw + - **
European wall plug with ground pin (CEE7/4 type E)
outputs at most 22 kw** corresponds with socket:socket:typee:output=22 kw + + + + +### voltage-2 + + + +The question is **What voltage do the plugs with
Chademo
offer?** + +This rendering asks information about the property [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) +This is rendered with `
Chademo
outputs {socket:chademo:voltage} volt` + + + + - **
Chademo
outputs 500 volt** corresponds with socket:socket:chademo:voltage=500 V + + + + +### current-2 + + + +The question is **What current do the plugs with
Chademo
offer?** + +This rendering asks information about the property [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) +This is rendered with `
Chademo
outputs at most {socket:chademo:current}A` + + + + - **
Chademo
outputs at most 120 A** corresponds with socket:socket:chademo:current=120 A + + + + +### power-output-2 + + + +The question is **What power output does a single plug of type
Chademo
offer?** + +This rendering asks information about the property [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) +This is rendered with `
Chademo
outputs at most {socket:chademo:output}` + + + + - **
Chademo
outputs at most 50 kw** corresponds with socket:socket:chademo:output=50 kw + + + + +### voltage-3 + + + +The question is **What voltage do the plugs with
Type 1 with cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) +This is rendered with `
Type 1 with cable (J1772)
outputs {socket:type1_cable:voltage} volt` + + + + - **
Type 1 with cable (J1772)
outputs 200 volt** corresponds with socket:socket:type1_cable:voltage=200 V + - **
Type 1 with cable (J1772)
outputs 240 volt** corresponds with socket:socket:type1_cable:voltage=240 V + + + + +### current-3 + + + +The question is **What current do the plugs with
Type 1 with cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) +This is rendered with `
Type 1 with cable (J1772)
outputs at most {socket:type1_cable:current}A` + + + + - **
Type 1 with cable (J1772)
outputs at most 32 A** corresponds with socket:socket:type1_cable:current=32 A + + + + +### power-output-3 + + + +The question is **What power output does a single plug of type
Type 1 with cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) +This is rendered with `
Type 1 with cable (J1772)
outputs at most {socket:type1_cable:output}` + + + + - **
Type 1 with cable (J1772)
outputs at most 3.7 kw** corresponds with socket:socket:type1_cable:output=3.7 kw + - **
Type 1 with cable (J1772)
outputs at most 7 kw** corresponds with socket:socket:type1_cable:output=7 kw + + + + +### voltage-4 + + + +The question is **What voltage do the plugs with
Type 1 without cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) +This is rendered with `
Type 1 without cable (J1772)
outputs {socket:type1:voltage} volt` + + + + - **
Type 1 without cable (J1772)
outputs 200 volt** corresponds with socket:socket:type1:voltage=200 V + - **
Type 1 without cable (J1772)
outputs 240 volt** corresponds with socket:socket:type1:voltage=240 V + + + + +### current-4 + + + +The question is **What current do the plugs with
Type 1 without cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) +This is rendered with `
Type 1 without cable (J1772)
outputs at most {socket:type1:current}A` + + + + - **
Type 1 without cable (J1772)
outputs at most 32 A** corresponds with socket:socket:type1:current=32 A + + + + +### power-output-4 + + + +The question is **What power output does a single plug of type
Type 1 without cable (J1772)
offer?** + +This rendering asks information about the property [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) +This is rendered with `
Type 1 without cable (J1772)
outputs at most {socket:type1:output}` + + + + - **
Type 1 without cable (J1772)
outputs at most 3.7 kw** corresponds with socket:socket:type1:output=3.7 kw + - **
Type 1 without cable (J1772)
outputs at most 6.6 kw** corresponds with socket:socket:type1:output=6.6 kw + - **
Type 1 without cable (J1772)
outputs at most 7 kw** corresponds with socket:socket:type1:output=7 kw + - **
Type 1 without cable (J1772)
outputs at most 7.2 kw** corresponds with socket:socket:type1:output=7.2 kw + + + + +### voltage-5 + + + +The question is **What voltage do the plugs with
Type 1 CCS (aka Type 1 Combo)
offer?** + +This rendering asks information about the property [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) +This is rendered with `
Type 1 CCS (aka Type 1 Combo)
outputs {socket:type1_combo:voltage} volt` + + + + - **
Type 1 CCS (aka Type 1 Combo)
outputs 400 volt** corresponds with socket:socket:type1_combo:voltage=400 V + - **
Type 1 CCS (aka Type 1 Combo)
outputs 1000 volt** corresponds with socket:socket:type1_combo:voltage=1000 V + + + + +### current-5 + + + +The question is **What current do the plugs with
Type 1 CCS (aka Type 1 Combo)
offer?** + +This rendering asks information about the property [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) +This is rendered with `
Type 1 CCS (aka Type 1 Combo)
outputs at most {socket:type1_combo:current}A` + + + + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 50 A** corresponds with socket:socket:type1_combo:current=50 A + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 125 A** corresponds with socket:socket:type1_combo:current=125 A + + + + +### power-output-5 + + + +The question is **What power output does a single plug of type
Type 1 CCS (aka Type 1 Combo)
offer?** + +This rendering asks information about the property [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) +This is rendered with `
Type 1 CCS (aka Type 1 Combo)
outputs at most {socket:type1_combo:output}` + + + + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 50 kw** corresponds with socket:socket:type1_combo:output=50 kw + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 62.5 kw** corresponds with socket:socket:type1_combo:output=62.5 kw + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 150 kw** corresponds with socket:socket:type1_combo:output=150 kw + - **
Type 1 CCS (aka Type 1 Combo)
outputs at most 350 kw** corresponds with socket:socket:type1_combo:output=350 kw + + + + +### voltage-6 + + + +The question is **What voltage do the plugs with
Tesla Supercharger
offer?** + +This rendering asks information about the property [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) +This is rendered with `
Tesla Supercharger
outputs {socket:tesla_supercharger:voltage} volt` + + + + - **
Tesla Supercharger
outputs 480 volt** corresponds with socket:socket:tesla_supercharger:voltage=480 V + + + + +### current-6 + + + +The question is **What current do the plugs with
Tesla Supercharger
offer?** + +This rendering asks information about the property [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) +This is rendered with `
Tesla Supercharger
outputs at most {socket:tesla_supercharger:current}A` + + + + - **
Tesla Supercharger
outputs at most 125 A** corresponds with socket:socket:tesla_supercharger:current=125 A + - **
Tesla Supercharger
outputs at most 350 A** corresponds with socket:socket:tesla_supercharger:current=350 A + + + + +### power-output-6 + + + +The question is **What power output does a single plug of type
Tesla Supercharger
offer?** + +This rendering asks information about the property [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) +This is rendered with `
Tesla Supercharger
outputs at most {socket:tesla_supercharger:output}` + + + + - **
Tesla Supercharger
outputs at most 120 kw** corresponds with socket:socket:tesla_supercharger:output=120 kw + - **
Tesla Supercharger
outputs at most 150 kw** corresponds with socket:socket:tesla_supercharger:output=150 kw + - **
Tesla Supercharger
outputs at most 250 kw** corresponds with socket:socket:tesla_supercharger:output=250 kw + + + + +### voltage-7 + + + +The question is **What voltage do the plugs with
Type 2 (mennekes)
offer?** + +This rendering asks information about the property [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) +This is rendered with `
Type 2 (mennekes)
outputs {socket:type2:voltage} volt` + + + + - **
Type 2 (mennekes)
outputs 230 volt** corresponds with socket:socket:type2:voltage=230 V + - **
Type 2 (mennekes)
outputs 400 volt** corresponds with socket:socket:type2:voltage=400 V + + + + +### current-7 + + + +The question is **What current do the plugs with
Type 2 (mennekes)
offer?** + +This rendering asks information about the property [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) +This is rendered with `
Type 2 (mennekes)
outputs at most {socket:type2:current}A` + + + + - **
Type 2 (mennekes)
outputs at most 16 A** corresponds with socket:socket:type2:current=16 A + - **
Type 2 (mennekes)
outputs at most 32 A** corresponds with socket:socket:type2:current=32 A + + + + +### power-output-7 + + + +The question is **What power output does a single plug of type
Type 2 (mennekes)
offer?** + +This rendering asks information about the property [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) +This is rendered with `
Type 2 (mennekes)
outputs at most {socket:type2:output}` + + + + - **
Type 2 (mennekes)
outputs at most 11 kw** corresponds with socket:socket:type2:output=11 kw + - **
Type 2 (mennekes)
outputs at most 22 kw** corresponds with socket:socket:type2:output=22 kw + + + + +### voltage-8 + + + +The question is **What voltage do the plugs with
Type 2 CCS (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) +This is rendered with `
Type 2 CCS (mennekes)
outputs {socket:type2_combo:voltage} volt` + + + + - **
Type 2 CCS (mennekes)
outputs 500 volt** corresponds with socket:socket:type2_combo:voltage=500 V + - **
Type 2 CCS (mennekes)
outputs 920 volt** corresponds with socket:socket:type2_combo:voltage=920 V + + + + +### current-8 + + + +The question is **What current do the plugs with
Type 2 CCS (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) +This is rendered with `
Type 2 CCS (mennekes)
outputs at most {socket:type2_combo:current}A` + + + + - **
Type 2 CCS (mennekes)
outputs at most 125 A** corresponds with socket:socket:type2_combo:current=125 A + - **
Type 2 CCS (mennekes)
outputs at most 350 A** corresponds with socket:socket:type2_combo:current=350 A + + + + +### power-output-8 + + + +The question is **What power output does a single plug of type
Type 2 CCS (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) +This is rendered with `
Type 2 CCS (mennekes)
outputs at most {socket:type2_combo:output}` + + + + - **
Type 2 CCS (mennekes)
outputs at most 50 kw** corresponds with socket:socket:type2_combo:output=50 kw + + + + +### voltage-9 + + + +The question is **What voltage do the plugs with
Type 2 with cable (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) +This is rendered with `
Type 2 with cable (mennekes)
outputs {socket:type2_cable:voltage} volt` + + + + - **
Type 2 with cable (mennekes)
outputs 230 volt** corresponds with socket:socket:type2_cable:voltage=230 V + - **
Type 2 with cable (mennekes)
outputs 400 volt** corresponds with socket:socket:type2_cable:voltage=400 V + + + + +### current-9 + + + +The question is **What current do the plugs with
Type 2 with cable (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) +This is rendered with `
Type 2 with cable (mennekes)
outputs at most {socket:type2_cable:current}A` + + + + - **
Type 2 with cable (mennekes)
outputs at most 16 A** corresponds with socket:socket:type2_cable:current=16 A + - **
Type 2 with cable (mennekes)
outputs at most 32 A** corresponds with socket:socket:type2_cable:current=32 A + + + + +### power-output-9 + + + +The question is **What power output does a single plug of type
Type 2 with cable (mennekes)
offer?** + +This rendering asks information about the property [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) +This is rendered with `
Type 2 with cable (mennekes)
outputs at most {socket:type2_cable:output}` + + + + - **
Type 2 with cable (mennekes)
outputs at most 11 kw** corresponds with socket:socket:type2_cable:output=11 kw + - **
Type 2 with cable (mennekes)
outputs at most 22 kw** corresponds with socket:socket:type2_cable:output=22 kw + + + + +### voltage-10 + + + +The question is **What voltage do the plugs with
Tesla Supercharger CCS (a branded type2_css)
offer?** + +This rendering asks information about the property [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) +This is rendered with `
Tesla Supercharger CCS (a branded type2_css)
outputs {socket:tesla_supercharger_ccs:voltage} volt` + + + + - **
Tesla Supercharger CCS (a branded type2_css)
outputs 500 volt** corresponds with socket:socket:tesla_supercharger_ccs:voltage=500 V + - **
Tesla Supercharger CCS (a branded type2_css)
outputs 920 volt** corresponds with socket:socket:tesla_supercharger_ccs:voltage=920 V + + + + +### current-10 + + + +The question is **What current do the plugs with
Tesla Supercharger CCS (a branded type2_css)
offer?** + +This rendering asks information about the property [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) +This is rendered with `
Tesla Supercharger CCS (a branded type2_css)
outputs at most {socket:tesla_supercharger_ccs:current}A` + + + + - **
Tesla Supercharger CCS (a branded type2_css)
outputs at most 125 A** corresponds with socket:socket:tesla_supercharger_ccs:current=125 A + - **
Tesla Supercharger CCS (a branded type2_css)
outputs at most 350 A** corresponds with socket:socket:tesla_supercharger_ccs:current=350 A + + + + +### power-output-10 + + + +The question is **What power output does a single plug of type
Tesla Supercharger CCS (a branded type2_css)
offer?** + +This rendering asks information about the property [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) +This is rendered with `
Tesla Supercharger CCS (a branded type2_css)
outputs at most {socket:tesla_supercharger_ccs:output}` + + + + - **
Tesla Supercharger CCS (a branded type2_css)
outputs at most 50 kw** corresponds with socket:socket:tesla_supercharger_ccs:output=50 kw + + + + +### voltage-11 + + + +The question is **What voltage do the plugs with
Tesla Supercharger (destination)
offer?** + +This rendering asks information about the property [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) +This is rendered with `
Tesla Supercharger (destination)
outputs {socket:tesla_destination:voltage} volt` + + + + - **
Tesla Supercharger (destination)
outputs 480 volt** corresponds with socket:socket:tesla_destination:voltage=480 V + + + + +### current-11 + + + +The question is **What current do the plugs with
Tesla Supercharger (destination)
offer?** + +This rendering asks information about the property [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) +This is rendered with `
Tesla Supercharger (destination)
outputs at most {socket:tesla_destination:current}A` + + + + - **
Tesla Supercharger (destination)
outputs at most 125 A** corresponds with socket:socket:tesla_destination:current=125 A + - **
Tesla Supercharger (destination)
outputs at most 350 A** corresponds with socket:socket:tesla_destination:current=350 A + + + + +### power-output-11 + + + +The question is **What power output does a single plug of type
Tesla Supercharger (destination)
offer?** + +This rendering asks information about the property [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) +This is rendered with `
Tesla Supercharger (destination)
outputs at most {socket:tesla_destination:output}` + + + + - **
Tesla Supercharger (destination)
outputs at most 120 kw** corresponds with socket:socket:tesla_destination:output=120 kw + - **
Tesla Supercharger (destination)
outputs at most 150 kw** corresponds with socket:socket:tesla_destination:output=150 kw + - **
Tesla Supercharger (destination)
outputs at most 250 kw** corresponds with socket:socket:tesla_destination:output=250 kw + + + + +### voltage-12 + + + +The question is **What voltage do the plugs with
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
offer?** + +This rendering asks information about the property [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) +This is rendered with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs {socket:tesla_destination:voltage} volt` + + + + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs 230 volt** corresponds with socket:socket:tesla_destination:voltage=230 V + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs 400 volt** corresponds with socket:socket:tesla_destination:voltage=400 V + + + + +### current-12 + + + +The question is **What current do the plugs with
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
offer?** + +This rendering asks information about the property [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) +This is rendered with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most {socket:tesla_destination:current}A` + + + + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most 16 A** corresponds with socket:socket:tesla_destination:current=16 A + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most 32 A** corresponds with socket:socket:tesla_destination:current=32 A + + + + +### power-output-12 + + + +The question is **What power output does a single plug of type
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
offer?** + +This rendering asks information about the property [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) +This is rendered with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most {socket:tesla_destination:output}` + + + + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most 11 kw** corresponds with socket:socket:tesla_destination:output=11 kw + - **
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most 22 kw** corresponds with socket:socket:tesla_destination:output=22 kw + + + + +### voltage-13 + + + +The question is **What voltage do the plugs with
USB to charge phones and small electronics
offer?** + +This rendering asks information about the property [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) +This is rendered with `
USB to charge phones and small electronics
outputs {socket:USB-A:voltage} volt` + + + + - **
USB to charge phones and small electronics
outputs 5 volt** corresponds with socket:socket:USB-A:voltage=5 V + + + + +### current-13 + + + +The question is **What current do the plugs with
USB to charge phones and small electronics
offer?** + +This rendering asks information about the property [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) +This is rendered with `
USB to charge phones and small electronics
outputs at most {socket:USB-A:current}A` + + + + - **
USB to charge phones and small electronics
outputs at most 1 A** corresponds with socket:socket:USB-A:current=1 A + - **
USB to charge phones and small electronics
outputs at most 2 A** corresponds with socket:socket:USB-A:current=2 A + + + + +### power-output-13 + + + +The question is **What power output does a single plug of type
USB to charge phones and small electronics
offer?** + +This rendering asks information about the property [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) +This is rendered with `
USB to charge phones and small electronics
outputs at most {socket:USB-A:output}` + + + + - **
USB to charge phones and small electronics
outputs at most 5w** corresponds with socket:socket:USB-A:output=5w + - **
USB to charge phones and small electronics
outputs at most 10w** corresponds with socket:socket:USB-A:output=10w + + + + +### voltage-14 + + + +The question is **What voltage do the plugs with
Bosch Active Connect with 3 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) +This is rendered with `
Bosch Active Connect with 3 pins and cable
outputs {socket:bosch_3pin:voltage} volt` + + + + + + + + +### current-14 + + + +The question is **What current do the plugs with
Bosch Active Connect with 3 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_3pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:current) +This is rendered with `
Bosch Active Connect with 3 pins and cable
outputs at most {socket:bosch_3pin:current}A` + + + + + + + + +### power-output-14 + + + +The question is **What power output does a single plug of type
Bosch Active Connect with 3 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_3pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:output) +This is rendered with `
Bosch Active Connect with 3 pins and cable
outputs at most {socket:bosch_3pin:output}` + + + + + + + + +### voltage-15 + + + +The question is **What voltage do the plugs with
Bosch Active Connect with 5 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_5pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:voltage) +This is rendered with `
Bosch Active Connect with 5 pins and cable
outputs {socket:bosch_5pin:voltage} volt` + + + + + + + + +### current-15 + + + +The question is **What current do the plugs with
Bosch Active Connect with 5 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) +This is rendered with `
Bosch Active Connect with 5 pins and cable
outputs at most {socket:bosch_5pin:current}A` + + + + + + + + +### power-output-15 + + + +The question is **What power output does a single plug of type
Bosch Active Connect with 5 pins and cable
offer?** + +This rendering asks information about the property [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) +This is rendered with `
Bosch Active Connect with 5 pins and cable
outputs at most {socket:bosch_5pin:output}` + + + + + + + + +### OH + -### voltage-0 - -The question is **What voltage do the plugs with
Schuko wall plug without -ground pin (CEE7/4 type -F)
-offer?** - -This rendering asks information about the -property [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) -This is rendered -with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs {socket:schuko:voltage} volt` - -- **
Schuko wall plug without ground pin (CEE7/4 type - F)
- outputs 230 volt** corresponds - with socket:socket: - schuko:voltage - =230 V - -### current-0 - -The question is **What current do the plugs with
Schuko wall plug without -ground pin (CEE7/4 type -F)
-offer?** - -This rendering asks information about the -property [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) -This is rendered -with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most {socket:schuko:current}A` - -- **
Schuko wall plug without ground pin (CEE7/4 type - F)
- outputs at most 16 A** corresponds - with socket:socket: - schuko:current - =16 A - -### power-output-0 - -The question is **What power output does a single plug of type
Schuko wall -plug without ground pin (CEE7/4 type -F)
-offer?** - -This rendering asks information about the -property [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) -This is rendered -with `
Schuko wall plug without ground pin (CEE7/4 type F)
outputs at most {socket:schuko:output}` - -- **
Schuko wall plug without ground pin (CEE7/4 type - F)
- outputs at most 3.6 kw** corresponds - with socket:socket: - schuko:output - =3.6 kw - -### voltage-1 - -The question is **What voltage do the plugs with
European wall plug with -ground pin (CEE7/4 type -E)
offer?** - -This rendering asks information about the -property [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) -This is rendered -with `
European wall plug with ground pin (CEE7/4 type E)
outputs {socket:typee:voltage} volt` - -- **
European wall plug with ground pin (CEE7/4 type - E)
outputs - 230 volt** corresponds - with socket:socket: - typee:voltage - =230 V - -### current-1 - -The question is **What current do the plugs with
European wall plug with -ground pin (CEE7/4 type -E)
offer?** - -This rendering asks information about the -property [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) -This is rendered -with `
European wall plug with ground pin (CEE7/4 type E)
outputs at most {socket:typee:current}A` - -- **
European wall plug with ground pin (CEE7/4 type - E)
outputs - at most 16 A** corresponds - with socket:socket: - typee:current - =16 A - -### power-output-1 - -The question is **What power output does a single plug of type
European wall -plug with ground pin (CEE7/4 type -E)
offer?** - -This rendering asks information about the -property [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) -This is rendered -with `
European wall plug with ground pin (CEE7/4 type E)
outputs at most {socket:typee:output}` - -- **
European wall plug with ground pin (CEE7/4 type - E)
outputs - at most 3 kw** corresponds - with socket:socket:typee: - output=3 - kw -- **
European wall plug with ground pin (CEE7/4 type - E)
outputs - at most 22 kw** corresponds - with socket:socket:typee: - output=22 - kw - -### voltage-2 - -The question is **What voltage do the plugs with
-Chademo
-offer?** - -This rendering asks information about the -property [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) -This is rendered -with `
Chademo
outputs {socket:chademo:voltage} volt` - -- **
- Chademo
- outputs 500 volt** corresponds - with socket:socket: - chademo:voltage - =500 V - -### current-2 - -The question is **What current do the plugs with
-Chademo
-offer?** - -This rendering asks information about the -property [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) -This is rendered -with `
Chademo
outputs at most {socket:chademo:current}A` - -- **
- Chademo
- outputs at most 120 A** corresponds - with socket:socket: - chademo:current - =120 A - -### power-output-2 - -The question is **What power output does a single plug of type
-Chademo
-offer?** - -This rendering asks information about the -property [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) -This is rendered -with `
Chademo
outputs at most {socket:chademo:output}` - -- **
- Chademo
- outputs at most 50 kw** corresponds - with socket:socket: - chademo:output - =50 kw - -### voltage-3 - -The question is **What voltage do the plugs with
Type 1 with cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) -This is rendered -with `
Type 1 with cable (J1772)
outputs {socket:type1_cable:voltage} volt` - -- **
Type 1 with cable ( - J1772)
- outputs 200 volt** corresponds - with socket: - socket:type1_cable:voltage - =200 V -- **
Type 1 with cable ( - J1772)
- outputs 240 volt** corresponds - with socket: - socket:type1_cable:voltage - =240 V - -### current-3 - -The question is **What current do the plugs with
Type 1 with cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) -This is rendered -with `
Type 1 with cable (J1772)
outputs at most {socket:type1_cable:current}A` - -- **
Type 1 with cable ( - J1772)
- outputs at most 32 A** corresponds - with socket: - socket:type1_cable:current - =32 A - -### power-output-3 - -The question is **What power output does a single plug of type
Type 1 with -cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) -This is rendered -with `
Type 1 with cable (J1772)
outputs at most {socket:type1_cable:output}` - -- **
Type 1 with cable ( - J1772)
- outputs at most 3.7 kw** corresponds - with socket:socket: - type1_cable:output - =3.7 - kw -- **
Type 1 with cable ( - J1772)
- outputs at most 7 kw** corresponds - with socket:socket: - type1_cable:output - =7 kw - -### voltage-4 - -The question is **What voltage do the plugs with
Type 1 without -cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) -This is rendered -with `
Type 1 without cable (J1772)
outputs {socket:type1:voltage} volt` - -- **
Type 1 without cable ( - J1772)
- outputs 200 volt** corresponds - with socket:socket: - type1:voltage - =200 V -- **
Type 1 without cable ( - J1772)
- outputs 240 volt** corresponds - with socket:socket: - type1:voltage - =240 V - -### current-4 - -The question is **What current do the plugs with
Type 1 without -cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) -This is rendered -with `
Type 1 without cable (J1772)
outputs at most {socket:type1:current}A` - -- **
Type 1 without cable ( - J1772)
- outputs at most 32 A** corresponds - with socket:socket: - type1:current - =32 A - -### power-output-4 - -The question is **What power output does a single plug of type
Type 1 -without cable ( -J1772)
-offer?** - -This rendering asks information about the -property [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) -This is rendered -with `
Type 1 without cable (J1772)
outputs at most {socket:type1:output}` - -- **
Type 1 without cable ( - J1772)
- outputs at most 3.7 kw** corresponds - with socket:socket:type1: - output=3.7 - kw -- **
Type 1 without cable ( - J1772)
- outputs at most 6.6 kw** corresponds - with socket:socket:type1: - output=6.6 - kw -- **
Type 1 without cable ( - J1772)
- outputs at most 7 kw** corresponds - with socket:socket:type1: - output=7 - kw -- **
Type 1 without cable ( - J1772)
- outputs at most 7.2 kw** corresponds - with socket:socket:type1: - output=7.2 - kw - -### voltage-5 - -The question is **What voltage do the plugs with
Type 1 CCS (aka Type 1 -Combo)
-offer?** - -This rendering asks information about the -property [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) -This is rendered -with `
Type 1 CCS (aka Type 1 Combo)
outputs {socket:type1_combo:voltage} volt` - -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs 400 volt** corresponds - with socket: - socket:type1_combo:voltage - =400 V -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs 1000 volt** corresponds - with socket: - socket:type1_combo:voltage - =1000 - V - -### current-5 - -The question is **What current do the plugs with
Type 1 CCS (aka Type 1 -Combo)
-offer?** - -This rendering asks information about the -property [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) -This is rendered -with `
Type 1 CCS (aka Type 1 Combo)
outputs at most {socket:type1_combo:current}A` - -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 50 A** corresponds - with socket: - socket:type1_combo:current - =50 A -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 125 A** corresponds - with socket: - socket:type1_combo:current - =125 A - -### power-output-5 - -The question is **What power output does a single plug of type
Type 1 CCS ( -aka Type 1 -Combo)
-offer?** - -This rendering asks information about the -property [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) -This is rendered -with `
Type 1 CCS (aka Type 1 Combo)
outputs at most {socket:type1_combo:output}` - -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 50 kw** corresponds - with socket:socket: - type1_combo:output - =50 kw -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 62.5 kw** corresponds - with socket:socket: - type1_combo:output - =62.5 - kw -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 150 kw** corresponds - with socket:socket: - type1_combo:output - =150 - kw -- **
Type 1 CCS (aka Type 1 - Combo)
- outputs at most 350 kw** corresponds - with socket:socket: - type1_combo:output - =350 - kw - -### voltage-6 - -The question is **What voltage do the plugs with
Tesla -Supercharger
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) -This is rendered -with `
Tesla Supercharger
outputs {socket:tesla_supercharger:voltage} volt` - -- **
Tesla - Supercharger
- outputs 480 volt** corresponds - with - socket:socket:tesla_supercharger:voltage - = - 480 V - -### current-6 - -The question is **What current do the plugs with
Tesla -Supercharger
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) -This is rendered -with `
Tesla Supercharger
outputs at most {socket:tesla_supercharger:current}A` - -- **
Tesla - Supercharger
- outputs at most 125 A** corresponds - with - socket:socket:tesla_supercharger:current - = - 125 A -- **
Tesla - Supercharger
- outputs at most 350 A** corresponds - with - socket:socket:tesla_supercharger:current - = - 350 A - -### power-output-6 - -The question is **What power output does a single plug of type
Tesla -Supercharger
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) -This is rendered -with `
Tesla Supercharger
outputs at most {socket:tesla_supercharger:output}` - -- **
Tesla - Supercharger
- outputs at most 120 kw** corresponds - with socket: - socket:tesla_supercharger:output - = - 120 kw -- **
Tesla - Supercharger
- outputs at most 150 kw** corresponds - with socket: - socket:tesla_supercharger:output - = - 150 kw -- **
Tesla - Supercharger
- outputs at most 250 kw** corresponds - with socket: - socket:tesla_supercharger:output - = - 250 kw - -### voltage-7 - -The question is **What voltage do the plugs with
Type 2 ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) -This is rendered -with `
Type 2 (mennekes)
outputs {socket:type2:voltage} volt` - -- **
Type 2 ( - mennekes)
- outputs 230 volt** corresponds - with socket:socket: - type2:voltage - =230 V -- **
Type 2 ( - mennekes)
- outputs 400 volt** corresponds - with socket:socket: - type2:voltage - =400 V - -### current-7 - -The question is **What current do the plugs with
Type 2 ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) -This is rendered -with `
Type 2 (mennekes)
outputs at most {socket:type2:current}A` - -- **
Type 2 ( - mennekes)
- outputs at most 16 A** corresponds - with socket:socket: - type2:current - =16 A -- **
Type 2 ( - mennekes)
- outputs at most 32 A** corresponds - with socket:socket: - type2:current - =32 A - -### power-output-7 - -The question is **What power output does a single plug of type
Type 2 ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) -This is rendered -with `
Type 2 (mennekes)
outputs at most {socket:type2:output}` - -- **
Type 2 ( - mennekes)
- outputs at most 11 kw** corresponds - with socket:socket:type2: - output=11 - kw -- **
Type 2 ( - mennekes)
- outputs at most 22 kw** corresponds - with socket:socket:type2: - output=22 - kw - -### voltage-8 - -The question is **What voltage do the plugs with
Type 2 CCS ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) -This is rendered -with `
Type 2 CCS (mennekes)
outputs {socket:type2_combo:voltage} volt` - -- **
Type 2 CCS ( - mennekes)
- outputs 500 volt** corresponds - with socket: - socket:type2_combo:voltage - =500 V -- **
Type 2 CCS ( - mennekes)
- outputs 920 volt** corresponds - with socket: - socket:type2_combo:voltage - =920 V - -### current-8 - -The question is **What current do the plugs with
Type 2 CCS ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) -This is rendered -with `
Type 2 CCS (mennekes)
outputs at most {socket:type2_combo:current}A` - -- **
Type 2 CCS ( - mennekes)
- outputs at most 125 A** corresponds - with socket: - socket:type2_combo:current - =125 A -- **
Type 2 CCS ( - mennekes)
- outputs at most 350 A** corresponds - with socket: - socket:type2_combo:current - =350 A - -### power-output-8 - -The question is **What power output does a single plug of type
Type 2 CCS ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) -This is rendered -with `
Type 2 CCS (mennekes)
outputs at most {socket:type2_combo:output}` - -- **
Type 2 CCS ( - mennekes)
- outputs at most 50 kw** corresponds - with socket:socket: - type2_combo:output - =50 kw - -### voltage-9 - -The question is **What voltage do the plugs with
Type 2 with cable ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) -This is rendered -with `
Type 2 with cable (mennekes)
outputs {socket:type2_cable:voltage} volt` - -- **
Type 2 with cable ( - mennekes)
- outputs 230 volt** corresponds - with socket: - socket:type2_cable:voltage - =230 V -- **
Type 2 with cable ( - mennekes)
- outputs 400 volt** corresponds - with socket: - socket:type2_cable:voltage - =400 V - -### current-9 - -The question is **What current do the plugs with
Type 2 with cable ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) -This is rendered -with `
Type 2 with cable (mennekes)
outputs at most {socket:type2_cable:current}A` - -- **
Type 2 with cable ( - mennekes)
- outputs at most 16 A** corresponds - with socket: - socket:type2_cable:current - =16 A -- **
Type 2 with cable ( - mennekes)
- outputs at most 32 A** corresponds - with socket: - socket:type2_cable:current - =32 A - -### power-output-9 - -The question is **What power output does a single plug of type
Type 2 with -cable ( -mennekes)
-offer?** - -This rendering asks information about the -property [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) -This is rendered -with `
Type 2 with cable (mennekes)
outputs at most {socket:type2_cable:output}` - -- **
Type 2 with cable ( - mennekes)
- outputs at most 11 kw** corresponds - with socket:socket: - type2_cable:output - =11 kw -- **
Type 2 with cable ( - mennekes)
- outputs at most 22 kw** corresponds - with socket:socket: - type2_cable:output - =22 kw - -### voltage-10 - -The question is **What voltage do the plugs with
Tesla Supercharger CCS (a -branded -type2_css)
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) -This is rendered -with `
Tesla Supercharger CCS (a branded type2_css)
outputs {socket:tesla_supercharger_ccs:voltage} volt` - -- **
Tesla Supercharger CCS (a branded - type2_css)
- outputs 500 volt** corresponds - with - socket:socket:tesla_supercharger_ccs:voltage - = - 500 V -- **
Tesla Supercharger CCS (a branded - type2_css)
- outputs 920 volt** corresponds - with - socket:socket:tesla_supercharger_ccs:voltage - = - 920 V - -### current-10 - -The question is **What current do the plugs with
Tesla Supercharger CCS (a -branded -type2_css)
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) -This is rendered -with `
Tesla Supercharger CCS (a branded type2_css)
outputs at most {socket:tesla_supercharger_ccs:current}A` - -- **
Tesla Supercharger CCS (a branded - type2_css)
- outputs at most 125 A** corresponds - with - socket:socket:tesla_supercharger_ccs:current - = - 125 A -- **
Tesla Supercharger CCS (a branded - type2_css)
- outputs at most 350 A** corresponds - with - socket:socket:tesla_supercharger_ccs:current - = - 350 A - -### power-output-10 - -The question is **What power output does a single plug of type
Tesla -Supercharger CCS (a branded -type2_css)
-offer?** - -This rendering asks information about the -property [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) -This is rendered -with `
Tesla Supercharger CCS (a branded type2_css)
outputs at most {socket:tesla_supercharger_ccs:output}` - -- **
Tesla Supercharger CCS (a branded - type2_css)
- outputs at most 50 kw** corresponds - with - socket:socket:tesla_supercharger_ccs:output - = - 50 kw - -### voltage-11 - -The question is **What voltage do the plugs with
Tesla Supercharger ( -destination)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) -This is rendered -with `
Tesla Supercharger (destination)
outputs {socket:tesla_destination:voltage} volt` - -- **
Tesla Supercharger ( - destination)
- outputs 480 volt** corresponds - with socket: - socket:tesla_destination:voltage - =480 - V - -### current-11 - -The question is **What current do the plugs with
Tesla Supercharger ( -destination)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) -This is rendered -with `
Tesla Supercharger (destination)
outputs at most {socket:tesla_destination:current}A` - -- **
Tesla Supercharger ( - destination)
- outputs at most 125 A** corresponds - with socket: - socket:tesla_destination:current - =125 - A -- **
Tesla Supercharger ( - destination)
- outputs at most 350 A** corresponds - with socket: - socket:tesla_destination:current - =350 - A - -### power-output-11 - -The question is **What power output does a single plug of type
Tesla -Supercharger ( -destination)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) -This is rendered -with `
Tesla Supercharger (destination)
outputs at most {socket:tesla_destination:output}` - -- **
Tesla Supercharger ( - destination)
- outputs at most 120 kw** corresponds - with socket: - socket:tesla_destination:output - =120 - kw -- **
Tesla Supercharger ( - destination)
- outputs at most 150 kw** corresponds - with socket: - socket:tesla_destination:output - =150 - kw -- **
Tesla Supercharger ( - destination)
- outputs at most 250 kw** corresponds - with socket: - socket:tesla_destination:output - =250 - kw - -### voltage-12 - -The question is **What voltage do the plugs with
Tesla supercharger ( -destination) (A Type 2 with cable branded as -tesla)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) -This is rendered -with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs {socket:tesla_destination:voltage} volt` - -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs 230 volt** corresponds - with socket: - socket:tesla_destination:voltage - =230 - V -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs 400 volt** corresponds - with socket: - socket:tesla_destination:voltage - =400 - V - -### current-12 - -The question is **What current do the plugs with
Tesla supercharger ( -destination) (A Type 2 with cable branded as -tesla)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) -This is rendered -with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most {socket:tesla_destination:current}A` - -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs at most 16 A** corresponds - with socket: - socket:tesla_destination:current - =16 - A -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs at most 32 A** corresponds - with socket: - socket:tesla_destination:current - =32 - A - -### power-output-12 - -The question is **What power output does a single plug of type
Tesla -supercharger (destination) (A Type 2 with cable branded as -tesla)
-offer?** - -This rendering asks information about the -property [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) -This is rendered -with `
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
outputs at most {socket:tesla_destination:output}` - -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs at most 11 kw** corresponds - with socket: - socket:tesla_destination:output - =11 - kw -- **
Tesla supercharger (destination) (A Type 2 with cable branded as - tesla)
- outputs at most 22 kw** corresponds - with socket: - socket:tesla_destination:output - =22 - kw - -### voltage-13 - -The question is **What voltage do the plugs with
USB to charge phones and -small -electronics
-offer?** - -This rendering asks information about the -property [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) -This is rendered -with `
USB to charge phones and small electronics
outputs {socket:USB-A:voltage} volt` - -- **
USB to charge phones and small - electronics
- outputs 5 volt** corresponds - with socket:socket: - USB-A:voltage= - 5 V - -### current-13 - -The question is **What current do the plugs with
USB to charge phones and -small -electronics
-offer?** - -This rendering asks information about the -property [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) -This is rendered -with `
USB to charge phones and small electronics
outputs at most {socket:USB-A:current}A` - -- **
USB to charge phones and small - electronics
- outputs at most 1 A** corresponds - with socket:socket: - USB-A:current= - 1 A -- **
USB to charge phones and small - electronics
- outputs at most 2 A** corresponds - with socket:socket: - USB-A:current= - 2 A - -### power-output-13 - -The question is **What power output does a single plug of type
USB to -charge phones and small -electronics
-offer?** - -This rendering asks information about the -property [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) -This is rendered -with `
USB to charge phones and small electronics
outputs at most {socket:USB-A:output}` - -- **
USB to charge phones and small - electronics
- outputs at most 5w** corresponds - with socket:socket:USB-A: - output=5w -- **
USB to charge phones and small - electronics
- outputs at most 10w** corresponds - with socket:socket:USB-A: - output=10w - -### voltage-14 - -The question is **What voltage do the plugs with
Bosch Active Connect with 3 -pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) -This is rendered -with `
Bosch Active Connect with 3 pins and cable
outputs {socket:bosch_3pin:voltage} volt` - -### current-14 - -The question is **What current do the plugs with
Bosch Active Connect with 3 -pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_3pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:current) -This is rendered -with `
Bosch Active Connect with 3 pins and cable
outputs at most {socket:bosch_3pin:current}A` - -### power-output-14 - -The question is **What power output does a single plug of type
Bosch Active -Connect with 3 pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_3pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:output) -This is rendered -with `
Bosch Active Connect with 3 pins and cable
outputs at most {socket:bosch_3pin:output}` - -### voltage-15 - -The question is **What voltage do the plugs with
Bosch Active Connect with 5 -pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_5pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:voltage) -This is rendered -with `
Bosch Active Connect with 5 pins and cable
outputs {socket:bosch_5pin:voltage} volt` - -### current-15 - -The question is **What current do the plugs with
Bosch Active Connect with 5 -pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) -This is rendered -with `
Bosch Active Connect with 5 pins and cable
outputs at most {socket:bosch_5pin:current}A` - -### power-output-15 - -The question is **What power output does a single plug of type
Bosch Active -Connect with 5 pins and -cable
-offer?** - -This rendering asks information about the -property [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) -This is rendered -with `
Bosch Active Connect with 5 pins and cable
outputs at most {socket:bosch_5pin:output}` - -### OH The question is **When is this charging station opened?** -This rendering asks information about the -property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `{opening_hours_table(opening_hours)}` -- **24/7 opened (including holidays)** corresponds - with opening_hours - =24/7 -### fee + + - **24/7 opened (including holidays)** corresponds with opening_hours=24/7 + + + + +### fee + + The question is **Does one have to pay to use this charging station?** -- **Free to use** corresponds with fee - =no_This option cannot be chosen as - answer_ -- **Free to use (without authenticating)** corresponds - with fee - =no - &authentication:none - =yes -- **Free to use, but one has to authenticate** corresponds - with fee - =no - &authentication:none - =no -- **Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station** corresponds - with fee - =yes - &fee:conditional - =no @ customers -- **Paid use** corresponds with fee - =yes -### charge + + + + - **Free to use** corresponds with fee=no_This option cannot be chosen as answer_ + - **Free to use (without authenticating)** corresponds with fee=no&authentication:none=yes + - **Free to use, but one has to authenticate** corresponds with fee=no&authentication:none=no + - **Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station** corresponds with fee=yes&fee:conditional=no @ customers + - **Paid use** corresponds with fee=yes + + + + +### charge + + The question is **How much does one have to pay to use this charging station?** -This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `Using this charging station costs {charge}` -### payment-options-advanced + + +### payment-options-advanced + + The question is **Which methods of payment are accepted here?** -- **Cash is accepted here** corresponds - with payment:cash - =yesUnselecting this answer - will add payment:cash - =no -- **Payment cards are accepted here** corresponds - with payment:cards - =yesUnselecting this answer - will add payment:cards - =no -- **Payment is done using a dedicated app** corresponds - with payment:app - =yesUnselecting this answer - will add payment:app - =no -- **Payment is done using a membership card** corresponds - with payment: - membership_card= - yesUnselecting this answer will - add payment: - membership_card= - no -### Authentication + + + + - **Cash is accepted here** corresponds with payment:cash=yesUnselecting this answer will add payment:cash=no + - **Payment cards are accepted here** corresponds with payment:cards=yesUnselecting this answer will add payment:cards=no + - **Payment is done using a dedicated app** corresponds with payment:app=yesUnselecting this answer will add payment:app=no + - **Payment is done using a membership card** corresponds with payment:membership_card=yesUnselecting this answer will add payment:membership_card=no + + + + +### Authentication + + The question is **What kind of authentication is available at the charging station?** -- **Authentication by a membership card** corresponds - with authentication: - membership_card - =yes - Unselecting this answer will - add authentication: - membership_card - =no -- **Authentication by an app** corresponds - with authentication:app - =yesUnselecting this - answer will add authentication: - app=no -- **Authentication via phone call is available** corresponds - with authentication: - phone_call= - yesUnselecting this answer will - add authentication: - phone_call=no -- **Authentication via SMS is available** corresponds - with authentication: - short_message - =yes - Unselecting this answer will - add authentication: - short_message= - no -- **Authentication via NFC is available** corresponds - with authentication:nfc - =yesUnselecting this - answer will add authentication: - nfc=no -- **Authentication via Money Card is available** corresponds - with authentication: - money_card= - yesUnselecting this answer will - add authentication: - money_card=no -- **Authentication via debit card is available** corresponds - with authentication: - debit_card= - yesUnselecting this answer will - add authentication: - debit_card=no -- **Charging here is (also) possible without authentication** corresponds - with authentication:none - =yesUnselecting this - answer will add authentication: - none=no -### Auth phone + + + + - **Authentication by a membership card** corresponds with authentication:membership_card=yesUnselecting this answer will add authentication:membership_card=no + - **Authentication by an app** corresponds with authentication:app=yesUnselecting this answer will add authentication:app=no + - **Authentication via phone call is available** corresponds with authentication:phone_call=yesUnselecting this answer will add authentication:phone_call=no + - **Authentication via SMS is available** corresponds with authentication:short_message=yesUnselecting this answer will add authentication:short_message=no + - **Authentication via NFC is available** corresponds with authentication:nfc=yesUnselecting this answer will add authentication:nfc=no + - **Authentication via Money Card is available** corresponds with authentication:money_card=yesUnselecting this answer will add authentication:money_card=no + - **Authentication via debit card is available** corresponds with authentication:debit_card=yesUnselecting this answer will add authentication:debit_card=no + - **Charging here is (also) possible without authentication** corresponds with authentication:none=yesUnselecting this answer will add authentication:none=no + + + + +### Auth phone + + The question is **What's the phone number for authentication call or SMS?** -This rendering asks information about the -property [authentication:phone_call:number](https://wiki.openstreetmap.org/wiki/Key:authentication:phone_call:number) -This is rendered -with `Authenticate by calling or SMS'ing to {authentication:phone_call:number}` +This rendering asks information about the property [authentication:phone_call:number](https://wiki.openstreetmap.org/wiki/Key:authentication:phone_call:number) +This is rendered with `Authenticate by calling or SMS'ing to {authentication:phone_call:number}` + + + +### maxstay + -### maxstay The question is **What is the maximum amount of time one is allowed to stay here?** -This rendering asks information about the property [maxstay](https://wiki.openstreetmap.org/wiki/Key:maxstay) +This rendering asks information about the property [maxstay](https://wiki.openstreetmap.org/wiki/Key:maxstay) This is rendered with `One can stay at most {canonical(maxstay)}` -- **No timelimit on leaving your vehicle here** corresponds - with maxstay - =unlimited -### Network + + - **No timelimit on leaving your vehicle here** corresponds with maxstay=unlimited + + + + +### Network + + The question is **Is this charging station part of a network?** -This rendering asks information about the property [network](https://wiki.openstreetmap.org/wiki/Key:network) +This rendering asks information about the property [network](https://wiki.openstreetmap.org/wiki/Key:network) This is rendered with `Part of the network {network}` -- **Not part of a bigger network, e.g. because the charging station is maintained by a local business** corresponds - with no:network - =yes -- **Not part of a bigger network** corresponds - with network - =none_This option cannot be - chosen as answer_ -- **AeroVironment** corresponds with - network= - AeroVironment -- **Blink** corresponds with network - =Blink -- **EVgo** corresponds with network - =EVgo -- **Allego** corresponds with network - =Allego -- **Blue Corner** corresponds with network - =Blue Corner -- **Tesla** corresponds with network - =Tesla -### Operator + + - **Not part of a bigger network, e.g. because the charging station is maintained by a local business** corresponds with no:network=yes + - **Not part of a bigger network** corresponds with network=none_This option cannot be chosen as answer_ + - **AeroVironment** corresponds with network=AeroVironment + - **Blink** corresponds with network=Blink + - **EVgo** corresponds with network=EVgo + - **Allego** corresponds with network=Allego + - **Blue Corner** corresponds with network=Blue Corner + - **Tesla** corresponds with network=Tesla + + + + +### Operator + + The question is **Who is the operator of this charging station?** -This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) This is rendered with `This charging station is operated by {operator}` -- **Actually, {operator} is the network** corresponds with network= -### phone + + - **Actually, {operator} is the network** corresponds with network= + + + + +### phone + + The question is **What number can one call if there is a problem with this charging station?** -This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) +This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) This is rendered with `In case of problems, call {phone}` -### email + + +### email + + The question is **What is the email address of the operator?** -This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) +This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) This is rendered with `In case of problems, send an email to {email}` -### website + + +### website + + The question is **What is the website where one can find more information about this charging station?** -This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `More info on {website}` -### level + + +### level + + The question is **On what level is this feature located?** -This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) +This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) This is rendered with `Located on the {level}th floor` -- **Located underground** corresponds with - location=underground_ - This option cannot be chosen as answer_ -- **Located on the ground floor** corresponds - with level - =0 -- **Located on the ground floor** corresponds with _This option cannot be chosen as answer_ -- **Located on the first floor** corresponds - with level - =1 -### ref + + - **Located underground** corresponds with location=underground_This option cannot be chosen as answer_ + - **Located on the ground floor** corresponds with level=0 + - **Located on the ground floor** corresponds with _This option cannot be chosen as answer_ + - **Located on the first floor** corresponds with level=1 + - **Located on the first basement level** corresponds with level=-1 + + + + +### ref + + The question is **What is the reference number of this charging station?** -This rendering asks information about the property [ref](https://wiki.openstreetmap.org/wiki/Key:ref) +This rendering asks information about the property [ref](https://wiki.openstreetmap.org/wiki/Key:ref) This is rendered with `Reference number is {ref}` -### Operational status + + +### Operational status + + The question is **Is this charging point in use?** -- **This charging station works** corresponds - with amenity - =charging_station -- **This charging station is broken** corresponds - with operational_status - =broken - &amenity - =charging_station -- **A charging station is planned here** corresponds - with planned:amenity - = - charging_station -- **A charging station is constructed here** corresponds - with construction:amenity - = - charging_station -- **This charging station has beed permanently disabled and is not in use anymore but is still visible** corresponds - with disused:amenity - = - charging_station -### Parking:fee + + + + - **This charging station works** corresponds with amenity=charging_station + - **This charging station is broken** corresponds with operational_status=broken&amenity=charging_station + - **A charging station is planned here** corresponds with planned:amenity=charging_station + - **A charging station is constructed here** corresponds with construction:amenity=charging_station + - **This charging station has beed permanently disabled and is not in use anymore but is still visible** corresponds with disused:amenity=charging_station + + + + +### Parking:fee + + The question is **Does one have to pay a parking fee while charging?** -- **No additional parking cost while charging** corresponds - with parking:fee - =no -- **An additional parking fee should be paid while charging** corresponds - with parking:fee - =yes -### questions + + + + - **No additional parking cost while charging** corresponds with parking:fee=no + - **An additional parking fee should be paid while charging** corresponds with parking:fee=yes + + + + +### questions + + _This tagrendering has no question and is thus read-only_ -### questions + + + + +### questions + + _This tagrendering has no question and is thus read-only_ + + This document is autogenerated from assets/layers/charging_station/charging_station.json \ No newline at end of file diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index ea431e4b2..d5aa2df92 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -212,7 +212,7 @@ "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" }, "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]", + "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", "type": "array", "items": { "type": "string" @@ -511,11 +511,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -590,7 +587,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 7484d0612..ccafa9158 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -212,7 +212,7 @@ export default { "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" }, "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]", + "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", "type": "array", "items": { "type": "string" @@ -509,11 +509,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -588,7 +585,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index 02b809e29..cd18248bd 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -367,11 +367,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -446,7 +443,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", @@ -1087,7 +1084,7 @@ "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" }, "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]", + "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index 47568c09f..8ae08a433 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -365,11 +365,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -444,7 +441,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", @@ -1077,7 +1074,7 @@ export default { "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" }, "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]", + "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index a36c94344..048840304 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -177,11 +177,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -256,7 +253,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index d6ffd75ba..65e192785 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -175,11 +175,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -254,7 +251,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 1808a0c3d..895df91e5 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -181,11 +181,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -260,7 +257,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index cb262c92b..0da109383 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -179,11 +179,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -258,7 +255,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/TagRenderingConfigJson.schema.json b/Docs/Schemas/TagRenderingConfigJson.schema.json index 2c745037a..5c8809ccc 100644 --- a/Docs/Schemas/TagRenderingConfigJson.schema.json +++ b/Docs/Schemas/TagRenderingConfigJson.schema.json @@ -17,11 +17,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -96,7 +93,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/TagRenderingConfigJsonJSC.ts b/Docs/Schemas/TagRenderingConfigJsonJSC.ts index b556ddf75..3d15c6b6d 100644 --- a/Docs/Schemas/TagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/TagRenderingConfigJsonJSC.ts @@ -17,11 +17,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -96,7 +93,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/TilesourceConfigJson.schema.json b/Docs/Schemas/TilesourceConfigJson.schema.json index a6a2925a5..b8d102661 100644 --- a/Docs/Schemas/TilesourceConfigJson.schema.json +++ b/Docs/Schemas/TilesourceConfigJson.schema.json @@ -125,11 +125,8 @@ "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -204,7 +201,7 @@ ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Docs/Schemas/TilesourceConfigJsonJSC.ts b/Docs/Schemas/TilesourceConfigJsonJSC.ts index 3443d7840..d2d6631b2 100644 --- a/Docs/Schemas/TilesourceConfigJsonJSC.ts +++ b/Docs/Schemas/TilesourceConfigJsonJSC.ts @@ -123,11 +123,8 @@ export default { "type": "string" } }, - "render": { - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`" - }, "question": { - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" }, "condition": { "description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...", @@ -202,7 +199,7 @@ export default { ] }, "then": { - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option" + "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered" }, "icon": { "description": "An icon supporting this mapping; typically shown pretty small\nType: icon", diff --git a/Logic/DetermineLayout.ts b/Logic/DetermineLayout.ts index df6ea07e1..744198296 100644 --- a/Logic/DetermineLayout.ts +++ b/Logic/DetermineLayout.ts @@ -10,7 +10,7 @@ import {UIEventSource} from "./UIEventSource"; import {LocalStorageSource} from "./Web/LocalStorageSource"; import LZString from "lz-string"; import * as personal from "../assets/themes/personal/personal.json"; -import {FixImages, FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert"; +import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert"; import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson"; import SharedTagRenderings from "../Customizations/SharedTagRenderings"; import * as known_layers from "../assets/generated/known_layers.json" @@ -18,6 +18,7 @@ import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson"; import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme"; import * as licenses from "../assets/generated/license_info.json" import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig"; +import {FixImages} from "../Models/ThemeConfig/Conversion/FixImages"; export default class DetermineLayout { diff --git a/Logic/FeatureSource/Sources/StaticFeatureSource.ts b/Logic/FeatureSource/Sources/StaticFeatureSource.ts index d5795a1d5..2d8aef37d 100644 --- a/Logic/FeatureSource/Sources/StaticFeatureSource.ts +++ b/Logic/FeatureSource/Sources/StaticFeatureSource.ts @@ -10,17 +10,20 @@ export default class StaticFeatureSource implements FeatureSource { constructor(features: any[] | UIEventSource>, useFeaturesDirectly) { const now = new Date(); + if(features === undefined){ + throw "Static feature source received undefined as source" + } if (useFeaturesDirectly) { // @ts-ignore this.features = features } else if (features instanceof UIEventSource) { // @ts-ignore - this.features = features.map(features => features.map(f => ({feature: f, freshness: now}))) + this.features = features.map(features => features?.map(f => ({feature: f, freshness: now}) ?? [])) } else { - this.features = new UIEventSource(features.map(f => ({ + this.features = new UIEventSource(features?.map(f => ({ feature: f, freshness: now - }))) + }))??[]) } } diff --git a/Models/ThemeConfig/Conversion/FixImages.ts b/Models/ThemeConfig/Conversion/FixImages.ts index e69de29bb..51039b0b1 100644 --- a/Models/ThemeConfig/Conversion/FixImages.ts +++ b/Models/ThemeConfig/Conversion/FixImages.ts @@ -0,0 +1,127 @@ +import {Conversion, DesugaringStep} from "./Conversion"; +import {LayoutConfigJson} from "../Json/LayoutConfigJson"; +import {Utils} from "../../../Utils"; +import * as metapaths from "../../../assets/layoutconfigmeta.json"; +import * as tagrenderingmetapaths from "../../../assets/tagrenderingconfigmeta.json"; + +export class ExtractImages extends Conversion { + constructor() { + super("Extract all images from a layoutConfig using the meta paths"); + } + + convert(json: LayoutConfigJson, context: string): { result: string[] } { + const paths = metapaths["default"] ?? metapaths + const trpaths = tagrenderingmetapaths["default"] ?? tagrenderingmetapaths + const allFoundImages = [] + for (const metapath of paths) { + if (metapath.typeHint === undefined) { + continue + } + if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") { + continue + } + + const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson") + const found = Utils.CollectPath(metapath.path, json) + if (mightBeTr) { + // We might have tagRenderingConfigs containing icons here + for (const foundImage of found) { + if (typeof foundImage === "string") { + allFoundImages.push(foundImage) + } else { + // This is a tagRendering where every rendered value might be an icon! + for (const trpath of trpaths) { + if (trpath.typeHint !== "rendered") { + continue + } + Utils.CollectPath(trpath.path, foundImage, allFoundImages) + } + + } + } + } else { + allFoundImages.push(...found) + } + } + + const splitParts = [].concat(...allFoundImages.map(img => img.split(";"))) + .map(img => img.split(":")[0]) + return {result: Utils.Dedup(splitParts)}; + } + +} + +export class FixImages extends DesugaringStep { + private readonly _knownImages: Set; + + constructor(knownImages: Set) { + super("Walks over the entire theme and replaces images to the relative URL. Only works if the ID of the theme is an URL"); + this._knownImages = knownImages; + } + + convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[] } { + let url: URL; + try { + url = new URL(json.id) + } catch (e) { + // Not a URL, we don't rewrite + return {result: json} + } + + const absolute = url.protocol + "//" + url.host + let relative = url.protocol + "//" + url.host + url.pathname + relative = relative.substring(0, relative.lastIndexOf("/")) + const self = this; + + function replaceString(leaf: string) { + if (self._knownImages.has(leaf)) { + return leaf; + } + if (leaf.startsWith("./")) { + return relative + leaf.substring(1) + } + if (leaf.startsWith("/")) { + return absolute + leaf + } + return leaf; + } + + json = Utils.Clone(json) + + let paths = metapaths["default"] ?? metapaths + let trpaths = tagrenderingmetapaths["default"] ?? tagrenderingmetapaths + + for (const metapath of paths) { + if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") { + continue + } + const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson") + Utils.WalkPath(metapath.path, json, leaf => { + if (typeof leaf === "string") { + return replaceString(leaf) + } + + if (mightBeTr) { + // We might have reached a tagRenderingConfig containing icons + // lets walk every rendered value and fix the images in there + for (const trpath of trpaths) { + if (trpath.typeHint !== "rendered") { + continue + } + Utils.WalkPath(trpath.path, leaf, (rendered => { + return replaceString(rendered) + })) + } + } + + + return leaf; + }) + } + + + return { + result: json + }; + } +} \ No newline at end of file diff --git a/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts b/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts index 5959790ad..cf89a5172 100644 --- a/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts +++ b/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts @@ -3,7 +3,6 @@ import {Utils} from "../../../Utils"; import LineRenderingConfigJson from "../Json/LineRenderingConfigJson"; import {LayerConfigJson} from "../Json/LayerConfigJson"; import {DesugaringStep, Fuse, OnEvery} from "./Conversion"; -import * as metapaths from "../../../assets/layoutconfigmeta.json" export class UpdateLegacyLayer extends DesugaringStep { @@ -160,101 +159,3 @@ export class FixLegacyTheme extends Fuse { } -export class FixImages extends DesugaringStep { - private readonly _knownImages: Set; - - constructor(knownImages: Set) { - super("Walks over the entire theme and replaces images to the relative URL. Only works if the ID of the theme is an URL"); - this._knownImages = knownImages; - } - - /** - * Walks the path into the object till the end. - * - * If a list is encountered, this is tranparently walked recursively on every object. - * - * The leaf objects are replaced - */ - private static WalkPath(path: string[], object: any, replaceLeaf: ((leaf: any) => any)) { - const head = path[0] - if (path.length === 1) { - // We have reached the leaf - const leaf = object[head]; - if (leaf !== undefined) { - object[head] = replaceLeaf(leaf) - } - return - - } - const sub = object[head] - if (sub === undefined) { - return; - } - if (typeof sub !== "object") { - return; - } - if (sub["forEach"] !== undefined) { - sub.forEach(el => FixImages.WalkPath(path.slice(1), el, replaceLeaf)) - return; - } - FixImages.WalkPath(path.slice(1), sub, replaceLeaf) - - } - - convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[] } { - let url: URL; - console.log("Fixing images!") - try { - url = new URL(json.id) - } catch (e) { - // Not a URL, we don't rewrite - return {result: json} - } - - const absolute = url.protocol +"//"+url.host - let relative = url.protocol +"//"+ url.host + url.pathname - relative = relative.substring(0, relative.lastIndexOf("/")) - const self = this; - - function replaceString(leaf: string) { - if (self._knownImages.has(leaf)) { - return leaf; - } - if (leaf.startsWith("./")) { - return relative + leaf.substring(1) - } - if (leaf.startsWith("/")) { - return absolute + leaf - } - return leaf; - } - - json = Utils.Clone(json) - - let paths = metapaths["default"] ?? metapaths - - for (const metapath of paths) { - if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") { - continue - } - FixImages.WalkPath(metapath.path, json, leaf => { - console.log("Detected leaf: ", leaf) - if (typeof leaf === "string") { - return replaceString(leaf) - } - - if (metapath.type["some"] !== undefined && (metapath.type).some(t => t["$ref"] == "\"#/definitions/TagRenderingConfigJson\"")) { - console.log("Possibly found a tagrendering") - - } - - return leaf; - }) - } - - - return { - result: json - }; - } -} \ No newline at end of file diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index 863d9cf28..80847fc5f 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -8,6 +8,7 @@ import {LayoutConfigJson} from "../Json/LayoutConfigJson"; import LayoutConfig from "../LayoutConfig"; import {TagRenderingConfigJson} from "../Json/TagRenderingConfigJson"; import {TagUtils} from "../../../Logic/Tags/TagUtils"; +import {ExtractImages} from "./FixImages"; class ValidateLanguageCompleteness extends DesugaringStep { @@ -54,8 +55,9 @@ class ValidateTheme extends DesugaringStep { this._isBuiltin = isBuiltin; } - convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[] } { + convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[], warnings: string[] } { const errors = [] + const warnings = [] { // Legacy format checks if (this._isBuiltin) { @@ -67,7 +69,34 @@ class ValidateTheme extends DesugaringStep { } } } + { + // Check for remote images + const images = new ExtractImages().convertStrict(json, "validation") + const remoteImages = images.filter(img => img.indexOf("http") == 0) + for (const remoteImage of remoteImages) { + errors.push("Found a remote image: " + remoteImage + " in theme " + json.id + ", please download it.") + } + for (const image of images) { + if (image.indexOf("{") >= 0) { + warnings.push("Ignoring image with { in the path: ", image) + continue + } + + if(image === "assets/SocialImage.png"){ + continue + } + if(image.match(/[a-z]*/)){ + // This is a builtin img, e.g. 'checkmark' or 'crosshair' + continue; + } + if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) { + const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}` + errors.push(`Image with path ${image} not found or not attributed; it is used in ${json.id}${ctx}`) + } + } + + } try { const theme = new LayoutConfig(json, true, "test") if (theme.id !== theme.id.toLowerCase()) { @@ -97,7 +126,8 @@ class ValidateTheme extends DesugaringStep { return { result: json, - errors + errors, + warnings }; } } @@ -247,27 +277,6 @@ export class ValidateLayer extends DesugaringStep { errors.push(context + ": layer " + json.id + " contains an old 'hideUnderlayingFeaturesMinPercentage'") } } - { - // Check for remote images - const layer = new LayerConfig(json, "test", true) - const images = Array.from(layer.ExtractImages()) - const remoteImages = images.filter(img => img.indexOf("http") == 0) - for (const remoteImage of remoteImages) { - errors.push("Found a remote image: " + remoteImage + " in layer " + layer.id + ", please download it. You can use the fixTheme script to automate this") - } - for (const image of images) { - if (image.indexOf("{") >= 0) { - warnings.push("Ignoring image with { in the path: ", image) - continue - } - - if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) { - const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}` - errors.push(`Image with path ${image} not found or not attributed; it is used in ${layer.id}${ctx}`) - } - } - - } { // CHeck location of layer file const expected: string = `assets/layers/${json.id}/${json.id}.json` diff --git a/Models/ThemeConfig/Json/LayerConfigJson.ts b/Models/ThemeConfig/Json/LayerConfigJson.ts index 8a90248ba..df5ecd66b 100644 --- a/Models/ThemeConfig/Json/LayerConfigJson.ts +++ b/Models/ThemeConfig/Json/LayerConfigJson.ts @@ -195,7 +195,7 @@ export interface LayerConfigJson { /** * Example images, which show real-life pictures of what such a feature might look like * - * Type: image[] + * Type: image */ exampleImages?: string[] diff --git a/Models/ThemeConfig/Json/TagRenderingConfigJson.ts b/Models/ThemeConfig/Json/TagRenderingConfigJson.ts index 879fe929b..f1aee4ff6 100644 --- a/Models/ThemeConfig/Json/TagRenderingConfigJson.ts +++ b/Models/ThemeConfig/Json/TagRenderingConfigJson.ts @@ -30,6 +30,7 @@ export interface TagRenderingConfigJson { * If neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value. * * Note that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
` + * type: rendered */ render?: string | any, @@ -114,6 +115,7 @@ export interface TagRenderingConfigJson { /** * If the condition `if` is met, the text `then` will be rendered. * If not known yet, the user will be presented with `then` as an option + * type: rendered */ then: string | any, /** diff --git a/Models/ThemeConfig/LayerConfig.ts b/Models/ThemeConfig/LayerConfig.ts index 3e00bce67..5fa89867d 100644 --- a/Models/ThemeConfig/LayerConfig.ts +++ b/Models/ThemeConfig/LayerConfig.ts @@ -311,8 +311,11 @@ export default class LayerConfig extends WithContextLoader { if (mapRendering === undefined) { return undefined } - const baseTags = TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"})) - return mapRendering.GetSimpleIcon(new UIEventSource(baseTags)) + return mapRendering.GetBaseIcon(this.GetBaseTags()) + } + + public GetBaseTags(): any{ + return TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"})) } public GenerateDocumentation(usedInThemes: string[], layerIsNeededBy: Map, dependencies: { @@ -365,12 +368,6 @@ export default class LayerConfig extends WithContextLoader { extraProps.push(new Combine(["This layer is needed as dependency for layer", new Link(revDep, "#" + revDep)])) } - const icon = Array.from(this.mapRendering[0]?.icon?.ExtractImages(true) ?? [])[0] - let iconImg = "" - if (icon !== undefined) { - iconImg = ` ` - } - let neededTags: TagsFilter[] = [this.source.osmTags] if (this.source.osmTags["and"] !== undefined) { neededTags = this.source.osmTags["and"] @@ -402,6 +399,16 @@ export default class LayerConfig extends WithContextLoader { ]).SetClass("flex-col flex") } + const icon = this.mapRendering + .filter(mr => mr.location.has("point")) + .map(mr => mr.icon.render.txt) + .find(i => i !== undefined) + let iconImg = "" + if (icon !== undefined) { + // This is for the documentation, so we have to use raw HTML + iconImg = ` ` + } + return new Combine([ new Combine([ new Title(this.id, 1), @@ -435,25 +442,6 @@ export default class LayerConfig extends WithContextLoader { return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown]) } - public ExtractImages(): Set { - const parts: Set[] = []; - parts.push(...this.tagRenderings?.map((tr) => tr.ExtractImages(false))); - parts.push(...this.titleIcons?.map((tr) => tr.ExtractImages(true))); - for (const preset of this.presets) { - parts.push(new Set(preset.description?.ExtractImages(false))); - parts.push(new Set(preset.exampleImages ?? [])) - } - for (const pointRenderingConfig of this.mapRendering) { - parts.push(pointRenderingConfig.ExtractImages()) - } - const allIcons = new Set(); - for (const part of parts) { - part?.forEach(allIcons.add, allIcons); - } - - return allIcons; - } - public isLeftRightSensitive(): boolean { return this.lineRendering.some(lr => lr.leftRightSensitive) } diff --git a/Models/ThemeConfig/LayoutConfig.ts b/Models/ThemeConfig/LayoutConfig.ts index 10cff4db6..b1f505268 100644 --- a/Models/ThemeConfig/LayoutConfig.ts +++ b/Models/ThemeConfig/LayoutConfig.ts @@ -4,6 +4,7 @@ import LayerConfig from "./LayerConfig"; import {LayerConfigJson} from "./Json/LayerConfigJson"; import Constants from "../Constants"; import TilesourceConfig from "./TilesourceConfig"; +import {ExtractImages} from "./Conversion/FixImages"; export default class LayoutConfig { public readonly id: string; @@ -50,6 +51,8 @@ export default class LayoutConfig { public readonly overpassMaxZoom: number public readonly osmApiTileSize: number public readonly official: boolean; + + public readonly usedImages : string[] constructor(json: LayoutConfigJson, official = true, context?: string) { this.official = official; @@ -67,7 +70,7 @@ export default class LayoutConfig { this.credits = json.credits; this.version = json.version; this.language = json.mustHaveLanguage ?? Array.from(Object.keys(json.title)); - + this.usedImages =Array.from( new ExtractImages().convertStrict(json, "while extracting the images")).sort() { if (typeof json.title === "string") { throw `The title of a theme should always be a translation, as it sets the corresponding languages (${context}.title). The themenID is ${this.id}; the offending object is ${JSON.stringify(json.title)} which is a ${typeof json.title})` @@ -177,63 +180,6 @@ export default class LayoutConfig { return custom; } - public ExtractImages(): Set { - const icons = new Set() - for (const layer of this.layers) { - layer.ExtractImages().forEach(icons.add, icons) - } - icons.add(this.icon) - icons.add(this.socialImage) - return icons - } - - /** - * Replaces all the relative image-urls with a fixed image url - * This is to fix loading from external sources - * - * It should be passed the location where the original theme file is hosted. - * - * If no images are rewritten, the same object is returned, otherwise a new copy is returned - */ - public patchImages(originalURL: string, originalJson: string): LayoutConfig { - const allImages = Array.from(this.ExtractImages()) - const rewriting = new Map() - - // Needed for absolute urls: note that it doesn't contain a trailing slash - const origin = new URL(originalURL).origin - let path = new URL(originalURL).href - path = path.substring(0, path.lastIndexOf("/")) - for (const image of allImages) { - if (image == "" || image == undefined) { - continue - } - if (image.startsWith("http://") || image.startsWith("https://")) { - continue - } - if (image.startsWith("/")) { - // This is an absolute path - rewriting.set(image, origin + image) - } else if (image.startsWith("./assets/themes")) { - // Legacy workaround - rewriting.set(image, path + image.substring(image.lastIndexOf("/"))) - } else if (image.startsWith("./")) { - // This is a relative url - rewriting.set(image, path + image.substring(1)) - } else { - // This is a relative URL with only the path - rewriting.set(image, path + image) - } - } - if (rewriting.size == 0) { - return this; - } - rewriting.forEach((value, key) => { - console.log("Rewriting", key, "==>", value) - originalJson = originalJson.replace(new RegExp(key, "g"), value) - }) - return new LayoutConfig(JSON.parse(originalJson), false, "Layout rewriting") - } - public isLeftRightSensitive() { return this.layers.some(l => l.isLeftRightSensitive()) } diff --git a/Models/ThemeConfig/PointRenderingConfig.ts b/Models/ThemeConfig/PointRenderingConfig.ts index 781b7bf65..caab1507f 100644 --- a/Models/ThemeConfig/PointRenderingConfig.ts +++ b/Models/ThemeConfig/PointRenderingConfig.ts @@ -116,35 +116,23 @@ export default class PointRenderingConfig extends WithContextLoader { } } - public ExtractImages(): Set { - const parts: Set[] = []; - parts.push(this.icon?.ExtractImages(true)); - parts.push( - ...this.iconBadges?.map((overlay) => overlay.then.ExtractImages(true)) - ); - - const allIcons = new Set(); - for (const part of parts) { - part?.forEach(allIcons.add, allIcons); + public GetBaseIcon(tags?: any): BaseUIElement { + tags = tags ?? {id: "node/-1"} + const rotation = Utils.SubstituteKeys(this.rotation?.GetRenderValue(tags)?.txt ?? "0deg", tags) + const htmlDefs = Utils.SubstituteKeys(this.icon.GetRenderValue(tags)?.txt, tags) + let defaultPin: BaseUIElement = undefined + if (this.label === undefined) { + defaultPin = Svg.teardrop_with_hole_green_svg() } - return allIcons; + return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin) } - + public GetSimpleIcon(tags: UIEventSource): BaseUIElement { const self = this; if (this.icon === undefined) { return undefined; } - return new VariableUiElement(tags.map(tags => { - const rotation = Utils.SubstituteKeys(self.rotation?.GetRenderValue(tags)?.txt ?? "0deg", tags) - - const htmlDefs = Utils.SubstituteKeys(self.icon.GetRenderValue(tags)?.txt, tags) - let defaultPin: BaseUIElement = undefined - if (self.label === undefined) { - defaultPin = Svg.teardrop_with_hole_green_svg() - } - return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin) - })).SetClass("w-full h-full block") + return new VariableUiElement(tags.map(tags => self.GetBaseIcon(tags))).SetClass("w-full h-full block") } public GenerateLeafletStyle( diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/Models/ThemeConfig/TagRenderingConfig.ts index 5674a24f5..c98c18d91 100644 --- a/Models/ThemeConfig/TagRenderingConfig.ts +++ b/Models/ThemeConfig/TagRenderingConfig.ts @@ -425,18 +425,6 @@ export default class TagRenderingConfig { return translations; } - public ExtractImages(isIcon: boolean): Set { - - const usedIcons = new Set() - this.render?.ExtractImages(isIcon)?.forEach(usedIcons.add, usedIcons) - - for (const mapping of this.mappings ?? []) { - mapping.then.ExtractImages(isIcon).forEach(usedIcons.add, usedIcons) - } - - return usedIcons; - } - FreeformValues(): { key: string, type?: string, values?: string [] } { try { diff --git a/UI/BigComponents/CopyrightPanel.ts b/UI/BigComponents/CopyrightPanel.ts index f9a3bfc5c..fd8bf6b50 100644 --- a/UI/BigComponents/CopyrightPanel.ts +++ b/UI/BigComponents/CopyrightPanel.ts @@ -20,6 +20,8 @@ import Toggle from "../Input/Toggle"; import {OsmConnection} from "../../Logic/Osm/OsmConnection"; import Constants from "../../Models/Constants"; import ContributorCount from "../../Logic/ContributorCount"; +import {icon} from "leaflet"; +import Img from "../Base/Img"; export class OpenIdEditor extends VariableUiElement { constructor(state: { locationControl: UIEventSource }, iconStyle?: string, objectId?: string) { @@ -131,8 +133,7 @@ export default class CopyrightPanel extends Combine { new OpenJosm(state, iconStyle) ] - const iconAttributions = Utils.NoNull(Array.from(layoutToUse.ExtractImages())) - .map(CopyrightPanel.IconAttribution) + const iconAttributions = layoutToUse.usedImages.map(CopyrightPanel.IconAttribution) let maintainer: BaseUIElement = undefined if (layoutToUse.maintainer !== undefined && layoutToUse.maintainer !== "" && layoutToUse.maintainer.toLowerCase() !== "mapcomplete") { @@ -224,23 +225,19 @@ export default class CopyrightPanel extends Combine { const sources = Utils.NoNull(Utils.NoEmpty(license.sources)) return new Combine([ - ``, + new Img(iconPath).SetClass("w-12 min-h-12 mr-2 mb-2"), new Combine([ new FixedUiElement(license.authors.join("; ")).SetClass("font-bold"), - new Combine([license.license, - sources.length > 0 ? " - " : "", - ...sources.map(lnk => { + license.license, + new Combine([ ...sources.map(lnk => { let sourceLinkContent = lnk; try { sourceLinkContent = new URL(lnk).hostname } catch { console.error("Not a valid URL:", lnk) } - return new Link(sourceLinkContent, lnk, true); - }) - ] - ).SetClass("block m-2") - + return new Link(sourceLinkContent, lnk, true).SetClass("mr-2 mb-2"); + })]).SetClass("flex flex-wrap") ]).SetClass("flex flex-col").SetStyle("width: calc(100% - 50px - 0.5em); min-width: 12rem;") ]).SetClass("flex flex-wrap border-b border-gray-300 m-2 border-box") } diff --git a/UI/NewPoint/ConfirmLocationOfPoint.ts b/UI/NewPoint/ConfirmLocationOfPoint.ts index 9ab9a7dca..dea2bbb82 100644 --- a/UI/NewPoint/ConfirmLocationOfPoint.ts +++ b/UI/NewPoint/ConfirmLocationOfPoint.ts @@ -176,7 +176,7 @@ export default class ConfirmLocationOfPoint extends Combine { if(preset.exampleImages !== undefined && preset.exampleImages.length > 0){ examples = new Combine([ new Title( preset.exampleImages.length == 1 ? Translations.t.general.example : Translations.t.general.examples), - new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto"))).SetClass("flex flex-wrap items-stretch") + new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto rounded-lg"))).SetClass("flex flex-wrap items-stretch") ]) } diff --git a/assets/layers/bike_repair_station/license_info.json b/assets/layers/bike_repair_station/license_info.json index c88b4771d..4ad68baaf 100644 --- a/assets/layers/bike_repair_station/license_info.json +++ b/assets/layers/bike_repair_station/license_info.json @@ -108,10 +108,10 @@ "path": "repair_station_example_3.jpg", "license": "CC-BY-SA 3.0 Unported", "authors": [ - "or \tThelmadatter" + "Thelmadatter" ], "sources": [ - "\u001b[3~https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG" + "https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG" ] }, { diff --git a/assets/layoutconfigmeta.json b/assets/layoutconfigmeta.json index 036b6764a..1e255a857 100644 --- a/assets/layoutconfigmeta.json +++ b/assets/layoutconfigmeta.json @@ -1,4 +1,58 @@ [ + { + "path": [], + "type": "object" + }, + { + "path": [ + "id" + ], + "type": "string" + }, + { + "path": [ + "credits" + ], + "type": "string" + }, + { + "path": [ + "maintainer" + ], + "type": "string" + }, + { + "path": [ + "version" + ], + "type": "string" + }, + { + "path": [ + "mustHaveLanguage" + ], + "type": "array" + }, + { + "path": [ + "title" + ] + }, + { + "path": [ + "shortDescription" + ] + }, + { + "path": [ + "description" + ] + }, + { + "path": [ + "descriptionTail" + ] + }, { "path": [ "icon" @@ -13,6 +67,397 @@ "typeHint": "image", "type": "string" }, + { + "path": [ + "startZoom" + ], + "type": "number" + }, + { + "path": [ + "widenFactor" + ], + "type": "number" + }, + { + "path": [ + "overpassMaxZoom" + ], + "type": "number" + }, + { + "path": [ + "osmApiTileSize" + ], + "type": "number" + }, + { + "path": [ + "overrideAll" + ] + }, + { + "path": [ + "defaultBackgroundId" + ], + "type": "string" + }, + { + "path": [ + "tileLayerSources" + ], + "type": "array" + }, + { + "path": [ + "tileLayerSources" + ], + "type": "object" + }, + { + "path": [ + "tileLayerSources", + "id" + ], + "type": "string" + }, + { + "path": [ + "tileLayerSources", + "source" + ], + "type": "string" + }, + { + "path": [ + "tileLayerSources", + "isOverlay" + ], + "type": "boolean" + }, + { + "path": [ + "tileLayerSources", + "name" + ] + }, + { + "path": [ + "tileLayerSources", + "minZoom" + ], + "type": "number" + }, + { + "path": [ + "tileLayerSources", + "maxZoom" + ], + "type": "number" + }, + { + "path": [ + "tileLayerSources", + "defaultState" + ], + "type": "boolean" + }, + { + "path": [ + "layers" + ], + "type": "array" + }, + { + "path": [ + "layers" + ], + "type": "object" + }, + { + "path": [ + "layers", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "name" + ] + }, + { + "path": [ + "layers", + "description" + ] + }, + { + "path": [ + "layers", + "source" + ], + "type": [ + { + "allOf": [ + { + "type": "object", + "properties": { + "osmTags": { + "anyOf": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + "overpassScript": { + "type": "string" + } + }, + "required": [ + "osmTags" + ] + }, + { + "type": "object", + "properties": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" + } + } + } + ] + }, + { + "allOf": [ + { + "type": "object", + "properties": { + "osmTags": { + "anyOf": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + "geoJson": { + "type": "string" + }, + "geoJsonZoomLevel": { + "type": "number" + }, + "isOsmCache": { + "type": "boolean" + }, + "mercatorCrs": { + "type": "boolean" + } + }, + "required": [ + "geoJson", + "osmTags" + ] + }, + { + "type": "object", + "properties": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" + } + } + } + ] + } + ] + }, + { + "path": [ + "layers", + "calculatedTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "doNotDownload" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "isShown" + ], + "type": "object" + }, + { + "path": [ + "layers", + "isShown", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "isShown", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "isShown", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "isShown", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "isShown", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "isShown", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "isShown", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "isShown", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "isShown", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "isShown", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "isShown", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -23,6 +468,257 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "isShown", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "isShown", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "isShown", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "forceLoad" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "minzoom" + ], + "type": "number" + }, + { + "path": [ + "layers", + "shownByDefault" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "minzoomVisible" + ], + "type": "number" + }, + { + "path": [ + "layers", + "title" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "title" + ], + "type": "object" + }, + { + "path": [ + "layers", + "title", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "title", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "title", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "title", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "title", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "title", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "title", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "title", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "title", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "title", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "title", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "title", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "title", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "title", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "title", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "title", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "title", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -33,6 +729,50 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "title", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "title", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "title", + "mappings", + "addExtraTags" + ], + "type": "array" + }, { "path": [ "layers", @@ -68,6 +808,240 @@ } ] }, + { + "path": [ + "layers", + "titleIcons" + ], + "type": "object" + }, + { + "path": [ + "layers", + "titleIcons", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "titleIcons", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "titleIcons", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "titleIcons", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "titleIcons", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "titleIcons", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "then" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "icon" + ], + "typeHint": "icon", + "type": "string" + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "titleIcons", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "location" + ], + "type": "array" + }, { "path": [ "layers", @@ -84,6 +1058,255 @@ } ] }, + { + "path": [ + "layers", + "mapRendering", + "icon" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "then" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "icon" + ], + "typeHint": "icon", + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges" + ], + "type": "array" + }, { "path": [ "layers", @@ -101,6 +1324,467 @@ } ] }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "then" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "icon" + ], + "typeHint": "icon", + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -112,6 +1796,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -123,6 +2052,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "label" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -134,6 +2308,258 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "label", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "color" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -145,6 +2571,254 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "color", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "width" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": [ + "string", + "number" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -156,6 +2830,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "width", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -167,6 +3086,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -178,6 +3342,255 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fill" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "enum": [ + "no", + "yes" + ], + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -189,6 +3602,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -200,6 +3858,251 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "offset" + ], + "type": [ + { + "$ref": "#/definitions/TagRenderingConfigJson" + }, + { + "type": "number" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings", + "then" + ], + "typeHint": "rendered" + }, { "path": [ "layers", @@ -211,19 +4114,614 @@ "typeHint": "icon", "type": "string" }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "passAllFeatures" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "presets" + ], + "type": "array" + }, + { + "path": [ + "layers", + "presets", + "title" + ] + }, + { + "path": [ + "layers", + "presets", + "tags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "presets", + "description" + ] + }, { "path": [ "layers", "presets", "exampleImages" ], - "typeHint": "image[]", + "typeHint": "image", + "type": "array" + }, + { + "path": [ + "layers", + "presets", + "preciseInput" + ], + "type": [ + { + "type": "object", + "properties": { + "preferredBackground": { + "description": "The type of background picture", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + "snapToLayer": { + "description": "If specified, these layers will be shown to and the new point will be snapped towards it", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + "maxSnapDistance": { + "description": "If specified, a new point will only be snapped if it is within this range.\nDistance in meter\n\nDefault: 10", + "type": "number" + } + }, + "required": [ + "preferredBackground" + ] + }, + { + "enum": [ + true + ], + "type": "boolean" + } + ] + }, + { + "path": [ + "layers", + "presets", + "preciseInput", + "preferredBackground" + ], + "type": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "presets", + "preciseInput", + "snapToLayer" + ], + "type": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "presets", + "preciseInput", + "maxSnapDistance" + ], + "type": "number" + }, + { + "path": [ + "layers", + "tagRenderings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings" + ], + "type": "object" + }, + { + "path": [ + "layers", + "tagRenderings", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "labels" + ], "type": "array" }, { "path": [ "layers", "tagRenderings", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "tagRenderings", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "then" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "icon" + ], + "typeHint": "icon", + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings" + ], + "type": "object" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "id" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "group" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "labels" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "question" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform" + ], + "type": "object" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "key" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "type" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "placeholder" + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "helperArgs" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "inline" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "freeform", + "default" + ], + "type": "string" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "multiAnswer" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "mappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "mappings", + "then" + ], + "typeHint": "rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", "mappings", "icon" ], @@ -236,9 +4734,418 @@ "tagRenderings", "renderings", "mappings", - "icon" + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": [ + "string", + "boolean" + ] + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "mappings", + "addExtraTags" + ], + "type": "array" + }, + { + "path": [ + "layers", + "filter" + ], + "type": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/default" + } + }, + { + "type": "object", + "properties": { + "sameAs": { + "type": "string" + } + }, + "required": [ + "sameAs" + ] + } + ] + }, + { + "path": [ + "layers", + "filter", + "id" ], - "typeHint": "icon", "type": "string" + }, + { + "path": [ + "layers", + "filter", + "options" + ], + "type": "array" + }, + { + "path": [ + "layers", + "deletion" + ], + "type": [ + { + "$ref": "#/definitions/DeleteConfigJson" + }, + { + "type": "boolean" + } + ] + }, + { + "path": [ + "layers", + "deletion", + "extraDeleteReasons" + ], + "type": "array" + }, + { + "path": [ + "layers", + "deletion", + "extraDeleteReasons", + "explanation" + ] + }, + { + "path": [ + "layers", + "deletion", + "extraDeleteReasons", + "changesetMessage" + ], + "type": "string" + }, + { + "path": [ + "layers", + "deletion", + "nonDeleteMappings" + ], + "type": "array" + }, + { + "path": [ + "layers", + "deletion", + "softDeletionTags" + ], + "type": [ + { + "$ref": "#/definitions/AndOrTagConfigJson" + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "layers", + "deletion", + "neededChangesets" + ], + "type": "number" + }, + { + "path": [ + "layers", + "allowMove" + ], + "type": [ + { + "$ref": "#/definitions/default_2" + }, + { + "type": "boolean" + } + ] + }, + { + "path": [ + "layers", + "allowMove", + "enableImproveAccuracy" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "allowMove", + "enableRelocation" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "allowSplit" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "units" + ], + "type": "array" + }, + { + "path": [ + "layers", + "units", + "appliesToKey" + ], + "type": "array" + }, + { + "path": [ + "layers", + "units", + "eraseInvalidValues" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "units", + "applicableUnits" + ], + "type": "array" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "canonicalDenomination" + ], + "type": "string" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "canonicalDenominationSingular" + ], + "type": "string" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "alternativeDenomination" + ], + "type": "array" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "human" + ] + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "humanSingular" + ] + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "prefix" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "default" + ], + "type": "boolean" + }, + { + "path": [ + "layers", + "hideTagRenderingsWithLabels" + ], + "type": "array" + }, + { + "path": [ + "clustering" + ], + "type": [ + { + "type": "object", + "properties": { + "maxZoom": { + "description": "All zoom levels above 'maxzoom' are not clustered anymore.\nDefaults to 18", + "type": "number" + }, + "minNeededElements": { + "description": "The number of elements per tile needed to start clustering\nIf clustering is defined, defaults to 250", + "type": "number" + } + } + }, + { + "enum": [ + false + ], + "type": "boolean" + } + ] + }, + { + "path": [ + "clustering", + "maxZoom" + ], + "type": "number" + }, + { + "path": [ + "clustering", + "minNeededElements" + ], + "type": "number" + }, + { + "path": [ + "customCss" + ], + "type": "string" + }, + { + "path": [ + "hideFromOverview" + ], + "type": "boolean" + }, + { + "path": [ + "lockLocation" + ], + "type": [ + { + "type": "array", + "items": [ + { + "type": "array", + "items": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "items": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + { + "type": "boolean" + } + ] + }, + { + "path": [ + "overpassUrl" + ], + "type": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + { + "path": [ + "overpassTimeout" + ], + "type": "number" } ] \ No newline at end of file diff --git a/assets/themes/bicycle_rental/license_info.json b/assets/themes/bicycle_rental/license_info.json index ec94fa35d..46d07e516 100644 --- a/assets/themes/bicycle_rental/license_info.json +++ b/assets/themes/bicycle_rental/license_info.json @@ -3,20 +3,22 @@ "path": "logo.svg", "license": "CC0", "authors": [ - "Stijn Wens" + "Toerisme Vlaanderen" ], "sources": [ - "https://wens.be/free-antwerpenize-bicycle-font" + "https://toerismevlaanderen.be/pinjepunt", + "https://mapcomplete.osm.be/toerisme_vlaanderenn" ] }, { "path": "rental.svg", "license": "CC0", "authors": [ - "Stijn Wens" + "Toerisme Vlaanderen" ], "sources": [ - "https://wens.be/free-antwerpenize-bicycle-font" + "https://toerismevlaanderen.be/pinjepunt", + "https://mapcomplete.osm.be/toerisme_vlaanderenn" ] } ] \ No newline at end of file diff --git a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json index 74d151dc6..57cb3702e 100644 --- a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json +++ b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json @@ -17,7 +17,7 @@ "nl": "

Pin je punt is een open toerismekaart waarin wandelaars en fietsers nuttige info verzamelen voor andere wandelaars en fietsers.Klik op de exacte locatie op de kaartom een punt toe te voegen of op een bestaand punt om het te wijzigen. We verzamelen:

  1. Laadpunten voor e-bikes
  2. Openbare toiletten
  3. Zit- en picknickbankjes
  4. Uitkijktorens
  5. Fietsherstelpunten
  6. Fietsverhuurpunten
  7. Speeltuinen

" }, "descriptionTail": { - "nl": "

Een initiatief van de 5 provinciale toeristische organisaties en Toerisme Vlaanderen

Meer informatie op toerismevlaaneren.be" + "nl": "

Een initiatief van de 5 provinciale toeristische organisaties en Toerisme Vlaanderen

Meer informatie op toerismevlaanderen.be" }, "icon": "./assets/svg/teardrop_with_hole_green.svg", "startZoom": 8, diff --git a/scripts/fixTheme.ts b/scripts/fixTheme.ts deleted file mode 100644 index e5f65750a..000000000 --- a/scripts/fixTheme.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * This script attempt to automatically fix some basic issues when a theme from the custom generator is loaded - */ -import {Utils} from "../Utils" -import {readFileSync, writeFileSync} from "fs"; -import SmallLicense from "../Models/smallLicense"; -import ScriptUtils from "./ScriptUtils"; -import AllImageProviders from "../Logic/ImageProviders/AllImageProviders"; -import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson"; -import LayerConfig from "../Models/ThemeConfig/LayerConfig"; - -ScriptUtils.fixUtils() - -if (process.argv.length == 2) { - console.log("USAGE: ts-node scripts/fixTheme ") - throw "No path specified" -} - -const path = process.argv[2] -const dir = path.substring(0, path.lastIndexOf("/")) - -console.log("Fixing up ", path) - -const themeConfigJson: LayoutConfigJson = JSON.parse(readFileSync(path, "UTF8")) - -const licenses: SmallLicense[] = [] - -const replacements: { source: string, destination: string }[] = [] - -for (const layerConfigJson of themeConfigJson.layers) { - if (typeof (layerConfigJson) === "string") { - continue; - } - if (layerConfigJson["overpassTags"] !== undefined) { - const tags = layerConfigJson["overpassTags"]; - layerConfigJson["overpassTags"] = undefined; - layerConfigJson["source"] = {osmTags: tags} - } - // @ts-ignore - const layerConfig = new LayerConfig(layerConfigJson, "fix theme", true) - const images: string[] = Array.from(layerConfig.ExtractImages()) - const remoteImages = images.filter(img => img.startsWith("http")) - - for (const remoteImage of remoteImages) { - - - const filename = remoteImage.substring(remoteImage.lastIndexOf("/")) - ScriptUtils.DownloadFileTo(remoteImage, dir + "/" + filename) - - - const imgPath = remoteImage.substring(remoteImage.lastIndexOf("/") + 1) - - for (const attributionSrc of AllImageProviders.ImageAttributionSource) { - try { - attributionSrc.GetAttributionFor(remoteImage).addCallbackAndRun(license => { - console.log("Downloaded an attribution!") - licenses.push({ - path: imgPath, - license: license?.license ?? "", - authors: Utils.NoNull([license?.artist]), - sources: [remoteImage] - }) - }) - } catch (e) { - // Hush hush - } - } - - replacements.push({source: remoteImage, destination: `${dir}/${imgPath}`}) - } -} - -let fixedThemeJson = JSON.stringify(themeConfigJson, null, " ") -for (const replacement of replacements) { - fixedThemeJson = fixedThemeJson.replace(new RegExp(replacement.source, "g"), replacement.destination) -} - -writeFileSync(dir + "/generated.license_info.json", JSON.stringify(licenses, null, " ")) -writeFileSync(path + ".autofixed.json", fixedThemeJson) - -console.log(`IMPORTANT: - 1) Copy generated.license_info.json over into license_info.json and add the missing attributions and authors - 2) Verify ${path}.autofixed.json as theme, and rename it to ${path}`) \ No newline at end of file diff --git a/scripts/generateLicenseInfo.ts b/scripts/generateLicenseInfo.ts index f7bb3e69f..bb8e77cea 100644 --- a/scripts/generateLicenseInfo.ts +++ b/scripts/generateLicenseInfo.ts @@ -2,6 +2,10 @@ import {existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync} from "fs import SmallLicense from "../Models/smallLicense"; import ScriptUtils from "./ScriptUtils"; + +function validateLicenseInfo(l : SmallLicense){ + l.sources.map(s => new URL(s)) +} /** * Sweeps the entire 'assets/' (except assets/generated) directory for image files and any 'license_info.json'-file. * Checks that the license info is included for each of them and generates a compiles license_info.json for those @@ -11,8 +15,6 @@ function generateLicenseInfos(paths: string[]): SmallLicense[] { const licenses = [] for (const path of paths) { try { - - const parsed = JSON.parse(readFileSync(path, "UTF-8")) if (Array.isArray(parsed)) { const l: SmallLicense[] = parsed @@ -22,12 +24,6 @@ function generateLicenseInfos(paths: string[]): SmallLicense[] { licenses.push(...l) } else { const smallLicens: SmallLicense = parsed; - /*if(parsed.license === "CC-BY"){ - console.log("Rewriting ", path) - parsed.license === "CC-BY 4.0" - writeFileSync(path, JSON.stringify(smallLicens, null, " ")) - }*/ - smallLicens.path = path.substring(0, 1 + path.lastIndexOf("/")) + smallLicens.path licenses.push(smallLicens) } @@ -229,6 +225,7 @@ function createFullLicenseOverview(licensePaths) { for (const licensePath of licensePaths) { const licenses = JSON.parse(readFileSync(licensePath, "UTF-8")) for (const license of licenses) { + validateLicenseInfo(license) const dir = licensePath.substring(0, licensePath.length - "license_info.json".length) license.path = dir + license.path allLicenses.push(license) diff --git a/test/ImageAttribution.spec.ts b/test/ImageAttribution.spec.ts index d7d75b067..0056621f5 100644 --- a/test/ImageAttribution.spec.ts +++ b/test/ImageAttribution.spec.ts @@ -1,8 +1,8 @@ import {equal} from "assert"; import T from "./TestHelper"; import {Translation} from "../UI/i18n/Translation"; -import * as bike_repair_station from "../assets/layers/bike_repair_station/bike_repair_station.json" -import LayerConfig from "../Models/ThemeConfig/LayerConfig"; +import * as cyclofix from "../assets/generated/themes/cyclofix.json" +import {ExtractImages} from "../Models/ThemeConfig/Conversion/FixImages"; export default class ImageAttributionSpec extends T { constructor() { @@ -10,9 +10,9 @@ export default class ImageAttributionSpec extends T { [ "Should find all the images", () => { - const pumps: LayerConfig = new LayerConfig(bike_repair_station) - const images = pumps.ExtractImages(); - const expectedValues = ['./assets/layers/bike_repair_station/repair_station.svg', + const images = new Set(new ExtractImages().convertStrict(cyclofix, "test")) + const expectedValues = [ + './assets/layers/bike_repair_station/repair_station.svg', './assets/layers/bike_repair_station/repair_station_pump.svg', './assets/layers/bike_repair_station/broken_pump.svg', './assets/layers/bike_repair_station/pump.svg', @@ -20,7 +20,8 @@ export default class ImageAttributionSpec extends T { './assets/layers/bike_repair_station/pump_example_manual.jpg', './assets/layers/bike_repair_station/pump_example.png', './assets/layers/bike_repair_station/pump_example_round.jpg', - './assets/layers/bike_repair_station/repair_station_example_2.jpg'] + './assets/layers/bike_repair_station/repair_station_example_2.jpg', + 'close'] for (const expected of expectedValues) { T.isTrue(images.has(expected), expected + " not found") } diff --git a/test/LegacyThemeLoader.spec.ts b/test/LegacyThemeLoader.spec.ts index 25b66f5b0..aff639d31 100644 --- a/test/LegacyThemeLoader.spec.ts +++ b/test/LegacyThemeLoader.spec.ts @@ -1,10 +1,11 @@ import T from "./TestHelper"; -import {FixImages, FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert"; +import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert"; import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson"; import {AddMiniMap} from "../Models/ThemeConfig/Conversion/PrepareTheme"; import {DetectShadowedMappings} from "../Models/ThemeConfig/Conversion/Validation"; import * as Assert from "assert"; +import {FixImages} from "../Models/ThemeConfig/Conversion/FixImages"; export default class LegacyThemeLoaderSpec extends T { @@ -239,6 +240,17 @@ export default class LegacyThemeLoaderSpec extends T { "mapRendering": [ { "icon": "./TS_bolt.svg", + iconBadges: [{ + if: "id=yes", + then:{ + mappings: [ + { + if: "id=yes", + then: "./Something.svg" + } + ] + } + }], "location": [ "point", "centroid" @@ -433,6 +445,10 @@ export default class LegacyThemeLoaderSpec extends T { const fixedValue = fixed.layers[0]["mapRendering"][0].icon Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/TS_bolt.svg", fixedValue) + + const fixedMapping = fixed.layers[0]["mapRendering"][0].iconBadges[0].then.mappings[0].then + Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/Something.svg", + fixedMapping) } ] ] );