diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md index 3b4f3e478..fd30e35fc 100644 --- a/Docs/BuiltinIndex.md +++ b/Docs/BuiltinIndex.md @@ -34,6 +34,8 @@ + [climbing.sportclimbing](#climbingsportclimbing) + [climbing.max_bolts](#climbingmax_bolts) + [all_tags](#all_tags) + + [multilevels](#multilevels) + + [induction-loop](#induction-loop) + [questions](#questions) + [export_as_gpx](#export_as_gpx) + [export_as_geojson](#export_as_geojson) @@ -86,13 +88,17 @@ - doctors - dogpark - drinking_water + - elevator - entrance - extinguisher - fire_station - food - ghost_bike + - governments - grass_in_parks + - hotel - hydrant + - indoors - information_board - map - nature_reserve @@ -104,6 +110,7 @@ - playground - public_bookcase - rainbow_crossings + - reception_desk - recycling - shops - slow_roads @@ -131,14 +138,17 @@ - bicycle_library - bicycle_rental + - bike_shop - bike_themed_object - cafe_pub - climbing_club - climbing_gym - doctors - food + - governments - hackerspace - hospital + - hotel - kindergarten_childcare - nature_reserve - observation_tower @@ -161,14 +171,17 @@ - bicycle_library - bicycle_rental + - bike_shop - bike_themed_object - cafe_pub - climbing_club - climbing_gym - doctors - food + - governments - hackerspace - hospital + - hotel - kindergarten_childcare - pharmacy - recycling @@ -188,14 +201,17 @@ - bicycle_library - bicycle_rental + - bike_shop - bike_themed_object - cafe_pub - climbing_club - climbing_gym - doctors - food + - governments - hackerspace - hospital + - hotel - kindergarten_childcare - pharmacy - recycling @@ -279,7 +295,14 @@ - bike_repair_station + - cafe_pub - charging_station + - entrance + - food + - parking + - picnic_table + - reception_desk + - shops - toilet @@ -317,6 +340,7 @@ - defibrillator - food - hackerspace + - hotel - observation_tower - transit_stops @@ -368,6 +392,7 @@ - dogpark - food - hackerspace + - hotel - shops - veterinary @@ -475,6 +500,29 @@ +### multilevels + + + + + + - elevator + + + + +### induction-loop + + + + + + - elevator + - reception_desk + + + + ### questions diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index 20382a5c2..58d9e5b76 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -108,7 +108,7 @@ Meta layer showing the current location of the user. Add this to your theme and - This layer is shown at zoomlevel **0** and higher - **This layer is included automatically in every theme. This layer might contain no points** - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` @@ -151,7 +151,7 @@ Meta layer which contains the previous locations of the user as single points. T - This layer is shown at zoomlevel **0** and higher - **This layer is included automatically in every theme. This layer might contain no points** - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` @@ -195,7 +195,7 @@ Meta layer showing the home location of the user. The home location can be set i - This layer is shown at zoomlevel **0** and higher - **This layer is included automatically in every theme. This layer might contain no points** - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` @@ -279,6 +279,8 @@ This tagrendering has no question and is thus read-only +Shows a button to export this feature as GPX. Especially useful for route relations + This tagrendering has no question and is thus read-only @@ -289,6 +291,8 @@ This tagrendering has no question and is thus read-only +Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs + This tagrendering has no question and is thus read-only @@ -299,6 +303,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only @@ -371,7 +377,7 @@ This layer shows notes on OpenStreetMap. Having this layer in your theme will tr - This layer is shown at zoomlevel **10** and higher - - This layer is loaded from an external source, namely `https://api.openstreetmap.org/api/0.6/notes.json?limit=10000&closed=7&bbox={x_min},{y_min},{x_max},{y_max}` + - This layer is loaded from an external source, namely `https://api.openstreetmap.org/api/0.6/notes.json?limit=10000&closed=7&bbox={x_min},{y_min},{x_max},{y_max}` @@ -525,7 +531,7 @@ This layer visualizes directions - This layer is shown at zoomlevel **16** and higher - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. @@ -803,12 +809,14 @@ The following layers are included in MapComplete: - [doctors](./Layers/doctors.md) - [dogpark](./Layers/dogpark.md) - [drinking_water](./Layers/drinking_water.md) + - [elevator](./Layers/elevator.md) - [entrance](./Layers/entrance.md) - [etymology](./Layers/etymology.md) - [extinguisher](./Layers/extinguisher.md) - [fire_station](./Layers/fire_station.md) - [food](./Layers/food.md) - [ghost_bike](./Layers/ghost_bike.md) + - [governments](./Layers/governments.md) - [gps_location](./Layers/gps_location.md) - [gps_location_history](./Layers/gps_location_history.md) - [gps_track](./Layers/gps_track.md) @@ -816,9 +824,11 @@ The following layers are included in MapComplete: - [hackerspace](./Layers/hackerspace.md) - [home_location](./Layers/home_location.md) - [hospital](./Layers/hospital.md) + - [hotel](./Layers/hotel.md) - [hydrant](./Layers/hydrant.md) - [id_presets](./Layers/id_presets.md) - [import_candidate](./Layers/import_candidate.md) + - [indoors](./Layers/indoors.md) - [information_board](./Layers/information_board.md) - [kerbs](./Layers/kerbs.md) - [kindergarten_childcare](./Layers/kindergarten_childcare.md) @@ -838,6 +848,7 @@ The following layers are included in MapComplete: - [playground](./Layers/playground.md) - [public_bookcase](./Layers/public_bookcase.md) - [rainbow_crossings](./Layers/rainbow_crossings.md) + - [reception_desk](./Layers/reception_desk.md) - [recycling](./Layers/recycling.md) - [school](./Layers/school.md) - [shelter](./Layers/shelter.md) diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md index 95ba3a491..2f701bde5 100644 --- a/Docs/BuiltinQuestions.md +++ b/Docs/BuiltinQuestions.md @@ -32,8 +32,10 @@ The following items can be easily reused in your layers + [payment-options-advanced](#payment-options-advanced) + [last_edit](#last_edit) + [all_tags](#all_tags) + + [multilevels](#multilevels) + [level](#level) + [smoking](#smoking) + + [induction-loop](#induction-loop) + [default](#default) + [defaults](#defaults) + [isOpen](#isopen) @@ -324,6 +326,25 @@ Read-only tagrendering +### multilevels + + + +This elevator goes to floors {level} + +What levels does this elevator go to? + + + + - Located underground + - Located on the ground floor + - Located on the ground floor + - Located on the first floor + - Located on the first basement level + + + + ### level @@ -358,6 +379,20 @@ Is smoking allowed at {title()}? +### induction-loop + + + +Does this place have an audio induction loop for people with reduced hearing? + + + + - This place has an audio induction loop + - This place does not has an audio induction loop + + + + ### default diff --git a/Docs/CalculatedTags.md b/Docs/CalculatedTags.md index 1f6a95e35..c671b9a73 100644 --- a/Docs/CalculatedTags.md +++ b/Docs/CalculatedTags.md @@ -21,6 +21,7 @@ + [_last_edit:contributor, _last_edit:contributor:uid, _last_edit:changeset, _last_edit:timestamp, _version_number, _backend](#_last_editcontributor,-_last_edit:contributor:uid,-_last_edit:changeset,-_last_edit:timestamp,-_version_number,-_backend) + [sidewalk:left, sidewalk:right, generic_key:left:property, generic_key:right:property](#sidewalkleft,-sidewalk:right,-generic_key:left:property,-generic_key:right:property) + [_geometry:type](#_geometrytype) + + [_level](#_level) + [distanceTo](#distanceto) + [overlapWith](#overlapwith) + [enclosingFeatures](#enclosingfeatures) @@ -169,6 +170,16 @@ Adds the geometry type as property. This is identical to the GoeJson geometry ty +### _level + + + +Extract the 'level'-tag into a normalized, ';'-separated value + + + + + Calculating tags with Javascript ---------------------------------- diff --git a/Docs/Layers/address.md b/Docs/Layers/address.md index 9bb758194..20f6a72d0 100644 --- a/Docs/Layers/address.md +++ b/Docs/Layers/address.md @@ -70,7 +70,7 @@ This is rendered with The house number is {addr:housenumber} - - This building has no house number corresponds with nohousenumber=yes + - This building has no house number corresponds with `nohousenumber=yes` @@ -89,9 +89,9 @@ 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= + - 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=` @@ -110,7 +110,7 @@ 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](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/address/address.json) \ No newline at end of file diff --git a/Docs/Layers/all_streets.md b/Docs/Layers/all_streets.md index ae5e25bf9..8c9fc9f65 100644 --- a/Docs/Layers/all_streets.md +++ b/Docs/Layers/all_streets.md @@ -70,6 +70,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -86,10 +88,10 @@ The question is Is the street {name} a cyclestreet? - - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no - - This street is a cyclestreet corresponds with cyclestreet=yes - - This street will become a cyclstreet soon corresponds with proposed:cyclestreet=yes - - This street is not a cyclestreet corresponds with + - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with `cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no` + - This street is a cyclestreet corresponds with `cyclestreet=yes` + - This street will become a cyclstreet soon corresponds with `proposed:cyclestreet=yes` + - This street is not a cyclestreet corresponds with `` @@ -114,6 +116,8 @@ Only visible if `proposed:cyclestreet=yes` is shown +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -124,6 +128,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/ambulancestation.md b/Docs/Layers/ambulancestation.md index d383d0882..0060a30ca 100644 --- a/Docs/Layers/ambulancestation.md +++ b/Docs/Layers/ambulancestation.md @@ -144,10 +144,10 @@ 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 + - 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` @@ -156,6 +156,8 @@ This is rendered with The operator is a(n) {operator:type} entity. +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/artwork.md b/Docs/Layers/artwork.md index 419f01994..7e2bc046b 100644 --- a/Docs/Layers/artwork.md +++ b/Docs/Layers/artwork.md @@ -72,6 +72,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -92,18 +94,18 @@ 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 + - 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` diff --git a/Docs/Layers/barrier.md b/Docs/Layers/barrier.md index fe1e4ac42..2cf66e262 100644 --- a/Docs/Layers/barrier.md +++ b/Docs/Layers/barrier.md @@ -84,8 +84,8 @@ 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 + - A cyclist can go past this. corresponds with `bicycle=yes` + - A cyclist can not go past this. corresponds with `bicycle=no` @@ -100,8 +100,8 @@ 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 + - 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` @@ -116,11 +116,11 @@ 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 + - 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` Only visible if `barrier=bollard` is shown @@ -137,10 +137,10 @@ 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 + - 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` Only visible if `barrier=cycle_barrier` is shown diff --git a/Docs/Layers/bench.md b/Docs/Layers/bench.md index 3a62857c7..113ba2279 100644 --- a/Docs/Layers/bench.md +++ b/Docs/Layers/bench.md @@ -75,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -91,8 +93,8 @@ The question is Does this bench have a backrest? - - Backrest: Yes corresponds with backrest=yes - - Backrest: No corresponds with backrest=no + - Backrest: Yes corresponds with `backrest=yes` + - Backrest: No corresponds with `backrest=no` @@ -125,12 +127,12 @@ 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 + - 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` @@ -163,14 +165,14 @@ 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 + - 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` @@ -189,7 +191,7 @@ 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](https://github.com/pietervdvn/MapComplete/blob/develop/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 23f2d1182..fbccd0888 100644 --- a/Docs/Layers/bench_at_pt.md +++ b/Docs/Layers/bench_at_pt.md @@ -70,6 +70,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -100,9 +102,9 @@ 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](https://github.com/pietervdvn/MapComplete/blob/develop/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 2f23f8122..0e010270c 100644 --- a/Docs/Layers/bicycle_library.md +++ b/Docs/Layers/bicycle_library.md @@ -77,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -111,7 +113,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -131,7 +133,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -151,7 +153,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -185,8 +187,8 @@ 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 + - 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` @@ -201,9 +203,9 @@ The question is Who can loan 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 + - 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` diff --git a/Docs/Layers/bicycle_rental.md b/Docs/Layers/bicycle_rental.md index c7a169961..3f5588121 100644 --- a/Docs/Layers/bicycle_rental.md +++ b/Docs/Layers/bicycle_rental.md @@ -81,6 +81,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -97,12 +99,12 @@ The question is What kind of bicycle rental is this? - - This is a shop whose main focus is bicycle rental corresponds with shop=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 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, e.g. a reserved parking to place the bicycles which clearly marked as being for the rental service only corresponds with bicycle_rental=dropoff_point + - This is a shop whose main focus is bicycle rental corresponds with `shop=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 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, e.g. a reserved parking to place the bicycles which clearly marked as being for the rental service only corresponds with `bicycle_rental=dropoff_point` Only visible if `amenity=bicycle_rental` is shown @@ -123,7 +125,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -143,7 +145,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -163,7 +165,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -195,9 +197,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -215,13 +217,13 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no - - Payment is done using a dedicated app corresponds with payment:app=yes + - Payment is done using a dedicated app corresponds with `payment:app=yes` - Unselecting this answer will add payment:app=no - - Payment is done using a membership card corresponds with payment:membership_card=yes + - Payment is done using a membership card corresponds with `payment:membership_card=yes` - Unselecting this answer will add payment:membership_card=no @@ -241,14 +243,14 @@ 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 children can be rented here corresponds with rental=kid_bike - - Tandem bicycles can be rented here corresponds with rental=tandem - - Race bicycles can be rented here corresponds with rental=racebike - - Bike helmets can be rented here corresponds with rental=bike_helmet + - 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 children can be rented here corresponds with `rental=kid_bike` + - Tandem bicycles can be rented here corresponds with `rental=tandem` + - Race bicycles can be rented here corresponds with `rental=racebike` + - Bike helmets can be rented here corresponds with `rental=bike_helmet` This tagrendering has labels `bicycle_rental` diff --git a/Docs/Layers/bicycle_rental_non_docking.md b/Docs/Layers/bicycle_rental_non_docking.md index 2eaf5e9c2..0cc8669c9 100644 --- a/Docs/Layers/bicycle_rental_non_docking.md +++ b/Docs/Layers/bicycle_rental_non_docking.md @@ -80,6 +80,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -96,12 +98,12 @@ The question is What kind of bicycle rental is this? - - This is a shop whose main focus is bicycle rental corresponds with shop=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 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, e.g. a reserved parking to place the bicycles which clearly marked as being for the rental service only corresponds with bicycle_rental=dropoff_point + - This is a shop whose main focus is bicycle rental corresponds with `shop=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 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, e.g. a reserved parking to place the bicycles which clearly marked as being for the rental service only corresponds with `bicycle_rental=dropoff_point` Only visible if `amenity=bicycle_rental` is shown @@ -122,7 +124,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -142,7 +144,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -162,7 +164,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -194,9 +196,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -214,13 +216,13 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no - - Payment is done using a dedicated app corresponds with payment:app=yes + - Payment is done using a dedicated app corresponds with `payment:app=yes` - Unselecting this answer will add payment:app=no - - Payment is done using a membership card corresponds with payment:membership_card=yes + - Payment is done using a membership card corresponds with `payment:membership_card=yes` - Unselecting this answer will add payment:membership_card=no @@ -240,14 +242,14 @@ 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 children can be rented here corresponds with rental=kid_bike - - Tandem bicycles can be rented here corresponds with rental=tandem - - Race bicycles can be rented here corresponds with rental=racebike - - Bike helmets can be rented here corresponds with rental=bike_helmet + - 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 children can be rented here corresponds with `rental=kid_bike` + - Tandem bicycles can be rented here corresponds with `rental=tandem` + - Race bicycles can be rented here corresponds with `rental=racebike` + - Bike helmets can be rented here corresponds with `rental=bike_helmet` This tagrendering has labels `bicycle_rental` @@ -384,6 +386,8 @@ This tagrendering has labels `bicycle_rental` +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -394,6 +398,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/bicycle_tube_vending_machine.md b/Docs/Layers/bicycle_tube_vending_machine.md index c67cc6a79..fb4ac524b 100644 --- a/Docs/Layers/bicycle_tube_vending_machine.md +++ b/Docs/Layers/bicycle_tube_vending_machine.md @@ -73,6 +73,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -93,9 +95,9 @@ 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 + - 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` @@ -124,11 +126,11 @@ The question is How can one pay at this tube vending machine? - - Payment with coins is possible corresponds with payment:coins=yes + - Payment with coins is possible corresponds with `payment:coins=yes` - Unselecting this answer will add payment:coins=no - - Payment with notes is possible corresponds with payment:notes=yes + - Payment with notes is possible corresponds with `payment:notes=yes` - Unselecting this answer will add payment:notes=no - - Payment with cards is possible corresponds with payment:cards=yes + - Payment with cards is possible corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -148,8 +150,8 @@ 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 + - Continental tubes are sold here corresponds with `brand=Continental` + - Schwalbe tubes are sold here corresponds with `brand=Schwalbe` @@ -168,8 +170,8 @@ 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 + - Maintained by Schwalbe corresponds with `operator=Schwalbe` + - Maintained by Continental corresponds with `operator=Continental` @@ -184,15 +186,15 @@ The question is Are other bicycle bicycle accessories sold here? - - Bicycle lights are sold here corresponds with vending:bicycle_light=yes + - Bicycle lights are sold here corresponds with `vending:bicycle_light=yes` - Unselecting this answer will add vending:bicycle_light=no - - Gloves are sold here corresponds with vending:gloves=yes + - Gloves are sold here corresponds with `vending:gloves=yes` - Unselecting this answer will add vending:gloves=no - - Bicycle repair kits are sold here corresponds with vending:bicycle_repair_kit=yes + - Bicycle repair kits are sold here corresponds with `vending:bicycle_repair_kit=yes` - Unselecting this answer will add vending:bicycle_repair_kit=no - - Bicycle pumps are sold here corresponds with vending:bicycle_pump=yes + - Bicycle pumps are sold here corresponds with `vending:bicycle_pump=yes` - Unselecting this answer will add vending:bicycle_pump=no - - Bicycle locks are sold here corresponds with vending:bicycle_lock=yes + - Bicycle locks are sold here corresponds with `vending:bicycle_lock=yes` - Unselecting this answer will add vending:bicycle_lock=no diff --git a/Docs/Layers/bike_cafe.md b/Docs/Layers/bike_cafe.md index c18a9d333..7ffbe8d44 100644 --- a/Docs/Layers/bike_cafe.md +++ b/Docs/Layers/bike_cafe.md @@ -77,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -107,8 +109,8 @@ 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 + - 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` @@ -123,8 +125,8 @@ 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 + - 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` @@ -139,8 +141,8 @@ 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 + - This bike cafe repairs bikes corresponds with `service:bicycle:repair=yes` + - This bike cafe doesn't repair bikes corresponds with `service:bicycle:repair=no` diff --git a/Docs/Layers/bike_cleaning.md b/Docs/Layers/bike_cleaning.md index 944a31976..ef9df21e1 100644 --- a/Docs/Layers/bike_cleaning.md +++ b/Docs/Layers/bike_cleaning.md @@ -70,6 +70,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -90,10 +92,10 @@ This is rendered with Using the cleaning service costs {service:bicycle:cleanin - - 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 + - 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= + - 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 @@ -113,10 +115,10 @@ 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 + - 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 + - The cleaning service has a fee corresponds with `fee=yes` Only visible if `amenity=bike_wash|amenity=bicycle_wash` is shown diff --git a/Docs/Layers/bike_parking.md b/Docs/Layers/bike_parking.md index 08a42bfaa..2b99d63be 100644 --- a/Docs/Layers/bike_parking.md +++ b/Docs/Layers/bike_parking.md @@ -76,6 +76,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -96,14 +98,14 @@ 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 + - 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` @@ -118,10 +120,10 @@ 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 + - 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 @@ -137,8 +139,8 @@ The question is Is this parking covered? Also select "covered" for indoor parki - - This parking is covered (it has a roof) corresponds with covered=yes - - This parking is not covered corresponds with covered=no + - This parking is covered (it has a roof) corresponds with `covered=yes` + - This parking is not covered corresponds with `covered=no` @@ -171,9 +173,9 @@ 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 + - 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` @@ -188,9 +190,9 @@ 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 + - 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` diff --git a/Docs/Layers/bike_repair_station.md b/Docs/Layers/bike_repair_station.md index d06f83a32..de71926de 100644 --- a/Docs/Layers/bike_repair_station.md +++ b/Docs/Layers/bike_repair_station.md @@ -26,6 +26,7 @@ A layer showing bicycle pumps and bicycle repair tool stands - [cyclofix](https://mapcomplete.osm.be/cyclofix) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -81,6 +82,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -97,9 +100,9 @@ The question is Which services are available at this location? - - 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 + - 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` @@ -114,8 +117,8 @@ 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 service:bicycle:pump:operational_status=operational + - 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` Only visible if `service:bicycle:pump=yes` is shown @@ -136,7 +139,7 @@ This is rendered with {opening_hours_table()} - - Always open corresponds with opening_hours=24/7 + - Always open corresponds with `opening_hours=24/7` @@ -151,12 +154,12 @@ The question is Who is allowed to use this repair station? - - Publicly accessible corresponds with access=yes - - Publicly accessible corresponds with access=public + - Publicly accessible corresponds with `access=yes` + - Publicly accessible corresponds with `access=public` - This option cannot be chosen as answer - - Only for customers corresponds with access=customers - - Not accessible to the general public corresponds with access=private - - Not accessible to the general public corresponds with access=no + - Only for customers corresponds with `access=customers` + - Not accessible to the general public corresponds with `access=private` + - Not accessible to the general public corresponds with `access=no` - This option cannot be chosen as answer @@ -220,8 +223,8 @@ The question is Does this bike repair station have a special tool to repair you - - There is a chain tool corresponds with service:bicycle:chain_tool=yes - - There is no chain tool corresponds with service:bicycle:chain_tool=no + - There is a chain tool corresponds with `service:bicycle:chain_tool=yes` + - There is no chain tool corresponds with `service:bicycle:chain_tool=no` Only visible if `service:bicycle:tools=yes` is shown @@ -238,8 +241,8 @@ The question is Does this bike station have a hook to hang your bike on or a st - - There is a hook or stand corresponds with service:bicycle:stand=yes - - There is no hook or stand corresponds with service:bicycle:stand=no + - There is a hook or stand corresponds with `service:bicycle:stand=yes` + - There is no hook or stand corresponds with `service:bicycle:stand=no` Only visible if `service:bicycle:tools=yes` is shown @@ -272,9 +275,9 @@ This is rendered with This pump supports the following valves: {valves} - - Sclaverand/Presta (narrow-width bike tires) corresponds with valves=sclaverand - - Dunlop corresponds with valves=dunlop - - Schrader (cars and mountainbikes) corresponds with valves=schrader + - Sclaverand/Presta (narrow-width bike tires) corresponds with `valves=sclaverand` + - Dunlop corresponds with `valves=dunlop` + - Schrader (cars and mountainbikes) corresponds with `valves=schrader` @@ -289,8 +292,8 @@ The question is Is this an electric bike pump? - - Manual pump corresponds with manual=yes - - Electrical pump corresponds with manual=no + - Manual pump corresponds with `manual=yes` + - Electrical pump corresponds with `manual=no` Only visible if `service:bicycle:pump=yes` is shown @@ -307,9 +310,9 @@ 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 + - 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` Only visible if `service:bicycle:pump=yes` is shown @@ -330,13 +333,13 @@ This is rendered with Located on the {level}th floor - - Located underground corresponds with location=underground + - 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 + - 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 + - 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](https://github.com/pietervdvn/MapComplete/blob/develop/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 dc4ff20e9..a0b2405c4 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -26,6 +26,7 @@ A shop specifically selling bicycles or related items - [cyclofix](https://mapcomplete.osm.be/cyclofix) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -92,6 +93,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -108,7 +111,7 @@ This tagrendering has no question and is thus read-only - - This business focuses on rental corresponds with shop=rental + - This business focuses on rental corresponds with `shop=rental` Only visible if `shop~^..*$&shop!~^bicycle$&shop!~^sports$` is shown @@ -129,11 +132,11 @@ This is rendered with This bicycle shop is called {name} -### bike_shop-website +### website -The question is What is the website of {name}? +The question is What is the website of {title()}? This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) @@ -143,11 +146,17 @@ This is rendered with {website} -### bike_shop-phone + - {contact:website} corresponds with `contact:website~^..*$` + - This option cannot be chosen as answer -The question is What is the phone number of {name}? + +### phone + + + +The question is What is the phone number of {title()}? This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone) @@ -157,11 +166,17 @@ This is rendered with {phone} -### bike_shop-email + - {contact:phone} corresponds with `contact:phone~^..*$` + - This option cannot be chosen as answer -The question is What is the email address of {name}? + +### email + + + +The question is What is the email address of {title()}? This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email) @@ -171,6 +186,12 @@ This is rendered with {email} + - {contact:email} corresponds with `contact:email~^..*$` + - This option cannot be chosen as answer + + + + ### opening_hours @@ -209,8 +230,8 @@ 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 + - This shop sells bikes corresponds with `service:bicycle:retail=yes` + - This shop doesn't sell bikes corresponds with `service:bicycle:retail=no` @@ -225,10 +246,10 @@ 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 + - 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` @@ -243,8 +264,8 @@ 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 + - This shop rents out bikes corresponds with `service:bicycle:rental=yes` + - This shop doesn't rent out bikes corresponds with `service:bicycle:rental=no` @@ -263,14 +284,14 @@ 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 children can be rented here corresponds with rental=kid_bike - - Tandem bicycles can be rented here corresponds with rental=tandem - - Race bicycles can be rented here corresponds with rental=racebike - - Bike helmets can be rented here corresponds with rental=bike_helmet + - 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 children can be rented here corresponds with `rental=kid_bike` + - Tandem bicycles can be rented here corresponds with `rental=tandem` + - Race bicycles can be rented here corresponds with `rental=racebike` + - Bike helmets can be rented here corresponds with `rental=bike_helmet` Only visible if `amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown @@ -415,9 +436,9 @@ 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 + - 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` @@ -432,9 +453,9 @@ 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 + - 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` @@ -449,9 +470,9 @@ 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 + - 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` @@ -466,9 +487,9 @@ 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 + - 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` @@ -487,10 +508,10 @@ This is rendered with Using the cleaning service costs {service:bicycle:cleanin - - 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 + - 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= + - 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 diff --git a/Docs/Layers/bike_themed_object.md b/Docs/Layers/bike_themed_object.md index 07aa2588a..8abfee10d 100644 --- a/Docs/Layers/bike_themed_object.md +++ b/Docs/Layers/bike_themed_object.md @@ -73,6 +73,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -107,7 +109,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -127,7 +129,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -147,7 +149,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/binocular.md b/Docs/Layers/binocular.md index a0940ca2b..0f0ea605b 100644 --- a/Docs/Layers/binocular.md +++ b/Docs/Layers/binocular.md @@ -70,6 +70,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -90,7 +92,7 @@ This is rendered with Using these binoculars costs {charge} - - Free to use corresponds with fee=no + - Free to use corresponds with `fee=no` diff --git a/Docs/Layers/birdhide.md b/Docs/Layers/birdhide.md index 621318510..5be27ad09 100644 --- a/Docs/Layers/birdhide.md +++ b/Docs/Layers/birdhide.md @@ -71,6 +71,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -87,10 +89,10 @@ The question is Is this a bird blind or a bird watching shelter? - - Bird blind corresponds with shelter=no - - Bird hide corresponds with amenity=shelter&building=yes&shelter=yes - - Bird tower hide corresponds with building=tower&bird_hide=tower - - Bird hide shelter corresponds with amenity=shelter|building=yes|shelter=yes + - Bird blind corresponds with `shelter=no` + - Bird hide corresponds with `amenity=shelter&building=yes&shelter=yes` + - Bird tower hide corresponds with `building=tower&bird_hide=tower` + - Bird hide shelter corresponds with `amenity=shelter|building=yes|shelter=yes` - This option cannot be chosen as answer @@ -106,10 +108,10 @@ The question is Is this bird hide accessible to wheelchair users? - - There are special provisions for wheelchair users corresponds with wheelchair=designated - - A wheelchair can easily use this birdhide corresponds with wheelchair=yes - - This birdhide is reachable by wheelchair, but it is not easy corresponds with wheelchair=limited - - Not accessible to wheelchair users corresponds with wheelchair=no + - There are special provisions for wheelchair users corresponds with `wheelchair=designated` + - A wheelchair can easily use this birdhide corresponds with `wheelchair=yes` + - This birdhide is reachable by wheelchair, but it is not easy corresponds with `wheelchair=limited` + - Not accessible to wheelchair users corresponds with `wheelchair=no` @@ -128,8 +130,8 @@ This is rendered with Operated by {operator} - - Operated by Natuurpunt corresponds with operator=Natuurpunt - - Operated by the Agency for Nature and Forests corresponds with operator=Agentschap Natuur en Bos + - Operated by Natuurpunt corresponds with `operator=Natuurpunt` + - Operated by the Agency for Nature and Forests corresponds with `operator=Agentschap Natuur en Bos` This document is autogenerated from [assets/layers/birdhide/birdhide.json](https://github.com/pietervdvn/MapComplete/blob/develop/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 3b98fa7d9..2beec78c1 100644 --- a/Docs/Layers/cafe_pub.md +++ b/Docs/Layers/cafe_pub.md @@ -26,6 +26,7 @@ A layer showing cafés and pubs where one can gather around a drink. The layer a - [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -60,6 +61,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/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) [nightclub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub) [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | @@ -78,12 +80,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### Name @@ -108,12 +137,12 @@ The question is What kind of cafe is this? - - A pub, mostly for drinking beers in a warm, relaxed interior corresponds with amenity=pub - - A more modern and commercial bar, possibly with a music and light installation corresponds with amenity=bar - - A cafe to drink tea, coffee or an alcoholical bevarage in a quiet environment corresponds with amenity=cafe - - A restuarant where one can get a proper meal corresponds with amenity=restaurant - - An open space where beer is served, typically seen in Germany corresponds with amenity=biergarten - - This is a nightclub or disco with a focus on dancing, music by a DJ with accompanying light show and a bar to get (alcoholic) drinks corresponds with amenity=nightclub + - A pub, mostly for drinking beers in a warm, relaxed interior corresponds with `amenity=pub` + - A more modern and commercial bar, possibly with a music and light installation corresponds with `amenity=bar` + - A cafe to drink tea, coffee or an alcoholical bevarage in a quiet environment corresponds with `amenity=cafe` + - A restuarant where one can get a proper meal corresponds with `amenity=restaurant` + - An open space where beer is served, typically seen in Germany corresponds with `amenity=biergarten` + - This is a nightclub or disco with a focus on dancing, music by a DJ with accompanying light show and a bar to get (alcoholic) drinks corresponds with `amenity=nightclub` @@ -146,7 +175,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -166,7 +195,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -186,7 +215,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -202,9 +231,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -220,10 +249,10 @@ 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 + - 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` @@ -238,9 +267,9 @@ The question is Is smoking allowed at {title()}? - - Smoking is allowed corresponds with smoking=yes - - Smoking is not allowed corresponds with smoking=no - - Smoking is allowed outside. corresponds with smoking=outside + - Smoking is allowed corresponds with `smoking=yes` + - Smoking is not allowed corresponds with `smoking=no` + - Smoking is allowed outside. corresponds with `smoking=outside` @@ -255,10 +284,10 @@ The question is Does this amenity have electrical outlets, available to custome - - 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 + - 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` @@ -273,10 +302,10 @@ 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` @@ -285,6 +314,8 @@ The question is Are dogs allowed in this business? +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/caravansites.md b/Docs/Layers/caravansites.md index 0e0c05e54..7b3a5701d 100644 --- a/Docs/Layers/caravansites.md +++ b/Docs/Layers/caravansites.md @@ -81,6 +81,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -111,8 +113,8 @@ The question is Does this place charge a fee? - - You need to pay for use corresponds with fee=yes - - Can be used for free corresponds with fee=no + - You need to pay for use corresponds with `fee=yes` + - Can be used for free corresponds with `fee=no` @@ -143,8 +145,8 @@ The question is Does this place have a sanitary dump station? - - This place has a sanitary dump station corresponds with sanitary_dump_station=yes - - This place does not have a sanitary dump station corresponds with sanitary_dump_station=no + - This place has a sanitary dump station corresponds with `sanitary_dump_station=yes` + - This place does not have a sanitary dump station corresponds with `sanitary_dump_station=no` @@ -173,10 +175,10 @@ The question is Does this place provide internet access? - - There is internet access corresponds with internet_access=yes - - There is internet access corresponds with internet_access=wifi|internet_access=wlan + - There is internet access corresponds with `internet_access=yes` + - There is internet access corresponds with `internet_access=wifi|internet_access=wlan` - This option cannot be chosen as answer - - There is no internet access corresponds with internet_access=no + - There is no internet access corresponds with `internet_access=no` @@ -191,8 +193,8 @@ The question is Do you have to pay for the internet access? - - You need to pay extra for internet access corresponds with internet_access:fee=yes - - You do not need to pay extra for internet access corresponds with internet_access:fee=no + - You need to pay extra for internet access corresponds with `internet_access:fee=yes` + - You do not need to pay extra for internet access corresponds with `internet_access:fee=no` Only visible if `internet_access=yes` is shown @@ -209,8 +211,8 @@ The question is Does this place have toilets? - - This place has toilets corresponds with toilets=yes - - This place does not have toilets corresponds with toilets=no + - This place has toilets corresponds with `toilets=yes` + - This place does not have toilets corresponds with `toilets=no` @@ -239,9 +241,9 @@ The question is Does this place offer spots for long term rental? - - There are some spots for long term rental, but you can also stay on a daily basis corresponds with permanent_camping=yes - - There are no permanent guests here corresponds with permanent_camping=no - - It is only possible to stay here if you have a long term contract(this place will disappear from this map if you choose this) corresponds with permanent_camping=only + - There are some spots for long term rental, but you can also stay on a daily basis corresponds with `permanent_camping=yes` + - There are no permanent guests here corresponds with `permanent_camping=no` + - It is only possible to stay here if you have a long term contract(this place will disappear from this map if you choose this) corresponds with `permanent_camping=only` @@ -274,6 +276,8 @@ This tagrendering has no question and is thus read-only +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -304,8 +308,8 @@ The question is Does this place have a power supply? - - This place has a power supply corresponds with power_supply=yes - - This place does not have power supply corresponds with power_supply=no + - This place has a power supply corresponds with `power_supply=yes` + - This place does not have power supply corresponds with `power_supply=no` @@ -314,6 +318,8 @@ The question is Does this place have a power supply? +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -324,6 +330,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/charging_station.md b/Docs/Layers/charging_station.md index 6e714b95e..153e335c8 100644 --- a/Docs/Layers/charging_station.md +++ b/Docs/Layers/charging_station.md @@ -149,6 +149,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -165,15 +167,15 @@ The question is Which vehicles are allowed to charge here? - - Bicycles can be charged here corresponds with bicycle=yes + - Bicycles can be charged here corresponds with `bicycle=yes` - Unselecting this answer will add bicycle=no - - Cars can be charged here corresponds with motorcar=yes + - Cars can be charged here corresponds with `motorcar=yes` - Unselecting this answer will add motorcar=no - - Scooters can be charged here corresponds with scooter=yes + - Scooters can be charged here corresponds with `scooter=yes` - Unselecting this answer will add scooter=no - - Heavy good vehicles (such as trucks) can be charged here corresponds with hgv=yes + - Heavy good vehicles (such as trucks) can be charged here corresponds with `hgv=yes` - Unselecting this answer will add hgv=no - - Buses can be charged here corresponds with bus=yes + - Buses can be charged here corresponds with `bus=yes` - Unselecting this answer will add bus=no @@ -193,12 +195,12 @@ 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 + - 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 - - A key must be requested to access this charging station
E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station corresponds with access=key - - Not accessible to the general public (e.g. only accessible to the owners, employees, …) corresponds with access=private + - 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` + - A key must be requested to access this charging station
E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station corresponds with `access=key` + - Not accessible to the general public (e.g. only accessible to the owners, employees, …) corresponds with `access=private` @@ -227,69 +229,69 @@ The question is Which charging connections are available here? - - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with socket:schuko=1 + - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with `socket:schuko=1` - Unselecting this answer will add - - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with socket:schuko~^..*$&socket:schuko!=1 + - 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=1 + - European wall plug with ground pin (CEE7/4 type E) corresponds with `socket:typee=1` - Unselecting this answer will add - - European wall plug with ground pin (CEE7/4 type E) corresponds with socket:typee~^..*$&socket:typee!=1 + - 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=1 + - Chademo corresponds with `socket:chademo=1` - Unselecting this answer will add - - Chademo corresponds with socket:chademo~^..*$&socket:chademo!=1 + - 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=1 + - Type 1 with cable (J1772) corresponds with `socket:type1_cable=1` - Unselecting this answer will add - - Type 1 with cable (J1772) corresponds with socket:type1_cable~^..*$&socket:type1_cable!=1 + - 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=1 + - Type 1 without cable (J1772) corresponds with `socket:type1=1` - Unselecting this answer will add - - Type 1 without cable (J1772) corresponds with socket:type1~^..*$&socket:type1!=1 + - 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=1 + - Type 1 CCS (aka Type 1 Combo) corresponds with `socket:type1_combo=1` - Unselecting this answer will add - - Type 1 CCS (aka Type 1 Combo) corresponds with socket:type1_combo~^..*$&socket:type1_combo!=1 + - 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=1 + - Tesla Supercharger corresponds with `socket:tesla_supercharger=1` - Unselecting this answer will add - - Tesla Supercharger corresponds with socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=1 + - 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=1 + - Type 2 (mennekes) corresponds with `socket:type2=1` - Unselecting this answer will add - - Type 2 (mennekes) corresponds with socket:type2~^..*$&socket:type2!=1 + - 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=1 + - Type 2 CCS (mennekes) corresponds with `socket:type2_combo=1` - Unselecting this answer will add - - Type 2 CCS (mennekes) corresponds with socket:type2_combo~^..*$&socket:type2_combo!=1 + - 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=1 + - Type 2 with cable (mennekes) corresponds with `socket:type2_cable=1` - Unselecting this answer will add - - Type 2 with cable (mennekes) corresponds with socket:type2_cable~^..*$&socket:type2_cable!=1 + - 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=1 + - Tesla Supercharger CCS (a branded type2_css) corresponds with `socket:tesla_supercharger_ccs=1` - Unselecting this answer will add - - Tesla Supercharger CCS (a branded type2_css) corresponds with socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=1 + - 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=1 + - Tesla Supercharger (destination) corresponds with `socket:tesla_destination=1` - Unselecting this answer will add - - Tesla Supercharger (destination) corresponds with socket:tesla_destination~^..*$&socket:tesla_destination!=1&_country=us + - 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=1 + - Tesla supercharger (destination) (A Type 2 with cable branded as tesla) corresponds with `socket:tesla_destination=1` - Unselecting 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 + - 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=1 + - USB to charge phones and small electronics corresponds with `socket:USB-A=1` - Unselecting this answer will add - - USB to charge phones and small electronics corresponds with socket:USB-A~^..*$&socket:USB-A!=1 + - 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=1 + - Bosch Active Connect with 3 pins and cable corresponds with `socket:bosch_3pin=1` - Unselecting this answer will add - - Bosch Active Connect with 3 pins and cable corresponds with socket:bosch_3pin~^..*$&socket:bosch_3pin!=1 + - 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=1 + - Bosch Active Connect with 5 pins and cable corresponds with `socket:bosch_5pin=1` - Unselecting this answer will add - - Bosch Active Connect with 5 pins and cable corresponds with socket:bosch_5pin~^..*$&socket:bosch_5pin!=1 + - Bosch Active Connect with 5 pins and cable corresponds with `socket:bosch_5pin~^..*$&socket:bosch_5pin!=1` - This option cannot be chosen as answer @@ -565,7 +567,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt corresponds with socket:schuko:voltage=230 V + - Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt corresponds with `socket:schuko:voltage=230 V` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -588,7 +590,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A corresponds with socket:schuko:current=16 A + - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A corresponds with `socket:schuko:current=16 A` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -611,7 +613,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kw A corresponds with socket:schuko:output=3.6 kW + - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kw A corresponds with `socket:schuko:output=3.6 kW` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -634,7 +636,7 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs 230 volt corresponds with socket:typee:voltage=230 V + - European wall plug with ground pin (CEE7/4 type E) outputs 230 volt corresponds with `socket:typee:voltage=230 V` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -657,7 +659,7 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A corresponds with socket:typee:current=16 A + - European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A corresponds with `socket:typee:current=16 A` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -680,8 +682,8 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kw A corresponds with socket:typee:output=3 kW - - European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kw A corresponds with socket:typee:output=22 kW + - European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kw A corresponds with `socket:typee:output=3 kW` + - European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kw A corresponds with `socket:typee:output=22 kW` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -704,7 +706,7 @@ This is rendered with
Chademo - - Chademo outputs 500 volt corresponds with socket:chademo:voltage=500 V + - Chademo outputs 500 volt corresponds with `socket:chademo:voltage=500 V` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -727,7 +729,7 @@ This is rendered with
Chademo - - Chademo outputs at most 120 A corresponds with socket:chademo:current=120 A + - Chademo outputs at most 120 A corresponds with `socket:chademo:current=120 A` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -750,7 +752,7 @@ This is rendered with
Chademo - - Chademo outputs at most 50 kw A corresponds with socket:chademo:output=50 kW + - Chademo outputs at most 50 kw A corresponds with `socket:chademo:output=50 kW` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -773,8 +775,8 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs 200 volt corresponds with socket:type1_cable:voltage=200 V - - Type 1 with cable (J1772) outputs 240 volt corresponds with socket:type1_cable:voltage=240 V + - Type 1 with cable (J1772) outputs 200 volt corresponds with `socket:type1_cable:voltage=200 V` + - Type 1 with cable (J1772) outputs 240 volt corresponds with `socket:type1_cable:voltage=240 V` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -797,7 +799,7 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs at most 32 A corresponds with socket:type1_cable:current=32 A + - Type 1 with cable (J1772) outputs at most 32 A corresponds with `socket:type1_cable:current=32 A` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -820,8 +822,8 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs at most 3.7 kw A corresponds with socket:type1_cable:output=3.7 kW - - Type 1 with cable (J1772) outputs at most 7 kw A corresponds with socket:type1_cable:output=7 kW + - Type 1 with cable (J1772) outputs at most 3.7 kw A corresponds with `socket:type1_cable:output=3.7 kW` + - Type 1 with cable (J1772) outputs at most 7 kw A corresponds with `socket:type1_cable:output=7 kW` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -844,8 +846,8 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs 200 volt corresponds with socket:type1:voltage=200 V - - Type 1 without cable (J1772) outputs 240 volt corresponds with socket:type1:voltage=240 V + - Type 1 without cable (J1772) outputs 200 volt corresponds with `socket:type1:voltage=200 V` + - Type 1 without cable (J1772) outputs 240 volt corresponds with `socket:type1:voltage=240 V` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -868,7 +870,7 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs at most 32 A corresponds with socket:type1:current=32 A + - Type 1 without cable (J1772) outputs at most 32 A corresponds with `socket:type1:current=32 A` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -891,10 +893,10 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs at most 3.7 kw A corresponds with socket:type1:output=3.7 kW - - Type 1 without cable (J1772) outputs at most 6.6 kw A corresponds with socket:type1:output=6.6 kW - - Type 1 without cable (J1772) outputs at most 7 kw A corresponds with socket:type1:output=7 kW - - Type 1 without cable (J1772) outputs at most 7.2 kw A corresponds with socket:type1:output=7.2 kW + - Type 1 without cable (J1772) outputs at most 3.7 kw A corresponds with `socket:type1:output=3.7 kW` + - Type 1 without cable (J1772) outputs at most 6.6 kw A corresponds with `socket:type1:output=6.6 kW` + - Type 1 without cable (J1772) outputs at most 7 kw A corresponds with `socket:type1:output=7 kW` + - Type 1 without cable (J1772) outputs at most 7.2 kw A corresponds with `socket:type1:output=7.2 kW` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -917,8 +919,8 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs 400 volt corresponds with socket:type1_combo:voltage=400 V - - Type 1 CCS (aka Type 1 Combo) outputs 1000 volt corresponds with socket:type1_combo:voltage=1000 V + - Type 1 CCS (aka Type 1 Combo) outputs 400 volt corresponds with `socket:type1_combo:voltage=400 V` + - Type 1 CCS (aka Type 1 Combo) outputs 1000 volt corresponds with `socket:type1_combo:voltage=1000 V` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -941,8 +943,8 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs at most 50 A corresponds with socket:type1_combo:current=50 A - - Type 1 CCS (aka Type 1 Combo) outputs at most 125 A corresponds with socket:type1_combo:current=125 A + - Type 1 CCS (aka Type 1 Combo) outputs at most 50 A corresponds with `socket:type1_combo:current=50 A` + - Type 1 CCS (aka Type 1 Combo) outputs at most 125 A corresponds with `socket:type1_combo:current=125 A` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -965,10 +967,10 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs at most 50 kw A corresponds with socket:type1_combo:output=50 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kw A corresponds with socket:type1_combo:output=62.5 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 150 kw A corresponds with socket:type1_combo:output=150 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 350 kw A corresponds with socket:type1_combo:output=350 kW + - Type 1 CCS (aka Type 1 Combo) outputs at most 50 kw A corresponds with `socket:type1_combo:output=50 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kw A corresponds with `socket:type1_combo:output=62.5 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 150 kw A corresponds with `socket:type1_combo:output=150 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 350 kw A corresponds with `socket:type1_combo:output=350 kW` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -991,7 +993,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs 480 volt corresponds with socket:tesla_supercharger:voltage=480 V + - Tesla Supercharger outputs 480 volt corresponds with `socket:tesla_supercharger:voltage=480 V` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1014,8 +1016,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs at most 125 A corresponds with socket:tesla_supercharger:current=125 A - - Tesla Supercharger outputs at most 350 A corresponds with socket:tesla_supercharger:current=350 A + - Tesla Supercharger outputs at most 125 A corresponds with `socket:tesla_supercharger:current=125 A` + - Tesla Supercharger outputs at most 350 A corresponds with `socket:tesla_supercharger:current=350 A` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1038,9 +1040,9 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs at most 120 kw A corresponds with socket:tesla_supercharger:output=120 kW - - Tesla Supercharger outputs at most 150 kw A corresponds with socket:tesla_supercharger:output=150 kW - - Tesla Supercharger outputs at most 250 kw A corresponds with socket:tesla_supercharger:output=250 kW + - Tesla Supercharger outputs at most 120 kw A corresponds with `socket:tesla_supercharger:output=120 kW` + - Tesla Supercharger outputs at most 150 kw A corresponds with `socket:tesla_supercharger:output=150 kW` + - Tesla Supercharger outputs at most 250 kw A corresponds with `socket:tesla_supercharger:output=250 kW` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1063,8 +1065,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs 230 volt corresponds with socket:type2:voltage=230 V - - Type 2 (mennekes) outputs 400 volt corresponds with socket:type2:voltage=400 V + - Type 2 (mennekes) outputs 230 volt corresponds with `socket:type2:voltage=230 V` + - Type 2 (mennekes) outputs 400 volt corresponds with `socket:type2:voltage=400 V` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1087,8 +1089,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs at most 16 A corresponds with socket:type2:current=16 A - - Type 2 (mennekes) outputs at most 32 A corresponds with socket:type2:current=32 A + - Type 2 (mennekes) outputs at most 16 A corresponds with `socket:type2:current=16 A` + - Type 2 (mennekes) outputs at most 32 A corresponds with `socket:type2:current=32 A` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1111,8 +1113,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs at most 11 kw A corresponds with socket:type2:output=11 kW - - Type 2 (mennekes) outputs at most 22 kw A corresponds with socket:type2:output=22 kW + - Type 2 (mennekes) outputs at most 11 kw A corresponds with `socket:type2:output=11 kW` + - Type 2 (mennekes) outputs at most 22 kw A corresponds with `socket:type2:output=22 kW` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1135,8 +1137,8 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs 500 volt corresponds with socket:type2_combo:voltage=500 V - - Type 2 CCS (mennekes) outputs 920 volt corresponds with socket:type2_combo:voltage=920 V + - Type 2 CCS (mennekes) outputs 500 volt corresponds with `socket:type2_combo:voltage=500 V` + - Type 2 CCS (mennekes) outputs 920 volt corresponds with `socket:type2_combo:voltage=920 V` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1159,8 +1161,8 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs at most 125 A corresponds with socket:type2_combo:current=125 A - - Type 2 CCS (mennekes) outputs at most 350 A corresponds with socket:type2_combo:current=350 A + - Type 2 CCS (mennekes) outputs at most 125 A corresponds with `socket:type2_combo:current=125 A` + - Type 2 CCS (mennekes) outputs at most 350 A corresponds with `socket:type2_combo:current=350 A` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1183,7 +1185,7 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs at most 50 kw A corresponds with socket:type2_combo:output=50 kW + - Type 2 CCS (mennekes) outputs at most 50 kw A corresponds with `socket:type2_combo:output=50 kW` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1206,8 +1208,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs 230 volt corresponds with socket:type2_cable:voltage=230 V - - Type 2 with cable (mennekes) outputs 400 volt corresponds with socket:type2_cable:voltage=400 V + - Type 2 with cable (mennekes) outputs 230 volt corresponds with `socket:type2_cable:voltage=230 V` + - Type 2 with cable (mennekes) outputs 400 volt corresponds with `socket:type2_cable:voltage=400 V` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1230,8 +1232,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs at most 16 A corresponds with socket:type2_cable:current=16 A - - Type 2 with cable (mennekes) outputs at most 32 A corresponds with socket:type2_cable:current=32 A + - Type 2 with cable (mennekes) outputs at most 16 A corresponds with `socket:type2_cable:current=16 A` + - Type 2 with cable (mennekes) outputs at most 32 A corresponds with `socket:type2_cable:current=32 A` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1254,8 +1256,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs at most 11 kw A corresponds with socket:type2_cable:output=11 kW - - Type 2 with cable (mennekes) outputs at most 22 kw A corresponds with socket:type2_cable:output=22 kW + - Type 2 with cable (mennekes) outputs at most 11 kw A corresponds with `socket:type2_cable:output=11 kW` + - Type 2 with cable (mennekes) outputs at most 22 kw A corresponds with `socket:type2_cable:output=22 kW` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1278,8 +1280,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 500 volt corresponds with socket:tesla_supercharger_ccs:voltage=500 V - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 920 volt corresponds with socket:tesla_supercharger_ccs:voltage=920 V + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 500 volt corresponds with `socket:tesla_supercharger_ccs:voltage=500 V` + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 920 volt corresponds with `socket:tesla_supercharger_ccs:voltage=920 V` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1302,8 +1304,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A corresponds with socket:tesla_supercharger_ccs:current=125 A - - Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A corresponds with socket:tesla_supercharger_ccs:current=350 A + - Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A corresponds with `socket:tesla_supercharger_ccs:current=125 A` + - Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A corresponds with `socket:tesla_supercharger_ccs:current=350 A` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1326,7 +1328,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs at most 50 kw A corresponds with socket:tesla_supercharger_ccs:output=50 kW + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs at most 50 kw A corresponds with `socket:tesla_supercharger_ccs:output=50 kW` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1349,7 +1351,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs 480 volt corresponds with socket:tesla_destination:voltage=480 V + - Tesla Supercharger (Destination) outputs 480 volt corresponds with `socket:tesla_destination:voltage=480 V` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1372,8 +1374,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs at most 125 A corresponds with socket:tesla_destination:current=125 A - - Tesla Supercharger (Destination) outputs at most 350 A corresponds with socket:tesla_destination:current=350 A + - Tesla Supercharger (Destination) outputs at most 125 A corresponds with `socket:tesla_destination:current=125 A` + - Tesla Supercharger (Destination) outputs at most 350 A corresponds with `socket:tesla_destination:current=350 A` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1396,9 +1398,9 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs at most 120 kw A corresponds with socket:tesla_destination:output=120 kW - - Tesla Supercharger (Destination) outputs at most 150 kw A corresponds with socket:tesla_destination:output=150 kW - - Tesla Supercharger (Destination) outputs at most 250 kw A corresponds with socket:tesla_destination:output=250 kW + - Tesla Supercharger (Destination) outputs at most 120 kw A corresponds with `socket:tesla_destination:output=120 kW` + - Tesla Supercharger (Destination) outputs at most 150 kw A corresponds with `socket:tesla_destination:output=150 kW` + - Tesla Supercharger (Destination) outputs at most 250 kw A corresponds with `socket:tesla_destination:output=250 kW` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1421,8 +1423,8 @@ This is rendered with
Tesla supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 230 volt corresponds with socket:tesla_destination:voltage=230 V - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 400 volt corresponds with socket:tesla_destination:voltage=400 V + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 230 volt corresponds with `socket:tesla_destination:voltage=230 V` + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 400 volt corresponds with `socket:tesla_destination:voltage=400 V` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1445,8 +1447,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla) outputs at most 16 A corresponds with 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:tesla_destination:current=32 A + - Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla) outputs at most 16 A corresponds with `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:tesla_destination:current=32 A` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1469,8 +1471,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 11 kw A corresponds with socket:tesla_destination:output=11 kW - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 22 kw A corresponds with socket:tesla_destination:output=22 kW + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 11 kw A corresponds with `socket:tesla_destination:output=11 kW` + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 22 kw A corresponds with `socket:tesla_destination:output=22 kW` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1493,7 +1495,7 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs 5 volt corresponds with socket:USB-A:voltage=5 V + - USB to charge phones and small electronics outputs 5 volt corresponds with `socket:USB-A:voltage=5 V` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1516,8 +1518,8 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs at most 1 A corresponds with socket:USB-A:current=1 A - - USB to charge phones and small electronics outputs at most 2 A corresponds with socket:USB-A:current=2 A + - USB to charge phones and small electronics outputs at most 1 A corresponds with `socket:USB-A:current=1 A` + - USB to charge phones and small electronics outputs at most 2 A corresponds with `socket:USB-A:current=2 A` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1540,8 +1542,8 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs at most 5w A corresponds with socket:USB-A:output=5W - - USB to charge phones and small electronics outputs at most 10w A corresponds with socket:USB-A:output=10W + - USB to charge phones and small electronics outputs at most 5w A corresponds with `socket:USB-A:output=5W` + - USB to charge phones and small electronics outputs at most 10w A corresponds with `socket:USB-A:output=10W` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1702,7 +1704,7 @@ This is rendered with {opening_hours_table(opening_hours)} - - 24/7 opened (including holidays) corresponds with opening_hours=24/7 + - 24/7 opened (including holidays) corresponds with `opening_hours=24/7` @@ -1717,12 +1719,12 @@ The question is Does one have to pay to use this charging station? - - 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 - - Free to use corresponds with fee=no + - 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` + - Free to use corresponds with `fee=no` - This option cannot be chosen as answer - - 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 + - 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` @@ -1753,13 +1755,13 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no - - Payment is done using a dedicated app corresponds with payment:app=yes + - Payment is done using a dedicated app corresponds with `payment:app=yes` - Unselecting this answer will add payment:app=no - - Payment is done using a membership card corresponds with payment:membership_card=yes + - Payment is done using a membership card corresponds with `payment:membership_card=yes` - Unselecting this answer will add payment:membership_card=no @@ -1777,21 +1779,21 @@ The question is What kind of authentication is available at the charging statio - - Authentication by a membership card corresponds with authentication:membership_card=yes + - 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=yes + - Authentication by an app corresponds with `authentication:app=yes` - Unselecting this answer will add authentication:app=no - - Authentication via phone call is available corresponds with authentication:phone_call=yes + - Authentication via phone call is available corresponds with `authentication:phone_call=yes` - Unselecting this answer will add authentication:phone_call=no - - Authentication via SMS is available corresponds with authentication:short_message=yes + - 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=yes + - Authentication via NFC is available corresponds with `authentication:nfc=yes` - Unselecting this answer will add authentication:nfc=no - - Authentication via Money Card is available corresponds with authentication:money_card=yes + - Authentication via Money Card is available corresponds with `authentication:money_card=yes` - Unselecting this answer will add authentication:money_card=no - - Authentication via debit card is available corresponds with authentication:debit_card=yes + - Authentication via debit card is available corresponds with `authentication:debit_card=yes` - Unselecting this answer will add authentication:debit_card=no - - Charging here is (also) possible without authentication corresponds with authentication:none=yes + - Charging here is (also) possible without authentication corresponds with `authentication:none=yes` - Unselecting this answer will add authentication:none=no @@ -1827,7 +1829,7 @@ This is rendered with One can stay at most {canonical(maxstay)} - - No timelimit on leaving your vehicle here corresponds with maxstay=unlimited + - No timelimit on leaving your vehicle here corresponds with `maxstay=unlimited` Only visible if `maxstay~^..*$|motorcar=yes|hgv=yes|bus=yes` is shown @@ -1848,15 +1850,15 @@ 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 + - 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 + - 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` @@ -1875,7 +1877,7 @@ This is rendered with This charging station is operated by {operator} - - Actually, {operator} is the network corresponds with network= + - Actually, {operator} is the network corresponds with `network=` @@ -1936,13 +1938,13 @@ This is rendered with Located on the {level}th floor - - Located underground corresponds with location=underground + - 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 + - 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 + - Located on the first floor corresponds with `level=1` + - Located on the first basement level corresponds with `level=-1` @@ -1973,11 +1975,11 @@ 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 + - 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` @@ -1992,8 +1994,8 @@ 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 + - 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` diff --git a/Docs/Layers/charging_station_ebikes.md b/Docs/Layers/charging_station_ebikes.md index 90fc1a563..0791d3124 100644 --- a/Docs/Layers/charging_station_ebikes.md +++ b/Docs/Layers/charging_station_ebikes.md @@ -148,6 +148,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -164,15 +166,15 @@ The question is Which vehicles are allowed to charge here? - - Bicycles can be charged here corresponds with bicycle=yes + - Bicycles can be charged here corresponds with `bicycle=yes` - Unselecting this answer will add bicycle=no - - Cars can be charged here corresponds with motorcar=yes + - Cars can be charged here corresponds with `motorcar=yes` - Unselecting this answer will add motorcar=no - - Scooters can be charged here corresponds with scooter=yes + - Scooters can be charged here corresponds with `scooter=yes` - Unselecting this answer will add scooter=no - - Heavy good vehicles (such as trucks) can be charged here corresponds with hgv=yes + - Heavy good vehicles (such as trucks) can be charged here corresponds with `hgv=yes` - Unselecting this answer will add hgv=no - - Buses can be charged here corresponds with bus=yes + - Buses can be charged here corresponds with `bus=yes` - Unselecting this answer will add bus=no @@ -192,12 +194,12 @@ 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 + - 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 - - A key must be requested to access this charging station
E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station corresponds with access=key - - Not accessible to the general public (e.g. only accessible to the owners, employees, …) corresponds with access=private + - 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` + - A key must be requested to access this charging station
E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station corresponds with `access=key` + - Not accessible to the general public (e.g. only accessible to the owners, employees, …) corresponds with `access=private` @@ -226,69 +228,69 @@ The question is Which charging connections are available here? - - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with socket:schuko=1 + - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with `socket:schuko=1` - Unselecting this answer will add - - Schuko wall plug without ground pin (CEE7/4 type F) corresponds with socket:schuko~^..*$&socket:schuko!=1 + - 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=1 + - European wall plug with ground pin (CEE7/4 type E) corresponds with `socket:typee=1` - Unselecting this answer will add - - European wall plug with ground pin (CEE7/4 type E) corresponds with socket:typee~^..*$&socket:typee!=1 + - 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=1 + - Chademo corresponds with `socket:chademo=1` - Unselecting this answer will add - - Chademo corresponds with socket:chademo~^..*$&socket:chademo!=1 + - 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=1 + - Type 1 with cable (J1772) corresponds with `socket:type1_cable=1` - Unselecting this answer will add - - Type 1 with cable (J1772) corresponds with socket:type1_cable~^..*$&socket:type1_cable!=1 + - 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=1 + - Type 1 without cable (J1772) corresponds with `socket:type1=1` - Unselecting this answer will add - - Type 1 without cable (J1772) corresponds with socket:type1~^..*$&socket:type1!=1 + - 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=1 + - Type 1 CCS (aka Type 1 Combo) corresponds with `socket:type1_combo=1` - Unselecting this answer will add - - Type 1 CCS (aka Type 1 Combo) corresponds with socket:type1_combo~^..*$&socket:type1_combo!=1 + - 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=1 + - Tesla Supercharger corresponds with `socket:tesla_supercharger=1` - Unselecting this answer will add - - Tesla Supercharger corresponds with socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=1 + - 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=1 + - Type 2 (mennekes) corresponds with `socket:type2=1` - Unselecting this answer will add - - Type 2 (mennekes) corresponds with socket:type2~^..*$&socket:type2!=1 + - 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=1 + - Type 2 CCS (mennekes) corresponds with `socket:type2_combo=1` - Unselecting this answer will add - - Type 2 CCS (mennekes) corresponds with socket:type2_combo~^..*$&socket:type2_combo!=1 + - 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=1 + - Type 2 with cable (mennekes) corresponds with `socket:type2_cable=1` - Unselecting this answer will add - - Type 2 with cable (mennekes) corresponds with socket:type2_cable~^..*$&socket:type2_cable!=1 + - 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=1 + - Tesla Supercharger CCS (a branded type2_css) corresponds with `socket:tesla_supercharger_ccs=1` - Unselecting this answer will add - - Tesla Supercharger CCS (a branded type2_css) corresponds with socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=1 + - 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=1 + - Tesla Supercharger (destination) corresponds with `socket:tesla_destination=1` - Unselecting this answer will add - - Tesla Supercharger (destination) corresponds with socket:tesla_destination~^..*$&socket:tesla_destination!=1&_country=us + - 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=1 + - Tesla supercharger (destination) (A Type 2 with cable branded as tesla) corresponds with `socket:tesla_destination=1` - Unselecting 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 + - 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=1 + - USB to charge phones and small electronics corresponds with `socket:USB-A=1` - Unselecting this answer will add - - USB to charge phones and small electronics corresponds with socket:USB-A~^..*$&socket:USB-A!=1 + - 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=1 + - Bosch Active Connect with 3 pins and cable corresponds with `socket:bosch_3pin=1` - Unselecting this answer will add - - Bosch Active Connect with 3 pins and cable corresponds with socket:bosch_3pin~^..*$&socket:bosch_3pin!=1 + - 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=1 + - Bosch Active Connect with 5 pins and cable corresponds with `socket:bosch_5pin=1` - Unselecting this answer will add - - Bosch Active Connect with 5 pins and cable corresponds with socket:bosch_5pin~^..*$&socket:bosch_5pin!=1 + - Bosch Active Connect with 5 pins and cable corresponds with `socket:bosch_5pin~^..*$&socket:bosch_5pin!=1` - This option cannot be chosen as answer @@ -564,7 +566,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt corresponds with socket:schuko:voltage=230 V + - Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt corresponds with `socket:schuko:voltage=230 V` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -587,7 +589,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A corresponds with socket:schuko:current=16 A + - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A corresponds with `socket:schuko:current=16 A` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -610,7 +612,7 @@ This is rendered with
Schuko wall plug - - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kw A corresponds with socket:schuko:output=3.6 kW + - Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kw A corresponds with `socket:schuko:output=3.6 kW` Only visible if `socket:schuko~^..*$&socket:schuko!=0` is shown @@ -633,7 +635,7 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs 230 volt corresponds with socket:typee:voltage=230 V + - European wall plug with ground pin (CEE7/4 type E) outputs 230 volt corresponds with `socket:typee:voltage=230 V` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -656,7 +658,7 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A corresponds with socket:typee:current=16 A + - European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A corresponds with `socket:typee:current=16 A` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -679,8 +681,8 @@ This is rendered with
European wall pl - - European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kw A corresponds with socket:typee:output=3 kW - - European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kw A corresponds with socket:typee:output=22 kW + - European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kw A corresponds with `socket:typee:output=3 kW` + - European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kw A corresponds with `socket:typee:output=22 kW` Only visible if `socket:typee~^..*$&socket:typee!=0` is shown @@ -703,7 +705,7 @@ This is rendered with
Chademo - - Chademo outputs 500 volt corresponds with socket:chademo:voltage=500 V + - Chademo outputs 500 volt corresponds with `socket:chademo:voltage=500 V` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -726,7 +728,7 @@ This is rendered with
Chademo - - Chademo outputs at most 120 A corresponds with socket:chademo:current=120 A + - Chademo outputs at most 120 A corresponds with `socket:chademo:current=120 A` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -749,7 +751,7 @@ This is rendered with
Chademo - - Chademo outputs at most 50 kw A corresponds with socket:chademo:output=50 kW + - Chademo outputs at most 50 kw A corresponds with `socket:chademo:output=50 kW` Only visible if `socket:chademo~^..*$&socket:chademo!=0` is shown @@ -772,8 +774,8 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs 200 volt corresponds with socket:type1_cable:voltage=200 V - - Type 1 with cable (J1772) outputs 240 volt corresponds with socket:type1_cable:voltage=240 V + - Type 1 with cable (J1772) outputs 200 volt corresponds with `socket:type1_cable:voltage=200 V` + - Type 1 with cable (J1772) outputs 240 volt corresponds with `socket:type1_cable:voltage=240 V` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -796,7 +798,7 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs at most 32 A corresponds with socket:type1_cable:current=32 A + - Type 1 with cable (J1772) outputs at most 32 A corresponds with `socket:type1_cable:current=32 A` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -819,8 +821,8 @@ This is rendered with
Type 1 with cabl - - Type 1 with cable (J1772) outputs at most 3.7 kw A corresponds with socket:type1_cable:output=3.7 kW - - Type 1 with cable (J1772) outputs at most 7 kw A corresponds with socket:type1_cable:output=7 kW + - Type 1 with cable (J1772) outputs at most 3.7 kw A corresponds with `socket:type1_cable:output=3.7 kW` + - Type 1 with cable (J1772) outputs at most 7 kw A corresponds with `socket:type1_cable:output=7 kW` Only visible if `socket:type1_cable~^..*$&socket:type1_cable!=0` is shown @@ -843,8 +845,8 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs 200 volt corresponds with socket:type1:voltage=200 V - - Type 1 without cable (J1772) outputs 240 volt corresponds with socket:type1:voltage=240 V + - Type 1 without cable (J1772) outputs 200 volt corresponds with `socket:type1:voltage=200 V` + - Type 1 without cable (J1772) outputs 240 volt corresponds with `socket:type1:voltage=240 V` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -867,7 +869,7 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs at most 32 A corresponds with socket:type1:current=32 A + - Type 1 without cable (J1772) outputs at most 32 A corresponds with `socket:type1:current=32 A` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -890,10 +892,10 @@ This is rendered with
Type 1 withou - - Type 1 without cable (J1772) outputs at most 3.7 kw A corresponds with socket:type1:output=3.7 kW - - Type 1 without cable (J1772) outputs at most 6.6 kw A corresponds with socket:type1:output=6.6 kW - - Type 1 without cable (J1772) outputs at most 7 kw A corresponds with socket:type1:output=7 kW - - Type 1 without cable (J1772) outputs at most 7.2 kw A corresponds with socket:type1:output=7.2 kW + - Type 1 without cable (J1772) outputs at most 3.7 kw A corresponds with `socket:type1:output=3.7 kW` + - Type 1 without cable (J1772) outputs at most 6.6 kw A corresponds with `socket:type1:output=6.6 kW` + - Type 1 without cable (J1772) outputs at most 7 kw A corresponds with `socket:type1:output=7 kW` + - Type 1 without cable (J1772) outputs at most 7.2 kw A corresponds with `socket:type1:output=7.2 kW` Only visible if `socket:type1~^..*$&socket:type1!=0` is shown @@ -916,8 +918,8 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs 400 volt corresponds with socket:type1_combo:voltage=400 V - - Type 1 CCS (aka Type 1 Combo) outputs 1000 volt corresponds with socket:type1_combo:voltage=1000 V + - Type 1 CCS (aka Type 1 Combo) outputs 400 volt corresponds with `socket:type1_combo:voltage=400 V` + - Type 1 CCS (aka Type 1 Combo) outputs 1000 volt corresponds with `socket:type1_combo:voltage=1000 V` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -940,8 +942,8 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs at most 50 A corresponds with socket:type1_combo:current=50 A - - Type 1 CCS (aka Type 1 Combo) outputs at most 125 A corresponds with socket:type1_combo:current=125 A + - Type 1 CCS (aka Type 1 Combo) outputs at most 50 A corresponds with `socket:type1_combo:current=50 A` + - Type 1 CCS (aka Type 1 Combo) outputs at most 125 A corresponds with `socket:type1_combo:current=125 A` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -964,10 +966,10 @@ This is rendered with
Type 1 CCS ( - - Type 1 CCS (aka Type 1 Combo) outputs at most 50 kw A corresponds with socket:type1_combo:output=50 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kw A corresponds with socket:type1_combo:output=62.5 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 150 kw A corresponds with socket:type1_combo:output=150 kW - - Type 1 CCS (aka Type 1 Combo) outputs at most 350 kw A corresponds with socket:type1_combo:output=350 kW + - Type 1 CCS (aka Type 1 Combo) outputs at most 50 kw A corresponds with `socket:type1_combo:output=50 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kw A corresponds with `socket:type1_combo:output=62.5 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 150 kw A corresponds with `socket:type1_combo:output=150 kW` + - Type 1 CCS (aka Type 1 Combo) outputs at most 350 kw A corresponds with `socket:type1_combo:output=350 kW` Only visible if `socket:type1_combo~^..*$&socket:type1_combo!=0` is shown @@ -990,7 +992,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs 480 volt corresponds with socket:tesla_supercharger:voltage=480 V + - Tesla Supercharger outputs 480 volt corresponds with `socket:tesla_supercharger:voltage=480 V` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1013,8 +1015,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs at most 125 A corresponds with socket:tesla_supercharger:current=125 A - - Tesla Supercharger outputs at most 350 A corresponds with socket:tesla_supercharger:current=350 A + - Tesla Supercharger outputs at most 125 A corresponds with `socket:tesla_supercharger:current=125 A` + - Tesla Supercharger outputs at most 350 A corresponds with `socket:tesla_supercharger:current=350 A` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1037,9 +1039,9 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger outputs at most 120 kw A corresponds with socket:tesla_supercharger:output=120 kW - - Tesla Supercharger outputs at most 150 kw A corresponds with socket:tesla_supercharger:output=150 kW - - Tesla Supercharger outputs at most 250 kw A corresponds with socket:tesla_supercharger:output=250 kW + - Tesla Supercharger outputs at most 120 kw A corresponds with `socket:tesla_supercharger:output=120 kW` + - Tesla Supercharger outputs at most 150 kw A corresponds with `socket:tesla_supercharger:output=150 kW` + - Tesla Supercharger outputs at most 250 kw A corresponds with `socket:tesla_supercharger:output=250 kW` Only visible if `socket:tesla_supercharger~^..*$&socket:tesla_supercharger!=0` is shown @@ -1062,8 +1064,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs 230 volt corresponds with socket:type2:voltage=230 V - - Type 2 (mennekes) outputs 400 volt corresponds with socket:type2:voltage=400 V + - Type 2 (mennekes) outputs 230 volt corresponds with `socket:type2:voltage=230 V` + - Type 2 (mennekes) outputs 400 volt corresponds with `socket:type2:voltage=400 V` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1086,8 +1088,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs at most 16 A corresponds with socket:type2:current=16 A - - Type 2 (mennekes) outputs at most 32 A corresponds with socket:type2:current=32 A + - Type 2 (mennekes) outputs at most 16 A corresponds with `socket:type2:current=16 A` + - Type 2 (mennekes) outputs at most 32 A corresponds with `socket:type2:current=32 A` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1110,8 +1112,8 @@ This is rendered with
Type 2 (menn - - Type 2 (mennekes) outputs at most 11 kw A corresponds with socket:type2:output=11 kW - - Type 2 (mennekes) outputs at most 22 kw A corresponds with socket:type2:output=22 kW + - Type 2 (mennekes) outputs at most 11 kw A corresponds with `socket:type2:output=11 kW` + - Type 2 (mennekes) outputs at most 22 kw A corresponds with `socket:type2:output=22 kW` Only visible if `socket:type2~^..*$&socket:type2!=0` is shown @@ -1134,8 +1136,8 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs 500 volt corresponds with socket:type2_combo:voltage=500 V - - Type 2 CCS (mennekes) outputs 920 volt corresponds with socket:type2_combo:voltage=920 V + - Type 2 CCS (mennekes) outputs 500 volt corresponds with `socket:type2_combo:voltage=500 V` + - Type 2 CCS (mennekes) outputs 920 volt corresponds with `socket:type2_combo:voltage=920 V` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1158,8 +1160,8 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs at most 125 A corresponds with socket:type2_combo:current=125 A - - Type 2 CCS (mennekes) outputs at most 350 A corresponds with socket:type2_combo:current=350 A + - Type 2 CCS (mennekes) outputs at most 125 A corresponds with `socket:type2_combo:current=125 A` + - Type 2 CCS (mennekes) outputs at most 350 A corresponds with `socket:type2_combo:current=350 A` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1182,7 +1184,7 @@ This is rendered with
Type 2 CCS ( - - Type 2 CCS (mennekes) outputs at most 50 kw A corresponds with socket:type2_combo:output=50 kW + - Type 2 CCS (mennekes) outputs at most 50 kw A corresponds with `socket:type2_combo:output=50 kW` Only visible if `socket:type2_combo~^..*$&socket:type2_combo!=0` is shown @@ -1205,8 +1207,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs 230 volt corresponds with socket:type2_cable:voltage=230 V - - Type 2 with cable (mennekes) outputs 400 volt corresponds with socket:type2_cable:voltage=400 V + - Type 2 with cable (mennekes) outputs 230 volt corresponds with `socket:type2_cable:voltage=230 V` + - Type 2 with cable (mennekes) outputs 400 volt corresponds with `socket:type2_cable:voltage=400 V` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1229,8 +1231,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs at most 16 A corresponds with socket:type2_cable:current=16 A - - Type 2 with cable (mennekes) outputs at most 32 A corresponds with socket:type2_cable:current=32 A + - Type 2 with cable (mennekes) outputs at most 16 A corresponds with `socket:type2_cable:current=16 A` + - Type 2 with cable (mennekes) outputs at most 32 A corresponds with `socket:type2_cable:current=32 A` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1253,8 +1255,8 @@ This is rendered with
Type 2 with cabl - - Type 2 with cable (mennekes) outputs at most 11 kw A corresponds with socket:type2_cable:output=11 kW - - Type 2 with cable (mennekes) outputs at most 22 kw A corresponds with socket:type2_cable:output=22 kW + - Type 2 with cable (mennekes) outputs at most 11 kw A corresponds with `socket:type2_cable:output=11 kW` + - Type 2 with cable (mennekes) outputs at most 22 kw A corresponds with `socket:type2_cable:output=22 kW` Only visible if `socket:type2_cable~^..*$&socket:type2_cable!=0` is shown @@ -1277,8 +1279,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 500 volt corresponds with socket:tesla_supercharger_ccs:voltage=500 V - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 920 volt corresponds with socket:tesla_supercharger_ccs:voltage=920 V + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 500 volt corresponds with `socket:tesla_supercharger_ccs:voltage=500 V` + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs 920 volt corresponds with `socket:tesla_supercharger_ccs:voltage=920 V` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1301,8 +1303,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A corresponds with socket:tesla_supercharger_ccs:current=125 A - - Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A corresponds with socket:tesla_supercharger_ccs:current=350 A + - Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A corresponds with `socket:tesla_supercharger_ccs:current=125 A` + - Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A corresponds with `socket:tesla_supercharger_ccs:current=350 A` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1325,7 +1327,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger CCS (a branded Type 2 CSS) outputs at most 50 kw A corresponds with socket:tesla_supercharger_ccs:output=50 kW + - Tesla Supercharger CCS (a branded Type 2 CSS) outputs at most 50 kw A corresponds with `socket:tesla_supercharger_ccs:output=50 kW` Only visible if `socket:tesla_supercharger_ccs~^..*$&socket:tesla_supercharger_ccs!=0` is shown @@ -1348,7 +1350,7 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs 480 volt corresponds with socket:tesla_destination:voltage=480 V + - Tesla Supercharger (Destination) outputs 480 volt corresponds with `socket:tesla_destination:voltage=480 V` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1371,8 +1373,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs at most 125 A corresponds with socket:tesla_destination:current=125 A - - Tesla Supercharger (Destination) outputs at most 350 A corresponds with socket:tesla_destination:current=350 A + - Tesla Supercharger (Destination) outputs at most 125 A corresponds with `socket:tesla_destination:current=125 A` + - Tesla Supercharger (Destination) outputs at most 350 A corresponds with `socket:tesla_destination:current=350 A` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1395,9 +1397,9 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) outputs at most 120 kw A corresponds with socket:tesla_destination:output=120 kW - - Tesla Supercharger (Destination) outputs at most 150 kw A corresponds with socket:tesla_destination:output=150 kW - - Tesla Supercharger (Destination) outputs at most 250 kw A corresponds with socket:tesla_destination:output=250 kW + - Tesla Supercharger (Destination) outputs at most 120 kw A corresponds with `socket:tesla_destination:output=120 kW` + - Tesla Supercharger (Destination) outputs at most 150 kw A corresponds with `socket:tesla_destination:output=150 kW` + - Tesla Supercharger (Destination) outputs at most 250 kw A corresponds with `socket:tesla_destination:output=250 kW` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1420,8 +1422,8 @@ This is rendered with
Tesla supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 230 volt corresponds with socket:tesla_destination:voltage=230 V - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 400 volt corresponds with socket:tesla_destination:voltage=400 V + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 230 volt corresponds with `socket:tesla_destination:voltage=230 V` + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs 400 volt corresponds with `socket:tesla_destination:voltage=400 V` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1444,8 +1446,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla) outputs at most 16 A corresponds with 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:tesla_destination:current=32 A + - Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla) outputs at most 16 A corresponds with `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:tesla_destination:current=32 A` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1468,8 +1470,8 @@ This is rendered with
Tesla Supercharg - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 11 kw A corresponds with socket:tesla_destination:output=11 kW - - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 22 kw A corresponds with socket:tesla_destination:output=22 kW + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 11 kw A corresponds with `socket:tesla_destination:output=11 kW` + - Tesla Supercharger (Destination) (A Type 2 with cable branded as Tesla) outputs at most 22 kw A corresponds with `socket:tesla_destination:output=22 kW` Only visible if `socket:tesla_destination~^..*$&socket:tesla_destination!=0` is shown @@ -1492,7 +1494,7 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs 5 volt corresponds with socket:USB-A:voltage=5 V + - USB to charge phones and small electronics outputs 5 volt corresponds with `socket:USB-A:voltage=5 V` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1515,8 +1517,8 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs at most 1 A corresponds with socket:USB-A:current=1 A - - USB to charge phones and small electronics outputs at most 2 A corresponds with socket:USB-A:current=2 A + - USB to charge phones and small electronics outputs at most 1 A corresponds with `socket:USB-A:current=1 A` + - USB to charge phones and small electronics outputs at most 2 A corresponds with `socket:USB-A:current=2 A` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1539,8 +1541,8 @@ This is rendered with
USB to charg - - USB to charge phones and small electronics outputs at most 5w A corresponds with socket:USB-A:output=5W - - USB to charge phones and small electronics outputs at most 10w A corresponds with socket:USB-A:output=10W + - USB to charge phones and small electronics outputs at most 5w A corresponds with `socket:USB-A:output=5W` + - USB to charge phones and small electronics outputs at most 10w A corresponds with `socket:USB-A:output=10W` Only visible if `socket:USB-A~^..*$&socket:USB-A!=0` is shown @@ -1701,7 +1703,7 @@ This is rendered with {opening_hours_table(opening_hours)} - - 24/7 opened (including holidays) corresponds with opening_hours=24/7 + - 24/7 opened (including holidays) corresponds with `opening_hours=24/7` @@ -1716,12 +1718,12 @@ The question is Does one have to pay to use this charging station? - - 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 - - Free to use corresponds with fee=no + - 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` + - Free to use corresponds with `fee=no` - This option cannot be chosen as answer - - 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 + - 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` @@ -1752,13 +1754,13 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no - - Payment is done using a dedicated app corresponds with payment:app=yes + - Payment is done using a dedicated app corresponds with `payment:app=yes` - Unselecting this answer will add payment:app=no - - Payment is done using a membership card corresponds with payment:membership_card=yes + - Payment is done using a membership card corresponds with `payment:membership_card=yes` - Unselecting this answer will add payment:membership_card=no @@ -1776,21 +1778,21 @@ The question is What kind of authentication is available at the charging statio - - Authentication by a membership card corresponds with authentication:membership_card=yes + - 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=yes + - Authentication by an app corresponds with `authentication:app=yes` - Unselecting this answer will add authentication:app=no - - Authentication via phone call is available corresponds with authentication:phone_call=yes + - Authentication via phone call is available corresponds with `authentication:phone_call=yes` - Unselecting this answer will add authentication:phone_call=no - - Authentication via SMS is available corresponds with authentication:short_message=yes + - 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=yes + - Authentication via NFC is available corresponds with `authentication:nfc=yes` - Unselecting this answer will add authentication:nfc=no - - Authentication via Money Card is available corresponds with authentication:money_card=yes + - Authentication via Money Card is available corresponds with `authentication:money_card=yes` - Unselecting this answer will add authentication:money_card=no - - Authentication via debit card is available corresponds with authentication:debit_card=yes + - Authentication via debit card is available corresponds with `authentication:debit_card=yes` - Unselecting this answer will add authentication:debit_card=no - - Charging here is (also) possible without authentication corresponds with authentication:none=yes + - Charging here is (also) possible without authentication corresponds with `authentication:none=yes` - Unselecting this answer will add authentication:none=no @@ -1826,7 +1828,7 @@ This is rendered with One can stay at most {canonical(maxstay)} - - No timelimit on leaving your vehicle here corresponds with maxstay=unlimited + - No timelimit on leaving your vehicle here corresponds with `maxstay=unlimited` Only visible if `maxstay~^..*$|motorcar=yes|hgv=yes|bus=yes` is shown @@ -1847,15 +1849,15 @@ 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 + - 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 + - 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` @@ -1874,7 +1876,7 @@ This is rendered with This charging station is operated by {operator} - - Actually, {operator} is the network corresponds with network= + - Actually, {operator} is the network corresponds with `network=` @@ -1935,13 +1937,13 @@ This is rendered with Located on the {level}th floor - - Located underground corresponds with location=underground + - 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 + - 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 + - Located on the first floor corresponds with `level=1` + - Located on the first basement level corresponds with `level=-1` @@ -1972,11 +1974,11 @@ 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 + - 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` @@ -1991,8 +1993,8 @@ 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 + - 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` @@ -2023,6 +2025,8 @@ This tagrendering is part of group `technical` +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -2033,6 +2037,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/climbing.md b/Docs/Layers/climbing.md index 485c48098..39f2ef4ba 100644 --- a/Docs/Layers/climbing.md +++ b/Docs/Layers/climbing.md @@ -15,7 +15,7 @@ A dummy layer which contains tagrenderings, shared among the climbing layers - This layer is shown at zoomlevel **25** and higher - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` @@ -135,10 +135,10 @@ The question is Is bouldering possible here? - - Bouldering is possible here corresponds with climbing:boulder=yes - - Bouldering is not possible here corresponds with climbing:boulder=no - - Bouldering is possible, allthough there are only a few routes corresponds with climbing:boulder=limited - - There are {climbing:boulder} boulder routes corresponds with climbing:boulder~^..*$ + - Bouldering is possible here corresponds with `climbing:boulder=yes` + - Bouldering is not possible here corresponds with `climbing:boulder=no` + - Bouldering is possible, allthough there are only a few routes corresponds with `climbing:boulder=limited` + - There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~^..*$` - This option cannot be chosen as answer @@ -154,9 +154,9 @@ The question is Is toprope climbing possible here? - - Toprope climbing is possible here corresponds with climbing:toprope=yes - - Toprope climbing is not possible here corresponds with climbing:toprope=no - - There are {climbing:toprope} toprope routes corresponds with climbing:toprope~^..*$ + - Toprope climbing is possible here corresponds with `climbing:toprope=yes` + - Toprope climbing is not possible here corresponds with `climbing:toprope=no` + - There are {climbing:toprope} toprope routes corresponds with `climbing:toprope~^..*$` - This option cannot be chosen as answer @@ -172,9 +172,9 @@ The question is Is sport climbing possible here on fixed anchors? - - Sport climbing is possible here corresponds with climbing:sport=yes - - Sport climbing is not possible here corresponds with climbing:sport=no - - There are {climbing:sport} sport climbing routes corresponds with climbing:sport~^..*$ + - Sport climbing is possible here corresponds with `climbing:sport=yes` + - Sport climbing is not possible here corresponds with `climbing:sport=no` + - There are {climbing:sport} sport climbing routes corresponds with `climbing:sport~^..*$` - This option cannot be chosen as answer @@ -190,9 +190,9 @@ The question is Is traditional climbing possible here (using own gear e.g. choc - - Traditional climbing is possible here corresponds with climbing:traditional=yes - - Traditional climbing is not possible here corresponds with climbing:traditional=no - - There are {climbing:traditional} traditional climbing routes corresponds with climbing:traditional~^..*$ + - Traditional climbing is possible here corresponds with `climbing:traditional=yes` + - Traditional climbing is not possible here corresponds with `climbing:traditional=no` + - There are {climbing:traditional} traditional climbing routes corresponds with `climbing:traditional~^..*$` - This option cannot be chosen as answer @@ -226,8 +226,8 @@ This is rendered with A fee of {charge} should be paid for climbing here - - Climbing here is free of charge corresponds with fee=no - - Paying a fee is required to climb here corresponds with fee=yes + - Climbing here is free of charge corresponds with `fee=no` + - Paying a fee is required to climb here corresponds with `fee=yes` This document is autogenerated from [assets/layers/climbing/climbing.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/climbing/climbing.json) \ No newline at end of file diff --git a/Docs/Layers/climbing_area.md b/Docs/Layers/climbing_area.md index 9f0a0264f..c4d4c02fe 100644 --- a/Docs/Layers/climbing_area.md +++ b/Docs/Layers/climbing_area.md @@ -79,6 +79,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -141,7 +143,7 @@ This is rendered with {name} - - This climbing opportunity doesn't have a name corresponds with noname=yes + - This climbing opportunity doesn't have a name corresponds with `noname=yes` @@ -156,9 +158,9 @@ The question is What kind of climbing opportunity is this? - - A climbing boulder - a single rock or cliff with one or a few climbing routes which can be climbed safely without rope corresponds with climbing=boulder - - A climbing crag - a single rock or cliff with at least a few climbing routes corresponds with climbing=crag - - A climbing area with one or more climbing crags and/or boulders corresponds with climbing=area + - A climbing boulder - a single rock or cliff with one or a few climbing routes which can be climbed safely without rope corresponds with `climbing=boulder` + - A climbing crag - a single rock or cliff with at least a few climbing routes corresponds with `climbing=crag` + - A climbing area with one or more climbing crags and/or boulders corresponds with `climbing=area` @@ -177,7 +179,7 @@ This is rendered with The rock type is {rock} - - Limestone corresponds with rock=limestone + - Limestone corresponds with `rock=limestone` Only visible if `climbing=crag|natural=cliff|natural=bare_rock` is shown @@ -214,8 +216,8 @@ This is rendered with A fee of {charge} should be paid for climbing here - - Climbing here is free of charge corresponds with fee=no - - Paying a fee is required to climb here corresponds with fee=yes + - Climbing here is free of charge corresponds with `fee=no` + - Paying a fee is required to climb here corresponds with `fee=yes` Only visible if `sport=climbing` is shown @@ -232,10 +234,10 @@ The question is Is bouldering possible here? - - Bouldering is possible here corresponds with climbing:boulder=yes - - Bouldering is not possible here corresponds with climbing:boulder=no - - Bouldering is possible, allthough there are only a few routes corresponds with climbing:boulder=limited - - There are {climbing:boulder} boulder routes corresponds with climbing:boulder~^..*$ + - Bouldering is possible here corresponds with `climbing:boulder=yes` + - Bouldering is not possible here corresponds with `climbing:boulder=no` + - Bouldering is possible, allthough there are only a few routes corresponds with `climbing:boulder=limited` + - There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/climbing_club.md b/Docs/Layers/climbing_club.md index ee65f717e..f8b09ec5c 100644 --- a/Docs/Layers/climbing_club.md +++ b/Docs/Layers/climbing_club.md @@ -97,7 +97,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -117,7 +117,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -137,7 +137,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/climbing_gym.md b/Docs/Layers/climbing_gym.md index 0004705f9..69063818d 100644 --- a/Docs/Layers/climbing_gym.md +++ b/Docs/Layers/climbing_gym.md @@ -82,6 +82,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -116,7 +118,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -136,7 +138,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -156,7 +158,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -176,8 +178,8 @@ This is rendered with A fee of {charge} should be paid for climbing here - - Climbing here is free of charge corresponds with fee=no - - Paying a fee is required to climb here corresponds with fee=yes + - Climbing here is free of charge corresponds with `fee=no` + - Paying a fee is required to climb here corresponds with `fee=yes` Only visible if `sport=climbing` is shown @@ -256,10 +258,10 @@ The question is Is bouldering possible here? - - Bouldering is possible here corresponds with climbing:boulder=yes - - Bouldering is not possible here corresponds with climbing:boulder=no - - Bouldering is possible, allthough there are only a few routes corresponds with climbing:boulder=limited - - There are {climbing:boulder} boulder routes corresponds with climbing:boulder~^..*$ + - Bouldering is possible here corresponds with `climbing:boulder=yes` + - Bouldering is not possible here corresponds with `climbing:boulder=no` + - Bouldering is possible, allthough there are only a few routes corresponds with `climbing:boulder=limited` + - There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~^..*$` - This option cannot be chosen as answer @@ -277,9 +279,9 @@ The question is Is sport climbing possible here on fixed anchors? - - Sport climbing is possible here corresponds with climbing:sport=yes - - Sport climbing is not possible here corresponds with climbing:sport=no - - There are {climbing:sport} sport climbing routes corresponds with climbing:sport~^..*$ + - Sport climbing is possible here corresponds with `climbing:sport=yes` + - Sport climbing is not possible here corresponds with `climbing:sport=no` + - There are {climbing:sport} sport climbing routes corresponds with `climbing:sport~^..*$` - This option cannot be chosen as answer @@ -313,9 +315,9 @@ The question is Is there a speed climbing wall? - - There is a speed climbing wall corresponds with climbing:speed=yes - - There is no speed climbing wall corresponds with climbing:speed=no - - There are {climbing:speed} speed climbing walls corresponds with climbing:speed~^..*$ + - There is a speed climbing wall corresponds with `climbing:speed=yes` + - There is no speed climbing wall corresponds with `climbing:speed=no` + - There are {climbing:speed} speed climbing walls corresponds with `climbing:speed~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/climbing_opportunity.md b/Docs/Layers/climbing_opportunity.md index 8133d6a30..d7df6c1e8 100644 --- a/Docs/Layers/climbing_opportunity.md +++ b/Docs/Layers/climbing_opportunity.md @@ -77,9 +77,9 @@ The question is Is climbing possible here? - - Climbing is possible here corresponds with sport=climbing - - Climbing is not possible here corresponds with climbing=no - - Climbing is not possible here corresponds with sport!~^climbing$ + - Climbing is possible here corresponds with `sport=climbing` + - Climbing is not possible here corresponds with `climbing=no` + - Climbing is not possible here corresponds with `sport!~^climbing$` - This option cannot be chosen as answer diff --git a/Docs/Layers/climbing_route.md b/Docs/Layers/climbing_route.md index cae5cc3bb..486fd71c8 100644 --- a/Docs/Layers/climbing_route.md +++ b/Docs/Layers/climbing_route.md @@ -75,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -95,7 +97,7 @@ This is rendered with {name} - - This climbing route doesn't have a name corresponds with noname=yes + - This climbing route doesn't have a name corresponds with `noname=yes` @@ -142,7 +144,7 @@ This is rendered with This route has {climbing:bolts} bolts
climbing:bolted=no + - This route is not bolted corresponds with `climbing:bolted=no` diff --git a/Docs/Layers/cluster_style.md b/Docs/Layers/cluster_style.md index 1bed189ce..444b7596f 100644 --- a/Docs/Layers/cluster_style.md +++ b/Docs/Layers/cluster_style.md @@ -47,6 +47,8 @@ Elements must have the all of following tags to be shown on this layer: +Shows a table with all the tags of the feature + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/crab_address.md b/Docs/Layers/crab_address.md index 576a70ab4..278393137 100644 --- a/Docs/Layers/crab_address.md +++ b/Docs/Layers/crab_address.md @@ -15,7 +15,7 @@ Address data for Flanders by the governement, suited for import into OpenStreetM - This layer is shown at zoomlevel **0** and higher - - This layer is loaded from an external source, namely `https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson` + - This layer is loaded from an external source, namely `https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson` diff --git a/Docs/Layers/crossings.md b/Docs/Layers/crossings.md index 644447e10..b8451a2e8 100644 --- a/Docs/Layers/crossings.md +++ b/Docs/Layers/crossings.md @@ -85,11 +85,11 @@ The question is What kind of crossing is this? - - Crossing, without traffic lights corresponds with crossing=uncontrolled - - Crossing with traffic signals corresponds with crossing=traffic_signals - - Zebra crossing corresponds with crossing=zebra + - Crossing, without traffic lights corresponds with `crossing=uncontrolled` + - Crossing with traffic signals corresponds with `crossing=traffic_signals` + - Zebra crossing corresponds with `crossing=zebra` - This option cannot be chosen as answer - - Crossing without crossing markings corresponds with crossing=unmarked + - Crossing without crossing markings corresponds with `crossing=unmarked` Only visible if `highway=crossing` is shown @@ -106,8 +106,8 @@ The question is Is this is a zebra crossing? - - This is a zebra crossing corresponds with crossing_ref=zebra - - This is not a zebra crossing corresponds with + - This is a zebra crossing corresponds with `crossing_ref=zebra` + - This is not a zebra crossing corresponds with `` Only visible if `crossing=uncontrolled` is shown @@ -124,8 +124,8 @@ The question is Is this crossing also for bicycles? - - A cyclist can use this crossing corresponds with bicycle=yes - - A cyclist can not use this crossing corresponds with bicycle=no + - A cyclist can use this crossing corresponds with `bicycle=yes` + - A cyclist can not use this crossing corresponds with `bicycle=no` Only visible if `highway=crossing` is shown @@ -142,8 +142,8 @@ The question is Does this crossing have an island in the middle? - - This crossing has an island in the middle corresponds with crossing:island=yes - - This crossing does not have an island in the middle corresponds with crossing:island=no + - This crossing has an island in the middle corresponds with `crossing:island=yes` + - This crossing does not have an island in the middle corresponds with `crossing:island=no` Only visible if `highway=crossing` is shown @@ -160,9 +160,9 @@ The question is Does this crossing have tactile paving? - - This crossing has tactile paving corresponds with tactile_paving=yes - - This crossing does not have tactile paving corresponds with tactile_paving=no - - This crossing has tactile paving, but is not correct corresponds with tactile_paving=incorrect + - This crossing has tactile paving corresponds with `tactile_paving=yes` + - This crossing does not have tactile paving corresponds with `tactile_paving=no` + - This crossing has tactile paving, but is not correct corresponds with `tactile_paving=incorrect` - This option cannot be chosen as answer @@ -180,8 +180,8 @@ The question is Does this traffic light have a button to request green light? - - This traffic light has a button to request green light corresponds with button_operated=yes - - This traffic light does not have a button to request green light corresponds with button_operated=no + - This traffic light has a button to request green light corresponds with `button_operated=yes` + - This traffic light does not have a button to request green light corresponds with `button_operated=no` Only visible if `highway=traffic_signals|crossing=traffic_signals` is shown @@ -198,9 +198,9 @@ The question is Can a cyclist turn right when the light is red? - - A cyclist can turn right if the light is red corresponds with red_turn:right:bicycle=yes - - A cyclist can turn right if the light is red corresponds with red_turn:right:bicycle=yes - - A cyclist can not turn right if the light is red corresponds with red_turn:right:bicycle=no + - A cyclist can turn right if the light is red corresponds with `red_turn:right:bicycle=yes` + - A cyclist can turn right if the light is red corresponds with `red_turn:right:bicycle=yes` + - A cyclist can not turn right if the light is red corresponds with `red_turn:right:bicycle=no` Only visible if `highway=traffic_signals` is shown @@ -217,9 +217,9 @@ The question is Can a cyclist go straight on when the light is red? - - A cyclist can go straight on if the light is red corresponds with red_turn:straight:bicycle=yes - - A cyclist can go straight on if the light is red corresponds with red_turn:straight:bicycle=yes - - A cyclist can not go straight on if the light is red corresponds with red_turn:straight:bicycle=no + - A cyclist can go straight on if the light is red corresponds with `red_turn:straight:bicycle=yes` + - A cyclist can go straight on if the light is red corresponds with `red_turn:straight:bicycle=yes` + - A cyclist can not go straight on if the light is red corresponds with `red_turn:straight:bicycle=no` Only visible if `highway=traffic_signals` is shown diff --git a/Docs/Layers/cultural_places_without_etymology.md b/Docs/Layers/cultural_places_without_etymology.md index a4a77f6f7..d304a8111 100644 --- a/Docs/Layers/cultural_places_without_etymology.md +++ b/Docs/Layers/cultural_places_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/cycleways_and_roads.md b/Docs/Layers/cycleways_and_roads.md index c39cf5f74..c768e9d89 100644 --- a/Docs/Layers/cycleways_and_roads.md +++ b/Docs/Layers/cycleways_and_roads.md @@ -31,6 +31,7 @@ All infrastructure that someone can cycle over, accompanied with questions about - [cycle_infra](https://mapcomplete.osm.be/cycle_infra) - [kerbs_and_crossings](https://mapcomplete.osm.be/kerbs_and_crossings) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [rainbow_crossings](https://mapcomplete.osm.be/rainbow_crossings) @@ -94,12 +95,12 @@ The question is What kind of cycleway is here? - - There is a shared lane corresponds with cycleway=shared_lane - - There is a lane next to the road (separated with paint) corresponds with cycleway=lane - - There is a track, but no cycleway drawn separately from this road on the map. corresponds with cycleway=track - - There is a separately drawn cycleway corresponds with cycleway=separate - - There is no cycleway corresponds with cycleway=no - - There is no cycleway corresponds with cycleway=no + - There is a shared lane corresponds with `cycleway=shared_lane` + - There is a lane next to the road (separated with paint) corresponds with `cycleway=lane` + - There is a track, but no cycleway drawn separately from this road on the map. corresponds with `cycleway=track` + - There is a separately drawn cycleway corresponds with `cycleway=separate` + - There is no cycleway corresponds with `cycleway=no` + - There is no cycleway corresponds with `cycleway=no` @@ -114,11 +115,11 @@ The question is Is this street lit? - - This street is lit corresponds with lit=yes - - This road is not lit corresponds with lit=no - - This road is lit at night corresponds with lit=sunset-sunrise + - This street is lit corresponds with `lit=yes` + - This road is not lit corresponds with `lit=no` + - This road is lit at night corresponds with `lit=sunset-sunrise` - This option cannot be chosen as answer - - This road is lit 24/7 corresponds with lit=24/7 + - This road is lit 24/7 corresponds with `lit=24/7` @@ -133,9 +134,9 @@ The question is Is this a cyclestreet? - - This is a cyclestreet, and a 30km/h zone. corresponds with cyclestreet=yes - - This is a cyclestreet corresponds with cyclestreet=yes - - This is not a cyclestreet. corresponds with + - This is a cyclestreet, and a 30km/h zone. corresponds with `cyclestreet=yes` + - This is a cyclestreet corresponds with `cyclestreet=yes` + - This is not a cyclestreet. corresponds with `` @@ -154,11 +155,11 @@ This is rendered with The maximum speed on this road is {maxspeed} km/h - - The maximum speed is 20 km/h corresponds with maxspeed=20 - - The maximum speed is 30 km/h corresponds with maxspeed=30 - - The maximum speed is 50 km/h corresponds with maxspeed=50 - - The maximum speed is 70 km/h corresponds with maxspeed=70 - - The maximum speed is 90 km/h corresponds with maxspeed=90 + - The maximum speed is 20 km/h corresponds with `maxspeed=20` + - The maximum speed is 30 km/h corresponds with `maxspeed=30` + - The maximum speed is 50 km/h corresponds with `maxspeed=50` + - The maximum speed is 70 km/h corresponds with `maxspeed=70` + - The maximum speed is 90 km/h corresponds with `maxspeed=90` @@ -177,22 +178,22 @@ This is rendered with This cyleway is made of {cycleway:surface} - - This cycleway is unpaved corresponds with cycleway:surface=unpaved + - This cycleway is unpaved corresponds with `cycleway:surface=unpaved` - This option cannot be chosen as answer - - This cycleway is paved corresponds with cycleway:surface=paved + - This cycleway is paved corresponds with `cycleway:surface=paved` - This option cannot be chosen as answer - - This cycleway is made of asphalt corresponds with cycleway:surface=asphalt - - This cycleway is made of smooth paving stones corresponds with cycleway:surface=paving_stones - - This cycleway is made of concrete corresponds with cycleway:surface=concrete - - This cycleway is made of cobblestone (unhewn or sett) corresponds with cycleway:surface=cobblestone + - This cycleway is made of asphalt corresponds with `cycleway:surface=asphalt` + - This cycleway is made of smooth paving stones corresponds with `cycleway:surface=paving_stones` + - This cycleway is made of concrete corresponds with `cycleway:surface=concrete` + - This cycleway is made of cobblestone (unhewn or sett) corresponds with `cycleway:surface=cobblestone` - This option cannot be chosen as answer - - This cycleway is made of raw, natural cobblestone corresponds with cycleway:surface=unhewn_cobblestone - - This cycleway is made of flat, square cobblestone corresponds with cycleway:surface=sett - - This cycleway is made of wood corresponds with cycleway:surface=wood - - This cycleway is made of gravel corresponds with cycleway:surface=gravel - - This cycleway is made of fine gravel corresponds with cycleway:surface=fine_gravel - - This cycleway is made of pebblestone corresponds with cycleway:surface=pebblestone - - This cycleway is made from raw ground corresponds with cycleway:surface=ground + - This cycleway is made of raw, natural cobblestone corresponds with `cycleway:surface=unhewn_cobblestone` + - This cycleway is made of flat, square cobblestone corresponds with `cycleway:surface=sett` + - This cycleway is made of wood corresponds with `cycleway:surface=wood` + - This cycleway is made of gravel corresponds with `cycleway:surface=gravel` + - This cycleway is made of fine gravel corresponds with `cycleway:surface=fine_gravel` + - This cycleway is made of pebblestone corresponds with `cycleway:surface=pebblestone` + - This cycleway is made from raw ground corresponds with `cycleway:surface=ground` Only visible if `cycleway=shared_lane|cycleway=lane|cycleway=track` is shown @@ -209,14 +210,14 @@ The question is What is the smoothness of this cycleway? - - Usable for thin rollers: rollerblade, skateboard corresponds with cycleway:smoothness=excellent - - Usable for thin wheels: racing bike corresponds with cycleway:smoothness=good - - Usable for normal wheels: city bike, wheelchair, scooter corresponds with cycleway:smoothness=intermediate - - Usable for robust wheels: trekking bike, car, rickshaw corresponds with cycleway:smoothness=bad - - Usable for vehicles with high clearance: light duty off-road vehicle corresponds with cycleway:smoothness=very_bad - - Usable for off-road vehicles: heavy duty off-road vehicle corresponds with cycleway:smoothness=horrible - - Usable for specialized off-road vehicles: tractor, ATV corresponds with cycleway:smoothness=very_horrible - - Impassable / No wheeled vehicle corresponds with cycleway:smoothness=impassable + - Usable for thin rollers: rollerblade, skateboard corresponds with `cycleway:smoothness=excellent` + - Usable for thin wheels: racing bike corresponds with `cycleway:smoothness=good` + - Usable for normal wheels: city bike, wheelchair, scooter corresponds with `cycleway:smoothness=intermediate` + - Usable for robust wheels: trekking bike, car, rickshaw corresponds with `cycleway:smoothness=bad` + - Usable for vehicles with high clearance: light duty off-road vehicle corresponds with `cycleway:smoothness=very_bad` + - Usable for off-road vehicles: heavy duty off-road vehicle corresponds with `cycleway:smoothness=horrible` + - Usable for specialized off-road vehicles: tractor, ATV corresponds with `cycleway:smoothness=very_horrible` + - Impassable / No wheeled vehicle corresponds with `cycleway:smoothness=impassable` Only visible if `cycleway=shared_lane|cycleway=lane|cycleway=track` is shown @@ -237,22 +238,22 @@ This is rendered with This road is made of {surface} - - This cycleway is unhardened corresponds with surface=unpaved + - This cycleway is unhardened corresponds with `surface=unpaved` - This option cannot be chosen as answer - - This cycleway is paved corresponds with surface=paved + - This cycleway is paved corresponds with `surface=paved` - This option cannot be chosen as answer - - This cycleway is made of asphalt corresponds with surface=asphalt - - This cycleway is made of smooth paving stones corresponds with surface=paving_stones - - This cycleway is made of concrete corresponds with surface=concrete - - This cycleway is made of cobblestone (unhewn or sett) corresponds with surface=cobblestone + - This cycleway is made of asphalt corresponds with `surface=asphalt` + - This cycleway is made of smooth paving stones corresponds with `surface=paving_stones` + - This cycleway is made of concrete corresponds with `surface=concrete` + - This cycleway is made of cobblestone (unhewn or sett) corresponds with `surface=cobblestone` - This option cannot be chosen as answer - - This cycleway is made of raw, natural cobblestone corresponds with surface=unhewn_cobblestone - - This cycleway is made of flat, square cobblestone corresponds with surface=sett - - This cycleway is made of wood corresponds with surface=wood - - This cycleway is made of gravel corresponds with surface=gravel - - This cycleway is made of fine gravel corresponds with surface=fine_gravel - - This cycleway is made of pebblestone corresponds with surface=pebblestone - - This cycleway is made from raw ground corresponds with surface=ground + - This cycleway is made of raw, natural cobblestone corresponds with `surface=unhewn_cobblestone` + - This cycleway is made of flat, square cobblestone corresponds with `surface=sett` + - This cycleway is made of wood corresponds with `surface=wood` + - This cycleway is made of gravel corresponds with `surface=gravel` + - This cycleway is made of fine gravel corresponds with `surface=fine_gravel` + - This cycleway is made of pebblestone corresponds with `surface=pebblestone` + - This cycleway is made from raw ground corresponds with `surface=ground` @@ -267,14 +268,14 @@ The question is What is the smoothness of this street? - - Usable for thin rollers: rollerblade, skateboard corresponds with smoothness=excellent - - Usable for thin wheels: racing bike corresponds with smoothness=good - - Usable for normal wheels: city bike, wheelchair, scooter corresponds with smoothness=intermediate - - Usable for robust wheels: trekking bike, car, rickshaw corresponds with smoothness=bad - - Usable for vehicles with high clearance: light duty off-road vehicle corresponds with smoothness=very_bad - - Usable for off-road vehicles: heavy duty off-road vehicle corresponds with smoothness=horrible - - Usable for specialized off-road vehicles: tractor, ATV corresponds with smoothness=very_horrible - - Impassable / No wheeled vehicle corresponds with smoothness=impassable + - Usable for thin rollers: rollerblade, skateboard corresponds with `smoothness=excellent` + - Usable for thin wheels: racing bike corresponds with `smoothness=good` + - Usable for normal wheels: city bike, wheelchair, scooter corresponds with `smoothness=intermediate` + - Usable for robust wheels: trekking bike, car, rickshaw corresponds with `smoothness=bad` + - Usable for vehicles with high clearance: light duty off-road vehicle corresponds with `smoothness=very_bad` + - Usable for off-road vehicles: heavy duty off-road vehicle corresponds with `smoothness=horrible` + - Usable for specialized off-road vehicles: tractor, ATV corresponds with `smoothness=very_horrible` + - Impassable / No wheeled vehicle corresponds with `smoothness=impassable` Only visible if `cycleway=no|highway=cycleway` is shown @@ -305,12 +306,12 @@ The question is What traffic sign does this cycleway have? - - Compulsory cycleway corresponds with cycleway:traffic_sign=BE:D7 - - Compulsory cycleway (with supplementary sign)
corresponds with cycleway:traffic_sign~^BE:D7;.*$ + - Compulsory cycleway corresponds with `cycleway:traffic_sign=BE:D7` + - Compulsory cycleway (with supplementary sign)
corresponds with `cycleway:traffic_sign~^BE:D7;.*$` - This option cannot be chosen as answer - - Segregated foot/cycleway corresponds with cycleway:traffic_sign=BE:D9 - - Unsegregated foot/cycleway corresponds with cycleway:traffic_sign=BE:D10 - - No traffic sign present corresponds with cycleway:traffic_sign=none + - Segregated foot/cycleway corresponds with `cycleway:traffic_sign=BE:D9` + - Unsegregated foot/cycleway corresponds with `cycleway:traffic_sign=BE:D10` + - No traffic sign present corresponds with `cycleway:traffic_sign=none` Only visible if `cycleway=lane|cycleway=track&_country=be` is shown @@ -327,15 +328,15 @@ The question is What traffic sign does this cycleway have? - - Compulsory cycleway corresponds with traffic_sign=BE:D7 - - Compulsory cycleway (with supplementary sign)
corresponds with traffic_sign~^BE:D7;.*$ + - Compulsory cycleway corresponds with `traffic_sign=BE:D7` + - Compulsory cycleway (with supplementary sign)
corresponds with `traffic_sign~^BE:D7;.*$` - This option cannot be chosen as answer - - Segregated foot/cycleway corresponds with traffic_sign=BE:D9 - - Unsegregated foot/cycleway corresponds with traffic_sign=BE:D10 - - Compulsory cycleway corresponds with traffic_sign=NL:G11 - - Compulsory (moped)cycleway corresponds with traffic_sign=NL:G12a - - Non-compulsory cycleway corresponds with traffic_sign=NL:G13 - - No traffic sign present corresponds with traffic_sign=none + - Segregated foot/cycleway corresponds with `traffic_sign=BE:D9` + - Unsegregated foot/cycleway corresponds with `traffic_sign=BE:D10` + - Compulsory cycleway corresponds with `traffic_sign=NL:G11` + - Compulsory (moped)cycleway corresponds with `traffic_sign=NL:G12a` + - Non-compulsory cycleway corresponds with `traffic_sign=NL:G13` + - No traffic sign present corresponds with `traffic_sign=none` Only visible if `highway=cycleway|highway=path&_country=be|_country=nl` is shown @@ -352,13 +353,13 @@ The question is Does the traffic sign D7 (cycleway:traffic_sign=BE:D7;BE:M6 - - Speedpedelecs must use the cycleway corresponds with cycleway:traffic_sign=BE:D7;BE:M13 - - Mopeds and speedpedelecs must use the cycleway corresponds with cycleway:traffic_sign=BE:D7;BE:M14 - - Mopeds are not allowed corresponds with cycleway:traffic_sign=BE:D7;BE:M7 - - Speedpedelecs are not allowed corresponds with cycleway:traffic_sign=BE:D7;BE:M15 - - Mopeds and speedpedelecs are not allowed corresponds with cycleway:traffic_sign=BE:D7;BE:M16 - - No supplementary traffic sign present corresponds with cycleway:traffic_sign:supplementary=none + - Mopeds must use the cycleway corresponds with `cycleway:traffic_sign=BE:D7;BE:M6` + - Speedpedelecs must use the cycleway corresponds with `cycleway:traffic_sign=BE:D7;BE:M13` + - Mopeds and speedpedelecs must use the cycleway corresponds with `cycleway:traffic_sign=BE:D7;BE:M14` + - Mopeds are not allowed corresponds with `cycleway:traffic_sign=BE:D7;BE:M7` + - Speedpedelecs are not allowed corresponds with `cycleway:traffic_sign=BE:D7;BE:M15` + - Mopeds and speedpedelecs are not allowed corresponds with `cycleway:traffic_sign=BE:D7;BE:M16` + - No supplementary traffic sign present corresponds with `cycleway:traffic_sign:supplementary=none` Only visible if `cycleway:traffic_sign=BE:D7|cycleway:traffic_sign~^BE:D7;.*$` is shown @@ -391,10 +392,10 @@ The question is How is this cycleway separated from the road? - - This cycleway is separated by a dashed line corresponds with cycleway:separation=dashed_line - - This cycleway is separated by a solid line corresponds with cycleway:separation=solid_line - - This cycleway is separated by a parking lane corresponds with cycleway:separation=parking_lane - - This cycleway is separated by a kerb corresponds with cycleway:separation=kerb + - This cycleway is separated by a dashed line corresponds with `cycleway:separation=dashed_line` + - This cycleway is separated by a solid line corresponds with `cycleway:separation=solid_line` + - This cycleway is separated by a parking lane corresponds with `cycleway:separation=parking_lane` + - This cycleway is separated by a kerb corresponds with `cycleway:separation=kerb` Only visible if `cycleway=track|cycleway=lane` is shown @@ -411,10 +412,10 @@ The question is How is this cycleway separated from the road? - - This cycleway is separated by a dashed line corresponds with separation=dashed_line - - This cycleway is separated by a solid line corresponds with separation=solid_line - - This cycleway is separated by a parking lane corresponds with separation=parking_lane - - This cycleway is separated by a kerb corresponds with separation=kerb + - This cycleway is separated by a dashed line corresponds with `separation=dashed_line` + - This cycleway is separated by a solid line corresponds with `separation=solid_line` + - This cycleway is separated by a parking lane corresponds with `separation=parking_lane` + - This cycleway is separated by a kerb corresponds with `separation=kerb` Only visible if `highway=cycleway|highway=path` is shown diff --git a/Docs/Layers/defibrillator.md b/Docs/Layers/defibrillator.md index 606fb3605..4325027ec 100644 --- a/Docs/Layers/defibrillator.md +++ b/Docs/Layers/defibrillator.md @@ -84,6 +84,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -100,8 +102,8 @@ The question is Is this defibrillator located indoors? - - This defibrillator is located indoors corresponds with indoor=yes - - This defibrillator is located outdoors corresponds with indoor=no + - This defibrillator is located indoors corresponds with `indoor=yes` + - This defibrillator is located outdoors corresponds with `indoor=no` @@ -120,12 +122,12 @@ This is rendered with Access is {access} - - Publicly accessible corresponds with access=yes - - Publicly accessible corresponds with access=public + - Publicly accessible corresponds with `access=yes` + - Publicly accessible corresponds with `access=public` - This option cannot be chosen as answer - - Only accessible to customers corresponds with access=customers - - Not accessible to the general public (e.g. only accesible to staff, the owners, …) corresponds with access=private - - Not accessible, possibly only for professional use corresponds with access=no + - Only accessible to customers corresponds with `access=customers` + - Not accessible to the general public (e.g. only accesible to staff, the owners, …) corresponds with `access=private` + - Not accessible, possibly only for professional use corresponds with `access=no` @@ -140,11 +142,11 @@ The question is Is this a a regular automatic defibrillator or a manual defibri - - There is no info about the type of device corresponds with + - There is no info about the type of device corresponds with `` - This option cannot be chosen as answer - - This is a manual defibrillator for professionals corresponds with defibrillator=manual - - This is a normal automatic defibrillator corresponds with defibrillator=automatic - - This is a special type of defibrillator: {defibrillator} corresponds with defibrillator~^..*$ + - This is a manual defibrillator for professionals corresponds with `defibrillator=manual` + - This is a normal automatic defibrillator corresponds with `defibrillator=automatic` + - This is a special type of defibrillator: {defibrillator} corresponds with `defibrillator~^..*$` - This option cannot be chosen as answer @@ -166,8 +168,8 @@ This is rendered with This defibrillator is on floor {level} - - This defibrillator is on the ground floor corresponds with level=0 - - This defibrillator is on the first floor corresponds with level=1 + - This defibrillator is on the ground floor corresponds with `level=0` + - This defibrillator is on the first floor corresponds with `level=1` Only visible if `indoor=yes` is shown @@ -226,10 +228,10 @@ 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 + - 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` @@ -290,7 +292,7 @@ This is rendered with {opening_hours_table(opening_hours)} - - 24/7 opened (including holidays) corresponds with opening_hours=24/7 + - 24/7 opened (including holidays) corresponds with `opening_hours=24/7` @@ -323,7 +325,7 @@ This is rendered with This defibrillator was last surveyed on {survey:date} - - Checked today! corresponds with survey:date= + - Checked today! corresponds with `survey:date=` diff --git a/Docs/Layers/doctors.md b/Docs/Layers/doctors.md index 66d40b308..a9fd89ca3 100644 --- a/Docs/Layers/doctors.md +++ b/Docs/Layers/doctors.md @@ -26,6 +26,7 @@ This layer shows doctor offices, dentists and other healthcare facilities - [healthcare](https://mapcomplete.osm.be/healthcare) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -74,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -108,7 +111,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -128,7 +131,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -148,7 +151,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -182,10 +185,10 @@ This is rendered with This doctor is specialized in {healthcare:speciality} - - This is a general practitioner corresponds with healthcare:speciality=general - - This is a gynaecologist corresponds with healthcare:speciality=gynaecology - - This is a psychiatrist corresponds with healthcare:speciality=psychiatry - - This is a paediatrician corresponds with healthcare:speciality=paediatrics + - This is a general practitioner corresponds with `healthcare:speciality=general` + - This is a gynaecologist corresponds with `healthcare:speciality=gynaecology` + - This is a psychiatrist corresponds with `healthcare:speciality=psychiatry` + - This is a paediatrician corresponds with `healthcare:speciality=paediatrics` Only visible if `amenity=doctors` is shown diff --git a/Docs/Layers/dogfoodb.md b/Docs/Layers/dogfoodb.md index 5cb2f4b69..f907e7920 100644 --- a/Docs/Layers/dogfoodb.md +++ b/Docs/Layers/dogfoodb.md @@ -60,6 +60,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/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 | [fast_food](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dfast_food) [restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | @@ -87,12 +88,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### Name @@ -117,8 +145,8 @@ The question is What type of business is this? - - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with amenity=fast_food - - A restaurant, focused on creating a nice experience where one is served at the table corresponds with amenity=restaurant + - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with `amenity=fast_food` + - A restaurant, focused on creating a nice experience where one is served at the table corresponds with `amenity=restaurant` @@ -151,7 +179,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -171,7 +199,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -191,7 +219,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -207,9 +235,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -225,10 +253,10 @@ 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 + - 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` @@ -247,21 +275,21 @@ This is rendered with This place mostly serves {cuisine} - - This is a pizzeria corresponds with cuisine=pizza - - This is a friture corresponds with cuisine=friture - - Mainly serves pasta corresponds with cuisine=pasta - - This is kebab shop corresponds with cuisine=kebab - - This is a sandwichbar corresponds with cuisine=sandwich - - Burgers are served here corresponds with cuisine=burger - - Sushi is served here corresponds with cuisine=sushi - - Coffee is served here corresponds with cuisine=coffee - - This is an italian restaurant (which serves more then pasta and pizza) corresponds with cuisine=italian - - French dishes are served here corresponds with cuisine=french - - Chinese dishes are served here corresponds with cuisine=chinese - - Greek dishes are served here corresponds with cuisine=greek - - Indian dishes are served here corresponds with cuisine=indian - - Turkish dishes are served here corresponds with cuisine=turkish - - Thai dishes are served here corresponds with cuisine=thai + - This is a pizzeria corresponds with `cuisine=pizza` + - This is a friture corresponds with `cuisine=friture` + - Mainly serves pasta corresponds with `cuisine=pasta` + - This is kebab shop corresponds with `cuisine=kebab` + - This is a sandwichbar corresponds with `cuisine=sandwich` + - Burgers are served here corresponds with `cuisine=burger` + - Sushi is served here corresponds with `cuisine=sushi` + - Coffee is served here corresponds with `cuisine=coffee` + - This is an italian restaurant (which serves more then pasta and pizza) corresponds with `cuisine=italian` + - French dishes are served here corresponds with `cuisine=french` + - Chinese dishes are served here corresponds with `cuisine=chinese` + - Greek dishes are served here corresponds with `cuisine=greek` + - Indian dishes are served here corresponds with `cuisine=indian` + - Turkish dishes are served here corresponds with `cuisine=turkish` + - Thai dishes are served here corresponds with `cuisine=thai` @@ -276,9 +304,9 @@ The question is Does this place offer take-away? - - This is a take-away only business corresponds with takeaway=only - - Take-away is possible here corresponds with takeaway=yes - - Take-away is not possible here corresponds with takeaway=no + - This is a take-away only business corresponds with `takeaway=only` + - Take-away is possible here corresponds with `takeaway=yes` + - Take-away is not possible here corresponds with `takeaway=no` @@ -293,8 +321,8 @@ The question is Delivers {title()} their food at home? - - This business does home delivery (eventually via a third party) corresponds with delivery=yes - - This business does not deliver at home corresponds with delivery=no + - This business does home delivery (eventually via a third party) corresponds with `delivery=yes` + - This business does not deliver at home corresponds with `delivery=no` @@ -309,10 +337,10 @@ The question is Does this restaurant have a vegetarian option? - - No vegetarian options are available corresponds with diet:vegetarian=no - - Some vegetarian options are available corresponds with diet:vegetarian=limited - - Vegetarian options are available corresponds with diet:vegetarian=yes - - All dishes are vegetarian corresponds with diet:vegetarian=only + - No vegetarian options are available corresponds with `diet:vegetarian=no` + - Some vegetarian options are available corresponds with `diet:vegetarian=limited` + - Vegetarian options are available corresponds with `diet:vegetarian=yes` + - All dishes are vegetarian corresponds with `diet:vegetarian=only` @@ -327,10 +355,10 @@ The question is Does this business serve vegan meals? - - No vegan options available corresponds with diet:vegan=no - - Some vegan options are available corresponds with diet:vegan=limited - - Vegan options are available corresponds with diet:vegan=yes - - All dishes are vegan corresponds with diet:vegan=only + - No vegan options available corresponds with `diet:vegan=no` + - Some vegan options are available corresponds with `diet:vegan=limited` + - Vegan options are available corresponds with `diet:vegan=yes` + - All dishes are vegan corresponds with `diet:vegan=only` @@ -345,10 +373,10 @@ The question is Does this restaurant offer a halal menu? - - There are no halal options available corresponds with diet:halal=no - - There is a small halal menu corresponds with diet:halal=limited - - There is a halal menu corresponds with diet:halal=yes - - Only halal options are available corresponds with diet:halal=only + - There are no halal options available corresponds with `diet:halal=no` + - There is a small halal menu corresponds with `diet:halal=limited` + - There is a halal menu corresponds with `diet:halal=yes` + - Only halal options are available corresponds with `diet:halal=only` @@ -363,9 +391,9 @@ The question is Does this fries shop have vegetarian snacks? - - Vegetarian snacks are available corresponds with diet:vegetarian=yes - - Only a small selection of snacks are vegetarian corresponds with diet:vegetarian=limited - - No vegetarian snacks are available corresponds with diet:vegetarian=no + - Vegetarian snacks are available corresponds with `diet:vegetarian=yes` + - Only a small selection of snacks are vegetarian corresponds with `diet:vegetarian=limited` + - No vegetarian snacks are available corresponds with `diet:vegetarian=no` Only visible if `cuisine=friture` is shown @@ -382,9 +410,9 @@ The question is Does this fries shop have vegan snacks? - - Vegan snacks are available corresponds with diet:vegan=yes - - A small selection of vegan snacks are available corresponds with diet:vegan=limited - - No vegan snacks are available corresponds with diet:vegan=no + - Vegan snacks are available corresponds with `diet:vegan=yes` + - A small selection of vegan snacks are available corresponds with `diet:vegan=limited` + - No vegan snacks are available corresponds with `diet:vegan=no` Only visible if `cuisine=friture` is shown @@ -401,8 +429,8 @@ The question is Does this fries shop use vegetable or animal oil for cooking? - - The frying is done with vegetable oil corresponds with friture:oil=vegetable - - The frying is done with animal oil corresponds with friture:oil=animal + - The frying is done with vegetable oil corresponds with `friture:oil=vegetable` + - The frying is done with animal oil corresponds with `friture:oil=animal` Only visible if `cuisine=friture` is shown @@ -419,9 +447,9 @@ The question is If you bring your own container (such as a cooking pot and smal - - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with reusable_packaging:accept=yes - - Bringing your own container is not allowed corresponds with reusable_packaging:accept=no - - You must bring your own container to order here. corresponds with reusable_packaging:accept=only + - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with `reusable_packaging:accept=yes` + - Bringing your own container is not allowed corresponds with `reusable_packaging:accept=no` + - You must bring your own container to order here. corresponds with `reusable_packaging:accept=only` Only visible if `cuisine=friture` is shown @@ -438,10 +466,10 @@ The question is Does this amenity have electrical outlets, available to custome - - 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 + - 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` @@ -456,10 +484,10 @@ 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` @@ -468,6 +496,8 @@ The question is Are dogs allowed in this business? +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -478,6 +508,8 @@ This tagrendering has no question and is thus read-only +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -488,6 +520,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/dogpark.md b/Docs/Layers/dogpark.md index bf316106d..60f6eb4de 100644 --- a/Docs/Layers/dogpark.md +++ b/Docs/Layers/dogpark.md @@ -77,8 +77,8 @@ The question is It this dog park fenced in? - - This dogpark is fenced all around corresponds with barrier=fence - - This dogpark is not fenced all around corresponds with barrier=no + - This dogpark is fenced all around corresponds with `barrier=fence` + - This dogpark is not fenced all around corresponds with `barrier=no` @@ -93,8 +93,8 @@ The question is Does this dog park have a separate fenced in area for small dog - - Have separate area for puppies and small dogs corresponds with small_dog=separate - - Does not have a separate area for puppies and small dogs corresponds with small_dog=shared + - Have separate area for puppies and small dogs corresponds with `small_dog=separate` + - Does not have a separate area for puppies and small dogs corresponds with `small_dog=shared` @@ -127,6 +127,8 @@ This tagrendering has no question and is thus read-only +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -137,6 +139,8 @@ This tagrendering has no question and is thus read-only +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/dogshop.md b/Docs/Layers/dogshop.md index eba6f30ca..1d5ebc3a2 100644 --- a/Docs/Layers/dogshop.md +++ b/Docs/Layers/dogshop.md @@ -66,6 +66,7 @@ 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/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) @@ -74,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -108,166 +111,166 @@ This is rendered with This is a {shop} - - Farm Supply Shop corresponds with shop=agrarian - - Liquor Store corresponds with shop=alcohol - - Anime / Manga Shop corresponds with shop=anime - - Antiques Shop corresponds with shop=antiques - - Appliance Store corresponds with shop=appliance - - Art Store corresponds with shop=art - - Baby Goods Store corresponds with shop=baby_goods - - Bag/Luggage Store corresponds with shop=bag - - Bakery corresponds with shop=bakery - - Bathroom Furnishing Store corresponds with shop=bathroom_furnishing - - Beauty Shop corresponds with shop=beauty - - Bedding/Mattress Store corresponds with shop=bed - - Beverage Store corresponds with shop=beverages - - Bicycle Shop corresponds with shop=bicycle - - Boat Store corresponds with shop=boat - - Bookmaker corresponds with shop=bookmaker - - Book Store corresponds with shop=books - - Brewing Supply Store corresponds with shop=brewing_supplies - - Butcher corresponds with shop=butcher - - Camera Equipment Store corresponds with shop=camera - - Candle Shop corresponds with shop=candles - - Cannabis Shop corresponds with shop=cannabis - - Car Dealership corresponds with shop=car - - Car Parts Store corresponds with shop=car_parts - - Car Repair Shop corresponds with shop=car_repair - - RV Dealership corresponds with shop=caravan - - Carpet Store corresponds with shop=carpet - - Catalog Shop corresponds with shop=catalogue - - Charity Store corresponds with shop=charity - - Cheese Store corresponds with shop=cheese - - Drugstore corresponds with shop=chemist - - Chocolate Store corresponds with shop=chocolate - - Clothing Store corresponds with shop=clothes - - Coffee Store corresponds with shop=coffee - - Collectibles Shop corresponds with shop=collector - - Computer Store corresponds with shop=computer - - Candy Store corresponds with shop=confectionery - - Convenience Store corresponds with shop=convenience - - Copy Store corresponds with shop=copyshop - - Cosmetics Store corresponds with shop=cosmetics - - Country Store corresponds with shop=country_store - - Arts & Crafts Store corresponds with shop=craft - - Curtain Store corresponds with shop=curtain - - Dairy Store corresponds with shop=dairy - - Deli corresponds with shop=deli - - Department Store corresponds with shop=department_store - - DIY Store corresponds with shop=doityourself - - Door Shop corresponds with shop=doors - - Dry Cleaner corresponds with shop=dry_cleaning - - E-Cigarette Shop corresponds with shop=e-cigarette - - Electrical Equipment Store corresponds with shop=electrical - - Electronics Store corresponds with shop=electronics - - Erotic Store corresponds with shop=erotic - - Fabric Store corresponds with shop=fabric - - Produce Stand corresponds with shop=farm - - Fashion Accessories Store corresponds with shop=fashion_accessories - - Fireplace Store corresponds with shop=fireplace - - Fishing Shop corresponds with shop=fishing - - Flooring Supply Shop corresponds with shop=flooring - - Florist corresponds with shop=florist - - Framing Shop corresponds with shop=frame - - Frozen Food Store corresponds with shop=frozen_food - - Fuel Shop corresponds with shop=fuel - - Funeral Home corresponds with shop=funeral_directors - - Furniture Store corresponds with shop=furniture - - Tabletop Game Store corresponds with shop=games - - Garden Center corresponds with shop=garden_centre - - Bottled Gas Shop corresponds with shop=gas - - General Store corresponds with shop=general - - Gift Shop corresponds with shop=gift - - Greengrocer corresponds with shop=greengrocer - - Hairdresser corresponds with shop=hairdresser - - Hairdresser Supply Store corresponds with shop=hairdresser_supply - - Hardware Store corresponds with shop=hardware - - Health Food Shop corresponds with shop=health_food - - Hearing Aids Store corresponds with shop=hearing_aids - - Herbalist corresponds with shop=herbalist - - Hifi Store corresponds with shop=hifi - - Hobby Shop corresponds with shop=hobby - - Household Linen Shop corresponds with shop=household_linen - - Houseware Store corresponds with shop=houseware - - Hunting Shop corresponds with shop=hunting - - Interior Decoration Store corresponds with shop=interior_decoration - - Jewelry Store corresponds with shop=jewelry - - Kiosk corresponds with shop=kiosk - - Kitchen Design Store corresponds with shop=kitchen - - Laundry corresponds with shop=laundry - - Leather Store corresponds with shop=leather - - Lighting Store corresponds with shop=lighting - - Locksmith corresponds with shop=locksmith - - Lottery Shop corresponds with shop=lottery - - Mall corresponds with shop=mall - - Massage Shop corresponds with shop=massage - - Medical Supply Store corresponds with shop=medical_supply - - Military Surplus Store corresponds with shop=military_surplus - - Mobile Phone Store corresponds with shop=mobile_phone - - Model Shop corresponds with shop=model - - Money Lender corresponds with shop=money_lender - - Motorcycle Dealership corresponds with shop=motorcycle - - Motorcycle Repair Shop corresponds with shop=motorcycle_repair - - Music Store corresponds with shop=music - - Musical Instrument Store corresponds with shop=musical_instrument - - Newspaper/Magazine Shop corresponds with shop=newsagent - - Nutrition Supplements Store corresponds with shop=nutrition_supplements - - Optician corresponds with shop=optician - - Outdoors Store corresponds with shop=outdoor - - Online Retailer Outpost corresponds with shop=outpost - - Paint Store corresponds with shop=paint - - Party Supply Store corresponds with shop=party - - Pastry Shop corresponds with shop=pastry - - Pawn Shop corresponds with shop=pawnbroker - - Perfume Store corresponds with shop=perfumery - - Pet Store corresponds with shop=pet - - Pet Grooming Store corresponds with shop=pet_grooming - - Photography Store corresponds with shop=photo - - Pottery Store corresponds with shop=pottery - - Printer Ink Store corresponds with shop=printer_ink - - Psychic corresponds with shop=psychic - - Fireworks Store corresponds with shop=pyrotechnics - - Radio/Electronic Component Store corresponds with shop=radiotechnics - - Religious Store corresponds with shop=religion - - Rental Shop corresponds with shop=rental - - Repair Shop corresponds with shop=repair - - Scuba Diving Shop corresponds with shop=scuba_diving - - Seafood Shop corresponds with shop=seafood - - Consignment/Thrift Store corresponds with shop=second_hand - - Sewing Supply Shop corresponds with shop=sewing - - Shoe Repair Shop corresponds with shop=shoe_repair - - Shoe Store corresponds with shop=shoes - - Spice Shop corresponds with shop=spices - - Sporting Goods Store corresponds with shop=sports - - Stationery Store corresponds with shop=stationery - - Storage Rental corresponds with shop=storage_rental - - Supermarket corresponds with shop=supermarket - - Pool Supply Store corresponds with shop=swimming_pool - - Tailor corresponds with shop=tailor - - Tattoo Parlor corresponds with shop=tattoo - - Tea Store corresponds with shop=tea - - Telecom Retail Store corresponds with shop=telecommunication - - Ticket Seller corresponds with shop=ticket - - Tile Shop corresponds with shop=tiles - - Tobacco Shop corresponds with shop=tobacco - - Tool Rental corresponds with shop=tool_hire - - Toy Store corresponds with shop=toys - - Trade Shop corresponds with shop=trade - - Travel Agency corresponds with shop=travel_agency - - Trophy Shop corresponds with shop=trophy - - Tire Store corresponds with shop=tyres - - Vacuum Cleaner Store corresponds with shop=vacuum_cleaner - - Variety Store corresponds with shop=variety_store - - Video Store corresponds with shop=video - - Video Game Store corresponds with shop=video_games - - Watches Shop corresponds with shop=watches - - Drinking Water Shop corresponds with shop=water - - Watersport/Swim Shop corresponds with shop=water_sports - - Weapon Shop corresponds with shop=weapons - - Wholesale Store corresponds with shop=wholesale - - Wig Shop corresponds with shop=wigs - - Window Blind Store corresponds with shop=window_blind - - Wine Shop corresponds with shop=wine + - Farm Supply Shop corresponds with `shop=agrarian` + - Liquor Store corresponds with `shop=alcohol` + - Anime / Manga Shop corresponds with `shop=anime` + - Antiques Shop corresponds with `shop=antiques` + - Appliance Store corresponds with `shop=appliance` + - Art Store corresponds with `shop=art` + - Baby Goods Store corresponds with `shop=baby_goods` + - Bag/Luggage Store corresponds with `shop=bag` + - Bakery corresponds with `shop=bakery` + - Bathroom Furnishing Store corresponds with `shop=bathroom_furnishing` + - Beauty Shop corresponds with `shop=beauty` + - Bedding/Mattress Store corresponds with `shop=bed` + - Beverage Store corresponds with `shop=beverages` + - Bicycle Shop corresponds with `shop=bicycle` + - Boat Store corresponds with `shop=boat` + - Bookmaker corresponds with `shop=bookmaker` + - Book Store corresponds with `shop=books` + - Brewing Supply Store corresponds with `shop=brewing_supplies` + - Butcher corresponds with `shop=butcher` + - Camera Equipment Store corresponds with `shop=camera` + - Candle Shop corresponds with `shop=candles` + - Cannabis Shop corresponds with `shop=cannabis` + - Car Dealership corresponds with `shop=car` + - Car Parts Store corresponds with `shop=car_parts` + - Car Repair Shop corresponds with `shop=car_repair` + - RV Dealership corresponds with `shop=caravan` + - Carpet Store corresponds with `shop=carpet` + - Catalog Shop corresponds with `shop=catalogue` + - Charity Store corresponds with `shop=charity` + - Cheese Store corresponds with `shop=cheese` + - Drugstore corresponds with `shop=chemist` + - Chocolate Store corresponds with `shop=chocolate` + - Clothing Store corresponds with `shop=clothes` + - Coffee Store corresponds with `shop=coffee` + - Collectibles Shop corresponds with `shop=collector` + - Computer Store corresponds with `shop=computer` + - Candy Store corresponds with `shop=confectionery` + - Convenience Store corresponds with `shop=convenience` + - Copy Store corresponds with `shop=copyshop` + - Cosmetics Store corresponds with `shop=cosmetics` + - Country Store corresponds with `shop=country_store` + - Arts & Crafts Store corresponds with `shop=craft` + - Curtain Store corresponds with `shop=curtain` + - Dairy Store corresponds with `shop=dairy` + - Deli corresponds with `shop=deli` + - Department Store corresponds with `shop=department_store` + - DIY Store corresponds with `shop=doityourself` + - Door Shop corresponds with `shop=doors` + - Dry Cleaner corresponds with `shop=dry_cleaning` + - E-Cigarette Shop corresponds with `shop=e-cigarette` + - Electrical Equipment Store corresponds with `shop=electrical` + - Electronics Store corresponds with `shop=electronics` + - Erotic Store corresponds with `shop=erotic` + - Fabric Store corresponds with `shop=fabric` + - Produce Stand corresponds with `shop=farm` + - Fashion Accessories Store corresponds with `shop=fashion_accessories` + - Fireplace Store corresponds with `shop=fireplace` + - Fishing Shop corresponds with `shop=fishing` + - Flooring Supply Shop corresponds with `shop=flooring` + - Florist corresponds with `shop=florist` + - Framing Shop corresponds with `shop=frame` + - Frozen Food Store corresponds with `shop=frozen_food` + - Fuel Shop corresponds with `shop=fuel` + - Funeral Home corresponds with `shop=funeral_directors` + - Furniture Store corresponds with `shop=furniture` + - Tabletop Game Store corresponds with `shop=games` + - Garden Center corresponds with `shop=garden_centre` + - Bottled Gas Shop corresponds with `shop=gas` + - General Store corresponds with `shop=general` + - Gift Shop corresponds with `shop=gift` + - Greengrocer corresponds with `shop=greengrocer` + - Hairdresser corresponds with `shop=hairdresser` + - Hairdresser Supply Store corresponds with `shop=hairdresser_supply` + - Hardware Store corresponds with `shop=hardware` + - Health Food Shop corresponds with `shop=health_food` + - Hearing Aids Store corresponds with `shop=hearing_aids` + - Herbalist corresponds with `shop=herbalist` + - Hifi Store corresponds with `shop=hifi` + - Hobby Shop corresponds with `shop=hobby` + - Household Linen Shop corresponds with `shop=household_linen` + - Houseware Store corresponds with `shop=houseware` + - Hunting Shop corresponds with `shop=hunting` + - Interior Decoration Store corresponds with `shop=interior_decoration` + - Jewelry Store corresponds with `shop=jewelry` + - Kiosk corresponds with `shop=kiosk` + - Kitchen Design Store corresponds with `shop=kitchen` + - Laundry corresponds with `shop=laundry` + - Leather Store corresponds with `shop=leather` + - Lighting Store corresponds with `shop=lighting` + - Locksmith corresponds with `shop=locksmith` + - Lottery Shop corresponds with `shop=lottery` + - Mall corresponds with `shop=mall` + - Massage Shop corresponds with `shop=massage` + - Medical Supply Store corresponds with `shop=medical_supply` + - Military Surplus Store corresponds with `shop=military_surplus` + - Mobile Phone Store corresponds with `shop=mobile_phone` + - Model Shop corresponds with `shop=model` + - Money Lender corresponds with `shop=money_lender` + - Motorcycle Dealership corresponds with `shop=motorcycle` + - Motorcycle Repair Shop corresponds with `shop=motorcycle_repair` + - Music Store corresponds with `shop=music` + - Musical Instrument Store corresponds with `shop=musical_instrument` + - Newspaper/Magazine Shop corresponds with `shop=newsagent` + - Nutrition Supplements Store corresponds with `shop=nutrition_supplements` + - Optician corresponds with `shop=optician` + - Outdoors Store corresponds with `shop=outdoor` + - Online Retailer Outpost corresponds with `shop=outpost` + - Paint Store corresponds with `shop=paint` + - Party Supply Store corresponds with `shop=party` + - Pastry Shop corresponds with `shop=pastry` + - Pawn Shop corresponds with `shop=pawnbroker` + - Perfume Store corresponds with `shop=perfumery` + - Pet Store corresponds with `shop=pet` + - Pet Grooming Store corresponds with `shop=pet_grooming` + - Photography Store corresponds with `shop=photo` + - Pottery Store corresponds with `shop=pottery` + - Printer Ink Store corresponds with `shop=printer_ink` + - Psychic corresponds with `shop=psychic` + - Fireworks Store corresponds with `shop=pyrotechnics` + - Radio/Electronic Component Store corresponds with `shop=radiotechnics` + - Religious Store corresponds with `shop=religion` + - Rental Shop corresponds with `shop=rental` + - Repair Shop corresponds with `shop=repair` + - Scuba Diving Shop corresponds with `shop=scuba_diving` + - Seafood Shop corresponds with `shop=seafood` + - Consignment/Thrift Store corresponds with `shop=second_hand` + - Sewing Supply Shop corresponds with `shop=sewing` + - Shoe Repair Shop corresponds with `shop=shoe_repair` + - Shoe Store corresponds with `shop=shoes` + - Spice Shop corresponds with `shop=spices` + - Sporting Goods Store corresponds with `shop=sports` + - Stationery Store corresponds with `shop=stationery` + - Storage Rental corresponds with `shop=storage_rental` + - Supermarket corresponds with `shop=supermarket` + - Pool Supply Store corresponds with `shop=swimming_pool` + - Tailor corresponds with `shop=tailor` + - Tattoo Parlor corresponds with `shop=tattoo` + - Tea Store corresponds with `shop=tea` + - Telecom Retail Store corresponds with `shop=telecommunication` + - Ticket Seller corresponds with `shop=ticket` + - Tile Shop corresponds with `shop=tiles` + - Tobacco Shop corresponds with `shop=tobacco` + - Tool Rental corresponds with `shop=tool_hire` + - Toy Store corresponds with `shop=toys` + - Trade Shop corresponds with `shop=trade` + - Travel Agency corresponds with `shop=travel_agency` + - Trophy Shop corresponds with `shop=trophy` + - Tire Store corresponds with `shop=tyres` + - Vacuum Cleaner Store corresponds with `shop=vacuum_cleaner` + - Variety Store corresponds with `shop=variety_store` + - Video Store corresponds with `shop=video` + - Video Game Store corresponds with `shop=video_games` + - Watches Shop corresponds with `shop=watches` + - Drinking Water Shop corresponds with `shop=water` + - Watersport/Swim Shop corresponds with `shop=water_sports` + - Weapon Shop corresponds with `shop=weapons` + - Wholesale Store corresponds with `shop=wholesale` + - Wig Shop corresponds with `shop=wigs` + - Window Blind Store corresponds with `shop=window_blind` + - Wine Shop corresponds with `shop=wine` Only visible if `id~^..*$` is shown @@ -302,7 +305,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -322,7 +325,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -342,7 +345,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -358,14 +361,39 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### copyshop-print-sizes @@ -376,15 +404,15 @@ The question is What paper formats does this shop offer? - - This shop can print on papers of size A4 corresponds with service:print:A4=yes + - This shop can print on papers of size A4 corresponds with `service:print:A4=yes` - Unselecting this answer will add service:print:A4=no - - This shop can print on papers of size A3 corresponds with service:print:A3=yes + - This shop can print on papers of size A3 corresponds with `service:print:A3=yes` - Unselecting this answer will add service:print:A3=no - - This shop can print on papers of size A2 corresponds with service:print:A2=yes + - This shop can print on papers of size A2 corresponds with `service:print:A2=yes` - Unselecting this answer will add service:print:A2=no - - This shop can print on papers of size A1 corresponds with service:print:A1=yes + - This shop can print on papers of size A1 corresponds with `service:print:A1=yes` - Unselecting this answer will add service:print:A1=no - - This shop can print on papers of size A0 corresponds with service:print:A0=yes + - This shop can print on papers of size A0 corresponds with `service:print:A0=yes` - Unselecting this answer will add service:print:A0=no @@ -406,6 +434,8 @@ This tagrendering has no question and is thus read-only +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -416,6 +446,8 @@ This tagrendering has no question and is thus read-only +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -426,6 +458,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/drinking_water.md b/Docs/Layers/drinking_water.md index b21731a3c..dbc1b6361 100644 --- a/Docs/Layers/drinking_water.md +++ b/Docs/Layers/drinking_water.md @@ -44,12 +44,13 @@ Elements must have the all of following tags to be shown on this layer: - - amenity=drinking_water + - amenity=drinking_water|drinking_water=yes + - man_made!=reservoir_covered - access!=permissive - access!=private -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22drinking_water%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22drinking_water%22%5D%5B%22man_made%22!%3D%22reservoir_covered%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22drinking_water%22%3D%22yes%22%5D%5B%22man_made%22!%3D%22reservoir_covered%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -76,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -96,9 +99,9 @@ This is rendered with The operational status is {operational_status} - - This drinking water works corresponds with - - This drinking water is broken corresponds with operational_status=broken - - This drinking water is closed corresponds with operational_status=closed + - This drinking water works corresponds with `` + - This drinking water is broken corresponds with `operational_status=broken` + - This drinking water is closed corresponds with `operational_status=closed` @@ -113,8 +116,8 @@ The question is How easy is it to fill water bottles? - - It is easy to refill water bottles corresponds with bottle=yes - - Water bottles may not fit corresponds with bottle=no + - It is easy to refill water bottles corresponds with `bottle=yes` + - Water bottles may not fit corresponds with `bottle=no` diff --git a/Docs/Layers/dumpstations.md b/Docs/Layers/dumpstations.md index 1ef0ba472..f3a57f9e7 100644 --- a/Docs/Layers/dumpstations.md +++ b/Docs/Layers/dumpstations.md @@ -77,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -93,8 +95,8 @@ The question is Does this place charge a fee? - - You need to pay for use corresponds with fee=yes - - Can be used for free corresponds with fee=no + - You need to pay for use corresponds with `fee=yes` + - Can be used for free corresponds with `fee=no` @@ -125,8 +127,8 @@ The question is Does this place have a water point? - - This place has a water point corresponds with water_point=yes - - This place does not have a water point corresponds with water_point=no + - This place has a water point corresponds with `water_point=yes` + - This place does not have a water point corresponds with `water_point=no` @@ -141,8 +143,8 @@ The question is Can you dispose of grey water here? - - You can dispose of grey water here corresponds with sanitary_dump_station:grey_water=yes - - You cannot dispose of gray water here corresponds with sanitary_dump_station:grey_water=no + - You can dispose of grey water here corresponds with `sanitary_dump_station:grey_water=yes` + - You cannot dispose of gray water here corresponds with `sanitary_dump_station:grey_water=no` @@ -157,8 +159,8 @@ The question is Can you dispose of chemical toilet waste here? - - You can dispose of chemical toilet waste here corresponds with sanitary_dump_station:chemical_toilet=yes - - You cannot dispose of chemical toilet waste here corresponds with sanitary_dump_station:chemical_toilet=no + - You can dispose of chemical toilet waste here corresponds with `sanitary_dump_station:chemical_toilet=yes` + - You cannot dispose of chemical toilet waste here corresponds with `sanitary_dump_station:chemical_toilet=no` @@ -173,11 +175,11 @@ The question is Who can use this dump station? - - You need a network key/code to use this corresponds with access=network - - You need to be a customer of camping/campersite to use this place corresponds with access=customers - - Anyone can use this dump station corresponds with access=public + - You need a network key/code to use this corresponds with `access=network` + - You need to be a customer of camping/campersite to use this place corresponds with `access=customers` + - Anyone can use this dump station corresponds with `access=public` - This option cannot be chosen as answer - - Anyone can use this dump station corresponds with access=yes + - Anyone can use this dump station corresponds with `access=yes` @@ -220,8 +222,8 @@ The question is Does this place have a power supply? - - This place has a power supply corresponds with power_supply=yes - - This place does not have power supply corresponds with power_supply=no + - This place has a power supply corresponds with `power_supply=yes` + - This place does not have power supply corresponds with `power_supply=no` @@ -230,6 +232,8 @@ The question is Does this place have a power supply? +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -240,6 +244,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/education_institutions_without_etymology.md b/Docs/Layers/education_institutions_without_etymology.md index 5a3bb4053..6068dd214 100644 --- a/Docs/Layers/education_institutions_without_etymology.md +++ b/Docs/Layers/education_institutions_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/elevator.md b/Docs/Layers/elevator.md new file mode 100644 index 000000000..09ca7cb0d --- /dev/null +++ b/Docs/Layers/elevator.md @@ -0,0 +1,187 @@ + + + elevator +========== + + + + + +This layer show elevators and asks for operational status and elevator dimensions. Useful for wheelchair accessibility information + + + + + + + - This layer is shown at zoomlevel **13** and higher + + + + +#### Themes using this layer + + + + + + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - highway=elevator + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22highway%22%3D%22elevator%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [string](../SpecialInputElements.md#string) | [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/operational_status#values) [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) | Multiple choice | [broken](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken) [closed](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed) [ok](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dok) +[](https://taginfo.openstreetmap.org/keys/door:width#values) [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/elevator:width#values) [elevator:width](https://wiki.openstreetmap.org/wiki/Key:elevator:width) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/elevator:depth#values) [elevator:depth](https://wiki.openstreetmap.org/wiki/Key:elevator:depth) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/hearing_loop#values) [hearing_loop](https://wiki.openstreetmap.org/wiki/Key:hearing_loop) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dno) + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + + + +### multilevels + + + +The question is What levels does this elevator go to? + +This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) + +This is rendered with This elevator goes to floors {level} + + + + + + - 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` + + + + +### operational_status + + + +The question is Does this elevator work? + + + + + + - This elevator is broken corresponds with `operational_status=broken` + - This elevator is closed e.g. because renovation works are going on corresponds with `operational_status=closed` + - This elevator works corresponds with `operational_status=ok` + - This elevator works corresponds with `` + - This option cannot be chosen as answer + + + + +### door-width + + + +The question is What is the width of this elevator's entrance? + +This rendering asks information about the property [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) + +This is rendered with This elevator's doors have a width of {canonical(door:width)} + + + + + +### elevator-width + + + +The question is What is the width of this elevator? + +This rendering asks information about the property [elevator:width](https://wiki.openstreetmap.org/wiki/Key:elevator:width) + +This is rendered with This elevator has a width of {canonical(elevator:width)} + + + + + +### elevator-depth + + + +The question is What is the depth of this elevator? + +This rendering asks information about the property [elevator:depth](https://wiki.openstreetmap.org/wiki/Key:elevator:depth) + +This is rendered with This elevator has a depth of {canonical(elevator:depth)} + + + + + +### induction-loop + + + +An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver. + +The question is Does this place have an audio induction loop for people with reduced hearing? + + + + + + - This place has an audio induction loop corresponds with `hearing_loop=yes` + - This place does not has an audio induction loop corresponds with `hearing_loop=no` + + +This document is autogenerated from [assets/layers/elevator/elevator.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/elevator/elevator.json) \ No newline at end of file diff --git a/Docs/Layers/entrance.md b/Docs/Layers/entrance.md index c9bc3acd9..ada376f77 100644 --- a/Docs/Layers/entrance.md +++ b/Docs/Layers/entrance.md @@ -29,8 +29,8 @@ A layer showing entrances and offering capabilities to survey some advanced data - [entrances](https://mapcomplete.osm.be/entrances) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - - [walls_and_buildings](https://mapcomplete.osm.be/walls_and_buildings) @@ -44,10 +44,10 @@ Elements must have the all of following tags to be shown on this layer: - - entrance~^..*$|indoor=door + - entrance~^..*$|indoor=door|door~^..*$ -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22indoor%22%3D%22door%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22entrance%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22indoor%22%3D%22door%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22door%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22entrance%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -64,10 +64,12 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/entrance#values) [entrance](https://wiki.openstreetmap.org/wiki/Key:entrance) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:entrance%3D) [main](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dmain) [secondary](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dsecondary) [service](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dservice) [exit](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dexit) [entrance](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dentrance) [emergency](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Demergency) [home](https://wiki.openstreetmap.org/wiki/Tag:entrance%3Dhome) [](https://taginfo.openstreetmap.org/keys/door#values) [door](https://wiki.openstreetmap.org/wiki/Key:door) | Multiple choice | [hinged](https://wiki.openstreetmap.org/wiki/Tag:door%3Dhinged) [revolving](https://wiki.openstreetmap.org/wiki/Tag:door%3Drevolving) [sliding](https://wiki.openstreetmap.org/wiki/Tag:door%3Dsliding) [overhead](https://wiki.openstreetmap.org/wiki/Tag:door%3Doverhead) [no](https://wiki.openstreetmap.org/wiki/Tag:door%3Dno) [](https://taginfo.openstreetmap.org/keys/automatic_door#values) [automatic_door](https://wiki.openstreetmap.org/wiki/Key:automatic_door) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dno) [motion](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dmotion) [floor](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dfloor) [button](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dbutton) [slowdown_button](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dslowdown_button) [continuous](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dcontinuous) [serviced_on_button_press](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dserviced_on_button_press) [serviced_on_request](https://wiki.openstreetmap.org/wiki/Tag:automatic_door%3Dserviced_on_request) -[](https://taginfo.openstreetmap.org/keys/width#values) [width](https://wiki.openstreetmap.org/wiki/Key:width) | [distance](../SpecialInputElements.md#distance) | +[](https://taginfo.openstreetmap.org/keys/width#values) [width](https://wiki.openstreetmap.org/wiki/Key:width) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/kerb:height#values) [kerb:height](https://wiki.openstreetmap.org/wiki/Key:kerb:height) | [pnat](../SpecialInputElements.md#pnat) | [0](https://wiki.openstreetmap.org/wiki/Tag:kerb:height%3D0) @@ -76,12 +78,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### Entrance type @@ -92,16 +121,16 @@ The question is What type of entrance is this? - - No specific entrance type is known corresponds with entrance=yes + - No specific entrance type is known corresponds with `entrance=yes` - This option cannot be chosen as answer - - This is an indoor door, separating a room or a corridor within a single building corresponds with indoor=door - - This is the main entrance corresponds with entrance=main - - This is a secondary entrance corresponds with entrance=secondary - - This is a service entrance - normally only used for employees, delivery, … corresponds with entrance=service - - This is an exit where one can not enter corresponds with entrance=exit - - This is an entrance where one can only enter (but not exit) corresponds with entrance=entrance - - This is emergency exit corresponds with entrance=emergency - - This is the entrance to a private home corresponds with entrance=home + - This is an indoor door, separating a room or a corridor within a single building corresponds with `indoor=door` + - This is the main entrance corresponds with `entrance=main` + - This is a secondary entrance corresponds with `entrance=secondary` + - This is a service entrance - normally only used for employees, delivery, … corresponds with `entrance=service` + - This is an exit where one can not enter corresponds with `entrance=exit` + - This is an entrance where one can only enter (but not exit) corresponds with `entrance=entrance` + - This is emergency exit corresponds with `entrance=emergency` + - This is the entrance to a private home corresponds with `entrance=home` @@ -116,13 +145,13 @@ The question is What is the type of this door?
Wether - - The door type is not known corresponds with door=yes + - The door type is not known corresponds with `door=yes` - This option cannot be chosen as answer - - A classical, hinged door supported by joints corresponds with door=hinged - - A revolving door which hangs on a central shaft, rotating within a cylindrical enclosure corresponds with door=revolving - - A sliding door where the door slides sidewards, typically parallel with a wall corresponds with door=sliding - - A door which rolls from overhead, typically seen for garages corresponds with door=overhead - - This is an entrance without a physical door corresponds with door=no + - A classical, hinged door supported by joints corresponds with `door=hinged` + - A revolving door which hangs on a central shaft, rotating within a cylindrical enclosure corresponds with `door=revolving` + - A sliding door where the door slides sidewards, typically parallel with a wall corresponds with `door=sliding` + - A door which rolls from overhead, typically seen for garages corresponds with `door=overhead` + - This is an entrance without a physical door corresponds with `door=no` @@ -137,16 +166,16 @@ The question is Is this door automated? - - This is an automatic door corresponds with automatic_door=yes + - This is an automatic door corresponds with `automatic_door=yes` - This option cannot be chosen as answer - - This door is not automated corresponds with automatic_door=no - - This door will open automatically when motion is detected corresponds with automatic_door=motion - - This door will open automatically when a sensor in the floor is triggered corresponds with automatic_door=floor - - This door will open automatically when a button is pressed corresponds with automatic_door=button - - This door revolves automatically all the time, but has a button to slow it down, e.g. for wheelchair users corresponds with automatic_door=slowdown_button - - This door revolves automatically all the time corresponds with automatic_door=continuous - - This door will be opened by staff when requested by pressing a button corresponds with automatic_door=serviced_on_button_press - - This door will be opened by staff when requested corresponds with automatic_door=serviced_on_request + - This door is not automated corresponds with `automatic_door=no` + - This door will open automatically when motion is detected corresponds with `automatic_door=motion` + - This door will open automatically when a sensor in the floor is triggered corresponds with `automatic_door=floor` + - This door will open automatically when a button is pressed corresponds with `automatic_door=button` + - This door revolves automatically all the time, but has a button to slow it down, e.g. for wheelchair users corresponds with `automatic_door=slowdown_button` + - This door revolves automatically all the time corresponds with `automatic_door=continuous` + - This door will be opened by staff when requested by pressing a button corresponds with `automatic_door=serviced_on_button_press` + - This door will be opened by staff when requested corresponds with `automatic_door=serviced_on_request` @@ -161,6 +190,25 @@ This rendering asks information about the property [width](https://wiki.openstr This is rendered with This door has a width of {canonical(width)} meter + + + + +### kerb-height + + + +The question is What is the height of this kerb? + +This rendering asks information about the property [kerb:height](https://wiki.openstreetmap.org/wiki/Key:kerb:height) + +This is rendered with The kerb height of this door is {kerb:height} + + + + + + - This door does not have a kerb corresponds with `kerb:height=0` This document is autogenerated from [assets/layers/entrance/entrance.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/entrance/entrance.json) \ No newline at end of file diff --git a/Docs/Layers/etymology.md b/Docs/Layers/etymology.md index f19e76d94..9e08edd96 100644 --- a/Docs/Layers/etymology.md +++ b/Docs/Layers/etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/extinguisher.md b/Docs/Layers/extinguisher.md index 92b65cc00..cb5c81a15 100644 --- a/Docs/Layers/extinguisher.md +++ b/Docs/Layers/extinguisher.md @@ -79,8 +79,8 @@ This is rendered with Location: {location} - - Found indoors. corresponds with location=indoor - - Found outdoors. corresponds with location=outdoor + - Found indoors. corresponds with `location=indoor` + - Found outdoors. corresponds with `location=outdoor` @@ -89,6 +89,8 @@ This is rendered with Location: {location} +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/facadegardens.md b/Docs/Layers/facadegardens.md index 3a1548cda..f43d47b7c 100644 --- a/Docs/Layers/facadegardens.md +++ b/Docs/Layers/facadegardens.md @@ -75,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -105,9 +107,9 @@ The question is Is the garden shaded or sunny? - - The garden is in full sun corresponds with direct_sunlight=yes - - The garden is in partial shade corresponds with direct_sunlight=partial - - The garden is in the shade corresponds with direct_sunlight=no + - The garden is in full sun corresponds with `direct_sunlight=yes` + - The garden is in partial shade corresponds with `direct_sunlight=partial` + - The garden is in the shade corresponds with `direct_sunlight=no` @@ -122,8 +124,8 @@ The question is Is there a water barrel installed for the garden? - - There is a rain barrel corresponds with rain_barrel=yes - - There is no rain barrel corresponds with rain_barrel=no + - There is a rain barrel corresponds with `rain_barrel=yes` + - There is no rain barrel corresponds with `rain_barrel=no` @@ -152,8 +154,8 @@ The question is Are there any edible plants? - - There are edible plants corresponds with edible=yes - - There are no edible plants corresponds with edible=no + - There are edible plants corresponds with `edible=yes` + - There are no edible plants corresponds with `edible=no` @@ -168,10 +170,10 @@ The question is What kinds of plants grow here? - - There are vines corresponds with plant=vine - - There are flowering plants corresponds with plant=flower - - There are shrubs corresponds with plant=shrub - - There are groundcovering plants corresponds with plant=groundcover + - There are vines corresponds with `plant=vine` + - There are flowering plants corresponds with `plant=flower` + - There are shrubs corresponds with `plant=shrub` + - There are groundcovering plants corresponds with `plant=groundcover` @@ -194,6 +196,8 @@ This is rendered with More details: {description} +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -204,6 +208,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/fietsstraat.md b/Docs/Layers/fietsstraat.md index 0b036fd9b..e8f4bec0b 100644 --- a/Docs/Layers/fietsstraat.md +++ b/Docs/Layers/fietsstraat.md @@ -69,6 +69,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -85,10 +87,10 @@ The question is Is the street {name} a cyclestreet? - - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no - - This street is a cyclestreet corresponds with cyclestreet=yes - - This street will become a cyclstreet soon corresponds with proposed:cyclestreet=yes - - This street is not a cyclestreet corresponds with + - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with `cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no` + - This street is a cyclestreet corresponds with `cyclestreet=yes` + - This street will become a cyclstreet soon corresponds with `proposed:cyclestreet=yes` + - This street is not a cyclestreet corresponds with `` @@ -113,6 +115,8 @@ Only visible if `proposed:cyclestreet=yes` is shown +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -123,6 +127,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/fire_station.md b/Docs/Layers/fire_station.md index 0050d9a9b..6fc4a60eb 100644 --- a/Docs/Layers/fire_station.md +++ b/Docs/Layers/fire_station.md @@ -125,7 +125,7 @@ This is rendered with This station is operated by {operator}. - - Bureau of Fire Protection corresponds with operator=Bureau of Fire Protection&operator:type=government + - Bureau of Fire Protection corresponds with `operator=Bureau of Fire Protection&operator:type=government` @@ -144,10 +144,10 @@ 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 + - 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` @@ -156,6 +156,8 @@ This is rendered with The operator is a(n) {operator:type} entity. +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/food.md b/Docs/Layers/food.md index 296ec9c6a..f33ed20e4 100644 --- a/Docs/Layers/food.md +++ b/Docs/Layers/food.md @@ -27,6 +27,7 @@ A layer showing restaurants and fast-food amenities (with a special rendering fo - [food](https://mapcomplete.osm.be/food) - [fritures](https://mapcomplete.osm.be/fritures) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [pets](https://mapcomplete.osm.be/pets) @@ -62,6 +63,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/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 | [fast_food](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dfast_food) [restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | @@ -89,12 +91,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### Name @@ -119,8 +148,8 @@ The question is What type of business is this? - - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with amenity=fast_food - - A restaurant, focused on creating a nice experience where one is served at the table corresponds with amenity=restaurant + - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with `amenity=fast_food` + - A restaurant, focused on creating a nice experience where one is served at the table corresponds with `amenity=restaurant` @@ -153,7 +182,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -173,7 +202,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -193,7 +222,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -209,9 +238,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -227,10 +256,10 @@ 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 + - 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` @@ -249,21 +278,21 @@ This is rendered with This place mostly serves {cuisine} - - This is a pizzeria corresponds with cuisine=pizza - - This is a friture corresponds with cuisine=friture - - Mainly serves pasta corresponds with cuisine=pasta - - This is kebab shop corresponds with cuisine=kebab - - This is a sandwichbar corresponds with cuisine=sandwich - - Burgers are served here corresponds with cuisine=burger - - Sushi is served here corresponds with cuisine=sushi - - Coffee is served here corresponds with cuisine=coffee - - This is an italian restaurant (which serves more then pasta and pizza) corresponds with cuisine=italian - - French dishes are served here corresponds with cuisine=french - - Chinese dishes are served here corresponds with cuisine=chinese - - Greek dishes are served here corresponds with cuisine=greek - - Indian dishes are served here corresponds with cuisine=indian - - Turkish dishes are served here corresponds with cuisine=turkish - - Thai dishes are served here corresponds with cuisine=thai + - This is a pizzeria corresponds with `cuisine=pizza` + - This is a friture corresponds with `cuisine=friture` + - Mainly serves pasta corresponds with `cuisine=pasta` + - This is kebab shop corresponds with `cuisine=kebab` + - This is a sandwichbar corresponds with `cuisine=sandwich` + - Burgers are served here corresponds with `cuisine=burger` + - Sushi is served here corresponds with `cuisine=sushi` + - Coffee is served here corresponds with `cuisine=coffee` + - This is an italian restaurant (which serves more then pasta and pizza) corresponds with `cuisine=italian` + - French dishes are served here corresponds with `cuisine=french` + - Chinese dishes are served here corresponds with `cuisine=chinese` + - Greek dishes are served here corresponds with `cuisine=greek` + - Indian dishes are served here corresponds with `cuisine=indian` + - Turkish dishes are served here corresponds with `cuisine=turkish` + - Thai dishes are served here corresponds with `cuisine=thai` @@ -278,9 +307,9 @@ The question is Does this place offer take-away? - - This is a take-away only business corresponds with takeaway=only - - Take-away is possible here corresponds with takeaway=yes - - Take-away is not possible here corresponds with takeaway=no + - This is a take-away only business corresponds with `takeaway=only` + - Take-away is possible here corresponds with `takeaway=yes` + - Take-away is not possible here corresponds with `takeaway=no` @@ -295,8 +324,8 @@ The question is Delivers {title()} their food at home? - - This business does home delivery (eventually via a third party) corresponds with delivery=yes - - This business does not deliver at home corresponds with delivery=no + - This business does home delivery (eventually via a third party) corresponds with `delivery=yes` + - This business does not deliver at home corresponds with `delivery=no` @@ -311,10 +340,10 @@ The question is Does this restaurant have a vegetarian option? - - No vegetarian options are available corresponds with diet:vegetarian=no - - Some vegetarian options are available corresponds with diet:vegetarian=limited - - Vegetarian options are available corresponds with diet:vegetarian=yes - - All dishes are vegetarian corresponds with diet:vegetarian=only + - No vegetarian options are available corresponds with `diet:vegetarian=no` + - Some vegetarian options are available corresponds with `diet:vegetarian=limited` + - Vegetarian options are available corresponds with `diet:vegetarian=yes` + - All dishes are vegetarian corresponds with `diet:vegetarian=only` @@ -329,10 +358,10 @@ The question is Does this business serve vegan meals? - - No vegan options available corresponds with diet:vegan=no - - Some vegan options are available corresponds with diet:vegan=limited - - Vegan options are available corresponds with diet:vegan=yes - - All dishes are vegan corresponds with diet:vegan=only + - No vegan options available corresponds with `diet:vegan=no` + - Some vegan options are available corresponds with `diet:vegan=limited` + - Vegan options are available corresponds with `diet:vegan=yes` + - All dishes are vegan corresponds with `diet:vegan=only` @@ -347,10 +376,10 @@ The question is Does this restaurant offer a halal menu? - - There are no halal options available corresponds with diet:halal=no - - There is a small halal menu corresponds with diet:halal=limited - - There is a halal menu corresponds with diet:halal=yes - - Only halal options are available corresponds with diet:halal=only + - There are no halal options available corresponds with `diet:halal=no` + - There is a small halal menu corresponds with `diet:halal=limited` + - There is a halal menu corresponds with `diet:halal=yes` + - Only halal options are available corresponds with `diet:halal=only` @@ -365,9 +394,9 @@ The question is Does this fries shop have vegetarian snacks? - - Vegetarian snacks are available corresponds with diet:vegetarian=yes - - Only a small selection of snacks are vegetarian corresponds with diet:vegetarian=limited - - No vegetarian snacks are available corresponds with diet:vegetarian=no + - Vegetarian snacks are available corresponds with `diet:vegetarian=yes` + - Only a small selection of snacks are vegetarian corresponds with `diet:vegetarian=limited` + - No vegetarian snacks are available corresponds with `diet:vegetarian=no` Only visible if `cuisine=friture` is shown @@ -384,9 +413,9 @@ The question is Does this fries shop have vegan snacks? - - Vegan snacks are available corresponds with diet:vegan=yes - - A small selection of vegan snacks are available corresponds with diet:vegan=limited - - No vegan snacks are available corresponds with diet:vegan=no + - Vegan snacks are available corresponds with `diet:vegan=yes` + - A small selection of vegan snacks are available corresponds with `diet:vegan=limited` + - No vegan snacks are available corresponds with `diet:vegan=no` Only visible if `cuisine=friture` is shown @@ -403,8 +432,8 @@ The question is Does this fries shop use vegetable or animal oil for cooking? - - The frying is done with vegetable oil corresponds with friture:oil=vegetable - - The frying is done with animal oil corresponds with friture:oil=animal + - The frying is done with vegetable oil corresponds with `friture:oil=vegetable` + - The frying is done with animal oil corresponds with `friture:oil=animal` Only visible if `cuisine=friture` is shown @@ -421,9 +450,9 @@ The question is If you bring your own container (such as a cooking pot and smal - - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with reusable_packaging:accept=yes - - Bringing your own container is not allowed corresponds with reusable_packaging:accept=no - - You must bring your own container to order here. corresponds with reusable_packaging:accept=only + - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with `reusable_packaging:accept=yes` + - Bringing your own container is not allowed corresponds with `reusable_packaging:accept=no` + - You must bring your own container to order here. corresponds with `reusable_packaging:accept=only` Only visible if `cuisine=friture` is shown @@ -440,10 +469,10 @@ The question is Does this amenity have electrical outlets, available to custome - - 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 + - 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` @@ -458,10 +487,10 @@ 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` @@ -470,6 +499,8 @@ The question is Are dogs allowed in this business? +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/friture.md b/Docs/Layers/friture.md index 705c21925..51ebe4cbe 100644 --- a/Docs/Layers/friture.md +++ b/Docs/Layers/friture.md @@ -60,6 +60,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/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 | [fast_food](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dfast_food) [restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | @@ -87,12 +88,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### Name @@ -117,8 +145,8 @@ The question is What type of business is this? - - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with amenity=fast_food - - A restaurant, focused on creating a nice experience where one is served at the table corresponds with amenity=restaurant + - This is a fastfood-business, focused on fast service. If seating is available, these are rather limited and functional. corresponds with `amenity=fast_food` + - A restaurant, focused on creating a nice experience where one is served at the table corresponds with `amenity=restaurant` @@ -151,7 +179,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -171,7 +199,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -191,7 +219,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -207,9 +235,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -225,10 +253,10 @@ 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 + - 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` @@ -247,21 +275,21 @@ This is rendered with This place mostly serves {cuisine} - - This is a pizzeria corresponds with cuisine=pizza - - This is a friture corresponds with cuisine=friture - - Mainly serves pasta corresponds with cuisine=pasta - - This is kebab shop corresponds with cuisine=kebab - - This is a sandwichbar corresponds with cuisine=sandwich - - Burgers are served here corresponds with cuisine=burger - - Sushi is served here corresponds with cuisine=sushi - - Coffee is served here corresponds with cuisine=coffee - - This is an italian restaurant (which serves more then pasta and pizza) corresponds with cuisine=italian - - French dishes are served here corresponds with cuisine=french - - Chinese dishes are served here corresponds with cuisine=chinese - - Greek dishes are served here corresponds with cuisine=greek - - Indian dishes are served here corresponds with cuisine=indian - - Turkish dishes are served here corresponds with cuisine=turkish - - Thai dishes are served here corresponds with cuisine=thai + - This is a pizzeria corresponds with `cuisine=pizza` + - This is a friture corresponds with `cuisine=friture` + - Mainly serves pasta corresponds with `cuisine=pasta` + - This is kebab shop corresponds with `cuisine=kebab` + - This is a sandwichbar corresponds with `cuisine=sandwich` + - Burgers are served here corresponds with `cuisine=burger` + - Sushi is served here corresponds with `cuisine=sushi` + - Coffee is served here corresponds with `cuisine=coffee` + - This is an italian restaurant (which serves more then pasta and pizza) corresponds with `cuisine=italian` + - French dishes are served here corresponds with `cuisine=french` + - Chinese dishes are served here corresponds with `cuisine=chinese` + - Greek dishes are served here corresponds with `cuisine=greek` + - Indian dishes are served here corresponds with `cuisine=indian` + - Turkish dishes are served here corresponds with `cuisine=turkish` + - Thai dishes are served here corresponds with `cuisine=thai` @@ -276,9 +304,9 @@ The question is Does this place offer take-away? - - This is a take-away only business corresponds with takeaway=only - - Take-away is possible here corresponds with takeaway=yes - - Take-away is not possible here corresponds with takeaway=no + - This is a take-away only business corresponds with `takeaway=only` + - Take-away is possible here corresponds with `takeaway=yes` + - Take-away is not possible here corresponds with `takeaway=no` @@ -293,8 +321,8 @@ The question is Delivers {title()} their food at home? - - This business does home delivery (eventually via a third party) corresponds with delivery=yes - - This business does not deliver at home corresponds with delivery=no + - This business does home delivery (eventually via a third party) corresponds with `delivery=yes` + - This business does not deliver at home corresponds with `delivery=no` @@ -309,10 +337,10 @@ The question is Does this restaurant have a vegetarian option? - - No vegetarian options are available corresponds with diet:vegetarian=no - - Some vegetarian options are available corresponds with diet:vegetarian=limited - - Vegetarian options are available corresponds with diet:vegetarian=yes - - All dishes are vegetarian corresponds with diet:vegetarian=only + - No vegetarian options are available corresponds with `diet:vegetarian=no` + - Some vegetarian options are available corresponds with `diet:vegetarian=limited` + - Vegetarian options are available corresponds with `diet:vegetarian=yes` + - All dishes are vegetarian corresponds with `diet:vegetarian=only` @@ -327,10 +355,10 @@ The question is Does this business serve vegan meals? - - No vegan options available corresponds with diet:vegan=no - - Some vegan options are available corresponds with diet:vegan=limited - - Vegan options are available corresponds with diet:vegan=yes - - All dishes are vegan corresponds with diet:vegan=only + - No vegan options available corresponds with `diet:vegan=no` + - Some vegan options are available corresponds with `diet:vegan=limited` + - Vegan options are available corresponds with `diet:vegan=yes` + - All dishes are vegan corresponds with `diet:vegan=only` @@ -345,10 +373,10 @@ The question is Does this restaurant offer a halal menu? - - There are no halal options available corresponds with diet:halal=no - - There is a small halal menu corresponds with diet:halal=limited - - There is a halal menu corresponds with diet:halal=yes - - Only halal options are available corresponds with diet:halal=only + - There are no halal options available corresponds with `diet:halal=no` + - There is a small halal menu corresponds with `diet:halal=limited` + - There is a halal menu corresponds with `diet:halal=yes` + - Only halal options are available corresponds with `diet:halal=only` @@ -363,9 +391,9 @@ The question is Does this fries shop have vegetarian snacks? - - Vegetarian snacks are available corresponds with diet:vegetarian=yes - - Only a small selection of snacks are vegetarian corresponds with diet:vegetarian=limited - - No vegetarian snacks are available corresponds with diet:vegetarian=no + - Vegetarian snacks are available corresponds with `diet:vegetarian=yes` + - Only a small selection of snacks are vegetarian corresponds with `diet:vegetarian=limited` + - No vegetarian snacks are available corresponds with `diet:vegetarian=no` Only visible if `cuisine=friture` is shown @@ -382,9 +410,9 @@ The question is Does this fries shop have vegan snacks? - - Vegan snacks are available corresponds with diet:vegan=yes - - A small selection of vegan snacks are available corresponds with diet:vegan=limited - - No vegan snacks are available corresponds with diet:vegan=no + - Vegan snacks are available corresponds with `diet:vegan=yes` + - A small selection of vegan snacks are available corresponds with `diet:vegan=limited` + - No vegan snacks are available corresponds with `diet:vegan=no` Only visible if `cuisine=friture` is shown @@ -401,8 +429,8 @@ The question is Does this fries shop use vegetable or animal oil for cooking? - - The frying is done with vegetable oil corresponds with friture:oil=vegetable - - The frying is done with animal oil corresponds with friture:oil=animal + - The frying is done with vegetable oil corresponds with `friture:oil=vegetable` + - The frying is done with animal oil corresponds with `friture:oil=animal` Only visible if `cuisine=friture` is shown @@ -419,9 +447,9 @@ The question is If you bring your own container (such as a cooking pot and smal - - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with reusable_packaging:accept=yes - - Bringing your own container is not allowed corresponds with reusable_packaging:accept=no - - You must bring your own container to order here. corresponds with reusable_packaging:accept=only + - You can bring your own containers to get your order, saving on single-use packaging material and thus waste corresponds with `reusable_packaging:accept=yes` + - Bringing your own container is not allowed corresponds with `reusable_packaging:accept=no` + - You must bring your own container to order here. corresponds with `reusable_packaging:accept=only` Only visible if `cuisine=friture` is shown @@ -438,10 +466,10 @@ The question is Does this amenity have electrical outlets, available to custome - - 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 + - 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` @@ -456,10 +484,10 @@ 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` @@ -468,6 +496,8 @@ The question is Are dogs allowed in this business? +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -478,6 +508,8 @@ This tagrendering has no question and is thus read-only +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -488,6 +520,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/ghost_bike.md b/Docs/Layers/ghost_bike.md index ed3d765a2..d4f58cdd2 100644 --- a/Docs/Layers/ghost_bike.md +++ b/Docs/Layers/ghost_bike.md @@ -82,6 +82,8 @@ This tagrendering has no question and is thus read-only +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -102,7 +104,7 @@ This is rendered with In remembrance of {name} - - No name is marked on the bike corresponds with noname=yes + - No name is marked on the bike corresponds with `noname=yes` diff --git a/Docs/Layers/governments.md b/Docs/Layers/governments.md new file mode 100644 index 000000000..f9ff362bd --- /dev/null +++ b/Docs/Layers/governments.md @@ -0,0 +1,156 @@ + + + governments +============= + + + + + +This layer show governmental buildings. It was setup as commissioned layer for the client of OSOC '22 + + + + + + + - This layer is shown at zoomlevel **13** and higher + + + + +#### Themes using this layer + + + + + + - [governments](https://mapcomplete.osm.be/governments) + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - office=government + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22office%22%3D%22government%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](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/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + + + +### phone + + + +The question is What is the phone number of {title()}? + +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 + + + +The question is What is the email address of {title()}? + +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 + + + + +### website + + + +The question is What is the website of {title()}? + +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 + + + + +### name + + + +The question is What is the name of this Governmental Office? + +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) + +This is rendered with This Governmental Office is called {name} + + + +This document is autogenerated from [assets/layers/governments/governments.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/governments/governments.json) \ No newline at end of file diff --git a/Docs/Layers/grass_in_parks.md b/Docs/Layers/grass_in_parks.md index 2b4a011c8..b03cd5419 100644 --- a/Docs/Layers/grass_in_parks.md +++ b/Docs/Layers/grass_in_parks.md @@ -46,6 +46,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/hackerspace.md b/Docs/Layers/hackerspace.md index 97a5856a0..3bc884a0d 100644 --- a/Docs/Layers/hackerspace.md +++ b/Docs/Layers/hackerspace.md @@ -86,8 +86,8 @@ The question is Is this a hackerspace or a makerspace? - - This is a makerspace corresponds with hackerspace=makerspace - - This is a traditional (software oriented) hackerspace corresponds with + - This is a makerspace corresponds with `hackerspace=makerspace` + - This is a traditional (software oriented) hackerspace corresponds with `` @@ -120,7 +120,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -140,7 +140,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -160,7 +160,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -180,7 +180,7 @@ This is rendered with {opening_hours_table()} - - Opened 24/7 corresponds with opening_hours=24/7 + - Opened 24/7 corresponds with `opening_hours=24/7` @@ -195,8 +195,8 @@ The question is Is a 3D-printer available at this hackerspace? - - There is a 3D-printer available at this hackerspace corresponds with service:3dprinter=yes - - There is no 3D-printer available at this hackerspace corresponds with service:3dprinter=no + - There is a 3D-printer available at this hackerspace corresponds with `service:3dprinter=yes` + - There is no 3D-printer available at this hackerspace corresponds with `service:3dprinter=no` @@ -211,8 +211,8 @@ The question is Is a laser cutter available at this hackerspace? - - There is a laser cutter available at this hackerspace corresponds with service:lasercutter=yes - - There is no laser cutter available at this hackerspace corresponds with service:lasercutter=no + - There is a laser cutter available at this hackerspace corresponds with `service:lasercutter=yes` + - There is no laser cutter available at this hackerspace corresponds with `service:lasercutter=no` @@ -227,8 +227,8 @@ The question is Is a CNC drill available at this hackerspace? - - There is a CNC drill available at this hackerspace corresponds with service:cnc_drilling_machine=yes - - There is no CNC drill available at this hackerspace corresponds with service:cnc_drilling_machine=no + - There is a CNC drill available at this hackerspace corresponds with `service:cnc_drilling_machine=yes` + - There is no CNC drill available at this hackerspace corresponds with `service:cnc_drilling_machine=no` @@ -237,6 +237,8 @@ The question is Is a CNC drill available at this hackerspace? +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -253,10 +255,10 @@ 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 + - 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` @@ -271,8 +273,8 @@ The question is Does this hackerspace serve Club Mate? - - This hackerspace serves club mate corresponds with drink:club-mate=yes - - This hackerspace does not serve club mate corresponds with drink:club-mate=no + - This hackerspace serves club mate corresponds with `drink:club-mate=yes` + - This hackerspace does not serve club mate corresponds with `drink:club-mate=no` diff --git a/Docs/Layers/health_and_social_places_without_etymology.md b/Docs/Layers/health_and_social_places_without_etymology.md index 5818c8628..f0a09340e 100644 --- a/Docs/Layers/health_and_social_places_without_etymology.md +++ b/Docs/Layers/health_and_social_places_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/hospital.md b/Docs/Layers/hospital.md index 0d2a9f22f..a23028ef1 100644 --- a/Docs/Layers/hospital.md +++ b/Docs/Layers/hospital.md @@ -7,6 +7,8 @@ +A layer showing hospital grounds + @@ -24,6 +26,7 @@ - [healthcare](https://mapcomplete.osm.be/healthcare) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -70,11 +73,11 @@ attribute | type | values which are supported by this layer -The question is What does the of the hospital ? +The question is What is the name of this hospital? This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) -This is rendered with Name of the hospital name is {name} +This is rendered with This hospital is called {name} @@ -94,7 +97,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -114,7 +117,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -134,7 +137,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/hotel.md b/Docs/Layers/hotel.md new file mode 100644 index 000000000..7bda3b05f --- /dev/null +++ b/Docs/Layers/hotel.md @@ -0,0 +1,186 @@ + + + hotel +======= + + + + + +Layer showing all hotels + + + + + + + - This layer is shown at zoomlevel **13** and higher + + + + +#### Themes using this layer + + + + + + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - tourism=hotel + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22tourism%22%3D%22hotel%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + 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/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/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) + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + + + +### reviews + + + +Shows the reviews module (including the possibility to leave a review) + +This tagrendering has no question and is thus read-only + + + + + +### name + + + +The question is What is the name of this hotel? + +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) + +This is rendered with This hotel is called {name} + + + + + +### phone + + + +The question is What is the phone number of {title()}? + +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 + + + +The question is What is the email address of {title()}? + +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 + + + + +### website + + + +The question is What is the website of {title()}? + +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 + + + + +### 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` + + +This document is autogenerated from [assets/layers/hotel/hotel.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/hotel/hotel.json) \ No newline at end of file diff --git a/Docs/Layers/hydrant.md b/Docs/Layers/hydrant.md index a24e5962c..8ae1771c4 100644 --- a/Docs/Layers/hydrant.md +++ b/Docs/Layers/hydrant.md @@ -81,10 +81,10 @@ This is rendered with The hydrant color is {colour} - - The hydrant color is unknown. corresponds with + - The hydrant color is unknown. corresponds with `` - This option cannot be chosen as answer - - The hydrant color is yellow. corresponds with colour=yellow - - The hydrant color is red. corresponds with colour=red + - The hydrant color is yellow. corresponds with `colour=yellow` + - The hydrant color is red. corresponds with `colour=red` @@ -103,12 +103,12 @@ This is rendered with Hydrant type: {fire_hydrant:type} - - The hydrant type is unknown. corresponds with + - The hydrant type is unknown. corresponds with `` - This option cannot be chosen as answer - - Pillar type. corresponds with fire_hydrant:type=pillar - - Pipe type. corresponds with fire_hydrant:type=pipe - - Wall type. corresponds with fire_hydrant:type=wall - - Underground type. corresponds with fire_hydrant:type=underground + - Pillar type. corresponds with `fire_hydrant:type=pillar` + - Pipe type. corresponds with `fire_hydrant:type=pipe` + - Wall type. corresponds with `fire_hydrant:type=wall` + - Underground type. corresponds with `fire_hydrant:type=underground` @@ -123,9 +123,9 @@ The question is Is this hydrant still working? - - The hydrant is (fully or partially) working corresponds with emergency=fire_hydrant - - The hydrant is unavailable corresponds with disused:emergency=fire_hydrant - - The hydrant has been removed corresponds with removed:emergency=fire_hydrant + - The hydrant is (fully or partially) working corresponds with `emergency=fire_hydrant` + - The hydrant is unavailable corresponds with `disused:emergency=fire_hydrant` + - The hydrant has been removed corresponds with `removed:emergency=fire_hydrant` @@ -134,6 +134,8 @@ The question is Is this hydrant still working? +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/id_presets.md b/Docs/Layers/id_presets.md index 4acedc9a9..da51ccd10 100644 --- a/Docs/Layers/id_presets.md +++ b/Docs/Layers/id_presets.md @@ -15,7 +15,7 @@ Layer containing various presets and questions generated by ID. These are meant - This layer is shown at zoomlevel **0** and higher - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` @@ -67,166 +67,166 @@ This tagrendering has no question and is thus read-only - - Farm Supply Shop corresponds with shop=agrarian - - Liquor Store corresponds with shop=alcohol - - Anime / Manga Shop corresponds with shop=anime - - Antiques Shop corresponds with shop=antiques - - Appliance Store corresponds with shop=appliance - - Art Store corresponds with shop=art - - Baby Goods Store corresponds with shop=baby_goods - - Bag/Luggage Store corresponds with shop=bag - - Bakery corresponds with shop=bakery - - Bathroom Furnishing Store corresponds with shop=bathroom_furnishing - - Beauty Shop corresponds with shop=beauty - - Bedding/Mattress Store corresponds with shop=bed - - Beverage Store corresponds with shop=beverages - - Bicycle Shop corresponds with shop=bicycle - - Boat Store corresponds with shop=boat - - Bookmaker corresponds with shop=bookmaker - - Book Store corresponds with shop=books - - Brewing Supply Store corresponds with shop=brewing_supplies - - Butcher corresponds with shop=butcher - - Camera Equipment Store corresponds with shop=camera - - Candle Shop corresponds with shop=candles - - Cannabis Shop corresponds with shop=cannabis - - Car Dealership corresponds with shop=car - - Car Parts Store corresponds with shop=car_parts - - Car Repair Shop corresponds with shop=car_repair - - RV Dealership corresponds with shop=caravan - - Carpet Store corresponds with shop=carpet - - Catalog Shop corresponds with shop=catalogue - - Charity Store corresponds with shop=charity - - Cheese Store corresponds with shop=cheese - - Drugstore corresponds with shop=chemist - - Chocolate Store corresponds with shop=chocolate - - Clothing Store corresponds with shop=clothes - - Coffee Store corresponds with shop=coffee - - Collectibles Shop corresponds with shop=collector - - Computer Store corresponds with shop=computer - - Candy Store corresponds with shop=confectionery - - Convenience Store corresponds with shop=convenience - - Copy Store corresponds with shop=copyshop - - Cosmetics Store corresponds with shop=cosmetics - - Country Store corresponds with shop=country_store - - Arts & Crafts Store corresponds with shop=craft - - Curtain Store corresponds with shop=curtain - - Dairy Store corresponds with shop=dairy - - Deli corresponds with shop=deli - - Department Store corresponds with shop=department_store - - DIY Store corresponds with shop=doityourself - - Door Shop corresponds with shop=doors - - Dry Cleaner corresponds with shop=dry_cleaning - - E-Cigarette Shop corresponds with shop=e-cigarette - - Electrical Equipment Store corresponds with shop=electrical - - Electronics Store corresponds with shop=electronics - - Erotic Store corresponds with shop=erotic - - Fabric Store corresponds with shop=fabric - - Produce Stand corresponds with shop=farm - - Fashion Accessories Store corresponds with shop=fashion_accessories - - Fireplace Store corresponds with shop=fireplace - - Fishing Shop corresponds with shop=fishing - - Flooring Supply Shop corresponds with shop=flooring - - Florist corresponds with shop=florist - - Framing Shop corresponds with shop=frame - - Frozen Food Store corresponds with shop=frozen_food - - Fuel Shop corresponds with shop=fuel - - Funeral Home corresponds with shop=funeral_directors - - Furniture Store corresponds with shop=furniture - - Tabletop Game Store corresponds with shop=games - - Garden Center corresponds with shop=garden_centre - - Bottled Gas Shop corresponds with shop=gas - - General Store corresponds with shop=general - - Gift Shop corresponds with shop=gift - - Greengrocer corresponds with shop=greengrocer - - Hairdresser corresponds with shop=hairdresser - - Hairdresser Supply Store corresponds with shop=hairdresser_supply - - Hardware Store corresponds with shop=hardware - - Health Food Shop corresponds with shop=health_food - - Hearing Aids Store corresponds with shop=hearing_aids - - Herbalist corresponds with shop=herbalist - - Hifi Store corresponds with shop=hifi - - Hobby Shop corresponds with shop=hobby - - Household Linen Shop corresponds with shop=household_linen - - Houseware Store corresponds with shop=houseware - - Hunting Shop corresponds with shop=hunting - - Interior Decoration Store corresponds with shop=interior_decoration - - Jewelry Store corresponds with shop=jewelry - - Kiosk corresponds with shop=kiosk - - Kitchen Design Store corresponds with shop=kitchen - - Laundry corresponds with shop=laundry - - Leather Store corresponds with shop=leather - - Lighting Store corresponds with shop=lighting - - Locksmith corresponds with shop=locksmith - - Lottery Shop corresponds with shop=lottery - - Mall corresponds with shop=mall - - Massage Shop corresponds with shop=massage - - Medical Supply Store corresponds with shop=medical_supply - - Military Surplus Store corresponds with shop=military_surplus - - Mobile Phone Store corresponds with shop=mobile_phone - - Model Shop corresponds with shop=model - - Money Lender corresponds with shop=money_lender - - Motorcycle Dealership corresponds with shop=motorcycle - - Motorcycle Repair Shop corresponds with shop=motorcycle_repair - - Music Store corresponds with shop=music - - Musical Instrument Store corresponds with shop=musical_instrument - - Newspaper/Magazine Shop corresponds with shop=newsagent - - Nutrition Supplements Store corresponds with shop=nutrition_supplements - - Optician corresponds with shop=optician - - Outdoors Store corresponds with shop=outdoor - - Online Retailer Outpost corresponds with shop=outpost - - Paint Store corresponds with shop=paint - - Party Supply Store corresponds with shop=party - - Pastry Shop corresponds with shop=pastry - - Pawn Shop corresponds with shop=pawnbroker - - Perfume Store corresponds with shop=perfumery - - Pet Store corresponds with shop=pet - - Pet Grooming Store corresponds with shop=pet_grooming - - Photography Store corresponds with shop=photo - - Pottery Store corresponds with shop=pottery - - Printer Ink Store corresponds with shop=printer_ink - - Psychic corresponds with shop=psychic - - Fireworks Store corresponds with shop=pyrotechnics - - Radio/Electronic Component Store corresponds with shop=radiotechnics - - Religious Store corresponds with shop=religion - - Rental Shop corresponds with shop=rental - - Repair Shop corresponds with shop=repair - - Scuba Diving Shop corresponds with shop=scuba_diving - - Seafood Shop corresponds with shop=seafood - - Consignment/Thrift Store corresponds with shop=second_hand - - Sewing Supply Shop corresponds with shop=sewing - - Shoe Repair Shop corresponds with shop=shoe_repair - - Shoe Store corresponds with shop=shoes - - Spice Shop corresponds with shop=spices - - Sporting Goods Store corresponds with shop=sports - - Stationery Store corresponds with shop=stationery - - Storage Rental corresponds with shop=storage_rental - - Supermarket corresponds with shop=supermarket - - Pool Supply Store corresponds with shop=swimming_pool - - Tailor corresponds with shop=tailor - - Tattoo Parlor corresponds with shop=tattoo - - Tea Store corresponds with shop=tea - - Telecom Retail Store corresponds with shop=telecommunication - - Ticket Seller corresponds with shop=ticket - - Tile Shop corresponds with shop=tiles - - Tobacco Shop corresponds with shop=tobacco - - Tool Rental corresponds with shop=tool_hire - - Toy Store corresponds with shop=toys - - Trade Shop corresponds with shop=trade - - Travel Agency corresponds with shop=travel_agency - - Trophy Shop corresponds with shop=trophy - - Tire Store corresponds with shop=tyres - - Vacuum Cleaner Store corresponds with shop=vacuum_cleaner - - Variety Store corresponds with shop=variety_store - - Video Store corresponds with shop=video - - Video Game Store corresponds with shop=video_games - - Watches Shop corresponds with shop=watches - - Drinking Water Shop corresponds with shop=water - - Watersport/Swim Shop corresponds with shop=water_sports - - Weapon Shop corresponds with shop=weapons - - Wholesale Store corresponds with shop=wholesale - - Wig Shop corresponds with shop=wigs - - Window Blind Store corresponds with shop=window_blind - - Wine Shop corresponds with shop=wine + - Farm Supply Shop corresponds with `shop=agrarian` + - Liquor Store corresponds with `shop=alcohol` + - Anime / Manga Shop corresponds with `shop=anime` + - Antiques Shop corresponds with `shop=antiques` + - Appliance Store corresponds with `shop=appliance` + - Art Store corresponds with `shop=art` + - Baby Goods Store corresponds with `shop=baby_goods` + - Bag/Luggage Store corresponds with `shop=bag` + - Bakery corresponds with `shop=bakery` + - Bathroom Furnishing Store corresponds with `shop=bathroom_furnishing` + - Beauty Shop corresponds with `shop=beauty` + - Bedding/Mattress Store corresponds with `shop=bed` + - Beverage Store corresponds with `shop=beverages` + - Bicycle Shop corresponds with `shop=bicycle` + - Boat Store corresponds with `shop=boat` + - Bookmaker corresponds with `shop=bookmaker` + - Book Store corresponds with `shop=books` + - Brewing Supply Store corresponds with `shop=brewing_supplies` + - Butcher corresponds with `shop=butcher` + - Camera Equipment Store corresponds with `shop=camera` + - Candle Shop corresponds with `shop=candles` + - Cannabis Shop corresponds with `shop=cannabis` + - Car Dealership corresponds with `shop=car` + - Car Parts Store corresponds with `shop=car_parts` + - Car Repair Shop corresponds with `shop=car_repair` + - RV Dealership corresponds with `shop=caravan` + - Carpet Store corresponds with `shop=carpet` + - Catalog Shop corresponds with `shop=catalogue` + - Charity Store corresponds with `shop=charity` + - Cheese Store corresponds with `shop=cheese` + - Drugstore corresponds with `shop=chemist` + - Chocolate Store corresponds with `shop=chocolate` + - Clothing Store corresponds with `shop=clothes` + - Coffee Store corresponds with `shop=coffee` + - Collectibles Shop corresponds with `shop=collector` + - Computer Store corresponds with `shop=computer` + - Candy Store corresponds with `shop=confectionery` + - Convenience Store corresponds with `shop=convenience` + - Copy Store corresponds with `shop=copyshop` + - Cosmetics Store corresponds with `shop=cosmetics` + - Country Store corresponds with `shop=country_store` + - Arts & Crafts Store corresponds with `shop=craft` + - Curtain Store corresponds with `shop=curtain` + - Dairy Store corresponds with `shop=dairy` + - Deli corresponds with `shop=deli` + - Department Store corresponds with `shop=department_store` + - DIY Store corresponds with `shop=doityourself` + - Door Shop corresponds with `shop=doors` + - Dry Cleaner corresponds with `shop=dry_cleaning` + - E-Cigarette Shop corresponds with `shop=e-cigarette` + - Electrical Equipment Store corresponds with `shop=electrical` + - Electronics Store corresponds with `shop=electronics` + - Erotic Store corresponds with `shop=erotic` + - Fabric Store corresponds with `shop=fabric` + - Produce Stand corresponds with `shop=farm` + - Fashion Accessories Store corresponds with `shop=fashion_accessories` + - Fireplace Store corresponds with `shop=fireplace` + - Fishing Shop corresponds with `shop=fishing` + - Flooring Supply Shop corresponds with `shop=flooring` + - Florist corresponds with `shop=florist` + - Framing Shop corresponds with `shop=frame` + - Frozen Food Store corresponds with `shop=frozen_food` + - Fuel Shop corresponds with `shop=fuel` + - Funeral Home corresponds with `shop=funeral_directors` + - Furniture Store corresponds with `shop=furniture` + - Tabletop Game Store corresponds with `shop=games` + - Garden Center corresponds with `shop=garden_centre` + - Bottled Gas Shop corresponds with `shop=gas` + - General Store corresponds with `shop=general` + - Gift Shop corresponds with `shop=gift` + - Greengrocer corresponds with `shop=greengrocer` + - Hairdresser corresponds with `shop=hairdresser` + - Hairdresser Supply Store corresponds with `shop=hairdresser_supply` + - Hardware Store corresponds with `shop=hardware` + - Health Food Shop corresponds with `shop=health_food` + - Hearing Aids Store corresponds with `shop=hearing_aids` + - Herbalist corresponds with `shop=herbalist` + - Hifi Store corresponds with `shop=hifi` + - Hobby Shop corresponds with `shop=hobby` + - Household Linen Shop corresponds with `shop=household_linen` + - Houseware Store corresponds with `shop=houseware` + - Hunting Shop corresponds with `shop=hunting` + - Interior Decoration Store corresponds with `shop=interior_decoration` + - Jewelry Store corresponds with `shop=jewelry` + - Kiosk corresponds with `shop=kiosk` + - Kitchen Design Store corresponds with `shop=kitchen` + - Laundry corresponds with `shop=laundry` + - Leather Store corresponds with `shop=leather` + - Lighting Store corresponds with `shop=lighting` + - Locksmith corresponds with `shop=locksmith` + - Lottery Shop corresponds with `shop=lottery` + - Mall corresponds with `shop=mall` + - Massage Shop corresponds with `shop=massage` + - Medical Supply Store corresponds with `shop=medical_supply` + - Military Surplus Store corresponds with `shop=military_surplus` + - Mobile Phone Store corresponds with `shop=mobile_phone` + - Model Shop corresponds with `shop=model` + - Money Lender corresponds with `shop=money_lender` + - Motorcycle Dealership corresponds with `shop=motorcycle` + - Motorcycle Repair Shop corresponds with `shop=motorcycle_repair` + - Music Store corresponds with `shop=music` + - Musical Instrument Store corresponds with `shop=musical_instrument` + - Newspaper/Magazine Shop corresponds with `shop=newsagent` + - Nutrition Supplements Store corresponds with `shop=nutrition_supplements` + - Optician corresponds with `shop=optician` + - Outdoors Store corresponds with `shop=outdoor` + - Online Retailer Outpost corresponds with `shop=outpost` + - Paint Store corresponds with `shop=paint` + - Party Supply Store corresponds with `shop=party` + - Pastry Shop corresponds with `shop=pastry` + - Pawn Shop corresponds with `shop=pawnbroker` + - Perfume Store corresponds with `shop=perfumery` + - Pet Store corresponds with `shop=pet` + - Pet Grooming Store corresponds with `shop=pet_grooming` + - Photography Store corresponds with `shop=photo` + - Pottery Store corresponds with `shop=pottery` + - Printer Ink Store corresponds with `shop=printer_ink` + - Psychic corresponds with `shop=psychic` + - Fireworks Store corresponds with `shop=pyrotechnics` + - Radio/Electronic Component Store corresponds with `shop=radiotechnics` + - Religious Store corresponds with `shop=religion` + - Rental Shop corresponds with `shop=rental` + - Repair Shop corresponds with `shop=repair` + - Scuba Diving Shop corresponds with `shop=scuba_diving` + - Seafood Shop corresponds with `shop=seafood` + - Consignment/Thrift Store corresponds with `shop=second_hand` + - Sewing Supply Shop corresponds with `shop=sewing` + - Shoe Repair Shop corresponds with `shop=shoe_repair` + - Shoe Store corresponds with `shop=shoes` + - Spice Shop corresponds with `shop=spices` + - Sporting Goods Store corresponds with `shop=sports` + - Stationery Store corresponds with `shop=stationery` + - Storage Rental corresponds with `shop=storage_rental` + - Supermarket corresponds with `shop=supermarket` + - Pool Supply Store corresponds with `shop=swimming_pool` + - Tailor corresponds with `shop=tailor` + - Tattoo Parlor corresponds with `shop=tattoo` + - Tea Store corresponds with `shop=tea` + - Telecom Retail Store corresponds with `shop=telecommunication` + - Ticket Seller corresponds with `shop=ticket` + - Tile Shop corresponds with `shop=tiles` + - Tobacco Shop corresponds with `shop=tobacco` + - Tool Rental corresponds with `shop=tool_hire` + - Toy Store corresponds with `shop=toys` + - Trade Shop corresponds with `shop=trade` + - Travel Agency corresponds with `shop=travel_agency` + - Trophy Shop corresponds with `shop=trophy` + - Tire Store corresponds with `shop=tyres` + - Vacuum Cleaner Store corresponds with `shop=vacuum_cleaner` + - Variety Store corresponds with `shop=variety_store` + - Video Store corresponds with `shop=video` + - Video Game Store corresponds with `shop=video_games` + - Watches Shop corresponds with `shop=watches` + - Drinking Water Shop corresponds with `shop=water` + - Watersport/Swim Shop corresponds with `shop=water_sports` + - Weapon Shop corresponds with `shop=weapons` + - Wholesale Store corresponds with `shop=wholesale` + - Wig Shop corresponds with `shop=wigs` + - Window Blind Store corresponds with `shop=window_blind` + - Wine Shop corresponds with `shop=wine` @@ -241,158 +241,158 @@ This tagrendering has no question and is thus read-only - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=boutique - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=fashion - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=vacant - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=yes - - circle:white;./assets/layers/id_presets/fas-tractor.svg corresponds with shop=agrarian - - circle:white;./assets/layers/id_presets/fas-wine-bottle.svg corresponds with shop=alcohol - - circle:white;./assets/layers/id_presets/fas-dragon.svg corresponds with shop=anime - - circle:white;./assets/layers/id_presets/temaki-furniture.svg corresponds with shop=antiques - - circle:white;./assets/layers/id_presets/temaki-laundry.svg corresponds with shop=appliance - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=art - - circle:white;./assets/layers/id_presets/fas-baby-carriage.svg corresponds with shop=baby_goods - - circle:white;./assets/layers/id_presets/fas-suitcase-rolling.svg corresponds with shop=bag - - circle:white;./assets/layers/id_presets/maki-bakery.svg corresponds with shop=bakery - - circle:white;./assets/layers/id_presets/fas-bath.svg corresponds with shop=bathroom_furnishing - - circle:white;./assets/layers/id_presets/temaki-lipstick.svg corresponds with shop=beauty - - circle:white;./assets/layers/id_presets/maki-lodging.svg corresponds with shop=bed - - circle:white;./assets/layers/id_presets/temaki-bottles.svg corresponds with shop=beverages - - circle:white;./assets/layers/id_presets/maki-bicycle.svg corresponds with shop=bicycle - - circle:white;./assets/layers/id_presets/temaki-boat.svg corresponds with shop=boat - - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with shop=bookmaker - - circle:white;./assets/layers/id_presets/fas-book.svg corresponds with shop=books - - circle:white;./assets/layers/id_presets/temaki-storage_fermenter.svg corresponds with shop=brewing_supplies - - circle:white;./assets/layers/id_presets/temaki-cleaver.svg corresponds with shop=butcher - - circle:white;./assets/layers/id_presets/fas-camera-retro.svg corresponds with shop=camera - - circle:white;./assets/layers/id_presets/fas-cannabis.svg corresponds with shop=cannabis - - circle:white;./assets/layers/id_presets/maki-car.svg corresponds with shop=car - - circle:white;./assets/layers/id_presets/fas-car-battery.svg corresponds with shop=car_parts - - circle:white;./assets/layers/id_presets/maki-car-repair.svg corresponds with shop=car_repair - - circle:white;./assets/layers/id_presets/temaki-camper_trailer.svg corresponds with shop=caravan - - circle:white;./assets/layers/id_presets/fas-tape.svg corresponds with shop=carpet - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=catalogue - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=charity - - circle:white;./assets/layers/id_presets/fas-cheese.svg corresponds with shop=cheese - - circle:white;./assets/layers/id_presets/maki-confectionery.svg corresponds with shop=chocolate - - circle:white;./assets/layers/id_presets/maki-clothing-store.svg corresponds with shop=clothes - - circle:white;./assets/layers/id_presets/temaki-coffee.svg corresponds with shop=coffee - - circle:white;./assets/layers/id_presets/fas-laptop.svg corresponds with shop=computer - - circle:white;./assets/layers/id_presets/maki-confectionery.svg corresponds with shop=confectionery - - circle:white;./assets/layers/id_presets/fas-print.svg corresponds with shop=copyshop - - circle:white;./assets/layers/id_presets/temaki-lipstick.svg corresponds with shop=cosmetics - - circle:white;./assets/layers/id_presets/fas-hat-cowboy-side.svg corresponds with shop=country_store - - circle:white;./assets/layers/id_presets/temaki-curtains.svg corresponds with shop=curtain - - circle:white;./assets/layers/id_presets/fas-cheese.svg corresponds with shop=dairy - - circle:white;./assets/layers/id_presets/temaki-meat.svg corresponds with shop=deli - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=department_store - - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with shop=doityourself - - circle:white;./assets/layers/id_presets/fas-door-open.svg corresponds with shop=doors - - circle:white;./assets/layers/id_presets/temaki-clothes_hanger.svg corresponds with shop=dry_cleaning - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=e-cigarette - - circle:white;./assets/layers/id_presets/temaki-power.svg corresponds with shop=electrical - - circle:white;./assets/layers/id_presets/fas-plug.svg corresponds with shop=electronics - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=erotic - - circle:white;./assets/layers/id_presets/fas-tape.svg corresponds with shop=fabric - - circle:white;./assets/layers/id_presets/temaki-fashion_accessories.svg corresponds with shop=fashion_accessories - - circle:white;./assets/layers/id_presets/temaki-fireplace.svg corresponds with shop=fireplace - - circle:white;./assets/layers/id_presets/temaki-ice_fishing.svg corresponds with shop=fishing - - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with shop=flooring - - circle:white;./assets/layers/id_presets/maki-florist.svg corresponds with shop=florist - - circle:white;./assets/layers/id_presets/fas-vector-square.svg corresponds with shop=frame - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=frozen_food - - circle:white;./assets/layers/id_presets/temaki-propane_tank.svg corresponds with shop=fuel - - circle:white;./assets/layers/id_presets/maki-cemetery.svg corresponds with shop=funeral_directors - - circle:white;./assets/layers/id_presets/fas-couch.svg corresponds with shop=furniture - - circle:white;./assets/layers/id_presets/fas-dice.svg corresponds with shop=games - - circle:white;./assets/layers/id_presets/maki-garden-centre.svg corresponds with shop=garden_centre - - circle:white;./assets/layers/id_presets/temaki-propane_tank.svg corresponds with shop=gas - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=general - - circle:white;./assets/layers/id_presets/maki-gift.svg corresponds with shop=gift - - circle:white;./assets/layers/id_presets/fas-carrot.svg corresponds with shop=greengrocer - - circle:white;./assets/layers/id_presets/temaki-beauty_salon.svg corresponds with shop=hairdresser - - circle:white;./assets/layers/id_presets/temaki-hair_care.svg corresponds with shop=hairdresser_supply - - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with shop=hardware - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=health_food - - circle:white;./assets/layers/id_presets/temaki-hearing_aid.svg corresponds with shop=hearing_aids - - circle:white;./assets/layers/id_presets/fas-leaf.svg corresponds with shop=herbalist - - circle:white;./assets/layers/id_presets/temaki-speaker.svg corresponds with shop=hifi - - circle:white;./assets/layers/id_presets/fas-dragon.svg corresponds with shop=hobby - - circle:white;./assets/layers/id_presets/temaki-cloth.svg corresponds with shop=household_linen - - circle:white;./assets/layers/id_presets/fas-blender.svg corresponds with shop=houseware - - circle:white;./assets/layers/id_presets/temaki-bow_and_arrow.svg corresponds with shop=hunting - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=interior_decoration - - circle:white;./assets/layers/id_presets/maki-jewelry-store.svg corresponds with shop=jewelry - - circle:white;./assets/layers/id_presets/fas-store.svg corresponds with shop=kiosk - - circle:white;./assets/layers/id_presets/temaki-kitchen_sink.svg corresponds with shop=kitchen - - circle:white;./assets/layers/id_presets/temaki-laundry.svg corresponds with shop=laundry - - circle:white;./assets/layers/id_presets/temaki-handbag.svg corresponds with shop=leather - - circle:white;./assets/layers/id_presets/temaki-desk_lamp.svg corresponds with shop=lighting - - circle:white;./assets/layers/id_presets/fas-key.svg corresponds with shop=locksmith - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=mall - - circle:white;./assets/layers/id_presets/temaki-spa.svg corresponds with shop=massage - - circle:white;./assets/layers/id_presets/fas-crutch.svg corresponds with shop=medical_supply - - circle:white;./assets/layers/id_presets/temaki-military.svg corresponds with shop=military_surplus - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=model - - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with shop=money_lender - - circle:white;./assets/layers/id_presets/fas-motorcycle.svg corresponds with shop=motorcycle - - circle:white;./assets/layers/id_presets/temaki-motorcycle_repair.svg corresponds with shop=motorcycle_repair - - circle:white;./assets/layers/id_presets/fas-compact-disc.svg corresponds with shop=music - - circle:white;./assets/layers/id_presets/fas-guitar.svg corresponds with shop=musical_instrument - - circle:white;./assets/layers/id_presets/fas-newspaper.svg corresponds with shop=newsagent - - circle:white;./assets/layers/id_presets/fas-pills.svg corresponds with shop=nutrition_supplements - - circle:white;./assets/layers/id_presets/maki-optician.svg corresponds with shop=optician - - circle:white;./assets/layers/id_presets/temaki-compass.svg corresponds with shop=outdoor - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=outpost - - circle:white;./assets/layers/id_presets/fas-paint-roller.svg corresponds with shop=paint - - circle:white;./assets/layers/id_presets/temaki-balloon.svg corresponds with shop=party - - circle:white;./assets/layers/id_presets/maki-bakery.svg corresponds with shop=pastry - - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with shop=pawnbroker - - circle:white;./assets/layers/id_presets/temaki-perfume.svg corresponds with shop=perfumery - - circle:white;./assets/layers/id_presets/fas-cat.svg corresponds with shop=pet - - circle:white;./assets/layers/id_presets/temaki-pet_grooming.svg corresponds with shop=pet_grooming - - circle:white;./assets/layers/id_presets/fas-camera-retro.svg corresponds with shop=photo - - circle:white;./assets/layers/id_presets/temaki-vase.svg corresponds with shop=pottery - - circle:white;./assets/layers/id_presets/fas-print.svg corresponds with shop=printer_ink - - circle:white;./assets/layers/id_presets/temaki-psychic.svg corresponds with shop=psychic - - circle:white;./assets/layers/id_presets/temaki-rocket_firework.svg corresponds with shop=pyrotechnics - - circle:white;./assets/layers/id_presets/fas-microchip.svg corresponds with shop=radiotechnics - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=religion - - circle:white;./assets/layers/id_presets/fas-dolly.svg corresponds with shop=rental - - circle:white;./assets/layers/id_presets/temaki-scuba_diving.svg corresponds with shop=scuba_diving - - circle:white;./assets/layers/id_presets/temaki-fish_cleaning.svg corresponds with shop=seafood - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=second_hand - - circle:white;./assets/layers/id_presets/temaki-needle_and_spool.svg corresponds with shop=sewing - - circle:white;./assets/layers/id_presets/temaki-hammer_shoe.svg corresponds with shop=shoe_repair - - circle:white;./assets/layers/id_presets/maki-shoe.svg corresponds with shop=shoes - - circle:white;./assets/layers/id_presets/temaki-spice_bottle.svg corresponds with shop=spices - - circle:white;./assets/layers/id_presets/fas-futbol.svg corresponds with shop=sports - - circle:white;./assets/layers/id_presets/fas-paperclip.svg corresponds with shop=stationery - - circle:white;./assets/layers/id_presets/temaki-storage_rental.svg corresponds with shop=storage_rental - - circle:white;./assets/layers/id_presets/maki-grocery.svg corresponds with shop=supermarket - - circle:white;./assets/layers/id_presets/temaki-needle_and_spool.svg corresponds with shop=tailor - - circle:white;./assets/layers/id_presets/temaki-tattoo_machine.svg corresponds with shop=tattoo - - circle:white;./assets/layers/id_presets/maki-teahouse.svg corresponds with shop=tea - - circle:white;./assets/layers/id_presets/maki-telephone.svg corresponds with shop=telecommunication - - circle:white;./assets/layers/id_presets/temaki-tiling.svg corresponds with shop=tiles - - circle:white;./assets/layers/id_presets/temaki-pipe.svg corresponds with shop=tobacco - - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with shop=tool_hire - - circle:white;./assets/layers/id_presets/fas-rocket.svg corresponds with shop=toys - - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with shop=trade - - circle:white;./assets/layers/id_presets/fas-suitcase.svg corresponds with shop=travel_agency - - circle:white;./assets/layers/id_presets/fas-trophy.svg corresponds with shop=trophy - - circle:white;./assets/layers/id_presets/temaki-tire.svg corresponds with shop=tyres - - circle:white;./assets/layers/id_presets/temaki-vacuum.svg corresponds with shop=vacuum_cleaner - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=variety_store - - circle:white;./assets/layers/id_presets/temaki-movie_rental.svg corresponds with shop=video - - circle:white;./assets/layers/id_presets/maki-gaming.svg corresponds with shop=video_games - - circle:white;./assets/layers/id_presets/maki-watch.svg corresponds with shop=watches - - circle:white;./assets/layers/id_presets/temaki-water_bottle.svg corresponds with shop=water - - circle:white;./assets/layers/id_presets/temaki-dagger.svg corresponds with shop=weapons - - circle:white;./assets/layers/id_presets/maki-warehouse.svg corresponds with shop=wholesale - - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with shop=wigs - - circle:white;./assets/layers/id_presets/temaki-window.svg corresponds with shop=window_blind - - circle:white;./assets/layers/id_presets/maki-alcohol-shop.svg corresponds with shop=wine + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=boutique` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=fashion` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=vacant` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=yes` + - circle:white;./assets/layers/id_presets/fas-tractor.svg corresponds with `shop=agrarian` + - circle:white;./assets/layers/id_presets/fas-wine-bottle.svg corresponds with `shop=alcohol` + - circle:white;./assets/layers/id_presets/fas-dragon.svg corresponds with `shop=anime` + - circle:white;./assets/layers/id_presets/temaki-furniture.svg corresponds with `shop=antiques` + - circle:white;./assets/layers/id_presets/temaki-laundry.svg corresponds with `shop=appliance` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=art` + - circle:white;./assets/layers/id_presets/fas-baby-carriage.svg corresponds with `shop=baby_goods` + - circle:white;./assets/layers/id_presets/fas-suitcase-rolling.svg corresponds with `shop=bag` + - circle:white;./assets/layers/id_presets/maki-bakery.svg corresponds with `shop=bakery` + - circle:white;./assets/layers/id_presets/fas-bath.svg corresponds with `shop=bathroom_furnishing` + - circle:white;./assets/layers/id_presets/temaki-lipstick.svg corresponds with `shop=beauty` + - circle:white;./assets/layers/id_presets/maki-lodging.svg corresponds with `shop=bed` + - circle:white;./assets/layers/id_presets/temaki-bottles.svg corresponds with `shop=beverages` + - circle:white;./assets/layers/id_presets/maki-bicycle.svg corresponds with `shop=bicycle` + - circle:white;./assets/layers/id_presets/temaki-boat.svg corresponds with `shop=boat` + - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with `shop=bookmaker` + - circle:white;./assets/layers/id_presets/fas-book.svg corresponds with `shop=books` + - circle:white;./assets/layers/id_presets/temaki-storage_fermenter.svg corresponds with `shop=brewing_supplies` + - circle:white;./assets/layers/id_presets/temaki-cleaver.svg corresponds with `shop=butcher` + - circle:white;./assets/layers/id_presets/fas-camera-retro.svg corresponds with `shop=camera` + - circle:white;./assets/layers/id_presets/fas-cannabis.svg corresponds with `shop=cannabis` + - circle:white;./assets/layers/id_presets/maki-car.svg corresponds with `shop=car` + - circle:white;./assets/layers/id_presets/fas-car-battery.svg corresponds with `shop=car_parts` + - circle:white;./assets/layers/id_presets/maki-car-repair.svg corresponds with `shop=car_repair` + - circle:white;./assets/layers/id_presets/temaki-camper_trailer.svg corresponds with `shop=caravan` + - circle:white;./assets/layers/id_presets/fas-tape.svg corresponds with `shop=carpet` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=catalogue` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=charity` + - circle:white;./assets/layers/id_presets/fas-cheese.svg corresponds with `shop=cheese` + - circle:white;./assets/layers/id_presets/maki-confectionery.svg corresponds with `shop=chocolate` + - circle:white;./assets/layers/id_presets/maki-clothing-store.svg corresponds with `shop=clothes` + - circle:white;./assets/layers/id_presets/temaki-coffee.svg corresponds with `shop=coffee` + - circle:white;./assets/layers/id_presets/fas-laptop.svg corresponds with `shop=computer` + - circle:white;./assets/layers/id_presets/maki-confectionery.svg corresponds with `shop=confectionery` + - circle:white;./assets/layers/id_presets/fas-print.svg corresponds with `shop=copyshop` + - circle:white;./assets/layers/id_presets/temaki-lipstick.svg corresponds with `shop=cosmetics` + - circle:white;./assets/layers/id_presets/fas-hat-cowboy-side.svg corresponds with `shop=country_store` + - circle:white;./assets/layers/id_presets/temaki-curtains.svg corresponds with `shop=curtain` + - circle:white;./assets/layers/id_presets/fas-cheese.svg corresponds with `shop=dairy` + - circle:white;./assets/layers/id_presets/temaki-meat.svg corresponds with `shop=deli` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=department_store` + - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with `shop=doityourself` + - circle:white;./assets/layers/id_presets/fas-door-open.svg corresponds with `shop=doors` + - circle:white;./assets/layers/id_presets/temaki-clothes_hanger.svg corresponds with `shop=dry_cleaning` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=e-cigarette` + - circle:white;./assets/layers/id_presets/temaki-power.svg corresponds with `shop=electrical` + - circle:white;./assets/layers/id_presets/fas-plug.svg corresponds with `shop=electronics` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=erotic` + - circle:white;./assets/layers/id_presets/fas-tape.svg corresponds with `shop=fabric` + - circle:white;./assets/layers/id_presets/temaki-fashion_accessories.svg corresponds with `shop=fashion_accessories` + - circle:white;./assets/layers/id_presets/temaki-fireplace.svg corresponds with `shop=fireplace` + - circle:white;./assets/layers/id_presets/temaki-ice_fishing.svg corresponds with `shop=fishing` + - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with `shop=flooring` + - circle:white;./assets/layers/id_presets/maki-florist.svg corresponds with `shop=florist` + - circle:white;./assets/layers/id_presets/fas-vector-square.svg corresponds with `shop=frame` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=frozen_food` + - circle:white;./assets/layers/id_presets/temaki-propane_tank.svg corresponds with `shop=fuel` + - circle:white;./assets/layers/id_presets/maki-cemetery.svg corresponds with `shop=funeral_directors` + - circle:white;./assets/layers/id_presets/fas-couch.svg corresponds with `shop=furniture` + - circle:white;./assets/layers/id_presets/fas-dice.svg corresponds with `shop=games` + - circle:white;./assets/layers/id_presets/maki-garden-centre.svg corresponds with `shop=garden_centre` + - circle:white;./assets/layers/id_presets/temaki-propane_tank.svg corresponds with `shop=gas` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=general` + - circle:white;./assets/layers/id_presets/maki-gift.svg corresponds with `shop=gift` + - circle:white;./assets/layers/id_presets/fas-carrot.svg corresponds with `shop=greengrocer` + - circle:white;./assets/layers/id_presets/temaki-beauty_salon.svg corresponds with `shop=hairdresser` + - circle:white;./assets/layers/id_presets/temaki-hair_care.svg corresponds with `shop=hairdresser_supply` + - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with `shop=hardware` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=health_food` + - circle:white;./assets/layers/id_presets/temaki-hearing_aid.svg corresponds with `shop=hearing_aids` + - circle:white;./assets/layers/id_presets/fas-leaf.svg corresponds with `shop=herbalist` + - circle:white;./assets/layers/id_presets/temaki-speaker.svg corresponds with `shop=hifi` + - circle:white;./assets/layers/id_presets/fas-dragon.svg corresponds with `shop=hobby` + - circle:white;./assets/layers/id_presets/temaki-cloth.svg corresponds with `shop=household_linen` + - circle:white;./assets/layers/id_presets/fas-blender.svg corresponds with `shop=houseware` + - circle:white;./assets/layers/id_presets/temaki-bow_and_arrow.svg corresponds with `shop=hunting` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=interior_decoration` + - circle:white;./assets/layers/id_presets/maki-jewelry-store.svg corresponds with `shop=jewelry` + - circle:white;./assets/layers/id_presets/fas-store.svg corresponds with `shop=kiosk` + - circle:white;./assets/layers/id_presets/temaki-kitchen_sink.svg corresponds with `shop=kitchen` + - circle:white;./assets/layers/id_presets/temaki-laundry.svg corresponds with `shop=laundry` + - circle:white;./assets/layers/id_presets/temaki-handbag.svg corresponds with `shop=leather` + - circle:white;./assets/layers/id_presets/temaki-desk_lamp.svg corresponds with `shop=lighting` + - circle:white;./assets/layers/id_presets/fas-key.svg corresponds with `shop=locksmith` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=mall` + - circle:white;./assets/layers/id_presets/temaki-spa.svg corresponds with `shop=massage` + - circle:white;./assets/layers/id_presets/fas-crutch.svg corresponds with `shop=medical_supply` + - circle:white;./assets/layers/id_presets/temaki-military.svg corresponds with `shop=military_surplus` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=model` + - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with `shop=money_lender` + - circle:white;./assets/layers/id_presets/fas-motorcycle.svg corresponds with `shop=motorcycle` + - circle:white;./assets/layers/id_presets/temaki-motorcycle_repair.svg corresponds with `shop=motorcycle_repair` + - circle:white;./assets/layers/id_presets/fas-compact-disc.svg corresponds with `shop=music` + - circle:white;./assets/layers/id_presets/fas-guitar.svg corresponds with `shop=musical_instrument` + - circle:white;./assets/layers/id_presets/fas-newspaper.svg corresponds with `shop=newsagent` + - circle:white;./assets/layers/id_presets/fas-pills.svg corresponds with `shop=nutrition_supplements` + - circle:white;./assets/layers/id_presets/maki-optician.svg corresponds with `shop=optician` + - circle:white;./assets/layers/id_presets/temaki-compass.svg corresponds with `shop=outdoor` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=outpost` + - circle:white;./assets/layers/id_presets/fas-paint-roller.svg corresponds with `shop=paint` + - circle:white;./assets/layers/id_presets/temaki-balloon.svg corresponds with `shop=party` + - circle:white;./assets/layers/id_presets/maki-bakery.svg corresponds with `shop=pastry` + - circle:white;./assets/layers/id_presets/temaki-money_hand.svg corresponds with `shop=pawnbroker` + - circle:white;./assets/layers/id_presets/temaki-perfume.svg corresponds with `shop=perfumery` + - circle:white;./assets/layers/id_presets/fas-cat.svg corresponds with `shop=pet` + - circle:white;./assets/layers/id_presets/temaki-pet_grooming.svg corresponds with `shop=pet_grooming` + - circle:white;./assets/layers/id_presets/fas-camera-retro.svg corresponds with `shop=photo` + - circle:white;./assets/layers/id_presets/temaki-vase.svg corresponds with `shop=pottery` + - circle:white;./assets/layers/id_presets/fas-print.svg corresponds with `shop=printer_ink` + - circle:white;./assets/layers/id_presets/temaki-psychic.svg corresponds with `shop=psychic` + - circle:white;./assets/layers/id_presets/temaki-rocket_firework.svg corresponds with `shop=pyrotechnics` + - circle:white;./assets/layers/id_presets/fas-microchip.svg corresponds with `shop=radiotechnics` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=religion` + - circle:white;./assets/layers/id_presets/fas-dolly.svg corresponds with `shop=rental` + - circle:white;./assets/layers/id_presets/temaki-scuba_diving.svg corresponds with `shop=scuba_diving` + - circle:white;./assets/layers/id_presets/temaki-fish_cleaning.svg corresponds with `shop=seafood` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=second_hand` + - circle:white;./assets/layers/id_presets/temaki-needle_and_spool.svg corresponds with `shop=sewing` + - circle:white;./assets/layers/id_presets/temaki-hammer_shoe.svg corresponds with `shop=shoe_repair` + - circle:white;./assets/layers/id_presets/maki-shoe.svg corresponds with `shop=shoes` + - circle:white;./assets/layers/id_presets/temaki-spice_bottle.svg corresponds with `shop=spices` + - circle:white;./assets/layers/id_presets/fas-futbol.svg corresponds with `shop=sports` + - circle:white;./assets/layers/id_presets/fas-paperclip.svg corresponds with `shop=stationery` + - circle:white;./assets/layers/id_presets/temaki-storage_rental.svg corresponds with `shop=storage_rental` + - circle:white;./assets/layers/id_presets/maki-grocery.svg corresponds with `shop=supermarket` + - circle:white;./assets/layers/id_presets/temaki-needle_and_spool.svg corresponds with `shop=tailor` + - circle:white;./assets/layers/id_presets/temaki-tattoo_machine.svg corresponds with `shop=tattoo` + - circle:white;./assets/layers/id_presets/maki-teahouse.svg corresponds with `shop=tea` + - circle:white;./assets/layers/id_presets/maki-telephone.svg corresponds with `shop=telecommunication` + - circle:white;./assets/layers/id_presets/temaki-tiling.svg corresponds with `shop=tiles` + - circle:white;./assets/layers/id_presets/temaki-pipe.svg corresponds with `shop=tobacco` + - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with `shop=tool_hire` + - circle:white;./assets/layers/id_presets/fas-rocket.svg corresponds with `shop=toys` + - circle:white;./assets/layers/id_presets/temaki-tools.svg corresponds with `shop=trade` + - circle:white;./assets/layers/id_presets/fas-suitcase.svg corresponds with `shop=travel_agency` + - circle:white;./assets/layers/id_presets/fas-trophy.svg corresponds with `shop=trophy` + - circle:white;./assets/layers/id_presets/temaki-tire.svg corresponds with `shop=tyres` + - circle:white;./assets/layers/id_presets/temaki-vacuum.svg corresponds with `shop=vacuum_cleaner` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=variety_store` + - circle:white;./assets/layers/id_presets/temaki-movie_rental.svg corresponds with `shop=video` + - circle:white;./assets/layers/id_presets/maki-gaming.svg corresponds with `shop=video_games` + - circle:white;./assets/layers/id_presets/maki-watch.svg corresponds with `shop=watches` + - circle:white;./assets/layers/id_presets/temaki-water_bottle.svg corresponds with `shop=water` + - circle:white;./assets/layers/id_presets/temaki-dagger.svg corresponds with `shop=weapons` + - circle:white;./assets/layers/id_presets/maki-warehouse.svg corresponds with `shop=wholesale` + - circle:white;./assets/layers/id_presets/maki-shop.svg corresponds with `shop=wigs` + - circle:white;./assets/layers/id_presets/temaki-window.svg corresponds with `shop=window_blind` + - circle:white;./assets/layers/id_presets/maki-alcohol-shop.svg corresponds with `shop=wine` This document is autogenerated from [assets/layers/id_presets/id_presets.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/id_presets/id_presets.json) \ No newline at end of file diff --git a/Docs/Layers/indoors.md b/Docs/Layers/indoors.md new file mode 100644 index 000000000..2afa8008b --- /dev/null +++ b/Docs/Layers/indoors.md @@ -0,0 +1,68 @@ + + + indoors +========= + + + + + +Basic indoor mapping: shows room outlines + + + + + + + - This layer is shown at zoomlevel **13** and higher + + + + +#### Themes using this layer + + + + + + - [indoors](https://mapcomplete.osm.be/indoors) + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - indoor=room|indoor=area|indoor=wall|indoor=door|indoor=level + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22indoor%22%3D%22room%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22indoor%22%3D%22area%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22indoor%22%3D%22wall%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22indoor%22%3D%22door%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22indoor%22%3D%22level%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/layers/indoors/indoors.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/indoors/indoors.json) \ No newline at end of file diff --git a/Docs/Layers/information_board.md b/Docs/Layers/information_board.md index 826f49ff4..4f1c10672 100644 --- a/Docs/Layers/information_board.md +++ b/Docs/Layers/information_board.md @@ -58,6 +58,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/kerbs.md b/Docs/Layers/kerbs.md index 5292bf642..594280491 100644 --- a/Docs/Layers/kerbs.md +++ b/Docs/Layers/kerbs.md @@ -29,6 +29,7 @@ A layer showing kerbs. - [kerbs_and_crossings](https://mapcomplete.osm.be/kerbs_and_crossings) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -80,12 +81,12 @@ The question is What is the height of this kerb? - - This kerb is raised (>3 cm) corresponds with kerb=raised - - This kerb is lowered (~3 cm) corresponds with kerb=lowered - - This kerb is flush (~0cm) corresponds with kerb=flush - - There is no kerb here corresponds with kerb=no + - This kerb is raised (>3 cm) corresponds with `kerb=raised` + - This kerb is lowered (~3 cm) corresponds with `kerb=lowered` + - This kerb is flush (~0cm) corresponds with `kerb=flush` + - There is no kerb here corresponds with `kerb=no` - This option cannot be chosen as answer - - There is a kerb of unknown height corresponds with kerb=yes + - There is a kerb of unknown height corresponds with `kerb=yes` - This option cannot be chosen as answer @@ -103,9 +104,9 @@ The question is Is there tactile paving at this kerb? - - This kerb has tactile paving. corresponds with tactile_paving=yes - - This kerb does not have tactile paving. corresponds with tactile_paving=no - - This kerb has tactile paving, but it is incorrect corresponds with tactile_paving=incorrect + - This kerb has tactile paving. corresponds with `tactile_paving=yes` + - This kerb does not have tactile paving. corresponds with `tactile_paving=no` + - This kerb has tactile paving, but it is incorrect corresponds with `tactile_paving=incorrect` - This option cannot be chosen as answer diff --git a/Docs/Layers/kindergarten_childcare.md b/Docs/Layers/kindergarten_childcare.md index 291d76451..41b37ee6a 100644 --- a/Docs/Layers/kindergarten_childcare.md +++ b/Docs/Layers/kindergarten_childcare.md @@ -81,8 +81,8 @@ The question is What type of facility is this? - - This is a kindergarten (also known as preschool) where small kids receive early education. corresponds with amenity=kindergarten - - This is a childcare facility, such as a nursery or daycare where small kids are looked after. They do not offer an education and are ofter run as private businesses corresponds with amenity=childcare + - This is a kindergarten (also known as preschool) where small kids receive early education. corresponds with `amenity=kindergarten` + - This is a childcare facility, such as a nursery or daycare where small kids are looked after. They do not offer an education and are ofter run as private businesses corresponds with `amenity=childcare` @@ -115,7 +115,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -135,7 +135,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -155,7 +155,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/lit_streets.md b/Docs/Layers/lit_streets.md index ae7d43085..0e0ade82d 100644 --- a/Docs/Layers/lit_streets.md +++ b/Docs/Layers/lit_streets.md @@ -70,6 +70,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -86,11 +88,11 @@ The question is Is this street lit? - - This street is lit corresponds with lit=yes - - This street is not lit corresponds with lit=no - - This street is lit at night corresponds with lit=sunset-sunrise + - This street is lit corresponds with `lit=yes` + - This street is not lit corresponds with `lit=no` + - This street is lit at night corresponds with `lit=sunset-sunrise` - This option cannot be chosen as answer - - This street is lit 24/7 corresponds with lit=24/7 + - This street is lit 24/7 corresponds with `lit=24/7` @@ -99,6 +101,8 @@ The question is Is this street lit? +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -109,6 +113,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/map.md b/Docs/Layers/map.md index 97c4c8d75..7118c2ad3 100644 --- a/Docs/Layers/map.md +++ b/Docs/Layers/map.md @@ -71,6 +71,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -91,7 +93,7 @@ This is rendered with This map is based on {map_source} - - This map is based on OpenStreetMap corresponds with map_source=OpenStreetMap + - This map is based on OpenStreetMap corresponds with `map_source=OpenStreetMap` @@ -106,11 +108,11 @@ The question is Is the OpenStreetMap-attribution given? - - OpenStreetMap is clearly attributed, including the ODBL-license corresponds with map_source:attribution=yes - - OpenStreetMap is clearly attributed, but the license is not mentioned corresponds with map_source:attribution=incomplete - - OpenStreetMap wasn't mentioned, but someone put an OpenStreetMap-sticker on it corresponds with map_source:attribution=sticker - - There is no attribution at all corresponds with map_source:attribution=none - - There is no attribution at all corresponds with map_source:attribution=no + - OpenStreetMap is clearly attributed, including the ODBL-license corresponds with `map_source:attribution=yes` + - OpenStreetMap is clearly attributed, but the license is not mentioned corresponds with `map_source:attribution=incomplete` + - OpenStreetMap wasn't mentioned, but someone put an OpenStreetMap-sticker on it corresponds with `map_source:attribution=sticker` + - There is no attribution at all corresponds with `map_source:attribution=none` + - There is no attribution at all corresponds with `map_source:attribution=no` - This option cannot be chosen as answer diff --git a/Docs/Layers/maxspeed.md b/Docs/Layers/maxspeed.md index 5f0a6b96c..7810648d1 100644 --- a/Docs/Layers/maxspeed.md +++ b/Docs/Layers/maxspeed.md @@ -81,9 +81,9 @@ This is rendered with The maximum allowed speed on this road is {maxspeed} - - This is a living street, which has a maxspeed of 20km/h corresponds with highway=living_street&_country!=be + - This is a living street, which has a maxspeed of 20km/h corresponds with `highway=living_street&_country!=be` - This option cannot be chosen as answer - - This is a living street, which has a maxspeed of 20km/h corresponds with highway=living_street + - This is a living street, which has a maxspeed of 20km/h corresponds with `highway=living_street` This document is autogenerated from [assets/layers/maxspeed/maxspeed.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/maxspeed/maxspeed.json) \ No newline at end of file diff --git a/Docs/Layers/named_streets.md b/Docs/Layers/named_streets.md index da4815c2e..52a0c6a8b 100644 --- a/Docs/Layers/named_streets.md +++ b/Docs/Layers/named_streets.md @@ -16,7 +16,7 @@ Hidden layer with all streets which have a name. Useful to detect addresses - This layer is shown at zoomlevel **18** and higher - This layer is not visible by default and must be enabled in the filter by the user. - - This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable. + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` diff --git a/Docs/Layers/nature_reserve.md b/Docs/Layers/nature_reserve.md index 88c725031..9a511f64a 100644 --- a/Docs/Layers/nature_reserve.md +++ b/Docs/Layers/nature_reserve.md @@ -79,6 +79,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -99,12 +101,12 @@ This is rendered with Accessin this nature reserve: {access:description} - - Publicly accessible corresponds with access=yes - - Not accessible corresponds with access=no - - Not accessible as this is a private area corresponds with access=private - - Accessible despite being a privately owned area corresponds with access=permissive - - Only accessible with a guide or during organised activities corresponds with access=guided - - Accessible with fee corresponds with access=yes&fee=yes + - Publicly accessible corresponds with `access=yes` + - Not accessible corresponds with `access=no` + - Not accessible as this is a private area corresponds with `access=private` + - Accessible despite being a privately owned area corresponds with `access=permissive` + - Only accessible with a guide or during organised activities corresponds with `access=guided` + - Accessible with fee corresponds with `access=yes&fee=yes` @@ -123,10 +125,10 @@ This is rendered with Operated by {operator} - - Operated by Natuurpunt corresponds with operator=Natuurpunt - - Operated by {operator} corresponds with operator~^(n|N)atuurpunt.*$ + - Operated by Natuurpunt corresponds with `operator=Natuurpunt` + - Operated by {operator} corresponds with `operator~^(n|N)atuurpunt.*$` - This option cannot be chosen as answer - - Operated by Agentschap Natuur en Bos corresponds with operator=Agentschap Natuur en Bos + - Operated by Agentschap Natuur en Bos corresponds with `operator=Agentschap Natuur en Bos` @@ -145,7 +147,7 @@ This is rendered with This area is named {name} - - This area doesn't have a name corresponds with noname=yes + - This area doesn't have a name corresponds with `noname=yes` @@ -160,9 +162,9 @@ The question is Are dogs allowed in this nature reserve? - - Dogs have to be leashed corresponds with dog=leashed - - No dogs allowed corresponds with dog=no - - Dogs are allowed to roam freely corresponds with dog=yes + - Dogs have to be leashed corresponds with `dog=leashed` + - No dogs allowed corresponds with `dog=no` + - Dogs are allowed to roam freely corresponds with `dog=yes` Only visible if `access=yes|access=permissive|access=guided` is shown @@ -183,7 +185,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -273,6 +275,8 @@ This tagrendering has no question and is thus read-only +Shows a wikipedia box with the corresponding wikipedia article + The question is What is the corresponding Wikidata entity? This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) @@ -283,9 +287,9 @@ This is rendered with {wikipedia():max-height:25rem} - - {wikipedia():max-height:25rem} corresponds with wikipedia~^..*$ + - {wikipedia():max-height:25rem} corresponds with `wikipedia~^..*$` - This option cannot be chosen as answer - - No Wikipedia page has been linked yet corresponds with + - No Wikipedia page has been linked yet corresponds with `` - This option cannot be chosen as answer diff --git a/Docs/Layers/observation_tower.md b/Docs/Layers/observation_tower.md index c173a784f..051e15cff 100644 --- a/Docs/Layers/observation_tower.md +++ b/Docs/Layers/observation_tower.md @@ -78,6 +78,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -98,7 +100,7 @@ This is rendered with This tower is called {name} - - This tower doesn't have a specific name corresponds with noname=yes + - This tower doesn't have a specific name corresponds with `noname=yes` @@ -127,8 +129,8 @@ The question is Can this tower be visited? - - This tower is publicly accessible corresponds with access=yes - - This tower can only be visited with a guide corresponds with access=guided + - This tower is publicly accessible corresponds with `access=yes` + - This tower can only be visited with a guide corresponds with `access=guided` @@ -147,7 +149,7 @@ This is rendered with Visiting this tower costs {charge} - - Free to visit corresponds with fee=no + - Free to visit corresponds with `fee=no` Only visible if `access=yes|access=guided` is shown @@ -164,9 +166,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -188,7 +190,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -220,8 +222,8 @@ The question is Does this tower have an elevator? - - This tower has an elevator which takes visitors to the top corresponds with elevator=yes - - This tower does not have an elevator corresponds with elevator=no + - This tower has an elevator which takes visitors to the top corresponds with `elevator=yes` + - This tower does not have an elevator corresponds with `elevator=no` Only visible if `access=yes|access=guided` is shown @@ -252,10 +254,10 @@ 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 + - 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` Only visible if `elevator=yes&access=yes|access=guided` is shown @@ -266,6 +268,8 @@ Only visible if `elevator=yes&access=yes|access=guided` is shown +Shows a wikipedia box with the corresponding wikipedia article + The question is What is the corresponding Wikidata entity? This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) @@ -276,9 +280,9 @@ This is rendered with {wikipedia():max-height:25rem} - - {wikipedia():max-height:25rem} corresponds with wikipedia~^..*$ + - {wikipedia():max-height:25rem} corresponds with `wikipedia~^..*$` - This option cannot be chosen as answer - - No Wikipedia page has been linked yet corresponds with + - No Wikipedia page has been linked yet corresponds with `` - This option cannot be chosen as answer diff --git a/Docs/Layers/parking.md b/Docs/Layers/parking.md index 7bc232fea..2926c1429 100644 --- a/Docs/Layers/parking.md +++ b/Docs/Layers/parking.md @@ -25,6 +25,7 @@ A layer showing car parkings + - [onwheels](https://mapcomplete.osm.be/onwheels) - [parkings](https://mapcomplete.osm.be/parkings) - [personal](https://mapcomplete.osm.be/personal) - [transit](https://mapcomplete.osm.be/transit) @@ -61,6 +62,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/parking#values) [parking](https://wiki.openstreetmap.org/wiki/Key:parking) | Multiple choice | [surface](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dsurface) [street_side](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dstreet_side) [underground](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dunderground) [multi-storey](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dmulti-storey) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:parking%3Drooftop) [lane](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dlane) [carports](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dcarports) [garage_boxes](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dgarage_boxes) [layby](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dlayby) [sheds](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dsheds) [](https://taginfo.openstreetmap.org/keys/capacity:disabled#values) [capacity:disabled](https://wiki.openstreetmap.org/wiki/Key:capacity:disabled) | [pnat](../SpecialInputElements.md#pnat) | [](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | @@ -72,12 +74,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### parking-type @@ -88,16 +117,16 @@ The question is What kind of parking is this? - - This is a surface parking lot corresponds with parking=surface - - This is a parking bay next to a street corresponds with parking=street_side - - This is an underground parking garage corresponds with parking=underground - - This is a multi-storey parking garage corresponds with parking=multi-storey - - This is a rooftop parking deck corresponds with parking=rooftop - - This is a lane for parking on the road corresponds with parking=lane - - This is parking covered by carports corresponds with parking=carports - - This a parking consisting of garage boxes corresponds with parking=garage_boxes - - This is a parking on a layby corresponds with parking=layby - - This is a parking consisting of sheds corresponds with parking=sheds + - This is a surface parking lot corresponds with `parking=surface` + - This is a parking bay next to a street corresponds with `parking=street_side` + - This is an underground parking garage corresponds with `parking=underground` + - This is a multi-storey parking garage corresponds with `parking=multi-storey` + - This is a rooftop parking deck corresponds with `parking=rooftop` + - This is a lane for parking on the road corresponds with `parking=lane` + - This is parking covered by carports corresponds with `parking=carports` + - This a parking consisting of garage boxes corresponds with `parking=garage_boxes` + - This is a parking on a layby corresponds with `parking=layby` + - This is a parking consisting of sheds corresponds with `parking=sheds` @@ -116,9 +145,9 @@ This is rendered with There are {capacity:disabled} disabled parking spots - - There are disabled parking spots, but it is not known how many corresponds with capacity:disabled=yes + - There are disabled parking spots, but it is not known how many corresponds with `capacity:disabled=yes` - This option cannot be chosen as answer - - There are no disabled parking spots corresponds with capacity:disabled=no + - There are no disabled parking spots corresponds with `capacity:disabled=no` - This option cannot be chosen as answer diff --git a/Docs/Layers/parks_and_forests_without_etymology.md b/Docs/Layers/parks_and_forests_without_etymology.md index 8f51abab1..dd6d08a10 100644 --- a/Docs/Layers/parks_and_forests_without_etymology.md +++ b/Docs/Layers/parks_and_forests_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/pedestrian_path.md b/Docs/Layers/pedestrian_path.md index 9cfdff0e6..7f8806817 100644 --- a/Docs/Layers/pedestrian_path.md +++ b/Docs/Layers/pedestrian_path.md @@ -15,6 +15,7 @@ Pedestrian footpaths, especially used for indoor navigation and snapping entranc - This layer is shown at zoomlevel **18** and higher + - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. - This layer is needed as dependency for layer [entrance](#entrance) @@ -27,8 +28,8 @@ Pedestrian footpaths, especially used for indoor navigation and snapping entranc - [entrances](https://mapcomplete.osm.be/entrances) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - - [walls_and_buildings](https://mapcomplete.osm.be/walls_and_buildings) diff --git a/Docs/Layers/pharmacy.md b/Docs/Layers/pharmacy.md index 8434ce7ae..e87795e88 100644 --- a/Docs/Layers/pharmacy.md +++ b/Docs/Layers/pharmacy.md @@ -7,6 +7,8 @@ +A layer showing pharmacies, which (probably) dispense prescription drugs + @@ -24,6 +26,7 @@ - [healthcare](https://mapcomplete.osm.be/healthcare) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [shops](https://mapcomplete.osm.be/shops) @@ -59,6 +62,7 @@ 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/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](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) | @@ -72,12 +76,28 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### name + + + +The question is What is the name of the pharmacy? + +This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name) + +This is rendered with This pharmacy is called {name} + + + + + ### opening_hours @@ -106,7 +126,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -126,7 +146,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -146,7 +166,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -162,9 +182,9 @@ The question is Is this pharmacy easy to access on a wheelchair? - - This pharmacy is easy to access on a wheelchair corresponds with wheelchair=yes - - This pharmacy is hard to access on a wheelchair corresponds with wheelchair=no - - This pharmacy has limited access for wheelchair users corresponds with wheelchair=limited + - This pharmacy is easy to access on a wheelchair corresponds with `wheelchair=yes` + - This pharmacy is hard to access on a wheelchair corresponds with `wheelchair=no` + - This pharmacy has limited access for wheelchair users corresponds with `wheelchair=limited` This document is autogenerated from [assets/layers/pharmacy/pharmacy.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/pharmacy/pharmacy.json) \ No newline at end of file diff --git a/Docs/Layers/picnic_table.md b/Docs/Layers/picnic_table.md index 9e8e1ee42..9d8db48ba 100644 --- a/Docs/Layers/picnic_table.md +++ b/Docs/Layers/picnic_table.md @@ -27,6 +27,7 @@ The layer showing picnic tables - [benches](https://mapcomplete.osm.be/benches) - [nature](https://mapcomplete.osm.be/nature) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -61,6 +62,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/material#values) [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) @@ -70,12 +72,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### picnic_table-material @@ -90,9 +119,9 @@ This is rendered with This picnic table is made of {material} - - This is a wooden picnic table corresponds with material=wood - - This is a concrete picnic table corresponds with material=concrete - - This picnic table is made from (recycled) plastic corresponds with material=plastic + - This is a wooden picnic table corresponds with `material=wood` + - This is a concrete picnic table corresponds with `material=concrete` + - This picnic table is made from (recycled) plastic corresponds with `material=plastic` This document is autogenerated from [assets/layers/picnic_table/picnic_table.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/picnic_table/picnic_table.json) \ No newline at end of file diff --git a/Docs/Layers/play_forest.md b/Docs/Layers/play_forest.md index 5d55f6e16..e01e5b334 100644 --- a/Docs/Layers/play_forest.md +++ b/Docs/Layers/play_forest.md @@ -60,6 +60,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -80,9 +82,9 @@ This is rendered with Dit gebied wordt beheerd door {operator} - - Dit gebied wordt beheerd door het Agentschap Natuur en Bos corresponds with operator~^[aA][nN][bB]$ + - Dit gebied wordt beheerd door het Agentschap Natuur en Bos corresponds with `operator~^[aA][nN][bB]$` - This option cannot be chosen as answer - - Dit gebied wordt beheerd door het Agentschap Natuur en Bos corresponds with operator=Agenstchap Natuur en Bos + - Dit gebied wordt beheerd door het Agentschap Natuur en Bos corresponds with `operator=Agenstchap Natuur en Bos` @@ -97,8 +99,8 @@ The question is Wanneer is deze speelzone toegankelijk? - - Het hele jaar door overdag toegankelijk (van 08:00 tot 22:00) corresponds with opening_hours=08:00-22:00 - - Enkel in de zomervakantie en overdag toegankelijk (van 1 juli tot 31 augustus, van 08:00 tot 22:00 corresponds with opening_hours=Jul-Aug 08:00-22:00 + - Het hele jaar door overdag toegankelijk (van 08:00 tot 22:00) corresponds with `opening_hours=08:00-22:00` + - Enkel in de zomervakantie en overdag toegankelijk (van 1 juli tot 31 augustus, van 08:00 tot 22:00 corresponds with `opening_hours=Jul-Aug 08:00-22:00` diff --git a/Docs/Layers/playground.md b/Docs/Layers/playground.md index 731170a6b..958dc54e5 100644 --- a/Docs/Layers/playground.md +++ b/Docs/Layers/playground.md @@ -79,6 +79,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -99,15 +101,15 @@ This is rendered with The surface is {surface} - - The surface is grass corresponds with surface=grass - - The surface is sand corresponds with surface=sand - - The surface consist of woodchips corresponds with surface=woodchips - - The surface is paving stones corresponds with surface=paving_stones - - The surface is asphalt corresponds with surface=asphalt - - The surface is concrete corresponds with surface=concrete - - The surface is unpaved corresponds with surface=unpaved + - The surface is grass corresponds with `surface=grass` + - The surface is sand corresponds with `surface=sand` + - The surface consist of woodchips corresponds with `surface=woodchips` + - The surface is paving stones corresponds with `surface=paving_stones` + - The surface is asphalt corresponds with `surface=asphalt` + - The surface is concrete corresponds with `surface=concrete` + - The surface is unpaved corresponds with `surface=unpaved` - This option cannot be chosen as answer - - The surface is paved corresponds with surface=paved + - The surface is paved corresponds with `surface=paved` - This option cannot be chosen as answer @@ -123,8 +125,8 @@ The question is Is this playground lit at night? - - This playground is lit at night corresponds with lit=yes - - This playground is not lit at night corresponds with lit=no + - This playground is lit at night corresponds with `lit=yes` + - This playground is not lit at night corresponds with `lit=no` This tagrendering has labels `extra` @@ -187,13 +189,13 @@ The question is Is this playground accessible to the general public? - - Accessible to the general public corresponds with access=yes - - This is a paid playground corresponds with fee=yes - - Only accessible for clients of the operating business corresponds with access=customers - - Only accessible to students of the school corresponds with access=students + - Accessible to the general public corresponds with `access=yes` + - This is a paid playground corresponds with `fee=yes` + - Only accessible for clients of the operating business corresponds with `access=customers` + - Only accessible to students of the school corresponds with `access=students` - This option cannot be chosen as answer - - Not accessible corresponds with access=private - - This is a schoolyard - an outdoor area where the pupils can play during their breaks; but it is not accessible to the general public corresponds with leisure=schoolyard + - Not accessible corresponds with `access=private` + - This is a schoolyard - an outdoor area where the pupils can play during their breaks; but it is not accessible to the general public corresponds with `leisure=schoolyard` @@ -212,7 +214,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -256,9 +258,9 @@ The question is Is this playground accessible to wheelchair users? - - Completely accessible for wheelchair users corresponds with wheelchair=yes - - Limited accessibility for wheelchair users corresponds with wheelchair=limited - - Not accessible for wheelchair users corresponds with wheelchair=no + - Completely accessible for wheelchair users corresponds with `wheelchair=yes` + - Limited accessibility for wheelchair users corresponds with `wheelchair=limited` + - Not accessible for wheelchair users corresponds with `wheelchair=no` @@ -277,8 +279,8 @@ This is rendered with {opening_hours_table(opening_hours)} - - Accessible from sunrise till sunset corresponds with opening_hours=sunrise-sunset - - Always accessible corresponds with opening_hours=24/7 + - Accessible from sunrise till sunset corresponds with `opening_hours=sunrise-sunset` + - Always accessible corresponds with `opening_hours=24/7` diff --git a/Docs/Layers/postboxes.md b/Docs/Layers/postboxes.md index 9589295a4..e1094ca88 100644 --- a/Docs/Layers/postboxes.md +++ b/Docs/Layers/postboxes.md @@ -57,6 +57,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/postoffices.md b/Docs/Layers/postoffices.md index 7aa453ce5..06547ab30 100644 --- a/Docs/Layers/postoffices.md +++ b/Docs/Layers/postoffices.md @@ -68,6 +68,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -98,7 +100,7 @@ This is rendered with Opening Hours: {opening_hours_table()} - - 24/7 opened (including holidays) corresponds with opening_hours=24/7 + - 24/7 opened (including holidays) corresponds with `opening_hours=24/7` This document is autogenerated from [assets/themes/postboxes/postboxes.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/postboxes/postboxes.json) \ No newline at end of file diff --git a/Docs/Layers/public_bookcase.md b/Docs/Layers/public_bookcase.md index e1a75cd4e..bd9e97f96 100644 --- a/Docs/Layers/public_bookcase.md +++ b/Docs/Layers/public_bookcase.md @@ -78,6 +78,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -98,7 +100,7 @@ This is rendered with The name of this bookcase is {name} - - This bookcase doesn't have a name corresponds with noname=yes + - This bookcase doesn't have a name corresponds with `noname=yes` @@ -131,8 +133,8 @@ This is rendered with This place mostly serves {books} - - Mostly children books corresponds with books=children - - Mostly books for adults corresponds with books=adults + - Mostly children books corresponds with `books=children` + - Mostly books for adults corresponds with `books=adults` @@ -147,9 +149,9 @@ The question is Is this bookcase located outdoors? - - This bookcase is located indoors corresponds with indoor=yes - - This bookcase is located outdoors corresponds with indoor=no - - This bookcase is located outdoors corresponds with + - This bookcase is located indoors corresponds with `indoor=yes` + - This bookcase is located outdoors corresponds with `indoor=no` + - This bookcase is located outdoors corresponds with `` - This option cannot be chosen as answer @@ -165,8 +167,8 @@ The question is Is this public bookcase freely accessible? - - Publicly accessible corresponds with access=yes - - Only accessible to customers corresponds with access=customers + - Publicly accessible corresponds with `access=yes` + - Only accessible to customers corresponds with `access=customers` Only visible if `indoor=yes` is shown @@ -201,8 +203,8 @@ This is rendered with This public bookcase is part of {brand} - - Part of the network 'Little Free Library' corresponds with brand=Little Free Library - - This public bookcase is not part of a bigger network corresponds with nobrand=yes + - Part of the network 'Little Free Library' corresponds with `brand=Little Free Library` + - This public bookcase is not part of a bigger network corresponds with `nobrand=yes` @@ -221,7 +223,7 @@ This is rendered with The reference number of this public bookcase within {bran - - This bookcase is not part of a bigger network corresponds with nobrand=yes + - This bookcase is not part of a bigger network corresponds with `nobrand=yes` Only visible if `brand~^..*$` is shown diff --git a/Docs/Layers/rainbow_crossing_high_zoom.md b/Docs/Layers/rainbow_crossing_high_zoom.md index f5ea2ab29..8de253429 100644 --- a/Docs/Layers/rainbow_crossing_high_zoom.md +++ b/Docs/Layers/rainbow_crossing_high_zoom.md @@ -59,6 +59,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -75,9 +77,9 @@ The question is Does this crossing has rainbow paintings? - - This crossing has rainbow paintings corresponds with crossing:marking=rainbow - - No rainbow paintings here corresponds with not:crossing:marking=rainbow - - No rainbow paintings here corresponds with crossing:marking!=rainbow + - This crossing has rainbow paintings corresponds with `crossing:marking=rainbow` + - No rainbow paintings here corresponds with `not:crossing:marking=rainbow` + - No rainbow paintings here corresponds with `crossing:marking!=rainbow` - This option cannot be chosen as answer @@ -89,6 +91,8 @@ Only visible if `highway=crossing` is shown +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -99,6 +103,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/rainbow_crossings.md b/Docs/Layers/rainbow_crossings.md index b7990c47b..ee309ee94 100644 --- a/Docs/Layers/rainbow_crossings.md +++ b/Docs/Layers/rainbow_crossings.md @@ -59,6 +59,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -75,9 +77,9 @@ The question is Does this crossing has rainbow paintings? - - This crossing has rainbow paintings corresponds with crossing:marking=rainbow - - No rainbow paintings here corresponds with not:crossing:marking=rainbow - - No rainbow paintings here corresponds with crossing:marking!=rainbow + - This crossing has rainbow paintings corresponds with `crossing:marking=rainbow` + - No rainbow paintings here corresponds with `not:crossing:marking=rainbow` + - No rainbow paintings here corresponds with `crossing:marking!=rainbow` - This option cannot be chosen as answer diff --git a/Docs/Layers/reception_desk.md b/Docs/Layers/reception_desk.md new file mode 100644 index 000000000..de8187f46 --- /dev/null +++ b/Docs/Layers/reception_desk.md @@ -0,0 +1,137 @@ + + + reception_desk +================ + + + + + +A layer showing where the reception desks are and which asks some accessibility information + + + + + + + - This layer is shown at zoomlevel **0** and higher + + + + +#### Themes using this layer + + + + + + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - amenity=reception_desk + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22reception_desk%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](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/desk:height#values) [desk:height](https://wiki.openstreetmap.org/wiki/Key:desk:height) | [pfloat](../SpecialInputElements.md#pfloat) | +[](https://taginfo.openstreetmap.org/keys/hearing_loop#values) [hearing_loop](https://wiki.openstreetmap.org/wiki/Key:hearing_loop) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dno) + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + + + +### 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 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 on the first basement level corresponds with `level=-1` + + + + +### desk-height + + + +The question is What is the height of the reception desk?
This is measured from the floor to the lowest usable part of the desk
+ +This rendering asks information about the property [desk:height](https://wiki.openstreetmap.org/wiki/Key:desk:height) + +This is rendered with The height of the desk is {canonical(desk:height)} + + + + + +### induction-loop + + + +An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver. + +The question is Does this place have an audio induction loop for people with reduced hearing? + + + + + + - This place has an audio induction loop corresponds with `hearing_loop=yes` + - This place does not has an audio induction loop corresponds with `hearing_loop=no` + + +This document is autogenerated from [assets/layers/reception_desk/reception_desk.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/reception_desk/reception_desk.json) \ No newline at end of file diff --git a/Docs/Layers/recycling.md b/Docs/Layers/recycling.md index 93608473e..77e580f2f 100644 --- a/Docs/Layers/recycling.md +++ b/Docs/Layers/recycling.md @@ -75,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -91,9 +93,9 @@ The question is What type of recycling is this? - - This is a recycling container corresponds with recycling_type=container - - This is a recycling centre corresponds with recycling_type=centre - - Waste disposal container for residual waste corresponds with amenity=waste_disposal + - This is a recycling container corresponds with `recycling_type=container` + - This is a recycling centre corresponds with `recycling_type=centre` + - Waste disposal container for residual waste corresponds with `amenity=waste_disposal` @@ -112,7 +114,7 @@ This is rendered with This recycling centre is named {name} - - This recycling centre doesn't have a specific name corresponds with noname=yes + - This recycling centre doesn't have a specific name corresponds with `noname=yes` Only visible if `recycling_type=centre` is shown @@ -129,9 +131,9 @@ The question is Where is this container located? - - This is an underground container corresponds with location=underground - - This container is located indoors corresponds with location=indoor - - This container is located outdoors corresponds with + - This is an underground container corresponds with `location=underground` + - This container is located indoors corresponds with `location=indoor` + - This container is located outdoors corresponds with `` Only visible if `recycling_type=container` is shown @@ -148,49 +150,49 @@ The question is What can be recycled here? - - Batteries can be recycled here corresponds with recycling:batteries=yes + - Batteries can be recycled here corresponds with `recycling:batteries=yes` - Unselecting this answer will add - - Beverage cartons can be recycled here corresponds with recycling:beverage_cartons=yes + - Beverage cartons can be recycled here corresponds with `recycling:beverage_cartons=yes` - Unselecting this answer will add - - Cans can be recycled here corresponds with recycling:cans=yes + - Cans can be recycled here corresponds with `recycling:cans=yes` - Unselecting this answer will add - - Clothes can be recycled here corresponds with recycling:clothes=yes + - Clothes can be recycled here corresponds with `recycling:clothes=yes` - Unselecting this answer will add - - Cooking oil can be recycled here corresponds with recycling:cooking_oil=yes + - Cooking oil can be recycled here corresponds with `recycling:cooking_oil=yes` - Unselecting this answer will add - - Engine oil can be recycled here corresponds with recycling:engine_oil=yes + - Engine oil can be recycled here corresponds with `recycling:engine_oil=yes` - Unselecting this answer will add - - Green waste can be recycled here corresponds with recycling:green_waste=yes + - Green waste can be recycled here corresponds with `recycling:green_waste=yes` - Unselecting this answer will add - - Organic waste can be recycled here corresponds with recycling:organic=yes + - Organic waste can be recycled here corresponds with `recycling:organic=yes` - This option cannot be chosen as answer - Unselecting this answer will add - - Glass bottles can be recycled here corresponds with recycling:glass_bottles=yes + - Glass bottles can be recycled here corresponds with `recycling:glass_bottles=yes` - Unselecting this answer will add - - Glass can be recycled here corresponds with recycling:glass=yes + - Glass can be recycled here corresponds with `recycling:glass=yes` - Unselecting this answer will add - - Newspapers can be recycled here corresponds with recycling:newspaper=yes + - Newspapers can be recycled here corresponds with `recycling:newspaper=yes` - Unselecting this answer will add - - Paper can be recycled here corresponds with recycling:paper=yes + - Paper can be recycled here corresponds with `recycling:paper=yes` - Unselecting this answer will add - - Plastic bottles can be recycled here corresponds with recycling:plastic_bottles=yes + - Plastic bottles can be recycled here corresponds with `recycling:plastic_bottles=yes` - Unselecting this answer will add - - Plastic packaging can be recycled here corresponds with recycling:plastic_packaging=yes + - Plastic packaging can be recycled here corresponds with `recycling:plastic_packaging=yes` - Unselecting this answer will add - - Plastic can be recycled here corresponds with recycling:plastic=yes + - Plastic can be recycled here corresponds with `recycling:plastic=yes` - Unselecting this answer will add - - Scrap metal can be recycled here corresponds with recycling:scrap_metal=yes + - Scrap metal can be recycled here corresponds with `recycling:scrap_metal=yes` - Unselecting this answer will add - - Shoes can be recycled here corresponds with recycling:shoes=yes + - Shoes can be recycled here corresponds with `recycling:shoes=yes` - Unselecting this answer will add - - Small electrical appliances can be recycled here corresponds with recycling:small_appliances=yes + - Small electrical appliances can be recycled here corresponds with `recycling:small_appliances=yes` - Unselecting this answer will add - - Small electrical appliances can be recycled here corresponds with recycling:small_electrical_appliances=yes + - Small electrical appliances can be recycled here corresponds with `recycling:small_electrical_appliances=yes` - This option cannot be chosen as answer - Unselecting this answer will add - - Needles can be recycled here corresponds with recycling:needles=yes + - Needles can be recycled here corresponds with `recycling:needles=yes` - Unselecting this answer will add - - Residual waste can be recycled here corresponds with recycling:waste=yes + - Residual waste can be recycled here corresponds with `recycling:waste=yes` - Unselecting this answer will add @@ -224,7 +226,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -246,7 +248,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -268,7 +270,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -290,7 +292,7 @@ This is rendered with {opening_hours_table()} - - 24/7 corresponds with opening_hours=24/7 + - 24/7 corresponds with `opening_hours=24/7` This document is autogenerated from [assets/layers/recycling/recycling.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/recycling/recycling.json) \ No newline at end of file diff --git a/Docs/Layers/school.md b/Docs/Layers/school.md index f230a5f9f..3132fd9c1 100644 --- a/Docs/Layers/school.md +++ b/Docs/Layers/school.md @@ -28,6 +28,7 @@ Schools giving primary and secondary education and post-secondary, non-tertiary - [education](https://mapcomplete.osm.be/education) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -113,13 +114,13 @@ The question is What level of education is given on this school? - - This is a school with a kindergarten section where young kids receive some education which prepares reading and writing. corresponds with school=kindergarten - - This is a school where one learns primary skills such as basic literacy and numerical skills.
Pupils typically enroll from 6 years old till 12 years old
corresponds with school=primary - - This is a secondary school which offers all grades corresponds with school=secondary - - This is a secondary school which does not have all grades, but offers first and second grade corresponds with school=lower_secondary - - This is a secondary school which does not have all grades, but offers third and fourth grade corresponds with school=middle_secondary - - This is a secondary school which does not have all grades, but offers fifth and sixth grade corresponds with school=upper_secondary - - This school offers post-secondary education (e.g. a seventh or eight specialisation year) corresponds with school=post_secondary + - This is a school with a kindergarten section where young kids receive some education which prepares reading and writing. corresponds with `school=kindergarten` + - This is a school where one learns primary skills such as basic literacy and numerical skills.
Pupils typically enroll from 6 years old till 12 years old
corresponds with `school=primary` + - This is a secondary school which offers all grades corresponds with `school=secondary` + - This is a secondary school which does not have all grades, but offers first and second grade corresponds with `school=lower_secondary` + - This is a secondary school which does not have all grades, but offers third and fourth grade corresponds with `school=middle_secondary` + - This is a secondary school which does not have all grades, but offers fifth and sixth grade corresponds with `school=upper_secondary` + - This school offers post-secondary education (e.g. a seventh or eight specialisation year) corresponds with `school=post_secondary` Only visible if `_country=be` is shown @@ -136,10 +137,10 @@ The question is Which genders can enroll at this school? - - Both boys and girls can enroll here and have classes together corresponds with school:gender=mixed - - Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times) corresponds with school:gender=separated - - This is a boys only-school corresponds with school:gender=male - - This is a girls-only school corresponds with school:gender=female + - Both boys and girls can enroll here and have classes together corresponds with `school:gender=mixed` + - Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times) corresponds with `school:gender=separated` + - This is a boys only-school corresponds with `school:gender=male` + - This is a girls-only school corresponds with `school:gender=female` @@ -158,16 +159,16 @@ This is rendered with This school has facilities for students with {school:for} - - This is a school where students study skills at their age-adequate level.
There are little or no special facilities to cater for students with special needs or facilities are ad-hoc
corresponds with + - This is a school where students study skills at their age-adequate level.
There are little or no special facilities to cater for students with special needs or facilities are ad-hoc
corresponds with `` - This option cannot be chosen as answer - - This is a school for students without special needs
This includes students who can follow the courses with small, ad hoc measurements
corresponds with school:for=mainstream - - This is a school where adults are taught skills on the level as specified. corresponds with school:for=adults - - This is a school for students with autism corresponds with school:for=autism - - This is a school for students with learning disabilities corresponds with school:for=learning_disabilities - - This is a school for blind students or students with sight impairments corresponds with school:for=blind - - This is a school for deaf students or students with hearing impairments corresponds with school:for=deaf - - This is a school for students with disabilities corresponds with school:for=disabilities - - This is a school for students with special needs corresponds with school:for=special_needs + - This is a school for students without special needs
This includes students who can follow the courses with small, ad hoc measurements
corresponds with `school:for=mainstream` + - This is a school where adults are taught skills on the level as specified. corresponds with `school:for=adults` + - This is a school for students with autism corresponds with `school:for=autism` + - This is a school for students with learning disabilities corresponds with `school:for=learning_disabilities` + - This is a school for blind students or students with sight impairments corresponds with `school:for=blind` + - This is a school for deaf students or students with hearing impairments corresponds with `school:for=deaf` + - This is a school for students with disabilities corresponds with `school:for=disabilities` + - This is a school for students with special needs corresponds with `school:for=special_needs` Only visible if `school:for~^..*$` is shown @@ -188,7 +189,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -208,7 +209,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -228,7 +229,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -238,498 +239,500 @@ This is rendered with {email} +Enables to pick a single 'school:language=' within the mappings + The question is What is the main language of this school?
What language is spoken with the students in non-language related courses and with the administration?
- - The main language of this school is unknown corresponds with + - The main language of this school is unknown corresponds with `` - This option cannot be chosen as answer - - Aymara corresponds with school:language=ay - - Abkhaz corresponds with school:language=ab - - Aragonese corresponds with school:language=an - - German corresponds with school:language=de - - Catalan corresponds with school:language=ca - - Azerbaijani corresponds with school:language=az - - Croatian corresponds with school:language=hr - - Esperanto corresponds with school:language=eo - - Bashkir corresponds with school:language=ba - - Arabic corresponds with school:language=ar - - Hebrew corresponds with school:language=he - - Galician corresponds with school:language=gl - - Modern Greek corresponds with school:language=el - - Czech corresponds with school:language=cs - - Danish corresponds with school:language=da - - Afrikaans corresponds with school:language=af - - Irish corresponds with school:language=ga - - Hindi corresponds with school:language=hi - - Bulgarian corresponds with school:language=bg - - Belarusian corresponds with school:language=be - - Gujarati corresponds with school:language=gu - - Welsh corresponds with school:language=cy - - French corresponds with school:language=fr - - Upper Sorbian corresponds with school:language=hsb - - West Frisian corresponds with school:language=fy - - Akan corresponds with school:language=ak - - Amharic corresponds with school:language=am - - Spanish corresponds with school:language=es - - Bosnian corresponds with school:language=bs - - Zazaki corresponds with school:language=diq - - Dzongkha corresponds with school:language=dz - - Corsican corresponds with school:language=co - - Cree corresponds with school:language=cr - - Kashubian corresponds with school:language=csb - - Manx corresponds with school:language=gv - - Chuvash corresponds with school:language=cv - - Bengali corresponds with school:language=bn - - Scottish Gaelic corresponds with school:language=gd - - Avaric corresponds with school:language=av - - Awadhi corresponds with school:language=awa - - Breton corresponds with school:language=br - - Ewe corresponds with school:language=ee - - Dagbani corresponds with school:language=dag - - Maldivian corresponds with school:language=dv - - Finnish corresponds with school:language=fi - - English corresponds with school:language=en - - Adyghe corresponds with school:language=ady - - Assamese corresponds with school:language=as - - Guarani corresponds with school:language=gn - - Fiji Hindi corresponds with school:language=hif - - Asturian corresponds with school:language=ast - - Lower Sorbian corresponds with school:language=dsb - - Hawaiian corresponds with school:language=haw - - Gilaki corresponds with school:language=glk - - Gagauz corresponds with school:language=gag - - Gan corresponds with school:language=gan - - American Sign Language corresponds with school:language=ase - - Carolinian corresponds with school:language=cal - - Gilbertese corresponds with school:language=gil - - Egyptian Arabic corresponds with school:language=arz - - Balinese corresponds with school:language=ban - - Hakka corresponds with school:language=hak - - Dinka corresponds with school:language=din - - Emilian corresponds with school:language=egl - - Doteli corresponds with school:language=dty - - Persian corresponds with school:language=fa - - Montenegrin corresponds with school:language=cnr - - Russia Buriat corresponds with school:language=bxr - - Sorani corresponds with school:language=ckb - - Basque corresponds with school:language=eu - - Estonian corresponds with school:language=et - - Bavarian corresponds with school:language=bar - - Faroese corresponds with school:language=fo - - North Frisian corresponds with school:language=frr - - Chamorro corresponds with school:language=ch - - Cheyenne corresponds with school:language=chy - - Chechen corresponds with school:language=ce - - Norwegian corresponds with school:language=no - - Banjar corresponds with school:language=bjn - - Cebuano corresponds with school:language=ceb - - Hausa corresponds with school:language=ha - - Franco-Provençal corresponds with school:language=frp - - Cherokee corresponds with school:language=chr - - Guianan Creole corresponds with school:language=gcr - - Gorontalo corresponds with school:language=gor - - Extremaduran corresponds with school:language=ext - - Fijian corresponds with school:language=fj - - Friulian corresponds with school:language=fur - - Kose corresponds with school:language=bss - - Old Prussian corresponds with school:language=prg - - Koyraboro Senni corresponds with school:language=ses - - Pökoot corresponds with school:language=pko - - Chakma corresponds with school:language=ccp - - Duala corresponds with school:language=dua - - Turkish corresponds with school:language=tr - - Urdu corresponds with school:language=ur - - Bambara corresponds with school:language=bm - - Fula corresponds with school:language=ff - - Russian corresponds with school:language=ru - - Sidamo corresponds with school:language=sid - - Niuean corresponds with school:language=niu - - Ojibwe corresponds with school:language=oj - - Votic corresponds with school:language=vot - - British Sign Language corresponds with school:language=bfi - - Blackfoot corresponds with school:language=bla - - Toba Batak corresponds with school:language=bbc - - Chittagonian corresponds with school:language=ctg - - Brahui corresponds with school:language=brh - - Bugis corresponds with school:language=bug - - Punjabi corresponds with school:language=pa - - Punjabi corresponds with school:language=pnb - - Bodo corresponds with school:language=brx - - Kildin Sami corresponds with school:language=sjd - - Tibetan corresponds with school:language=bo - - Bislama corresponds with school:language=bi - - Min Dong corresponds with school:language=cdo - - Swahili corresponds with school:language=sw - - Goan Konkani corresponds with school:language=gom - - Mauritian Creole corresponds with school:language=mfe - - Chinese corresponds with school:language=zh - - Sassarese corresponds with school:language=sdc - - Plautdietsch corresponds with school:language=pdt - - Siberian Tatar corresponds with school:language=sty - - Carpathian Romani corresponds with school:language=rmc - - Noongar corresponds with school:language=nys - - Alsatian corresponds with school:language=gsw-fr - - Zuni corresponds with school:language=zun - - Skolt Sami corresponds with school:language=sms - - Pijin corresponds with school:language=pis - - Southern Ndebele corresponds with school:language=nr - - Munsee corresponds with school:language=umu - - Ga corresponds with school:language=gaa - - Fon corresponds with school:language=fon - - Lozi corresponds with school:language=loz - - Seychellois Creole corresponds with school:language=crs - - Turoyo corresponds with school:language=tru - - Aghem corresponds with school:language=agq - - Moroccan Arabic corresponds with school:language=ary - - Atikamekw corresponds with school:language=atj - - Altai corresponds with school:language=alt - - Tamil corresponds with school:language=ta - - Pashto corresponds with school:language=ps - - N'Ko corresponds with school:language=nqo - - Romanian corresponds with school:language=ro - - Chavacano corresponds with school:language=cbk-zam - - Elfdalian corresponds with school:language=ovd - - Main-Franconian corresponds with school:language=vmf - - Rinconada Bikol corresponds with school:language=bto - - Southern Balochi corresponds with school:language=bcc - - Northern East Cree corresponds with school:language=crl - - Northern Luri corresponds with school:language=lrc - - Aklan corresponds with school:language=akl - - Bishnupriya Manipuri corresponds with school:language=bpy - - Mi'kmaq corresponds with school:language=mic - - Slovak corresponds with school:language=sk - - Slovene corresponds with school:language=sl - - Okinawan corresponds with school:language=ryu - - Yaghnobi corresponds with school:language=yai - - Efik corresponds with school:language=efi - - Telugu corresponds with school:language=te - - Yiddish corresponds with school:language=yi - - Tajik corresponds with school:language=tg - - Samogitian corresponds with school:language=bat-smg - - Northern Thai corresponds with school:language=nod - - Rangi corresponds with school:language=lag - - Kinaray-a corresponds with school:language=krj - - Yapese corresponds with school:language=yap - - Yidgha corresponds with school:language=ydg - - Vietnamese corresponds with school:language=vi - - Italian corresponds with school:language=it - - Babuza corresponds with school:language=bzg - - Puyuma corresponds with school:language=pyu - - Wayuu corresponds with school:language=guc - - O'odham corresponds with school:language=ood - - West Coast Bajau corresponds with school:language=bdr - - Mandailing corresponds with school:language=btm - - Guadeloupean Creole corresponds with school:language=gcf - - Sirionó corresponds with school:language=srq - - Indian Sign Language corresponds with school:language=ins - - Arakanese corresponds with school:language=rki - - Wallisian corresponds with school:language=wls - - Pite Sami corresponds with school:language=sje - - Lule Sami corresponds with school:language=smj - - Kumyk corresponds with school:language=kum - - Kombe corresponds with school:language=nui - - Southern Min corresponds with school:language=zh-min-nan - - Polish corresponds with school:language=pl - - Pu-Xian Min corresponds with school:language=cpx - - Khams Tibetan corresponds with school:language=khg - - Kven corresponds with school:language=fkv - - Pular corresponds with school:language=fuf - - Jambi Malay corresponds with school:language=jax - - Kadazandusun corresponds with school:language=dtp - - Standard Moroccan Berber corresponds with school:language=zgh - - Western Balochi corresponds with school:language=bgn - - Yangben corresponds with school:language=yav - - Swedish corresponds with school:language=sv - - South Azerbaijani corresponds with school:language=azb - - Kanakanavu corresponds with school:language=xnb - - Dari corresponds with school:language=fa-af - - Quechua corresponds with school:language=qu - - Seri corresponds with school:language=sei - - Albanian corresponds with school:language=sq - - Ukrainian corresponds with school:language=uk - - Uzbek corresponds with school:language=uz - - Georgian corresponds with school:language=ka - - Portuguese corresponds with school:language=pt - - Armenian corresponds with school:language=hy - - Dutch corresponds with school:language=nl - - Romansh corresponds with school:language=rm - - Gheg Albanian corresponds with school:language=aln - - Marathi corresponds with school:language=mr - - Malagasy corresponds with school:language=mg - - Serbo-Croatian corresponds with school:language=sh - - Zulu corresponds with school:language=zu - - Icelandic corresponds with school:language=is - - Luxembourgish corresponds with school:language=lb - - Turkmen corresponds with school:language=tk - - Thai corresponds with school:language=th - - Japanese corresponds with school:language=ja - - Latvian corresponds with school:language=lv - - Romani corresponds with school:language=rmy - - Khmer corresponds with school:language=km - - Lao corresponds with school:language=lo - - Somali corresponds with school:language=so - - Southern Sami corresponds with school:language=sma - - Innu-aimun corresponds with school:language=moe - - Serbian corresponds with school:language=sr - - Lithuanian corresponds with school:language=lt - - Hungarian corresponds with school:language=hu - - Burmese corresponds with school:language=my - - Malay corresponds with school:language=ms - - Xhosa corresponds with school:language=xh - - Udmurt corresponds with school:language=udm - - Rusyn corresponds with school:language=rue - - Saterland Frisian corresponds with school:language=stq - - Kyrgyz corresponds with school:language=ky - - Maltese corresponds with school:language=mt - - Macedonian corresponds with school:language=mk - - Zhuang corresponds with school:language=za - - Uyghur corresponds with school:language=ug - - Korean corresponds with school:language=ko - - Sinhala corresponds with school:language=si - - Kazakh corresponds with school:language=kk - - Nauruan corresponds with school:language=na - - Navajo corresponds with school:language=nv - - Meänkieli corresponds with school:language=fit - - Mingrelian corresponds with school:language=xmf - - Afar corresponds with school:language=aa - - Angika corresponds with school:language=anp - - Aromanian corresponds with school:language=rup - - Venetian corresponds with school:language=vec - - Veps corresponds with school:language=vep - - Bhojpuri corresponds with school:language=bh - - Shawiya corresponds with school:language=shy - - Herero corresponds with school:language=hz - - Mon corresponds with school:language=mnw - - Mazanderani corresponds with school:language=mzn - - Occitan corresponds with school:language=oc - - Indonesian corresponds with school:language=id - - Venda corresponds with school:language=ve - - Minangkabau corresponds with school:language=min - - Mirandese corresponds with school:language=mwl - - Pennsylvania German corresponds with school:language=pdc - - Palatinate German corresponds with school:language=pfl - - Nynorsk corresponds with school:language=nn - - Bokmål corresponds with school:language=nb - - Cornish corresponds with school:language=kw - - Scots corresponds with school:language=sco - - Moksha corresponds with school:language=mdf - - Sindhi corresponds with school:language=sd - - Tatar corresponds with school:language=tt - - Silesian corresponds with school:language=szl - - Karakalpak corresponds with school:language=kaa - - Javanese corresponds with school:language=jv - - Tagalog corresponds with school:language=tl - - Tongan corresponds with school:language=to - - Erzya corresponds with school:language=myv - - Lezgian corresponds with school:language=lez - - Choctaw corresponds with school:language=cho - - Greenlandic corresponds with school:language=kl - - Piedmontese corresponds with school:language=pms - - Crimean Tatar corresponds with school:language=crh - - Inari Sami corresponds with school:language=smn - - Ripuarian corresponds with school:language=ksh - - Chewa corresponds with school:language=ny - - Mongolian corresponds with school:language=mn - - Kashmiri corresponds with school:language=ks - - Igbo corresponds with school:language=ig - - Kinyarwanda corresponds with school:language=rw - - Low German corresponds with school:language=nds - - Ndonga corresponds with school:language=ng - - Saraiki corresponds with school:language=skr - - Northern Sami corresponds with school:language=se - - Inupiaq corresponds with school:language=ik - - Khakas corresponds with school:language=kjh - - Nepali corresponds with school:language=ne - - Neapolitan corresponds with school:language=nap - - Luganda corresponds with school:language=lg - - Haitian Creole corresponds with school:language=ht - - Ossetian corresponds with school:language=os - - Newar corresponds with school:language=new - - Sundanese corresponds with school:language=su - - Inuktitut corresponds with school:language=iu - - Gikuyu corresponds with school:language=ki - - Kannada corresponds with school:language=kn - - Ingush corresponds with school:language=inh - - Picard corresponds with school:language=pcd - - Sardinian corresponds with school:language=sc - - Sranan Tongo corresponds with school:language=srn - - Kirundi corresponds with school:language=rn - - Hiri Motu corresponds with school:language=ho - - Sango corresponds with school:language=sg - - Papiamento corresponds with school:language=pap - - Kabardian corresponds with school:language=kbd - - Odia corresponds with school:language=or - - Mapudungun corresponds with school:language=arn - - Oromo corresponds with school:language=om - - Santali corresponds with school:language=sat - - Nuosu corresponds with school:language=ii - - Kabiye corresponds with school:language=kbp - - Kabyle corresponds with school:language=kab - - Kongo corresponds with school:language=kg - - Karachay-Balkar corresponds with school:language=krc - - Tumbuka corresponds with school:language=tum - - Tausug corresponds with school:language=tsg - - Shilha corresponds with school:language=shi - - Shona corresponds with school:language=sn - - Tok Pisin corresponds with school:language=tpi - - Tarifit corresponds with school:language=rif - - Tuvan corresponds with school:language=tyv - - Tigrinya corresponds with school:language=ti - - Tetum corresponds with school:language=tet - - Sicilian corresponds with school:language=scn - - Lombard corresponds with school:language=lmo - - Ilocano corresponds with school:language=ilo - - Samoan corresponds with school:language=sm - - Swazi corresponds with school:language=ss - - Meitei corresponds with school:language=mni - - Komi corresponds with school:language=kv - - Kurdish corresponds with school:language=ku - - Judaeo-Spanish corresponds with school:language=lad - - Tsonga corresponds with school:language=ts - - Sesotho corresponds with school:language=st - - Ligurian corresponds with school:language=lij - - Maithili corresponds with school:language=mai - - Tuvaluan corresponds with school:language=tvl - - Tswana corresponds with school:language=tn - - Walloon corresponds with school:language=wa - - Southern Min corresponds with school:language=nan - - Pitkern corresponds with school:language=pih - - Ladin corresponds with school:language=lld - - Tahitian corresponds with school:language=ty - - Wolof corresponds with school:language=wo - - Waray corresponds with school:language=war - - Lak corresponds with school:language=lbe - - Latgalian corresponds with school:language=ltg - - Madurese corresponds with school:language=mad - - Marshallese corresponds with school:language=mh - - Moldovan corresponds with school:language=mo - - Nenets corresponds with school:language=yrk - - Chinook Jargon corresponds with school:language=chn - - Kanuri corresponds with school:language=kr - - Twi corresponds with school:language=tw - - Shan corresponds with school:language=shn - - West Flemish corresponds with school:language=vls - - Pangasinan corresponds with school:language=pag - - Northern Sotho corresponds with school:language=nso - - Lingala corresponds with school:language=ln - - Zeelandic corresponds with school:language=zea - - Atayal corresponds with school:language=tay - - Wu Chinese corresponds with school:language=wuu - - Sakha corresponds with school:language=sah - - Jamaican Creole corresponds with school:language=jam - - Lakota corresponds with school:language=lkt - - Karelian corresponds with school:language=krl - - Tulu corresponds with school:language=tcy - - Ume Sami corresponds with school:language=sju - - Southern Thai corresponds with school:language=sou - - Amdo Tibetan corresponds with school:language=adx - - Silesian German corresponds with school:language=sli - - Swiss German corresponds with school:language=als - - Khasi corresponds with school:language=kha - - Manchu corresponds with school:language=mnc - - Yoruba corresponds with school:language=yo - - Malayalam corresponds with school:language=ml - - Haida corresponds with school:language=hai - - Kutenai corresponds with school:language=kut - - Ho corresponds with school:language=hoc - - German Sign Language corresponds with school:language=gsg - - Limburgish corresponds with school:language=li - - Western Armenian corresponds with school:language=hyw - - Central Alaskan Yup'ik corresponds with school:language=esu - - Abaza corresponds with school:language=abq - - Tlingit corresponds with school:language=tli - - Seediq corresponds with school:language=trv - - Sakizaya corresponds with school:language=szy - - Mizo corresponds with school:language=lus - - Livvi-Karelian corresponds with school:language=olo - - Pontic Greek corresponds with school:language=pnt - - Permyak corresponds with school:language=koi - - Nogai corresponds with school:language=nog - - Wakhi corresponds with school:language=wbl - - Talysh corresponds with school:language=tly - - Meadow Mari corresponds with school:language=mhr - - Megleno-Romanian corresponds with school:language=ruq - - Mentawai corresponds with school:language=mwv - - Koyukon corresponds with school:language=koy - - Chilcotin corresponds with school:language=clc - - Võro corresponds with school:language=fiu-vro - - Louisiana French corresponds with school:language=frc - - Gun corresponds with school:language=guw - - Hakha-Chin corresponds with school:language=cnh - - Mapun corresponds with school:language=sjm - - Brazilian Sign Language corresponds with school:language=bzs - - Tyap corresponds with school:language=kcg - - Māori corresponds with school:language=mi - - Tunisian Arabic corresponds with school:language=aeb - - Guernésiais corresponds with school:language=nrf-gg - - Laki corresponds with school:language=lki - - Beja corresponds with school:language=bej - - Chukchi corresponds with school:language=ckt - - Muscogee corresponds with school:language=mus - - Paiwan corresponds with school:language=pwn - - Kwanyama corresponds with school:language=kj - - Romagnol corresponds with school:language=rgn - - Ambonese corresponds with school:language=abs - - Saaroa corresponds with school:language=sxr - - Kavalan corresponds with school:language=ckv - - Tsou corresponds with school:language=tsu - - Saisiyat corresponds with school:language=xsy - - Lavukaleve corresponds with school:language=lvk - - Yue Chinese corresponds with school:language=zh-yue - - Tavoyan corresponds with school:language=tvn - - Papuan Malay corresponds with school:language=pmy - - Khamba corresponds with school:language=kbg - - Marwari corresponds with school:language=rwr - - Northern Tutchone corresponds with school:language=ttm - - Hill Mari corresponds with school:language=mrj - - Nias corresponds with school:language=nia - - Nheengatu corresponds with school:language=yrl - - Kaqchikel corresponds with school:language=cak - - Amis corresponds with school:language=ami - - Karon corresponds with school:language=krx - - Hiligaynon corresponds with school:language=hil - - Pazeh corresponds with school:language=uun - - Ter Sami corresponds with school:language=sjt - - Wolaytta corresponds with school:language=wal - - Vilamovian corresponds with school:language=wym - - Algerian Arabic corresponds with school:language=arq - - Burushaski corresponds with school:language=bsk - - Bakhtiari corresponds with school:language=bqi - - Hunsrik corresponds with school:language=hrx - - Thao corresponds with school:language=ssf - - Mara corresponds with school:language=mrh - - Pemon corresponds with school:language=aoc - - Tseku corresponds with school:language=tsk - - Southern Luri corresponds with school:language=luz - - Southern Tutchone corresponds with school:language=tce - - K’iche’ corresponds with school:language=quc - - Bunun corresponds with school:language=bnn - - Laz corresponds with school:language=lzz - - Southern Kurdish corresponds with school:language=sdh - - Naskapi corresponds with school:language=nsk - - Alabama corresponds with school:language=akz - - Krio corresponds with school:language=kri - - Cape Verdean Creole corresponds with school:language=kea - - Rukai corresponds with school:language=dru - - Central Atlas Tamazight corresponds with school:language=tzm - - Badaga corresponds with school:language=bfq - - Khowar corresponds with school:language=khw - - Southern Uzbek corresponds with school:language=uzs - - Finnish Kalo corresponds with school:language=rmf - - Osage corresponds with school:language=osa - - Capiznon corresponds with school:language=cps - - Pitjantjatjara corresponds with school:language=pjt - - Eastern Pwo corresponds with school:language=kjp - - Ghanaian Pidgin English corresponds with school:language=gpe - - Kirmanjki corresponds with school:language=kiu - - Cook Islands Maori corresponds with school:language=rar - - S'gaw Karen corresponds with school:language=ksw - - Simplified Chinese corresponds with school:language=zh_Hant - - Brazilian Portuguese corresponds with school:language=pt_BR - - Filipino corresponds with school:language=fil + - Aymara corresponds with `school:language=ay` + - Abkhaz corresponds with `school:language=ab` + - Aragonese corresponds with `school:language=an` + - German corresponds with `school:language=de` + - Catalan corresponds with `school:language=ca` + - Azerbaijani corresponds with `school:language=az` + - Croatian corresponds with `school:language=hr` + - Esperanto corresponds with `school:language=eo` + - Bashkir corresponds with `school:language=ba` + - Arabic corresponds with `school:language=ar` + - Hebrew corresponds with `school:language=he` + - Galician corresponds with `school:language=gl` + - Modern Greek corresponds with `school:language=el` + - Czech corresponds with `school:language=cs` + - Danish corresponds with `school:language=da` + - Afrikaans corresponds with `school:language=af` + - Irish corresponds with `school:language=ga` + - Hindi corresponds with `school:language=hi` + - Bulgarian corresponds with `school:language=bg` + - Belarusian corresponds with `school:language=be` + - Gujarati corresponds with `school:language=gu` + - Welsh corresponds with `school:language=cy` + - French corresponds with `school:language=fr` + - Upper Sorbian corresponds with `school:language=hsb` + - West Frisian corresponds with `school:language=fy` + - Akan corresponds with `school:language=ak` + - Amharic corresponds with `school:language=am` + - Spanish corresponds with `school:language=es` + - Bosnian corresponds with `school:language=bs` + - Zazaki corresponds with `school:language=diq` + - Dzongkha corresponds with `school:language=dz` + - Corsican corresponds with `school:language=co` + - Cree corresponds with `school:language=cr` + - Kashubian corresponds with `school:language=csb` + - Manx corresponds with `school:language=gv` + - Chuvash corresponds with `school:language=cv` + - Bengali corresponds with `school:language=bn` + - Scottish Gaelic corresponds with `school:language=gd` + - Avaric corresponds with `school:language=av` + - Awadhi corresponds with `school:language=awa` + - Breton corresponds with `school:language=br` + - Ewe corresponds with `school:language=ee` + - Dagbani corresponds with `school:language=dag` + - Maldivian corresponds with `school:language=dv` + - Finnish corresponds with `school:language=fi` + - English corresponds with `school:language=en` + - Adyghe corresponds with `school:language=ady` + - Assamese corresponds with `school:language=as` + - Guarani corresponds with `school:language=gn` + - Fiji Hindi corresponds with `school:language=hif` + - Asturian corresponds with `school:language=ast` + - Lower Sorbian corresponds with `school:language=dsb` + - Hawaiian corresponds with `school:language=haw` + - Gilaki corresponds with `school:language=glk` + - Gagauz corresponds with `school:language=gag` + - Gan corresponds with `school:language=gan` + - American Sign Language corresponds with `school:language=ase` + - Carolinian corresponds with `school:language=cal` + - Gilbertese corresponds with `school:language=gil` + - Egyptian Arabic corresponds with `school:language=arz` + - Balinese corresponds with `school:language=ban` + - Hakka corresponds with `school:language=hak` + - Dinka corresponds with `school:language=din` + - Emilian corresponds with `school:language=egl` + - Doteli corresponds with `school:language=dty` + - Persian corresponds with `school:language=fa` + - Montenegrin corresponds with `school:language=cnr` + - Russia Buriat corresponds with `school:language=bxr` + - Sorani corresponds with `school:language=ckb` + - Basque corresponds with `school:language=eu` + - Estonian corresponds with `school:language=et` + - Bavarian corresponds with `school:language=bar` + - Faroese corresponds with `school:language=fo` + - North Frisian corresponds with `school:language=frr` + - Chamorro corresponds with `school:language=ch` + - Cheyenne corresponds with `school:language=chy` + - Chechen corresponds with `school:language=ce` + - Norwegian corresponds with `school:language=no` + - Banjar corresponds with `school:language=bjn` + - Cebuano corresponds with `school:language=ceb` + - Hausa corresponds with `school:language=ha` + - Franco-Provençal corresponds with `school:language=frp` + - Cherokee corresponds with `school:language=chr` + - Guianan Creole corresponds with `school:language=gcr` + - Gorontalo corresponds with `school:language=gor` + - Extremaduran corresponds with `school:language=ext` + - Fijian corresponds with `school:language=fj` + - Friulian corresponds with `school:language=fur` + - Kose corresponds with `school:language=bss` + - Old Prussian corresponds with `school:language=prg` + - Koyraboro Senni corresponds with `school:language=ses` + - Pökoot corresponds with `school:language=pko` + - Chakma corresponds with `school:language=ccp` + - Duala corresponds with `school:language=dua` + - Turkish corresponds with `school:language=tr` + - Urdu corresponds with `school:language=ur` + - Bambara corresponds with `school:language=bm` + - Fula corresponds with `school:language=ff` + - Russian corresponds with `school:language=ru` + - Sidamo corresponds with `school:language=sid` + - Niuean corresponds with `school:language=niu` + - Ojibwe corresponds with `school:language=oj` + - Votic corresponds with `school:language=vot` + - British Sign Language corresponds with `school:language=bfi` + - Blackfoot corresponds with `school:language=bla` + - Toba Batak corresponds with `school:language=bbc` + - Chittagonian corresponds with `school:language=ctg` + - Brahui corresponds with `school:language=brh` + - Bugis corresponds with `school:language=bug` + - Punjabi corresponds with `school:language=pa` + - Punjabi corresponds with `school:language=pnb` + - Bodo corresponds with `school:language=brx` + - Kildin Sami corresponds with `school:language=sjd` + - Tibetan corresponds with `school:language=bo` + - Bislama corresponds with `school:language=bi` + - Min Dong corresponds with `school:language=cdo` + - Swahili corresponds with `school:language=sw` + - Goan Konkani corresponds with `school:language=gom` + - Mauritian Creole corresponds with `school:language=mfe` + - Chinese corresponds with `school:language=zh` + - Sassarese corresponds with `school:language=sdc` + - Plautdietsch corresponds with `school:language=pdt` + - Siberian Tatar corresponds with `school:language=sty` + - Carpathian Romani corresponds with `school:language=rmc` + - Noongar corresponds with `school:language=nys` + - Alsatian corresponds with `school:language=gsw-fr` + - Zuni corresponds with `school:language=zun` + - Skolt Sami corresponds with `school:language=sms` + - Pijin corresponds with `school:language=pis` + - Southern Ndebele corresponds with `school:language=nr` + - Munsee corresponds with `school:language=umu` + - Ga corresponds with `school:language=gaa` + - Fon corresponds with `school:language=fon` + - Lozi corresponds with `school:language=loz` + - Seychellois Creole corresponds with `school:language=crs` + - Turoyo corresponds with `school:language=tru` + - Aghem corresponds with `school:language=agq` + - Moroccan Arabic corresponds with `school:language=ary` + - Atikamekw corresponds with `school:language=atj` + - Altai corresponds with `school:language=alt` + - Tamil corresponds with `school:language=ta` + - Pashto corresponds with `school:language=ps` + - N'Ko corresponds with `school:language=nqo` + - Romanian corresponds with `school:language=ro` + - Chavacano corresponds with `school:language=cbk-zam` + - Elfdalian corresponds with `school:language=ovd` + - Main-Franconian corresponds with `school:language=vmf` + - Rinconada Bikol corresponds with `school:language=bto` + - Southern Balochi corresponds with `school:language=bcc` + - Northern East Cree corresponds with `school:language=crl` + - Northern Luri corresponds with `school:language=lrc` + - Aklan corresponds with `school:language=akl` + - Bishnupriya Manipuri corresponds with `school:language=bpy` + - Mi'kmaq corresponds with `school:language=mic` + - Slovak corresponds with `school:language=sk` + - Slovene corresponds with `school:language=sl` + - Okinawan corresponds with `school:language=ryu` + - Yaghnobi corresponds with `school:language=yai` + - Efik corresponds with `school:language=efi` + - Telugu corresponds with `school:language=te` + - Yiddish corresponds with `school:language=yi` + - Tajik corresponds with `school:language=tg` + - Samogitian corresponds with `school:language=bat-smg` + - Northern Thai corresponds with `school:language=nod` + - Rangi corresponds with `school:language=lag` + - Kinaray-a corresponds with `school:language=krj` + - Yapese corresponds with `school:language=yap` + - Yidgha corresponds with `school:language=ydg` + - Vietnamese corresponds with `school:language=vi` + - Italian corresponds with `school:language=it` + - Babuza corresponds with `school:language=bzg` + - Puyuma corresponds with `school:language=pyu` + - Wayuu corresponds with `school:language=guc` + - O'odham corresponds with `school:language=ood` + - West Coast Bajau corresponds with `school:language=bdr` + - Mandailing corresponds with `school:language=btm` + - Guadeloupean Creole corresponds with `school:language=gcf` + - Sirionó corresponds with `school:language=srq` + - Indian Sign Language corresponds with `school:language=ins` + - Arakanese corresponds with `school:language=rki` + - Wallisian corresponds with `school:language=wls` + - Pite Sami corresponds with `school:language=sje` + - Lule Sami corresponds with `school:language=smj` + - Kumyk corresponds with `school:language=kum` + - Kombe corresponds with `school:language=nui` + - Southern Min corresponds with `school:language=zh-min-nan` + - Polish corresponds with `school:language=pl` + - Pu-Xian Min corresponds with `school:language=cpx` + - Khams Tibetan corresponds with `school:language=khg` + - Kven corresponds with `school:language=fkv` + - Pular corresponds with `school:language=fuf` + - Jambi Malay corresponds with `school:language=jax` + - Kadazandusun corresponds with `school:language=dtp` + - Standard Moroccan Berber corresponds with `school:language=zgh` + - Western Balochi corresponds with `school:language=bgn` + - Yangben corresponds with `school:language=yav` + - Swedish corresponds with `school:language=sv` + - South Azerbaijani corresponds with `school:language=azb` + - Kanakanavu corresponds with `school:language=xnb` + - Dari corresponds with `school:language=fa-af` + - Quechua corresponds with `school:language=qu` + - Seri corresponds with `school:language=sei` + - Albanian corresponds with `school:language=sq` + - Ukrainian corresponds with `school:language=uk` + - Uzbek corresponds with `school:language=uz` + - Georgian corresponds with `school:language=ka` + - Portuguese corresponds with `school:language=pt` + - Armenian corresponds with `school:language=hy` + - Dutch corresponds with `school:language=nl` + - Romansh corresponds with `school:language=rm` + - Gheg Albanian corresponds with `school:language=aln` + - Marathi corresponds with `school:language=mr` + - Malagasy corresponds with `school:language=mg` + - Serbo-Croatian corresponds with `school:language=sh` + - Zulu corresponds with `school:language=zu` + - Icelandic corresponds with `school:language=is` + - Luxembourgish corresponds with `school:language=lb` + - Turkmen corresponds with `school:language=tk` + - Thai corresponds with `school:language=th` + - Japanese corresponds with `school:language=ja` + - Latvian corresponds with `school:language=lv` + - Romani corresponds with `school:language=rmy` + - Khmer corresponds with `school:language=km` + - Lao corresponds with `school:language=lo` + - Somali corresponds with `school:language=so` + - Southern Sami corresponds with `school:language=sma` + - Innu-aimun corresponds with `school:language=moe` + - Serbian corresponds with `school:language=sr` + - Lithuanian corresponds with `school:language=lt` + - Hungarian corresponds with `school:language=hu` + - Burmese corresponds with `school:language=my` + - Malay corresponds with `school:language=ms` + - Xhosa corresponds with `school:language=xh` + - Udmurt corresponds with `school:language=udm` + - Rusyn corresponds with `school:language=rue` + - Saterland Frisian corresponds with `school:language=stq` + - Kyrgyz corresponds with `school:language=ky` + - Maltese corresponds with `school:language=mt` + - Macedonian corresponds with `school:language=mk` + - Zhuang corresponds with `school:language=za` + - Uyghur corresponds with `school:language=ug` + - Korean corresponds with `school:language=ko` + - Sinhala corresponds with `school:language=si` + - Kazakh corresponds with `school:language=kk` + - Nauruan corresponds with `school:language=na` + - Navajo corresponds with `school:language=nv` + - Meänkieli corresponds with `school:language=fit` + - Mingrelian corresponds with `school:language=xmf` + - Afar corresponds with `school:language=aa` + - Angika corresponds with `school:language=anp` + - Aromanian corresponds with `school:language=rup` + - Venetian corresponds with `school:language=vec` + - Veps corresponds with `school:language=vep` + - Bhojpuri corresponds with `school:language=bh` + - Shawiya corresponds with `school:language=shy` + - Herero corresponds with `school:language=hz` + - Mon corresponds with `school:language=mnw` + - Mazanderani corresponds with `school:language=mzn` + - Occitan corresponds with `school:language=oc` + - Indonesian corresponds with `school:language=id` + - Venda corresponds with `school:language=ve` + - Minangkabau corresponds with `school:language=min` + - Mirandese corresponds with `school:language=mwl` + - Pennsylvania German corresponds with `school:language=pdc` + - Palatinate German corresponds with `school:language=pfl` + - Nynorsk corresponds with `school:language=nn` + - Bokmål corresponds with `school:language=nb` + - Cornish corresponds with `school:language=kw` + - Scots corresponds with `school:language=sco` + - Moksha corresponds with `school:language=mdf` + - Sindhi corresponds with `school:language=sd` + - Tatar corresponds with `school:language=tt` + - Silesian corresponds with `school:language=szl` + - Karakalpak corresponds with `school:language=kaa` + - Javanese corresponds with `school:language=jv` + - Tagalog corresponds with `school:language=tl` + - Tongan corresponds with `school:language=to` + - Erzya corresponds with `school:language=myv` + - Lezgian corresponds with `school:language=lez` + - Choctaw corresponds with `school:language=cho` + - Greenlandic corresponds with `school:language=kl` + - Piedmontese corresponds with `school:language=pms` + - Crimean Tatar corresponds with `school:language=crh` + - Inari Sami corresponds with `school:language=smn` + - Ripuarian corresponds with `school:language=ksh` + - Chewa corresponds with `school:language=ny` + - Mongolian corresponds with `school:language=mn` + - Kashmiri corresponds with `school:language=ks` + - Igbo corresponds with `school:language=ig` + - Kinyarwanda corresponds with `school:language=rw` + - Low German corresponds with `school:language=nds` + - Ndonga corresponds with `school:language=ng` + - Saraiki corresponds with `school:language=skr` + - Northern Sami corresponds with `school:language=se` + - Inupiaq corresponds with `school:language=ik` + - Khakas corresponds with `school:language=kjh` + - Nepali corresponds with `school:language=ne` + - Neapolitan corresponds with `school:language=nap` + - Luganda corresponds with `school:language=lg` + - Haitian Creole corresponds with `school:language=ht` + - Ossetian corresponds with `school:language=os` + - Newar corresponds with `school:language=new` + - Sundanese corresponds with `school:language=su` + - Inuktitut corresponds with `school:language=iu` + - Gikuyu corresponds with `school:language=ki` + - Kannada corresponds with `school:language=kn` + - Ingush corresponds with `school:language=inh` + - Picard corresponds with `school:language=pcd` + - Sardinian corresponds with `school:language=sc` + - Sranan Tongo corresponds with `school:language=srn` + - Kirundi corresponds with `school:language=rn` + - Hiri Motu corresponds with `school:language=ho` + - Sango corresponds with `school:language=sg` + - Papiamento corresponds with `school:language=pap` + - Kabardian corresponds with `school:language=kbd` + - Odia corresponds with `school:language=or` + - Mapudungun corresponds with `school:language=arn` + - Oromo corresponds with `school:language=om` + - Santali corresponds with `school:language=sat` + - Nuosu corresponds with `school:language=ii` + - Kabiye corresponds with `school:language=kbp` + - Kabyle corresponds with `school:language=kab` + - Kongo corresponds with `school:language=kg` + - Karachay-Balkar corresponds with `school:language=krc` + - Tumbuka corresponds with `school:language=tum` + - Tausug corresponds with `school:language=tsg` + - Shilha corresponds with `school:language=shi` + - Shona corresponds with `school:language=sn` + - Tok Pisin corresponds with `school:language=tpi` + - Tarifit corresponds with `school:language=rif` + - Tuvan corresponds with `school:language=tyv` + - Tigrinya corresponds with `school:language=ti` + - Tetum corresponds with `school:language=tet` + - Sicilian corresponds with `school:language=scn` + - Lombard corresponds with `school:language=lmo` + - Ilocano corresponds with `school:language=ilo` + - Samoan corresponds with `school:language=sm` + - Swazi corresponds with `school:language=ss` + - Meitei corresponds with `school:language=mni` + - Komi corresponds with `school:language=kv` + - Kurdish corresponds with `school:language=ku` + - Judaeo-Spanish corresponds with `school:language=lad` + - Tsonga corresponds with `school:language=ts` + - Sesotho corresponds with `school:language=st` + - Ligurian corresponds with `school:language=lij` + - Maithili corresponds with `school:language=mai` + - Tuvaluan corresponds with `school:language=tvl` + - Tswana corresponds with `school:language=tn` + - Walloon corresponds with `school:language=wa` + - Southern Min corresponds with `school:language=nan` + - Pitkern corresponds with `school:language=pih` + - Ladin corresponds with `school:language=lld` + - Tahitian corresponds with `school:language=ty` + - Wolof corresponds with `school:language=wo` + - Waray corresponds with `school:language=war` + - Lak corresponds with `school:language=lbe` + - Latgalian corresponds with `school:language=ltg` + - Madurese corresponds with `school:language=mad` + - Marshallese corresponds with `school:language=mh` + - Moldovan corresponds with `school:language=mo` + - Nenets corresponds with `school:language=yrk` + - Chinook Jargon corresponds with `school:language=chn` + - Kanuri corresponds with `school:language=kr` + - Twi corresponds with `school:language=tw` + - Shan corresponds with `school:language=shn` + - West Flemish corresponds with `school:language=vls` + - Pangasinan corresponds with `school:language=pag` + - Northern Sotho corresponds with `school:language=nso` + - Lingala corresponds with `school:language=ln` + - Zeelandic corresponds with `school:language=zea` + - Atayal corresponds with `school:language=tay` + - Wu Chinese corresponds with `school:language=wuu` + - Sakha corresponds with `school:language=sah` + - Jamaican Creole corresponds with `school:language=jam` + - Lakota corresponds with `school:language=lkt` + - Karelian corresponds with `school:language=krl` + - Tulu corresponds with `school:language=tcy` + - Ume Sami corresponds with `school:language=sju` + - Southern Thai corresponds with `school:language=sou` + - Amdo Tibetan corresponds with `school:language=adx` + - Silesian German corresponds with `school:language=sli` + - Swiss German corresponds with `school:language=als` + - Khasi corresponds with `school:language=kha` + - Manchu corresponds with `school:language=mnc` + - Yoruba corresponds with `school:language=yo` + - Malayalam corresponds with `school:language=ml` + - Haida corresponds with `school:language=hai` + - Kutenai corresponds with `school:language=kut` + - Ho corresponds with `school:language=hoc` + - German Sign Language corresponds with `school:language=gsg` + - Limburgish corresponds with `school:language=li` + - Western Armenian corresponds with `school:language=hyw` + - Central Alaskan Yup'ik corresponds with `school:language=esu` + - Abaza corresponds with `school:language=abq` + - Tlingit corresponds with `school:language=tli` + - Seediq corresponds with `school:language=trv` + - Sakizaya corresponds with `school:language=szy` + - Mizo corresponds with `school:language=lus` + - Livvi-Karelian corresponds with `school:language=olo` + - Pontic Greek corresponds with `school:language=pnt` + - Permyak corresponds with `school:language=koi` + - Nogai corresponds with `school:language=nog` + - Wakhi corresponds with `school:language=wbl` + - Talysh corresponds with `school:language=tly` + - Meadow Mari corresponds with `school:language=mhr` + - Megleno-Romanian corresponds with `school:language=ruq` + - Mentawai corresponds with `school:language=mwv` + - Koyukon corresponds with `school:language=koy` + - Chilcotin corresponds with `school:language=clc` + - Võro corresponds with `school:language=fiu-vro` + - Louisiana French corresponds with `school:language=frc` + - Gun corresponds with `school:language=guw` + - Hakha-Chin corresponds with `school:language=cnh` + - Mapun corresponds with `school:language=sjm` + - Brazilian Sign Language corresponds with `school:language=bzs` + - Tyap corresponds with `school:language=kcg` + - Māori corresponds with `school:language=mi` + - Tunisian Arabic corresponds with `school:language=aeb` + - Guernésiais corresponds with `school:language=nrf-gg` + - Laki corresponds with `school:language=lki` + - Beja corresponds with `school:language=bej` + - Chukchi corresponds with `school:language=ckt` + - Muscogee corresponds with `school:language=mus` + - Paiwan corresponds with `school:language=pwn` + - Kwanyama corresponds with `school:language=kj` + - Romagnol corresponds with `school:language=rgn` + - Ambonese corresponds with `school:language=abs` + - Saaroa corresponds with `school:language=sxr` + - Kavalan corresponds with `school:language=ckv` + - Tsou corresponds with `school:language=tsu` + - Saisiyat corresponds with `school:language=xsy` + - Lavukaleve corresponds with `school:language=lvk` + - Yue Chinese corresponds with `school:language=zh-yue` + - Tavoyan corresponds with `school:language=tvn` + - Papuan Malay corresponds with `school:language=pmy` + - Khamba corresponds with `school:language=kbg` + - Marwari corresponds with `school:language=rwr` + - Northern Tutchone corresponds with `school:language=ttm` + - Hill Mari corresponds with `school:language=mrj` + - Nias corresponds with `school:language=nia` + - Nheengatu corresponds with `school:language=yrl` + - Kaqchikel corresponds with `school:language=cak` + - Amis corresponds with `school:language=ami` + - Karon corresponds with `school:language=krx` + - Hiligaynon corresponds with `school:language=hil` + - Pazeh corresponds with `school:language=uun` + - Ter Sami corresponds with `school:language=sjt` + - Wolaytta corresponds with `school:language=wal` + - Vilamovian corresponds with `school:language=wym` + - Algerian Arabic corresponds with `school:language=arq` + - Burushaski corresponds with `school:language=bsk` + - Bakhtiari corresponds with `school:language=bqi` + - Hunsrik corresponds with `school:language=hrx` + - Thao corresponds with `school:language=ssf` + - Mara corresponds with `school:language=mrh` + - Pemon corresponds with `school:language=aoc` + - Tseku corresponds with `school:language=tsk` + - Southern Luri corresponds with `school:language=luz` + - Southern Tutchone corresponds with `school:language=tce` + - K’iche’ corresponds with `school:language=quc` + - Bunun corresponds with `school:language=bnn` + - Laz corresponds with `school:language=lzz` + - Southern Kurdish corresponds with `school:language=sdh` + - Naskapi corresponds with `school:language=nsk` + - Alabama corresponds with `school:language=akz` + - Krio corresponds with `school:language=kri` + - Cape Verdean Creole corresponds with `school:language=kea` + - Rukai corresponds with `school:language=dru` + - Central Atlas Tamazight corresponds with `school:language=tzm` + - Badaga corresponds with `school:language=bfq` + - Khowar corresponds with `school:language=khw` + - Southern Uzbek corresponds with `school:language=uzs` + - Finnish Kalo corresponds with `school:language=rmf` + - Osage corresponds with `school:language=osa` + - Capiznon corresponds with `school:language=cps` + - Pitjantjatjara corresponds with `school:language=pjt` + - Eastern Pwo corresponds with `school:language=kjp` + - Ghanaian Pidgin English corresponds with `school:language=gpe` + - Kirmanjki corresponds with `school:language=kiu` + - Cook Islands Maori corresponds with `school:language=rar` + - S'gaw Karen corresponds with `school:language=ksw` + - Simplified Chinese corresponds with `school:language=zh_Hant` + - Brazilian Portuguese corresponds with `school:language=pt_BR` + - Filipino corresponds with `school:language=fil` Only visible if `id~^..*$` is shown diff --git a/Docs/Layers/shelter.md b/Docs/Layers/shelter.md index f3649328b..4befae14e 100644 --- a/Docs/Layers/shelter.md +++ b/Docs/Layers/shelter.md @@ -79,13 +79,13 @@ This is rendered with Shelter type: {shelter_type} - - This is a shelter at a public transport stop. corresponds with shelter_type=public_transport - - This is a shelter protecting from rain at a picnic site. corresponds with shelter_type=picnic_shelter - - This is a gazebo. corresponds with shelter_type=gazebo - - This is a small shelter, primarily intended for short breaks. Usually found in the mountains or alongside roads. corresponds with shelter_type=weather_shelter - - This is a shed with 3 walls, primarily intended for camping. corresponds with shelter_type=lean_to - - This is a pavilion corresponds with shelter_type=pavilion - - This is a basic hut, providing basic shelter and sleeping facilities. corresponds with shelter_type=basic_hut + - This is a shelter at a public transport stop. corresponds with `shelter_type=public_transport` + - This is a shelter protecting from rain at a picnic site. corresponds with `shelter_type=picnic_shelter` + - This is a gazebo. corresponds with `shelter_type=gazebo` + - This is a small shelter, primarily intended for short breaks. Usually found in the mountains or alongside roads. corresponds with `shelter_type=weather_shelter` + - This is a shed with 3 walls, primarily intended for camping. corresponds with `shelter_type=lean_to` + - This is a pavilion corresponds with `shelter_type=pavilion` + - This is a basic hut, providing basic shelter and sleeping facilities. corresponds with `shelter_type=basic_hut` This document is autogenerated from [assets/layers/shelter/shelter.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/shelter/shelter.json) \ No newline at end of file diff --git a/Docs/Layers/shops.md b/Docs/Layers/shops.md index b3f29720b..51c5d9baf 100644 --- a/Docs/Layers/shops.md +++ b/Docs/Layers/shops.md @@ -25,6 +25,7 @@ A shop + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [pets](https://mapcomplete.osm.be/pets) - [shops](https://mapcomplete.osm.be/shops) @@ -67,6 +68,7 @@ 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/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) @@ -75,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -109,166 +113,166 @@ This is rendered with This is a {shop} - - Farm Supply Shop corresponds with shop=agrarian - - Liquor Store corresponds with shop=alcohol - - Anime / Manga Shop corresponds with shop=anime - - Antiques Shop corresponds with shop=antiques - - Appliance Store corresponds with shop=appliance - - Art Store corresponds with shop=art - - Baby Goods Store corresponds with shop=baby_goods - - Bag/Luggage Store corresponds with shop=bag - - Bakery corresponds with shop=bakery - - Bathroom Furnishing Store corresponds with shop=bathroom_furnishing - - Beauty Shop corresponds with shop=beauty - - Bedding/Mattress Store corresponds with shop=bed - - Beverage Store corresponds with shop=beverages - - Bicycle Shop corresponds with shop=bicycle - - Boat Store corresponds with shop=boat - - Bookmaker corresponds with shop=bookmaker - - Book Store corresponds with shop=books - - Brewing Supply Store corresponds with shop=brewing_supplies - - Butcher corresponds with shop=butcher - - Camera Equipment Store corresponds with shop=camera - - Candle Shop corresponds with shop=candles - - Cannabis Shop corresponds with shop=cannabis - - Car Dealership corresponds with shop=car - - Car Parts Store corresponds with shop=car_parts - - Car Repair Shop corresponds with shop=car_repair - - RV Dealership corresponds with shop=caravan - - Carpet Store corresponds with shop=carpet - - Catalog Shop corresponds with shop=catalogue - - Charity Store corresponds with shop=charity - - Cheese Store corresponds with shop=cheese - - Drugstore corresponds with shop=chemist - - Chocolate Store corresponds with shop=chocolate - - Clothing Store corresponds with shop=clothes - - Coffee Store corresponds with shop=coffee - - Collectibles Shop corresponds with shop=collector - - Computer Store corresponds with shop=computer - - Candy Store corresponds with shop=confectionery - - Convenience Store corresponds with shop=convenience - - Copy Store corresponds with shop=copyshop - - Cosmetics Store corresponds with shop=cosmetics - - Country Store corresponds with shop=country_store - - Arts & Crafts Store corresponds with shop=craft - - Curtain Store corresponds with shop=curtain - - Dairy Store corresponds with shop=dairy - - Deli corresponds with shop=deli - - Department Store corresponds with shop=department_store - - DIY Store corresponds with shop=doityourself - - Door Shop corresponds with shop=doors - - Dry Cleaner corresponds with shop=dry_cleaning - - E-Cigarette Shop corresponds with shop=e-cigarette - - Electrical Equipment Store corresponds with shop=electrical - - Electronics Store corresponds with shop=electronics - - Erotic Store corresponds with shop=erotic - - Fabric Store corresponds with shop=fabric - - Produce Stand corresponds with shop=farm - - Fashion Accessories Store corresponds with shop=fashion_accessories - - Fireplace Store corresponds with shop=fireplace - - Fishing Shop corresponds with shop=fishing - - Flooring Supply Shop corresponds with shop=flooring - - Florist corresponds with shop=florist - - Framing Shop corresponds with shop=frame - - Frozen Food Store corresponds with shop=frozen_food - - Fuel Shop corresponds with shop=fuel - - Funeral Home corresponds with shop=funeral_directors - - Furniture Store corresponds with shop=furniture - - Tabletop Game Store corresponds with shop=games - - Garden Center corresponds with shop=garden_centre - - Bottled Gas Shop corresponds with shop=gas - - General Store corresponds with shop=general - - Gift Shop corresponds with shop=gift - - Greengrocer corresponds with shop=greengrocer - - Hairdresser corresponds with shop=hairdresser - - Hairdresser Supply Store corresponds with shop=hairdresser_supply - - Hardware Store corresponds with shop=hardware - - Health Food Shop corresponds with shop=health_food - - Hearing Aids Store corresponds with shop=hearing_aids - - Herbalist corresponds with shop=herbalist - - Hifi Store corresponds with shop=hifi - - Hobby Shop corresponds with shop=hobby - - Household Linen Shop corresponds with shop=household_linen - - Houseware Store corresponds with shop=houseware - - Hunting Shop corresponds with shop=hunting - - Interior Decoration Store corresponds with shop=interior_decoration - - Jewelry Store corresponds with shop=jewelry - - Kiosk corresponds with shop=kiosk - - Kitchen Design Store corresponds with shop=kitchen - - Laundry corresponds with shop=laundry - - Leather Store corresponds with shop=leather - - Lighting Store corresponds with shop=lighting - - Locksmith corresponds with shop=locksmith - - Lottery Shop corresponds with shop=lottery - - Mall corresponds with shop=mall - - Massage Shop corresponds with shop=massage - - Medical Supply Store corresponds with shop=medical_supply - - Military Surplus Store corresponds with shop=military_surplus - - Mobile Phone Store corresponds with shop=mobile_phone - - Model Shop corresponds with shop=model - - Money Lender corresponds with shop=money_lender - - Motorcycle Dealership corresponds with shop=motorcycle - - Motorcycle Repair Shop corresponds with shop=motorcycle_repair - - Music Store corresponds with shop=music - - Musical Instrument Store corresponds with shop=musical_instrument - - Newspaper/Magazine Shop corresponds with shop=newsagent - - Nutrition Supplements Store corresponds with shop=nutrition_supplements - - Optician corresponds with shop=optician - - Outdoors Store corresponds with shop=outdoor - - Online Retailer Outpost corresponds with shop=outpost - - Paint Store corresponds with shop=paint - - Party Supply Store corresponds with shop=party - - Pastry Shop corresponds with shop=pastry - - Pawn Shop corresponds with shop=pawnbroker - - Perfume Store corresponds with shop=perfumery - - Pet Store corresponds with shop=pet - - Pet Grooming Store corresponds with shop=pet_grooming - - Photography Store corresponds with shop=photo - - Pottery Store corresponds with shop=pottery - - Printer Ink Store corresponds with shop=printer_ink - - Psychic corresponds with shop=psychic - - Fireworks Store corresponds with shop=pyrotechnics - - Radio/Electronic Component Store corresponds with shop=radiotechnics - - Religious Store corresponds with shop=religion - - Rental Shop corresponds with shop=rental - - Repair Shop corresponds with shop=repair - - Scuba Diving Shop corresponds with shop=scuba_diving - - Seafood Shop corresponds with shop=seafood - - Consignment/Thrift Store corresponds with shop=second_hand - - Sewing Supply Shop corresponds with shop=sewing - - Shoe Repair Shop corresponds with shop=shoe_repair - - Shoe Store corresponds with shop=shoes - - Spice Shop corresponds with shop=spices - - Sporting Goods Store corresponds with shop=sports - - Stationery Store corresponds with shop=stationery - - Storage Rental corresponds with shop=storage_rental - - Supermarket corresponds with shop=supermarket - - Pool Supply Store corresponds with shop=swimming_pool - - Tailor corresponds with shop=tailor - - Tattoo Parlor corresponds with shop=tattoo - - Tea Store corresponds with shop=tea - - Telecom Retail Store corresponds with shop=telecommunication - - Ticket Seller corresponds with shop=ticket - - Tile Shop corresponds with shop=tiles - - Tobacco Shop corresponds with shop=tobacco - - Tool Rental corresponds with shop=tool_hire - - Toy Store corresponds with shop=toys - - Trade Shop corresponds with shop=trade - - Travel Agency corresponds with shop=travel_agency - - Trophy Shop corresponds with shop=trophy - - Tire Store corresponds with shop=tyres - - Vacuum Cleaner Store corresponds with shop=vacuum_cleaner - - Variety Store corresponds with shop=variety_store - - Video Store corresponds with shop=video - - Video Game Store corresponds with shop=video_games - - Watches Shop corresponds with shop=watches - - Drinking Water Shop corresponds with shop=water - - Watersport/Swim Shop corresponds with shop=water_sports - - Weapon Shop corresponds with shop=weapons - - Wholesale Store corresponds with shop=wholesale - - Wig Shop corresponds with shop=wigs - - Window Blind Store corresponds with shop=window_blind - - Wine Shop corresponds with shop=wine + - Farm Supply Shop corresponds with `shop=agrarian` + - Liquor Store corresponds with `shop=alcohol` + - Anime / Manga Shop corresponds with `shop=anime` + - Antiques Shop corresponds with `shop=antiques` + - Appliance Store corresponds with `shop=appliance` + - Art Store corresponds with `shop=art` + - Baby Goods Store corresponds with `shop=baby_goods` + - Bag/Luggage Store corresponds with `shop=bag` + - Bakery corresponds with `shop=bakery` + - Bathroom Furnishing Store corresponds with `shop=bathroom_furnishing` + - Beauty Shop corresponds with `shop=beauty` + - Bedding/Mattress Store corresponds with `shop=bed` + - Beverage Store corresponds with `shop=beverages` + - Bicycle Shop corresponds with `shop=bicycle` + - Boat Store corresponds with `shop=boat` + - Bookmaker corresponds with `shop=bookmaker` + - Book Store corresponds with `shop=books` + - Brewing Supply Store corresponds with `shop=brewing_supplies` + - Butcher corresponds with `shop=butcher` + - Camera Equipment Store corresponds with `shop=camera` + - Candle Shop corresponds with `shop=candles` + - Cannabis Shop corresponds with `shop=cannabis` + - Car Dealership corresponds with `shop=car` + - Car Parts Store corresponds with `shop=car_parts` + - Car Repair Shop corresponds with `shop=car_repair` + - RV Dealership corresponds with `shop=caravan` + - Carpet Store corresponds with `shop=carpet` + - Catalog Shop corresponds with `shop=catalogue` + - Charity Store corresponds with `shop=charity` + - Cheese Store corresponds with `shop=cheese` + - Drugstore corresponds with `shop=chemist` + - Chocolate Store corresponds with `shop=chocolate` + - Clothing Store corresponds with `shop=clothes` + - Coffee Store corresponds with `shop=coffee` + - Collectibles Shop corresponds with `shop=collector` + - Computer Store corresponds with `shop=computer` + - Candy Store corresponds with `shop=confectionery` + - Convenience Store corresponds with `shop=convenience` + - Copy Store corresponds with `shop=copyshop` + - Cosmetics Store corresponds with `shop=cosmetics` + - Country Store corresponds with `shop=country_store` + - Arts & Crafts Store corresponds with `shop=craft` + - Curtain Store corresponds with `shop=curtain` + - Dairy Store corresponds with `shop=dairy` + - Deli corresponds with `shop=deli` + - Department Store corresponds with `shop=department_store` + - DIY Store corresponds with `shop=doityourself` + - Door Shop corresponds with `shop=doors` + - Dry Cleaner corresponds with `shop=dry_cleaning` + - E-Cigarette Shop corresponds with `shop=e-cigarette` + - Electrical Equipment Store corresponds with `shop=electrical` + - Electronics Store corresponds with `shop=electronics` + - Erotic Store corresponds with `shop=erotic` + - Fabric Store corresponds with `shop=fabric` + - Produce Stand corresponds with `shop=farm` + - Fashion Accessories Store corresponds with `shop=fashion_accessories` + - Fireplace Store corresponds with `shop=fireplace` + - Fishing Shop corresponds with `shop=fishing` + - Flooring Supply Shop corresponds with `shop=flooring` + - Florist corresponds with `shop=florist` + - Framing Shop corresponds with `shop=frame` + - Frozen Food Store corresponds with `shop=frozen_food` + - Fuel Shop corresponds with `shop=fuel` + - Funeral Home corresponds with `shop=funeral_directors` + - Furniture Store corresponds with `shop=furniture` + - Tabletop Game Store corresponds with `shop=games` + - Garden Center corresponds with `shop=garden_centre` + - Bottled Gas Shop corresponds with `shop=gas` + - General Store corresponds with `shop=general` + - Gift Shop corresponds with `shop=gift` + - Greengrocer corresponds with `shop=greengrocer` + - Hairdresser corresponds with `shop=hairdresser` + - Hairdresser Supply Store corresponds with `shop=hairdresser_supply` + - Hardware Store corresponds with `shop=hardware` + - Health Food Shop corresponds with `shop=health_food` + - Hearing Aids Store corresponds with `shop=hearing_aids` + - Herbalist corresponds with `shop=herbalist` + - Hifi Store corresponds with `shop=hifi` + - Hobby Shop corresponds with `shop=hobby` + - Household Linen Shop corresponds with `shop=household_linen` + - Houseware Store corresponds with `shop=houseware` + - Hunting Shop corresponds with `shop=hunting` + - Interior Decoration Store corresponds with `shop=interior_decoration` + - Jewelry Store corresponds with `shop=jewelry` + - Kiosk corresponds with `shop=kiosk` + - Kitchen Design Store corresponds with `shop=kitchen` + - Laundry corresponds with `shop=laundry` + - Leather Store corresponds with `shop=leather` + - Lighting Store corresponds with `shop=lighting` + - Locksmith corresponds with `shop=locksmith` + - Lottery Shop corresponds with `shop=lottery` + - Mall corresponds with `shop=mall` + - Massage Shop corresponds with `shop=massage` + - Medical Supply Store corresponds with `shop=medical_supply` + - Military Surplus Store corresponds with `shop=military_surplus` + - Mobile Phone Store corresponds with `shop=mobile_phone` + - Model Shop corresponds with `shop=model` + - Money Lender corresponds with `shop=money_lender` + - Motorcycle Dealership corresponds with `shop=motorcycle` + - Motorcycle Repair Shop corresponds with `shop=motorcycle_repair` + - Music Store corresponds with `shop=music` + - Musical Instrument Store corresponds with `shop=musical_instrument` + - Newspaper/Magazine Shop corresponds with `shop=newsagent` + - Nutrition Supplements Store corresponds with `shop=nutrition_supplements` + - Optician corresponds with `shop=optician` + - Outdoors Store corresponds with `shop=outdoor` + - Online Retailer Outpost corresponds with `shop=outpost` + - Paint Store corresponds with `shop=paint` + - Party Supply Store corresponds with `shop=party` + - Pastry Shop corresponds with `shop=pastry` + - Pawn Shop corresponds with `shop=pawnbroker` + - Perfume Store corresponds with `shop=perfumery` + - Pet Store corresponds with `shop=pet` + - Pet Grooming Store corresponds with `shop=pet_grooming` + - Photography Store corresponds with `shop=photo` + - Pottery Store corresponds with `shop=pottery` + - Printer Ink Store corresponds with `shop=printer_ink` + - Psychic corresponds with `shop=psychic` + - Fireworks Store corresponds with `shop=pyrotechnics` + - Radio/Electronic Component Store corresponds with `shop=radiotechnics` + - Religious Store corresponds with `shop=religion` + - Rental Shop corresponds with `shop=rental` + - Repair Shop corresponds with `shop=repair` + - Scuba Diving Shop corresponds with `shop=scuba_diving` + - Seafood Shop corresponds with `shop=seafood` + - Consignment/Thrift Store corresponds with `shop=second_hand` + - Sewing Supply Shop corresponds with `shop=sewing` + - Shoe Repair Shop corresponds with `shop=shoe_repair` + - Shoe Store corresponds with `shop=shoes` + - Spice Shop corresponds with `shop=spices` + - Sporting Goods Store corresponds with `shop=sports` + - Stationery Store corresponds with `shop=stationery` + - Storage Rental corresponds with `shop=storage_rental` + - Supermarket corresponds with `shop=supermarket` + - Pool Supply Store corresponds with `shop=swimming_pool` + - Tailor corresponds with `shop=tailor` + - Tattoo Parlor corresponds with `shop=tattoo` + - Tea Store corresponds with `shop=tea` + - Telecom Retail Store corresponds with `shop=telecommunication` + - Ticket Seller corresponds with `shop=ticket` + - Tile Shop corresponds with `shop=tiles` + - Tobacco Shop corresponds with `shop=tobacco` + - Tool Rental corresponds with `shop=tool_hire` + - Toy Store corresponds with `shop=toys` + - Trade Shop corresponds with `shop=trade` + - Travel Agency corresponds with `shop=travel_agency` + - Trophy Shop corresponds with `shop=trophy` + - Tire Store corresponds with `shop=tyres` + - Vacuum Cleaner Store corresponds with `shop=vacuum_cleaner` + - Variety Store corresponds with `shop=variety_store` + - Video Store corresponds with `shop=video` + - Video Game Store corresponds with `shop=video_games` + - Watches Shop corresponds with `shop=watches` + - Drinking Water Shop corresponds with `shop=water` + - Watersport/Swim Shop corresponds with `shop=water_sports` + - Weapon Shop corresponds with `shop=weapons` + - Wholesale Store corresponds with `shop=wholesale` + - Wig Shop corresponds with `shop=wigs` + - Window Blind Store corresponds with `shop=window_blind` + - Wine Shop corresponds with `shop=wine` Only visible if `id~^..*$` is shown @@ -303,7 +307,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -323,7 +327,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -343,7 +347,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer @@ -359,14 +363,39 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### copyshop-print-sizes @@ -377,15 +406,15 @@ The question is What paper formats does this shop offer? - - This shop can print on papers of size A4 corresponds with service:print:A4=yes + - This shop can print on papers of size A4 corresponds with `service:print:A4=yes` - Unselecting this answer will add service:print:A4=no - - This shop can print on papers of size A3 corresponds with service:print:A3=yes + - This shop can print on papers of size A3 corresponds with `service:print:A3=yes` - Unselecting this answer will add service:print:A3=no - - This shop can print on papers of size A2 corresponds with service:print:A2=yes + - This shop can print on papers of size A2 corresponds with `service:print:A2=yes` - Unselecting this answer will add service:print:A2=no - - This shop can print on papers of size A1 corresponds with service:print:A1=yes + - This shop can print on papers of size A1 corresponds with `service:print:A1=yes` - Unselecting this answer will add service:print:A1=no - - This shop can print on papers of size A0 corresponds with service:print:A0=yes + - This shop can print on papers of size A0 corresponds with `service:print:A0=yes` - Unselecting this answer will add service:print:A0=no @@ -407,6 +436,8 @@ This tagrendering has no question and is thus read-only +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/slow_roads.md b/Docs/Layers/slow_roads.md index 092104c0d..ee7ab5074 100644 --- a/Docs/Layers/slow_roads.md +++ b/Docs/Layers/slow_roads.md @@ -61,6 +61,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -77,12 +79,12 @@ This tagrendering has no question and is thus read-only - -
Dit is een woonerf:
  • Voetgangers mogen hier de volledige breedte van de straat gebruiken
  • Gemotoriseerd verkeer mag maximaal 20km/h rijden
corresponds with highway=living_street - - Dit is een brede, autovrije straat corresponds with highway=pedestrian - - Dit is een voetpaadje corresponds with highway=footway - - Dit is een wegeltje of bospad corresponds with highway=path - - Dit is een ruiterswegel corresponds with highway=bridleway - - Dit is een tractorspoor of weg om landbouwgrond te bereikken corresponds with highway=track + -
Dit is een woonerf:
  • Voetgangers mogen hier de volledige breedte van de straat gebruiken
  • Gemotoriseerd verkeer mag maximaal 20km/h rijden
corresponds with `highway=living_street` + - Dit is een brede, autovrije straat corresponds with `highway=pedestrian` + - Dit is een voetpaadje corresponds with `highway=footway` + - Dit is een wegeltje of bospad corresponds with `highway=path` + - Dit is een ruiterswegel corresponds with `highway=bridleway` + - Dit is een tractorspoor of weg om landbouwgrond te bereikken corresponds with `highway=track` @@ -101,15 +103,15 @@ This is rendered with The surface is {surface} - - The surface is grass corresponds with surface=grass - - The surface is ground corresponds with surface=ground - - The surface is unpaved corresponds with surface=unpaved + - The surface is grass corresponds with `surface=grass` + - The surface is ground corresponds with `surface=ground` + - The surface is unpaved corresponds with `surface=unpaved` - This option cannot be chosen as answer - - The surface is sand corresponds with surface=sand - - The surface is paving stones corresponds with surface=paving_stones - - The surface is asphalt corresponds with surface=asphalt - - The surface is concrete corresponds with surface=concrete - - The surface is paved corresponds with surface=paved + - The surface is sand corresponds with `surface=sand` + - The surface is paving stones corresponds with `surface=paving_stones` + - The surface is asphalt corresponds with `surface=asphalt` + - The surface is concrete corresponds with `surface=concrete` + - The surface is paved corresponds with `surface=paved` - This option cannot be chosen as answer @@ -125,8 +127,8 @@ The question is Is deze weg 's nachts verlicht? - - 's nachts verlicht corresponds with lit=yes - - Niet verlicht corresponds with lit=no + - 's nachts verlicht corresponds with `lit=yes` + - Niet verlicht corresponds with `lit=no` This document is autogenerated from [assets/layers/slow_roads/slow_roads.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/slow_roads/slow_roads.json) \ No newline at end of file diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 300cdee32..db606f70a 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -75,6 +75,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -95,12 +97,12 @@ This is rendered with {sport} is played here - - Basketball is played here corresponds with sport=basketball - - Soccer is played here corresponds with sport=soccer - - This is a pingpong table corresponds with sport=table_tennis - - Tennis is played here corresponds with sport=tennis - - Korfball is played here corresponds with sport=korfball - - Basketball is played here corresponds with sport=basket + - Basketball is played here corresponds with `sport=basketball` + - Soccer is played here corresponds with `sport=soccer` + - This is a pingpong table corresponds with `sport=table_tennis` + - Tennis is played here corresponds with `sport=tennis` + - Korfball is played here corresponds with `sport=korfball` + - Basketball is played here corresponds with `sport=basket` - This option cannot be chosen as answer @@ -120,11 +122,11 @@ This is rendered with The surface is {surface} - - The surface is grass corresponds with surface=grass - - The surface is sand corresponds with surface=sand - - The surface is paving stones corresponds with surface=paving_stones - - The surface is asphalt corresponds with surface=asphalt - - The surface is concrete corresponds with surface=concrete + - The surface is grass corresponds with `surface=grass` + - The surface is sand corresponds with `surface=sand` + - The surface is paving stones corresponds with `surface=paving_stones` + - The surface is asphalt corresponds with `surface=asphalt` + - The surface is concrete corresponds with `surface=concrete` @@ -139,10 +141,10 @@ The question is Is this sport pitch publicly accessible? - - Public access corresponds with access=public - - Limited access (e.g. only with an appointment, during certain hours, …) corresponds with access=limited - - Only accessible for members of the club corresponds with access=members - - Private - not accessible to the public corresponds with access=private + - Public access corresponds with `access=public` + - Limited access (e.g. only with an appointment, during certain hours, …) corresponds with `access=limited` + - Only accessible for members of the club corresponds with `access=members` + - Private - not accessible to the public corresponds with `access=private` @@ -157,10 +159,10 @@ The question is Does one have to make an appointment to use this sport pitch? - - Making an appointment is obligatory to use this sport pitch corresponds with reservation=required - - Making an appointment is recommended when using this sport pitch corresponds with reservation=recommended - - Making an appointment is possible, but not necessary to use this sport pitch corresponds with reservation=yes - - Making an appointment is not possible corresponds with reservation=no + - Making an appointment is obligatory to use this sport pitch corresponds with `reservation=required` + - Making an appointment is recommended when using this sport pitch corresponds with `reservation=recommended` + - Making an appointment is possible, but not necessary to use this sport pitch corresponds with `reservation=yes` + - Making an appointment is not possible corresponds with `reservation=no` @@ -207,9 +209,9 @@ This is rendered with Openingsuren: {opening_hours_table()} - - Always accessible corresponds with + - Always accessible corresponds with `` - This option cannot be chosen as answer - - Always accessible corresponds with opening_hours=24/7 + - Always accessible corresponds with `opening_hours=24/7` Only visible if `access~^..*$` is shown diff --git a/Docs/Layers/sport_places_without_etymology.md b/Docs/Layers/sport_places_without_etymology.md index fe354fba9..0406c941e 100644 --- a/Docs/Layers/sport_places_without_etymology.md +++ b/Docs/Layers/sport_places_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/street_lamps.md b/Docs/Layers/street_lamps.md index fc10da2ad..5d69cfa9e 100644 --- a/Docs/Layers/street_lamps.md +++ b/Docs/Layers/street_lamps.md @@ -76,6 +76,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -106,13 +108,13 @@ The question is How is this street lamp mounted? - - This lamp is suspended using cables corresponds with support=catenary - - This lamp is mounted on a ceiling corresponds with support=ceiling - - This lamp is mounted in the ground corresponds with support=ground - - This lamp is mounted on a short pole (mostly < 1.5m) corresponds with support=pedestal - - This lamp is mounted on a pole corresponds with support=pole - - This lamp is mounted directly to the wall corresponds with support=wall - - This lamp is mounted to the wall using a metal bar corresponds with support=wall_mount + - This lamp is suspended using cables corresponds with `support=catenary` + - This lamp is mounted on a ceiling corresponds with `support=ceiling` + - This lamp is mounted in the ground corresponds with `support=ground` + - This lamp is mounted on a short pole (mostly < 1.5m) corresponds with `support=pedestal` + - This lamp is mounted on a pole corresponds with `support=pole` + - This lamp is mounted directly to the wall corresponds with `support=wall` + - This lamp is mounted to the wall using a metal bar corresponds with `support=wall_mount` @@ -127,8 +129,8 @@ The question is How is this lamp mounted to the pole? - - This lamp sits atop of a straight mast corresponds with lamp_mount=straight_mast - - This lamp sits at the end of a bent mast corresponds with lamp_mount=bent_mast + - This lamp sits atop of a straight mast corresponds with `lamp_mount=straight_mast` + - This lamp sits at the end of a bent mast corresponds with `lamp_mount=bent_mast` Only visible if `support=pole` is shown @@ -145,19 +147,19 @@ The question is What kind of lighting does this lamp use? - - This lamp is lit electrically corresponds with light:method=electric + - This lamp is lit electrically corresponds with `light:method=electric` - This option cannot be chosen as answer - - This lamp uses LEDs corresponds with light:method=LED - - This lamp uses incandescent lighting corresponds with light:method=incandescent - - This lamp uses halogen lighting corresponds with light:method=halogen - - This lamp uses discharge lamps (unknown type) corresponds with light:method=discharge - - This lamp uses a mercury-vapour lamp (lightly blueish) corresponds with light:method=mercury - - This lamp uses metal-halide lamps (bright white) corresponds with light:method=metal-halide - - This lamp uses fluorescent lighting corresponds with light:method=fluorescent - - This lamp uses sodium lamps (unknown type) corresponds with light:method=sodium - - This lamp uses low pressure sodium lamps (monochrome orange) corresponds with light:method=low_pressure_sodium - - This lamp uses high pressure sodium lamps (orange with white) corresponds with light:method=high_pressure_sodium - - This lamp is lit using gas corresponds with light:method=gas + - This lamp uses LEDs corresponds with `light:method=LED` + - This lamp uses incandescent lighting corresponds with `light:method=incandescent` + - This lamp uses halogen lighting corresponds with `light:method=halogen` + - This lamp uses discharge lamps (unknown type) corresponds with `light:method=discharge` + - This lamp uses a mercury-vapour lamp (lightly blueish) corresponds with `light:method=mercury` + - This lamp uses metal-halide lamps (bright white) corresponds with `light:method=metal-halide` + - This lamp uses fluorescent lighting corresponds with `light:method=fluorescent` + - This lamp uses sodium lamps (unknown type) corresponds with `light:method=sodium` + - This lamp uses low pressure sodium lamps (monochrome orange) corresponds with `light:method=low_pressure_sodium` + - This lamp uses high pressure sodium lamps (orange with white) corresponds with `light:method=high_pressure_sodium` + - This lamp is lit using gas corresponds with `light:method=gas` @@ -176,9 +178,9 @@ This is rendered with This lamp emits {light:colour} light - - This lamp emits white light corresponds with light:colour=white - - This lamp emits green light corresponds with light:colour=green - - This lamp emits orange light corresponds with light:colour=orange + - This lamp emits white light corresponds with `light:colour=white` + - This lamp emits green light corresponds with `light:colour=green` + - This lamp emits orange light corresponds with `light:colour=orange` @@ -197,8 +199,8 @@ This is rendered with This lamp has {light:count} fixtures - - This lamp has 1 fixture corresponds with light:count=1 - - This lamp has 2 fixtures corresponds with light:count=2 + - This lamp has 1 fixture corresponds with `light:count=1` + - This lamp has 2 fixtures corresponds with `light:count=2` Only visible if `support=pole` is shown @@ -215,10 +217,10 @@ The question is When is this lamp lit? - - This lamp is lit at night corresponds with light:lit=dusk-dawn - - This lamp is lit 24/7 corresponds with light:lit=24/7 - - This lamp is lit based on motion corresponds with light:lit=motion - - This lamp is lit based on demand (e.g. with a pushbutton) corresponds with light:lit=demand + - This lamp is lit at night corresponds with `light:lit=dusk-dawn` + - This lamp is lit 24/7 corresponds with `light:lit=24/7` + - This lamp is lit based on motion corresponds with `light:lit=motion` + - This lamp is lit based on demand (e.g. with a pushbutton) corresponds with `light:lit=demand` diff --git a/Docs/Layers/streets_without_etymology.md b/Docs/Layers/streets_without_etymology.md index c500d9634..b6fd5eeb3 100644 --- a/Docs/Layers/streets_without_etymology.md +++ b/Docs/Layers/streets_without_etymology.md @@ -115,7 +115,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/surveillance_camera.md b/Docs/Layers/surveillance_camera.md index add309706..511eaafa8 100644 --- a/Docs/Layers/surveillance_camera.md +++ b/Docs/Layers/surveillance_camera.md @@ -78,6 +78,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -94,9 +96,9 @@ The question is What kind of camera is this? - - A fixed (non-moving) camera corresponds with camera:type=fixed - - A dome camera (which can turn) corresponds with camera:type=dome - - A panning camera corresponds with camera:type=panning + - A fixed (non-moving) camera corresponds with `camera:type=fixed` + - A dome camera (which can turn) corresponds with `camera:type=dome` + - A panning camera corresponds with `camera:type=panning` @@ -115,7 +117,7 @@ This is rendered with Films to a compass heading of {camera:direction} - - Films to a compass heading of {direction} corresponds with direction~^..*$ + - Films to a compass heading of {direction} corresponds with `direction~^..*$` - This option cannot be chosen as answer @@ -145,9 +147,9 @@ The question is What kind of surveillance is this camera? - - A public area is surveilled, such as a street, a bridge, a square, a park, a train station, a public corridor or tunnel, … corresponds with surveillance=public - - An outdoor, yet private area is surveilled (e.g. a parking lot, a fuel station, courtyard, entrance, private driveway, …) corresponds with surveillance=outdoor - - A private indoor area is surveilled, e.g. a shop, a private underground parking, … corresponds with surveillance=indoor + - A public area is surveilled, such as a street, a bridge, a square, a park, a train station, a public corridor or tunnel, … corresponds with `surveillance=public` + - An outdoor, yet private area is surveilled (e.g. a parking lot, a fuel station, courtyard, entrance, private driveway, …) corresponds with `surveillance=outdoor` + - A private indoor area is surveilled, e.g. a shop, a private underground parking, … corresponds with `surveillance=indoor` @@ -162,9 +164,9 @@ The question is Is the public space surveilled by this camera an indoor or outd - - This camera is located indoors corresponds with indoor=yes - - This camera is located outdoors corresponds with indoor=no - - This camera is probably located outdoors corresponds with + - This camera is located indoors corresponds with `indoor=yes` + - This camera is located outdoors corresponds with `indoor=no` + - This camera is probably located outdoors corresponds with `` - This option cannot be chosen as answer @@ -202,12 +204,12 @@ This is rendered with Surveills a {surveillance:zone} - - Surveills a parking corresponds with surveillance:zone=parking - - Surveills the traffic corresponds with surveillance:zone=traffic - - Surveills an entrance corresponds with surveillance:zone=entrance - - Surveills a corridor corresponds with surveillance:zone=corridor - - Surveills a public tranport platform corresponds with surveillance:zone=public_transport_platform - - Surveills a shop corresponds with surveillance:zone=shop + - Surveills a parking corresponds with `surveillance:zone=parking` + - Surveills the traffic corresponds with `surveillance:zone=traffic` + - Surveills an entrance corresponds with `surveillance:zone=entrance` + - Surveills a corridor corresponds with `surveillance:zone=corridor` + - Surveills a public tranport platform corresponds with `surveillance:zone=public_transport_platform` + - Surveills a shop corresponds with `surveillance:zone=shop` @@ -226,11 +228,11 @@ This is rendered with Mounting method: {camera:mount} - - This camera is placed against a wall corresponds with camera:mount=wall - - This camera is placed on a pole corresponds with camera:mount=pole - - This camera is placed on the ceiling corresponds with camera:mount=ceiling - - This camera is placed on a street light corresponds with camera:mount=street_lamp - - This camera is placed on a tree corresponds with camera:mount=tree + - This camera is placed against a wall corresponds with `camera:mount=wall` + - This camera is placed on a pole corresponds with `camera:mount=pole` + - This camera is placed on the ceiling corresponds with `camera:mount=ceiling` + - This camera is placed on a street light corresponds with `camera:mount=street_lamp` + - This camera is placed on a tree corresponds with `camera:mount=tree` This document is autogenerated from [assets/layers/surveillance_camera/surveillance_camera.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/surveillance_camera/surveillance_camera.json) \ No newline at end of file diff --git a/Docs/Layers/tertiary_education.md b/Docs/Layers/tertiary_education.md index 9a526a2f3..c729522de 100644 --- a/Docs/Layers/tertiary_education.md +++ b/Docs/Layers/tertiary_education.md @@ -81,8 +81,8 @@ The question is What kind of institution is this? - - This is an institution of post-secondary, non-tertiary education. One has to have completed secondary education to enroll here, but no bachelor (or higher) degrees are awarded here corresponds with amenity=college - - This is a university, an institution of tertiary education where bachelor degrees or higher are awarded. corresponds with amenity=university + - This is an institution of post-secondary, non-tertiary education. One has to have completed secondary education to enroll here, but no bachelor (or higher) degrees are awarded here corresponds with `amenity=college` + - This is a university, an institution of tertiary education where bachelor degrees or higher are awarded. corresponds with `amenity=university` @@ -97,9 +97,9 @@ The question is What level of education is given here? - - Bachelor degrees are awarded here corresponds with isced:2011:level=bachelor - - Master degrees are awarded here corresponds with isced:2011:level=master - - Doctorate degrees are awarded here corresponds with isced:2011:level=doctorate + - Bachelor degrees are awarded here corresponds with `isced:2011:level=bachelor` + - Master degrees are awarded here corresponds with `isced:2011:level=master` + - Doctorate degrees are awarded here corresponds with `isced:2011:level=doctorate` Only visible if `amenity=university` is shown @@ -130,10 +130,10 @@ The question is Which genders can enroll at this school? - - Both boys and girls can enroll here and have classes together corresponds with school:gender=mixed - - Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times) corresponds with school:gender=separated - - This is a boys only-school corresponds with school:gender=male - - This is a girls-only school corresponds with school:gender=female + - Both boys and girls can enroll here and have classes together corresponds with `school:gender=mixed` + - Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times) corresponds with `school:gender=separated` + - This is a boys only-school corresponds with `school:gender=male` + - This is a girls-only school corresponds with `school:gender=female` @@ -152,7 +152,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -172,7 +172,7 @@ This is rendered with {email} - - {contact:email} corresponds with contact:email~^..*$ + - {contact:email} corresponds with `contact:email~^..*$` - This option cannot be chosen as answer @@ -192,7 +192,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/toekomstige_fietsstraat.md b/Docs/Layers/toekomstige_fietsstraat.md index 869fef922..b5eb37503 100644 --- a/Docs/Layers/toekomstige_fietsstraat.md +++ b/Docs/Layers/toekomstige_fietsstraat.md @@ -69,6 +69,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -85,10 +87,10 @@ The question is Is the street {name} a cyclestreet? - - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no - - This street is a cyclestreet corresponds with cyclestreet=yes - - This street will become a cyclstreet soon corresponds with proposed:cyclestreet=yes - - This street is not a cyclestreet corresponds with + - This street is a cyclestreet (and has a speed limit of 30 km/h) corresponds with `cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no` + - This street is a cyclestreet corresponds with `cyclestreet=yes` + - This street will become a cyclstreet soon corresponds with `proposed:cyclestreet=yes` + - This street is not a cyclestreet corresponds with `` @@ -113,6 +115,8 @@ Only visible if `proposed:cyclestreet=yes` is shown +Show the images block at this location + This tagrendering has no question and is thus read-only @@ -123,6 +127,8 @@ This tagrendering has no question and is thus read-only +Shows a small map with the feature. Added by default to every popup + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/toilet.md b/Docs/Layers/toilet.md index 0717b5afc..c9f90d4ed 100644 --- a/Docs/Layers/toilet.md +++ b/Docs/Layers/toilet.md @@ -26,6 +26,7 @@ A layer showing (public) toilets - [nature](https://mapcomplete.osm.be/nature) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [toilets](https://mapcomplete.osm.be/toilets) @@ -61,17 +62,18 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ +[](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/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) [no](https://wiki.openstreetmap.org/wiki/Tag:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey) [](https://taginfo.openstreetmap.org/keys/fee#values) [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](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/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) +[](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) +[](https://taginfo.openstreetmap.org/keys/door:width#values) [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | [](https://taginfo.openstreetmap.org/keys/toilets:position#values) [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) [](https://taginfo.openstreetmap.org/keys/changing_table#values) [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) [](https://taginfo.openstreetmap.org/keys/changing_table:location#values) [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) [](https://taginfo.openstreetmap.org/keys/toilets:handwashing#values) [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) [](https://taginfo.openstreetmap.org/keys/toilets:paper_supplied#values) [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) -[](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/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | @@ -81,12 +83,39 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only +### 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 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 on the first basement level corresponds with `level=-1` + + + + ### toilet-access @@ -101,11 +130,11 @@ This is rendered with Access is {access} - - Public access corresponds with access=yes - - Only access to customers corresponds with access=customers - - Not accessible corresponds with access=no - - Accessible, but one has to ask a key to enter corresponds with access=key - - Public access corresponds with access=public + - Public access corresponds with `access=yes` + - Only access to customers corresponds with `access=customers` + - Not accessible corresponds with `access=no` + - Accessible, but one has to ask a key to enter corresponds with `access=key` + - Public access corresponds with `access=public` - This option cannot be chosen as answer @@ -121,8 +150,8 @@ The question is Are these toilets free to use? - - These are paid toilets corresponds with fee=yes - - Free to use corresponds with fee=no + - These are paid toilets corresponds with `fee=yes` + - Free to use corresponds with `fee=no` @@ -153,9 +182,9 @@ The question is Which methods of payment are accepted here? - - Cash is accepted here corresponds with payment:cash=yes + - Cash is accepted here corresponds with `payment:cash=yes` - Unselecting this answer will add payment:cash=no - - Payment cards are accepted here corresponds with payment:cards=yes + - Payment cards are accepted here corresponds with `payment:cards=yes` - Unselecting this answer will add payment:cards=no @@ -177,7 +206,7 @@ This is rendered with {opening_hours_table()} - - Opened 24/7 corresponds with opening_hours=24/7 + - Opened 24/7 corresponds with `opening_hours=24/7` @@ -192,8 +221,23 @@ The question is Is there a dedicated toilet for wheelchair users? - - There is a dedicated toilet for wheelchair users corresponds with wheelchair=yes - - No wheelchair access corresponds with wheelchair=no + - There is a dedicated toilet for wheelchair users corresponds with `wheelchair=yes` + - No wheelchair access corresponds with `wheelchair=no` + - There is only a dedicated toilet for wheelchair users corresponds with `wheelchair=designated` + + + + +### wheelchair-door-width + + + +The question is What is the width of the door to the wheelchair accessible toilet? + +This rendering asks information about the property [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) + +This is rendered with The door to the wheelchair-accessible toilet is {canonical(door:width)} wide + @@ -208,10 +252,10 @@ The question is Which kind of toilets are this? - - There are only seated toilets corresponds with toilets:position=seated - - There are only urinals here corresponds with toilets:position=urinal - - There are only squat toilets here corresponds with toilets:position=squat - - Both seated toilets and urinals are available here corresponds with toilets:position=seated;urinal + - There are only seated toilets corresponds with `toilets:position=seated` + - There are only urinals here corresponds with `toilets:position=urinal` + - There are only squat toilets here corresponds with `toilets:position=squat` + - Both seated toilets and urinals are available here corresponds with `toilets:position=seated;urinal` @@ -226,8 +270,8 @@ The question is Is a changing table (to change diapers) available? - - A changing table is available corresponds with changing_table=yes - - No changing table is available corresponds with changing_table=no + - A changing table is available corresponds with `changing_table=yes` + - No changing table is available corresponds with `changing_table=no` @@ -246,10 +290,10 @@ This is rendered with The changing table is located at {changing_table:location - - The changing table is in the toilet for women. corresponds with changing_table:location=female_toilet - - The changing table is in the toilet for men. corresponds with changing_table:location=male_toilet - - The changing table is in the toilet for wheelchair users. corresponds with changing_table:location=wheelchair_toilet - - The changing table is in a dedicated room. corresponds with changing_table:location=dedicated_room + - The changing table is in the toilet for women. corresponds with `changing_table:location=female_toilet` + - The changing table is in the toilet for men. corresponds with `changing_table:location=male_toilet` + - The changing table is in the toilet for wheelchair users. corresponds with `changing_table:location=wheelchair_toilet` + - The changing table is in a dedicated room. corresponds with `changing_table:location=dedicated_room` Only visible if `changing_table=yes` is shown @@ -266,8 +310,8 @@ The question is Do these toilets have a sink to wash your hands? - - This toilets have a sink to wash your hands corresponds with toilets:handwashing=yes - - This toilets don't have a sink to wash your hands corresponds with toilets:handwashing=no + - This toilets have a sink to wash your hands corresponds with `toilets:handwashing=yes` + - This toilets don't have a sink to wash your hands corresponds with `toilets:handwashing=no` @@ -282,33 +326,8 @@ The question is Does one have to bring their own toilet paper to this toilet? - - This toilet is equipped with toilet paper corresponds with toilets:paper_supplied=yes - - You have to bring your own toilet paper to this toilet corresponds with toilets:paper_supplied=no - - - - -### 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 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 on the first basement level corresponds with level=-1 + - This toilet is equipped with toilet paper corresponds with `toilets:paper_supplied=yes` + - You have to bring your own toilet paper to this toilet corresponds with `toilets:paper_supplied=no` diff --git a/Docs/Layers/toursistic_places_without_etymology.md b/Docs/Layers/toursistic_places_without_etymology.md index f530c6ab1..e4b327f35 100644 --- a/Docs/Layers/toursistic_places_without_etymology.md +++ b/Docs/Layers/toursistic_places_without_etymology.md @@ -114,7 +114,7 @@ This is rendered with Named after {name:etymology} - - The origin of this name is unknown in all literature corresponds with name:etymology=unknown + - The origin of this name is unknown in all literature corresponds with `name:etymology=unknown` diff --git a/Docs/Layers/trail.md b/Docs/Layers/trail.md index 64dd79cc5..a81623dfa 100644 --- a/Docs/Layers/trail.md +++ b/Docs/Layers/trail.md @@ -61,6 +61,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -105,8 +107,8 @@ This is rendered with Beheer door {operator} - - Dit gebied wordt beheerd door Natuurpunt corresponds with operator=Natuurpunt - - Dit gebied wordt beheerd door {operator} corresponds with operator~^(n|N)atuurpunt.*$ + - Dit gebied wordt beheerd door Natuurpunt corresponds with `operator=Natuurpunt` + - Dit gebied wordt beheerd door {operator} corresponds with `operator~^(n|N)atuurpunt.*$` - This option cannot be chosen as answer @@ -126,10 +128,10 @@ This is rendered with Deze wandeling heeft kleur {colour} - - Blue trail corresponds with colour=blue - - Red trail corresponds with colour=red - - Green trail corresponds with colour=green - - Yellow trail corresponds with colour=yellow + - Blue trail corresponds with `colour=blue` + - Red trail corresponds with `colour=red` + - Green trail corresponds with `colour=green` + - Yellow trail corresponds with `colour=yellow` @@ -144,8 +146,8 @@ The question is Is deze wandeling toegankelijk met de rolstoel? - - deze wandeltocht is toegankelijk met de rolstoel corresponds with wheelchair=yes - - deze wandeltocht is niet toegankelijk met de rolstoel corresponds with wheelchair=no + - deze wandeltocht is toegankelijk met de rolstoel corresponds with `wheelchair=yes` + - deze wandeltocht is niet toegankelijk met de rolstoel corresponds with `wheelchair=no` @@ -160,8 +162,8 @@ The question is Is deze wandeltocht toegankelijk met de buggy? - - deze wandeltocht is toegankelijk met de buggy corresponds with pushchair=yes - - deze wandeltocht is niet toegankelijk met de buggy corresponds with pushchair=no + - deze wandeltocht is toegankelijk met de buggy corresponds with `pushchair=yes` + - deze wandeltocht is niet toegankelijk met de buggy corresponds with `pushchair=no` This document is autogenerated from [assets/layers/trail/trail.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/trail/trail.json) \ No newline at end of file diff --git a/Docs/Layers/transit_stops.md b/Docs/Layers/transit_stops.md index 562fd107b..fc1899f9d 100644 --- a/Docs/Layers/transit_stops.md +++ b/Docs/Layers/transit_stops.md @@ -86,7 +86,7 @@ This is rendered with This stop is called {name} - - This stop has no name corresponds with noname=yes + - This stop has no name corresponds with `noname=yes` @@ -95,6 +95,8 @@ This is rendered with This stop is called {name} +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -111,9 +113,9 @@ The question is Does this stop have a shelter? - - This stop has a shelter corresponds with shelter=yes - - This stop does not have a shelter corresponds with shelter=no - - This stop has a shelter, that's separately mapped corresponds with shelter=separate + - This stop has a shelter corresponds with `shelter=yes` + - This stop does not have a shelter corresponds with `shelter=no` + - This stop has a shelter, that's separately mapped corresponds with `shelter=separate` - This option cannot be chosen as answer @@ -129,9 +131,9 @@ The question is Does this stop have a bench? - - This stop has a bench corresponds with bench=yes - - This stop does not have a bench corresponds with bench=no - - This stop has a bench, that's separately mapped corresponds with bench=separate + - This stop has a bench corresponds with `bench=yes` + - This stop does not have a bench corresponds with `bench=no` + - This stop has a bench, that's separately mapped corresponds with `bench=separate` - This option cannot be chosen as answer @@ -147,9 +149,9 @@ The question is Does this stop have a bin? - - This stop has a bin corresponds with bin=yes - - This stop does not have a bin corresponds with bin=no - - This stop has a bin, that's separately mapped corresponds with bin=separate + - This stop has a bin corresponds with `bin=yes` + - This stop does not have a bin corresponds with `bin=no` + - This stop has a bin, that's separately mapped corresponds with `bin=separate` - This option cannot be chosen as answer @@ -165,10 +167,10 @@ 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 + - 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` @@ -183,8 +185,8 @@ The question is Does this stop have tactile paving? - - This stop has tactile paving corresponds with tactile_paving=yes - - This stop does not have tactile paving corresponds with tactile_paving=no + - This stop has tactile paving corresponds with `tactile_paving=yes` + - This stop does not have tactile paving corresponds with `tactile_paving=no` @@ -199,8 +201,8 @@ The question is Is this stop lit? - - This stop is lit corresponds with lit=yes - - This stop is not lit corresponds with lit=no + - This stop is lit corresponds with `lit=yes` + - This stop is not lit corresponds with `lit=no` @@ -215,14 +217,14 @@ This tagrendering has no question and is thus read-only - - This stop has a departures board of unknown type corresponds with departures_board=yes + - This stop has a departures board of unknown type corresponds with `departures_board=yes` - This option cannot be chosen as answer - - This stop has a board showing realtime departure information corresponds with departures_board=realtime - - This stop has a board showing realtime departure information corresponds with passenger_information_display=yes + - This stop has a board showing realtime departure information corresponds with `departures_board=realtime` + - This stop has a board showing realtime departure information corresponds with `passenger_information_display=yes` - This option cannot be chosen as answer - - This stop has a timetable showing regular departures corresponds with departures_board=timetable - - This stop has a timetable containing just the interval between departures corresponds with departures_board=interval - - This stop does not have a departures board corresponds with departures_board=no + - This stop has a timetable showing regular departures corresponds with `departures_board=timetable` + - This stop has a timetable containing just the interval between departures corresponds with `departures_board=interval` + - This stop does not have a departures board corresponds with `departures_board=no` diff --git a/Docs/Layers/tree_node.md b/Docs/Layers/tree_node.md index 483db7442..629059968 100644 --- a/Docs/Layers/tree_node.md +++ b/Docs/Layers/tree_node.md @@ -77,6 +77,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -93,7 +95,7 @@ This tagrendering has no question and is thus read-only - - Height: {height} m corresponds with height~^^[0-9.]+$$ + - Height: {height} m corresponds with `height~^^[0-9.]+$$` Only visible if `height~^..*$` is shown @@ -110,9 +112,9 @@ The question is Is this a broadleaved or needleleaved tree? - - Broadleaved corresponds with leaf_type=broadleaved - - Needleleaved corresponds with leaf_type=needleleaved - - Permanently leafless corresponds with leaf_type=leafless + - Broadleaved corresponds with `leaf_type=broadleaved` + - Needleleaved corresponds with `leaf_type=needleleaved` + - Permanently leafless corresponds with `leaf_type=leafless` - This option cannot be chosen as answer @@ -128,14 +130,14 @@ The question is How significant is this tree? Choose the first answer that appl - - The tree is remarkable due to its size or prominent location. It is useful for navigation. corresponds with denotation=landmark - - The tree is a natural monument, e.g. because it is especially old, or of a valuable species. corresponds with denotation=natural_monument - - The tree is used for agricultural purposes, e.g. in an orchard. corresponds with denotation=agricultural - - The tree is in a park or similar (cemetery, school grounds, …). corresponds with denotation=park - - The tree is in a residential garden. corresponds with denotation=garden - - This is a tree along an avenue. corresponds with denotation=avenue - - The tree is in an urban area. corresponds with denotation=urban - - The tree is outside of an urban area. corresponds with denotation=none + - The tree is remarkable due to its size or prominent location. It is useful for navigation. corresponds with `denotation=landmark` + - The tree is a natural monument, e.g. because it is especially old, or of a valuable species. corresponds with `denotation=natural_monument` + - The tree is used for agricultural purposes, e.g. in an orchard. corresponds with `denotation=agricultural` + - The tree is in a park or similar (cemetery, school grounds, …). corresponds with `denotation=park` + - The tree is in a residential garden. corresponds with `denotation=garden` + - This is a tree along an avenue. corresponds with `denotation=avenue` + - The tree is in an urban area. corresponds with `denotation=urban` + - The tree is outside of an urban area. corresponds with `denotation=none` @@ -150,8 +152,8 @@ The question is Is this tree evergreen or deciduous? - - Deciduous: the tree loses its leaves for some time of the year. corresponds with leaf_cycle=deciduous - - Evergreen. corresponds with leaf_cycle=evergreen + - Deciduous: the tree loses its leaves for some time of the year. corresponds with `leaf_cycle=deciduous` + - Evergreen. corresponds with `leaf_cycle=evergreen` @@ -196,7 +198,7 @@ This is rendered with Name: {name} - - The tree does not have a name. corresponds with noname=yes + - The tree does not have a name. corresponds with `noname=yes` Only visible if `denotation=landmark|denotation=natural_monument|name~^..*$` is shown @@ -213,11 +215,11 @@ The question is Is this tree registered heritage? - - Registered as heritage by Onroerend Erfgoed Flanders corresponds with heritage=4&heritage:operator=OnroerendErfgoed - - Registered as heritage by Direction du Patrimoine culturel Brussels corresponds with heritage=4&heritage:operator=aatl - - Registered as heritage by a different organisation corresponds with heritage=yes - - Not registered as heritage corresponds with heritage=no - - Registered as heritage by a different organisation corresponds with heritage~^..*$ + - Registered as heritage by Onroerend Erfgoed Flanders corresponds with `heritage=4&heritage:operator=OnroerendErfgoed` + - Registered as heritage by Direction du Patrimoine culturel Brussels corresponds with `heritage=4&heritage:operator=aatl` + - Registered as heritage by a different organisation corresponds with `heritage=yes` + - Not registered as heritage corresponds with `heritage=no` + - Registered as heritage by a different organisation corresponds with `heritage~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/veterinary.md b/Docs/Layers/veterinary.md index cdf166fd0..16d0b7569 100644 --- a/Docs/Layers/veterinary.md +++ b/Docs/Layers/veterinary.md @@ -82,7 +82,7 @@ This is rendered with {website} - - {contact:website} corresponds with contact:website~^..*$ + - {contact:website} corresponds with `contact:website~^..*$` - This option cannot be chosen as answer @@ -92,6 +92,8 @@ This is rendered with {website} +Shows the reviews module (including the possibility to leave a review) + This tagrendering has no question and is thus read-only @@ -112,7 +114,7 @@ This is rendered with {phone} - - {contact:phone} corresponds with contact:phone~^..*$ + - {contact:phone} corresponds with `contact:phone~^..*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/viewpoint.md b/Docs/Layers/viewpoint.md index 7ee32f4af..a1d79938a 100644 --- a/Docs/Layers/viewpoint.md +++ b/Docs/Layers/viewpoint.md @@ -19,6 +19,18 @@ A nice viewpoint or nice view. Ideal to add an image if no other category fits +#### Themes using this layer + + + + + + - [onwheels](https://mapcomplete.osm.be/onwheels) + - [personal](https://mapcomplete.osm.be/personal) + + + + Basic tags for this layer --------------------------- @@ -57,6 +69,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/village_green.md b/Docs/Layers/village_green.md index 1509ac501..67dd28e93 100644 --- a/Docs/Layers/village_green.md +++ b/Docs/Layers/village_green.md @@ -46,6 +46,8 @@ Elements must have the all of following tags to be shown on this layer: +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/Layers/walls_and_buildings.md b/Docs/Layers/walls_and_buildings.md index a9c7c19cd..db4cedb86 100644 --- a/Docs/Layers/walls_and_buildings.md +++ b/Docs/Layers/walls_and_buildings.md @@ -16,6 +16,7 @@ Special builtin layer providing all walls and buildings. This layer is useful in - This layer is shown at zoomlevel **18** and higher - This layer is not visible by default and must be enabled in the filter by the user. + - This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` - This layer will automatically load [entrance](./entrance.md) into the layout as it depends on it: a calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _entrance_properties) @@ -34,9 +35,9 @@ Special builtin layer providing all walls and buildings. This layer is useful in - [aed](https://mapcomplete.osm.be/aed) - [entrances](https://mapcomplete.osm.be/entrances) + - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) - [surveillance](https://mapcomplete.osm.be/surveillance) - - [walls_and_buildings](https://mapcomplete.osm.be/walls_and_buildings) @@ -89,7 +90,7 @@ This is rendered with This door has a width of {can - - This entrance has no width information corresponds with + - This entrance has no width information corresponds with `` This document is autogenerated from [assets/layers/walls_and_buildings/walls_and_buildings.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/walls_and_buildings/walls_and_buildings.json) \ No newline at end of file diff --git a/Docs/Layers/waste_basket.md b/Docs/Layers/waste_basket.md index 5a5f3c494..702fa1ac6 100644 --- a/Docs/Layers/waste_basket.md +++ b/Docs/Layers/waste_basket.md @@ -72,6 +72,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -88,14 +90,14 @@ The question is What kind of waste basket is this? - - A waste basket for general waste corresponds with + - A waste basket for general waste corresponds with `` - This option cannot be chosen as answer - - A waste basket for general waste corresponds with waste=trash - - A waste basket for dog excrements corresponds with waste=dog_excrement - - A waste basket for cigarettes corresponds with waste=cigarettes - - A waste basket for drugs corresponds with waste=drugs - - A waste basket for needles and other sharp objects corresponds with waste=sharps - - A waste basket for plastic corresponds with waste=plastic + - A waste basket for general waste corresponds with `waste=trash` + - A waste basket for dog excrements corresponds with `waste=dog_excrement` + - A waste basket for cigarettes corresponds with `waste=cigarettes` + - A waste basket for drugs corresponds with `waste=drugs` + - A waste basket for needles and other sharp objects corresponds with `waste=sharps` + - A waste basket for plastic corresponds with `waste=plastic` @@ -110,9 +112,9 @@ The question is Does this waste basket have a dispenser for dog excrement bags? - - This waste basket has a dispenser for (dog) excrement bags corresponds with vending=dog_excrement_bag - - This waste basket does not have a dispenser for (dog) excrement bags corresponds with not:vending=dog_excrement_bag - - This waste basket does not have a dispenser for (dog) excrement bags corresponds with + - This waste basket has a dispenser for (dog) excrement bags corresponds with `vending=dog_excrement_bag` + - This waste basket does not have a dispenser for (dog) excrement bags corresponds with `not:vending=dog_excrement_bag` + - This waste basket does not have a dispenser for (dog) excrement bags corresponds with `` - This option cannot be chosen as answer diff --git a/Docs/Layers/waste_disposal.md b/Docs/Layers/waste_disposal.md index b57912f8d..fdce75be1 100644 --- a/Docs/Layers/waste_disposal.md +++ b/Docs/Layers/waste_disposal.md @@ -80,9 +80,9 @@ This is rendered with Access: {access} - - This bin can be used by anyone corresponds with access=yes - - This bin is private corresponds with access=no - - This bin is only for residents corresponds with access=residents + - This bin can be used by anyone corresponds with `access=yes` + - This bin is private corresponds with `access=no` + - This bin is only for residents corresponds with `access=residents` @@ -97,9 +97,9 @@ The question is Where is this container located? - - This is an underground container corresponds with location=underground - - This container is located indoors corresponds with location=indoor - - This container is located outdoors corresponds with + - This is an underground container corresponds with `location=underground` + - This container is located indoors corresponds with `location=indoor` + - This container is located outdoors corresponds with `` This document is autogenerated from [assets/layers/waste_disposal/waste_disposal.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/waste_disposal/waste_disposal.json) \ No newline at end of file diff --git a/Docs/Layers/watermill.md b/Docs/Layers/watermill.md index 5f7097071..5340e87ba 100644 --- a/Docs/Layers/watermill.md +++ b/Docs/Layers/watermill.md @@ -58,6 +58,8 @@ attribute | type | values which are supported by this layer +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only @@ -78,12 +80,12 @@ This is rendered with De toegankelijkheid van dit gebied is: {access:descriptio - - Vrij toegankelijk corresponds with access=yes - - Niet toegankelijk corresponds with access=no - - Niet toegankelijk, want privégebied corresponds with access=private - - Toegankelijk, ondanks dat het privegebied is corresponds with access=permissive - - Enkel toegankelijk met een gids of tijdens een activiteit corresponds with access=guided - - Toegankelijk mits betaling corresponds with access=yes&fee=yes + - Vrij toegankelijk corresponds with `access=yes` + - Niet toegankelijk corresponds with `access=no` + - Niet toegankelijk, want privégebied corresponds with `access=private` + - Toegankelijk, ondanks dat het privegebied is corresponds with `access=permissive` + - Enkel toegankelijk met een gids of tijdens een activiteit corresponds with `access=guided` + - Toegankelijk mits betaling corresponds with `access=yes&fee=yes` @@ -102,8 +104,8 @@ This is rendered with Beheer door {operator} - - Dit gebied wordt beheerd door Natuurpunt corresponds with operator=Natuurpunt - - Dit gebied wordt beheerd door {operator} corresponds with operator~^(n|N)atuurpunt.*$ + - Dit gebied wordt beheerd door Natuurpunt corresponds with `operator=Natuurpunt` + - Dit gebied wordt beheerd door {operator} corresponds with `operator~^(n|N)atuurpunt.*$` - This option cannot be chosen as answer diff --git a/Docs/Layers/windturbine.md b/Docs/Layers/windturbine.md index 06f4fa211..7e7149f65 100644 --- a/Docs/Layers/windturbine.md +++ b/Docs/Layers/windturbine.md @@ -143,6 +143,8 @@ This is rendered with This wind turbine went into operation on/in {start_date}. +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + This tagrendering has no question and is thus read-only diff --git a/Docs/SpecialRenderings.md b/Docs/SpecialRenderings.md index d2419f526..da2ff0dbb 100644 --- a/Docs/SpecialRenderings.md +++ b/Docs/SpecialRenderings.md @@ -83,6 +83,8 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some * [Example usage of nearby_images](#example-usage-of-nearby_images) + [mapillary_link](#mapillary_link) * [Example usage of mapillary_link](#example-usage-of-mapillary_link) + + [statistics](#statistics) + * [Example usage of statistics](#example-usage-of-statistics) + [auto_apply](#auto_apply) * [Example usage of auto_apply](#example-usage-of-auto_apply) @@ -277,7 +279,7 @@ url | _undefined_ | The url to share (default: current URL) ### canonical - Converts a short, canonical value into the long, translated text + Converts a short, canonical value into the long, translated text including the unit. This only works if a `unit` is defined for the corresponding value. The unit specification will be included in the text. name | default | description ------ | --------- | ------------- @@ -286,7 +288,7 @@ key | _undefined_ | The key of the tag to give the canonical text for #### Example usage of canonical - {canonical(length)} will give 42 metre (in french) + If the object has `length=42`, then `{canonical(length)}` will be shown as **42 meter** (in english), **42 metre** (in french), ... @@ -696,6 +698,16 @@ zoom | 18 | The startzoom of mapillary +### statistics + + Show general statistics about the elements currently in view. Intended to use on the `current_view`-layer + +#### Example usage of statistics + + `{statistics()}` + + + ### auto_apply A button to run many actions for many features at once. To effectively use this button, you'll need some ingredients: diff --git a/Docs/TagInfo/mapcomplete_benches.json b/Docs/TagInfo/mapcomplete_benches.json index 57812a40e..642b3aa6e 100644 --- a/Docs/TagInfo/mapcomplete_benches.json +++ b/Docs/TagInfo/mapcomplete_benches.json @@ -202,6 +202,35 @@ "key": "wikipedia", "description": "The layer 'Picnic tables allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Benches')" + }, + { + "key": "location", + "description": "Layer 'Picnic tables' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Benches')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Benches')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Benches') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Benches')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Benches')", + "value": "-1" + }, { "key": "material", "description": "Layer 'Picnic tables' shows and asks freeform values for key 'material' (in the MapComplete.osm.be theme 'Benches')" diff --git a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json index 7f889ce4d..dfba13bcb 100644 --- a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json +++ b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json @@ -51,6 +51,35 @@ "key": "wikipedia", "description": "The layer 'Cafés and pubs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Cafés and pubs')" + }, + { + "key": "location", + "description": "Layer 'Cafés and pubs' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Cafés and pubs') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Cafés and pubs')" diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index 0bb8996ba..dd52d0f39 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -384,14 +384,26 @@ "key": "website", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:website", + "description": "Layer 'Bike repair/shop' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "phone", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:phone", + "description": "Layer 'Bike repair/shop' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "email", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" }, + { + "key": "contact:email", + "description": "Layer 'Bike repair/shop' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" + }, { "key": "opening_hours", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" @@ -1012,6 +1024,11 @@ "description": "The MapComplete theme Cyclofix - an open map for cyclists has a layer Drinking water showing features with this tag", "value": "drinking_water" }, + { + "key": "drinking_water", + "description": "The MapComplete theme Cyclofix - an open map for cyclists has a layer Drinking water showing features with this tag", + "value": "yes" + }, { "key": "image", "description": "The layer 'Drinking water allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" diff --git a/Docs/TagInfo/mapcomplete_drinking_water.json b/Docs/TagInfo/mapcomplete_drinking_water.json index df7485549..f88a09f7d 100644 --- a/Docs/TagInfo/mapcomplete_drinking_water.json +++ b/Docs/TagInfo/mapcomplete_drinking_water.json @@ -15,6 +15,11 @@ "description": "The MapComplete theme Drinking Water has a layer Drinking water showing features with this tag", "value": "drinking_water" }, + { + "key": "drinking_water", + "description": "The MapComplete theme Drinking Water has a layer Drinking water showing features with this tag", + "value": "yes" + }, { "key": "image", "description": "The layer 'Drinking water allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" diff --git a/Docs/TagInfo/mapcomplete_entrances.json b/Docs/TagInfo/mapcomplete_entrances.json index 02d50b6f7..87bfd16ab 100644 --- a/Docs/TagInfo/mapcomplete_entrances.json +++ b/Docs/TagInfo/mapcomplete_entrances.json @@ -39,6 +39,10 @@ "description": "The MapComplete theme Entrances has a layer Entrance showing features with this tag", "value": "door" }, + { + "key": "door", + "description": "The MapComplete theme Entrances has a layer Entrance showing features with this tag" + }, { "key": "image", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -55,6 +59,35 @@ "key": "wikipedia", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Entrance' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Entrances')" + }, + { + "key": "location", + "description": "Layer 'Entrance' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Entrances')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "value": "-1" + }, { "key": "entrance", "description": "Layer 'Entrance' shows entrance=yes with a fixed text, namely 'No specific entrance type is known' (in the MapComplete.osm.be theme 'Entrances')", @@ -218,6 +251,15 @@ { "key": "width", "description": "Layer 'Entrance' shows and asks freeform values for key 'width' (in the MapComplete.osm.be theme 'Entrances')" + }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows and asks freeform values for key 'kerb:height' (in the MapComplete.osm.be theme 'Entrances')" + }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows kerb:height=0 with a fixed text, namely 'This door does not have a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", + "value": "0" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_food.json b/Docs/TagInfo/mapcomplete_food.json index bb1b45c30..70e4c3c98 100644 --- a/Docs/TagInfo/mapcomplete_food.json +++ b/Docs/TagInfo/mapcomplete_food.json @@ -36,6 +36,35 @@ "key": "wikipedia", "description": "The layer 'Restaurants and fast food allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Restaurants and fast food')" + }, + { + "key": "location", + "description": "Layer 'Restaurants and fast food' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Restaurants and fast food') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Restaurants and fast food')" diff --git a/Docs/TagInfo/mapcomplete_fritures.json b/Docs/TagInfo/mapcomplete_fritures.json index a9936ed4c..20b71812e 100644 --- a/Docs/TagInfo/mapcomplete_fritures.json +++ b/Docs/TagInfo/mapcomplete_fritures.json @@ -40,6 +40,35 @@ "key": "wikipedia", "description": "The layer 'Fries shop allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Fries shop' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Fries shops')" + }, + { + "key": "location", + "description": "Layer 'Fries shop' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Fries shops')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Fries shop' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Fries shop' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Fries shops') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Fries shop' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Fries shop' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Fries shop' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Fries shops')" diff --git a/Docs/TagInfo/mapcomplete_governments.json b/Docs/TagInfo/mapcomplete_governments.json new file mode 100644 index 000000000..a120d9068 --- /dev/null +++ b/Docs/TagInfo/mapcomplete_governments.json @@ -0,0 +1,63 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Governmental Offices", + "description": "On this map, Governmental offices are shown and can be easily added", + "project_url": "https://mapcomplete.osm.be/governments", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.osm.be/assets/themes/onwheels/crest.svg", + "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "office", + "description": "The MapComplete theme Governmental Offices has a layer governments showing features with this tag", + "value": "government" + }, + { + "key": "image", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "phone", + "description": "Layer 'governments' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "contact:phone", + "description": "Layer 'governments' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "email", + "description": "Layer 'governments' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "contact:email", + "description": "Layer 'governments' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "website", + "description": "Layer 'governments' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "contact:website", + "description": "Layer 'governments' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Governmental Offices')" + }, + { + "key": "name", + "description": "Layer 'governments' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Governmental Offices')" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_healthcare.json b/Docs/TagInfo/mapcomplete_healthcare.json index a3f63a874..649fb2966 100644 --- a/Docs/TagInfo/mapcomplete_healthcare.json +++ b/Docs/TagInfo/mapcomplete_healthcare.json @@ -12,123 +12,123 @@ "tags": [ { "key": "amenity", - "description": "The MapComplete theme Healthcare has a layer doctors showing features with this tag", + "description": "The MapComplete theme Healthcare has a layer Doctors showing features with this tag", "value": "doctors" }, { "key": "amenity", - "description": "The MapComplete theme Healthcare has a layer doctors showing features with this tag", + "description": "The MapComplete theme Healthcare has a layer Doctors showing features with this tag", "value": "dentist" }, { "key": "healthcare", - "description": "The MapComplete theme Healthcare has a layer doctors showing features with this tag", + "description": "The MapComplete theme Healthcare has a layer Doctors showing features with this tag", "value": "physiotherapist" }, { "key": "image", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "mapillary", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikidata", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikipedia", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "opening_hours", - "description": "Layer 'doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "phone", - "description": "Layer 'doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:phone", - "description": "Layer 'doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "email", - "description": "Layer 'doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:email", - "description": "Layer 'doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "website", - "description": "Layer 'doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:website", - "description": "Layer 'doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "name", - "description": "Layer 'doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", + "description": "Layer 'Doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", "value": "general" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", + "description": "Layer 'Doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", "value": "gynaecology" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", + "description": "Layer 'Doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", "value": "psychiatry" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", + "description": "Layer 'Doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Healthcare')", "value": "paediatrics" }, { "key": "amenity", - "description": "The MapComplete theme Healthcare has a layer Hospital showing features with this tag", + "description": "The MapComplete theme Healthcare has a layer Hospitals showing features with this tag", "value": "hospital" }, { "key": "name", - "description": "Layer 'Hospital' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "phone", - "description": "Layer 'Hospital' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:phone", - "description": "Layer 'Hospital' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "email", - "description": "Layer 'Hospital' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:email", - "description": "Layer 'Hospital' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "website", - "description": "Layer 'Hospital' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "contact:website", - "description": "Layer 'Hospital' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Healthcare')" + "description": "Layer 'Hospitals' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Healthcare')" }, { "key": "amenity", @@ -151,6 +151,10 @@ "key": "wikipedia", "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "name", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Healthcare')" + }, { "key": "opening_hours", "description": "Layer 'pharmacy' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Healthcare')" diff --git a/Docs/TagInfo/mapcomplete_indoors.json b/Docs/TagInfo/mapcomplete_indoors.json new file mode 100644 index 000000000..cb82c0a4a --- /dev/null +++ b/Docs/TagInfo/mapcomplete_indoors.json @@ -0,0 +1,55 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Indoors", + "description": "On this map, publicly accessible indoor places are shown", + "project_url": "https://mapcomplete.osm.be/indoors", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.osm.be/assets/themes/onwheels/crest.svg", + "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "indoor", + "description": "The MapComplete theme Indoors has a layer indoors showing features with this tag", + "value": "room" + }, + { + "key": "indoor", + "description": "The MapComplete theme Indoors has a layer indoors showing features with this tag", + "value": "area" + }, + { + "key": "indoor", + "description": "The MapComplete theme Indoors has a layer indoors showing features with this tag", + "value": "wall" + }, + { + "key": "indoor", + "description": "The MapComplete theme Indoors has a layer indoors showing features with this tag", + "value": "door" + }, + { + "key": "indoor", + "description": "The MapComplete theme Indoors has a layer indoors showing features with this tag", + "value": "level" + }, + { + "key": "image", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index 5ee8942ec..1c14a5fd4 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -15,6 +15,11 @@ "description": "The MapComplete theme Into nature has a layer Drinking water showing features with this tag", "value": "drinking_water" }, + { + "key": "drinking_water", + "description": "The MapComplete theme Into nature has a layer Drinking water showing features with this tag", + "value": "yes" + }, { "key": "image", "description": "The layer 'Drinking water allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -581,6 +586,35 @@ "key": "wikipedia", "description": "The layer 'Picnic tables allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Into nature')" + }, + { + "key": "location", + "description": "Layer 'Picnic tables' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Into nature')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Into nature') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "-1" + }, { "key": "material", "description": "Layer 'Picnic tables' shows and asks freeform values for key 'material' (in the MapComplete.osm.be theme 'Into nature')" @@ -621,6 +655,35 @@ "key": "wikipedia", "description": "The layer 'Toilets allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Into nature')" + }, + { + "key": "location", + "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Into nature')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Into nature') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "-1" + }, { "key": "access", "description": "Layer 'Toilets' shows and asks freeform values for key 'access' (in the MapComplete.osm.be theme 'Into nature')" @@ -693,6 +756,15 @@ "description": "Layer 'Toilets' shows wheelchair=no with a fixed text, namely 'No wheelchair access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", "value": "no" }, + { + "key": "wheelchair", + "description": "Layer 'Toilets' shows wheelchair=designated with a fixed text, namely 'There is only a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", + "value": "designated" + }, + { + "key": "door:width", + "description": "Layer 'Toilets' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'Into nature')" + }, { "key": "toilets:position", "description": "Layer 'Toilets' shows toilets:position=seated with a fixed text, namely 'There are only seated toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", @@ -767,35 +839,6 @@ "description": "Layer 'Toilets' shows toilets:paper_supplied=no with a fixed text, namely 'You have to bring your own toilet paper to this toilet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", "value": "no" }, - { - "key": "level", - "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Into nature')" - }, - { - "key": "location", - "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Into nature')", - "value": "underground" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", - "value": "0" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Into nature') Picking this answer will delete the key level.", - "value": "" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", - "value": "1" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Into nature')", - "value": "-1" - }, { "key": "description", "description": "Layer 'Toilets' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Into nature')" diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json index 93f89ca68..aff117db0 100644 --- a/Docs/TagInfo/mapcomplete_onwheels.json +++ b/Docs/TagInfo/mapcomplete_onwheels.json @@ -10,579 +10,6 @@ "contact_email": "pietervdvn@posteo.net" }, "tags": [ - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "cycleway" - }, - { - "key": "cycleway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "lane" - }, - { - "key": "cycleway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "shared_lane" - }, - { - "key": "cycleway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "track" - }, - { - "key": "cyclestreet", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "yes" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "residential" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "tertiary" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "unclassified" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "primary" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "secondary" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "tertiary_link" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "primary_link" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "secondary_link" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "service" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "footway" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "pedestrian" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "living_street" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "path" - }, - { - "key": "bicycle", - "description": "The MapComplete theme OnWheels has a layer Cycleways and roads showing features with this tag", - "value": "designated" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=shared_lane with a fixed text, namely 'There is a shared lane' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "shared_lane" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=lane with a fixed text, namely 'There is a lane next to the road (separated with paint)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "lane" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=track with a fixed text, namely 'There is a track, but no cycleway drawn separately from this road on the map.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "track" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=separate with a fixed text, namely 'There is a separately drawn cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "separate" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=no with a fixed text, namely 'There is no cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "no" - }, - { - "key": "cycleway", - "description": "Layer 'Cycleways and roads' shows cycleway=no with a fixed text, namely 'There is no cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "no" - }, - { - "key": "lit", - "description": "Layer 'Cycleways and roads' shows lit=yes with a fixed text, namely 'This street is lit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "yes" - }, - { - "key": "lit", - "description": "Layer 'Cycleways and roads' shows lit=no with a fixed text, namely 'This road is not lit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "no" - }, - { - "key": "lit", - "description": "Layer 'Cycleways and roads' shows lit=sunset-sunrise with a fixed text, namely 'This road is lit at night' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "sunset-sunrise" - }, - { - "key": "lit", - "description": "Layer 'Cycleways and roads' shows lit=24/7 with a fixed text, namely 'This road is lit 24/7' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "24/7" - }, - { - "key": "cyclestreet", - "description": "Layer 'Cycleways and roads' shows cyclestreet=yes with a fixed text, namely 'This is a cyclestreet, and a 30km/h zone.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "yes" - }, - { - "key": "cyclestreet", - "description": "Layer 'Cycleways and roads' shows cyclestreet=yes with a fixed text, namely 'This is a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "yes" - }, - { - "key": "cyclestreet", - "description": "Layer 'Cycleways and roads' shows with a fixed text, namely 'This is not a cyclestreet.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key cyclestreet.", - "value": "" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows and asks freeform values for key 'maxspeed' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows maxspeed=20 with a fixed text, namely 'The maximum speed is 20 km/h' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "20" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows maxspeed=30 with a fixed text, namely 'The maximum speed is 30 km/h' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "30" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows maxspeed=50 with a fixed text, namely 'The maximum speed is 50 km/h' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "50" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows maxspeed=70 with a fixed text, namely 'The maximum speed is 70 km/h' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "70" - }, - { - "key": "maxspeed", - "description": "Layer 'Cycleways and roads' shows maxspeed=90 with a fixed text, namely 'The maximum speed is 90 km/h' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "90" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows and asks freeform values for key 'cycleway:surface' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=unpaved with a fixed text, namely 'This cycleway is unpaved' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "unpaved" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=paved with a fixed text, namely 'This cycleway is paved' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "paved" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=asphalt with a fixed text, namely 'This cycleway is made of asphalt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "asphalt" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=paving_stones with a fixed text, namely 'This cycleway is made of smooth paving stones' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "paving_stones" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=concrete with a fixed text, namely 'This cycleway is made of concrete' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "concrete" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=cobblestone with a fixed text, namely 'This cycleway is made of cobblestone (unhewn or sett)' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "cobblestone" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=unhewn_cobblestone with a fixed text, namely 'This cycleway is made of raw, natural cobblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "unhewn_cobblestone" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=sett with a fixed text, namely 'This cycleway is made of flat, square cobblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "sett" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=wood with a fixed text, namely 'This cycleway is made of wood' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "wood" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=gravel with a fixed text, namely 'This cycleway is made of gravel' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "gravel" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=fine_gravel with a fixed text, namely 'This cycleway is made of fine gravel' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "fine_gravel" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=pebblestone with a fixed text, namely 'This cycleway is made of pebblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "pebblestone" - }, - { - "key": "cycleway:surface", - "description": "Layer 'Cycleways and roads' shows cycleway:surface=ground with a fixed text, namely 'This cycleway is made from raw ground' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "ground" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=excellent with a fixed text, namely 'Usable for thin rollers: rollerblade, skateboard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "excellent" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=good with a fixed text, namely 'Usable for thin wheels: racing bike' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "good" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=intermediate with a fixed text, namely 'Usable for normal wheels: city bike, wheelchair, scooter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "intermediate" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=bad with a fixed text, namely 'Usable for robust wheels: trekking bike, car, rickshaw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "bad" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=very_bad with a fixed text, namely 'Usable for vehicles with high clearance: light duty off-road vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "very_bad" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=horrible with a fixed text, namely 'Usable for off-road vehicles: heavy duty off-road vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "horrible" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=very_horrible with a fixed text, namely 'Usable for specialized off-road vehicles: tractor, ATV' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "very_horrible" - }, - { - "key": "cycleway:smoothness", - "description": "Layer 'Cycleways and roads' shows cycleway:smoothness=impassable with a fixed text, namely 'Impassable / No wheeled vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "impassable" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=unpaved with a fixed text, namely 'This cycleway is unhardened' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "unpaved" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=paved with a fixed text, namely 'This cycleway is paved' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "paved" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=asphalt with a fixed text, namely 'This cycleway is made of asphalt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "asphalt" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=paving_stones with a fixed text, namely 'This cycleway is made of smooth paving stones' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "paving_stones" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=concrete with a fixed text, namely 'This cycleway is made of concrete' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "concrete" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=cobblestone with a fixed text, namely 'This cycleway is made of cobblestone (unhewn or sett)' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "cobblestone" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=unhewn_cobblestone with a fixed text, namely 'This cycleway is made of raw, natural cobblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "unhewn_cobblestone" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=sett with a fixed text, namely 'This cycleway is made of flat, square cobblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "sett" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=wood with a fixed text, namely 'This cycleway is made of wood' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "wood" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=gravel with a fixed text, namely 'This cycleway is made of gravel' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "gravel" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=fine_gravel with a fixed text, namely 'This cycleway is made of fine gravel' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "fine_gravel" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=pebblestone with a fixed text, namely 'This cycleway is made of pebblestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "pebblestone" - }, - { - "key": "surface", - "description": "Layer 'Cycleways and roads' shows surface=ground with a fixed text, namely 'This cycleway is made from raw ground' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "ground" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=excellent with a fixed text, namely 'Usable for thin rollers: rollerblade, skateboard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "excellent" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=good with a fixed text, namely 'Usable for thin wheels: racing bike' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "good" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=intermediate with a fixed text, namely 'Usable for normal wheels: city bike, wheelchair, scooter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "intermediate" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=bad with a fixed text, namely 'Usable for robust wheels: trekking bike, car, rickshaw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "bad" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=very_bad with a fixed text, namely 'Usable for vehicles with high clearance: light duty off-road vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "very_bad" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=horrible with a fixed text, namely 'Usable for off-road vehicles: heavy duty off-road vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "horrible" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=very_horrible with a fixed text, namely 'Usable for specialized off-road vehicles: tractor, ATV' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "very_horrible" - }, - { - "key": "smoothness", - "description": "Layer 'Cycleways and roads' shows smoothness=impassable with a fixed text, namely 'Impassable / No wheeled vehicle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "impassable" - }, - { - "key": "width:carriageway", - "description": "Layer 'Cycleways and roads' shows and asks freeform values for key 'width:carriageway' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7 with a fixed text, namely 'Compulsory cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign~^BE:D7;.*$ with a fixed text, namely 'Compulsory cycleway (with supplementary sign)
' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D9 with a fixed text, namely 'Segregated foot/cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D9" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D10 with a fixed text, namely 'Unsegregated foot/cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D10" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=none with a fixed text, namely 'No traffic sign present' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "none" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=BE:D7 with a fixed text, namely 'Compulsory cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign~^BE:D7;.*$ with a fixed text, namely 'Compulsory cycleway (with supplementary sign)
' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=BE:D9 with a fixed text, namely 'Segregated foot/cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D9" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=BE:D10 with a fixed text, namely 'Unsegregated foot/cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D10" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=NL:G11 with a fixed text, namely 'Compulsory cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "NL:G11" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=NL:G12a with a fixed text, namely 'Compulsory (moped)cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "NL:G12a" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=NL:G13 with a fixed text, namely 'Non-compulsory cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "NL:G13" - }, - { - "key": "traffic_sign", - "description": "Layer 'Cycleways and roads' shows traffic_sign=none with a fixed text, namely 'No traffic sign present' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "none" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M6 with a fixed text, namely 'Mopeds must use the cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M6" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M13 with a fixed text, namely 'Speedpedelecs must use the cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M13" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M14 with a fixed text, namely 'Mopeds and speedpedelecs must use the cycleway' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M14" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M7 with a fixed text, namely 'Mopeds are not allowed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M7" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M15 with a fixed text, namely 'Speedpedelecs are not allowed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M15" - }, - { - "key": "cycleway:traffic_sign", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign=BE:D7;BE:M16 with a fixed text, namely 'Mopeds and speedpedelecs are not allowed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "BE:D7;BE:M16" - }, - { - "key": "cycleway:traffic_sign:supplementary", - "description": "Layer 'Cycleways and roads' shows cycleway:traffic_sign:supplementary=none with a fixed text, namely 'No supplementary traffic sign present' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "none" - }, - { - "key": "cycleway:buffer", - "description": "Layer 'Cycleways and roads' shows and asks freeform values for key 'cycleway:buffer' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "cycleway:separation", - "description": "Layer 'Cycleways and roads' shows cycleway:separation=dashed_line with a fixed text, namely 'This cycleway is separated by a dashed line' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "dashed_line" - }, - { - "key": "cycleway:separation", - "description": "Layer 'Cycleways and roads' shows cycleway:separation=solid_line with a fixed text, namely 'This cycleway is separated by a solid line' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "solid_line" - }, - { - "key": "cycleway:separation", - "description": "Layer 'Cycleways and roads' shows cycleway:separation=parking_lane with a fixed text, namely 'This cycleway is separated by a parking lane' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "parking_lane" - }, - { - "key": "cycleway:separation", - "description": "Layer 'Cycleways and roads' shows cycleway:separation=kerb with a fixed text, namely 'This cycleway is separated by a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "kerb" - }, - { - "key": "separation", - "description": "Layer 'Cycleways and roads' shows separation=dashed_line with a fixed text, namely 'This cycleway is separated by a dashed line' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "dashed_line" - }, - { - "key": "separation", - "description": "Layer 'Cycleways and roads' shows separation=solid_line with a fixed text, namely 'This cycleway is separated by a solid line' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "solid_line" - }, - { - "key": "separation", - "description": "Layer 'Cycleways and roads' shows separation=parking_lane with a fixed text, namely 'This cycleway is separated by a parking lane' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "parking_lane" - }, - { - "key": "separation", - "description": "Layer 'Cycleways and roads' shows separation=kerb with a fixed text, namely 'This cycleway is separated by a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "kerb" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Pedestrian paths showing features with this tag", - "value": "footway" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Pedestrian paths showing features with this tag", - "value": "path" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Pedestrian paths showing features with this tag", - "value": "corridor" - }, - { - "key": "highway", - "description": "The MapComplete theme OnWheels has a layer Pedestrian paths showing features with this tag", - "value": "steps" - }, { "key": "amenity", "description": "The MapComplete theme OnWheels has a layer Bicycle pump and repair showing features with this tag", @@ -847,14 +274,26 @@ "key": "website", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" }, + { + "key": "contact:website", + "description": "Layer 'Bike repair/shop' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + }, { "key": "phone", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" }, + { + "key": "contact:phone", + "description": "Layer 'Bike repair/shop' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + }, { "key": "email", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" }, + { + "key": "contact:email", + "description": "Layer 'Bike repair/shop' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + }, { "key": "opening_hours", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'OnWheels')" @@ -1099,6 +538,35 @@ "key": "wikipedia", "description": "The layer 'Cafés and pubs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Cafés and pubs' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" @@ -1255,6 +723,10 @@ "description": "The MapComplete theme OnWheels has a layer Entrance showing features with this tag", "value": "door" }, + { + "key": "door", + "description": "The MapComplete theme OnWheels has a layer Entrance showing features with this tag" + }, { "key": "image", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -1271,6 +743,35 @@ "key": "wikipedia", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Entrance' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Entrance' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "entrance", "description": "Layer 'Entrance' shows entrance=yes with a fixed text, namely 'No specific entrance type is known' (in the MapComplete.osm.be theme 'OnWheels')", @@ -1435,6 +936,15 @@ "key": "width", "description": "Layer 'Entrance' shows and asks freeform values for key 'width' (in the MapComplete.osm.be theme 'OnWheels')" }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows and asks freeform values for key 'kerb:height' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows kerb:height=0 with a fixed text, namely 'This door does not have a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, { "key": "amenity", "description": "The MapComplete theme OnWheels has a layer Restaurants and fast food showing features with this tag", @@ -1461,6 +971,35 @@ "key": "wikipedia", "description": "The layer 'Restaurants and fast food allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Restaurants and fast food' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" @@ -1862,6 +1401,35 @@ "key": "wikipedia", "description": "The layer 'Parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Parking' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Parking' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Parking' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "parking", "description": "Layer 'Parking' shows parking=surface with a fixed text, namely 'This is a surface parking lot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", @@ -1951,6 +1519,35 @@ "key": "wikipedia", "description": "The layer 'Picnic tables allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Picnic tables' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "material", "description": "Layer 'Picnic tables' shows and asks freeform values for key 'material' (in the MapComplete.osm.be theme 'OnWheels')" @@ -2111,35 +1708,2431 @@ "key": "contact:email", "description": "Layer 'Primary and secondary schools' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" }, - { - "key": "school:language", - "description": "Layer 'Primary and secondary schools' shows and asks freeform values for key 'school:language' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "school:language", - "description": "Layer 'Primary and secondary schools' shows school:language=english with a fixed text, namely 'The main language of this school is unknown' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "english" - }, - { - "key": "school:language", - "description": "Layer 'Primary and secondary schools' shows school:language=french with a fixed text, namely 'French is the main language of {name}' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "french" - }, - { - "key": "school:language", - "description": "Layer 'Primary and secondary schools' shows school:language=dutch with a fixed text, namely 'Dutch is the main language of {name}' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "dutch" - }, - { - "key": "school:language", - "description": "Layer 'Primary and secondary schools' shows school:language=german with a fixed text, namely 'German is the main language of {name}' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "german" - }, { "key": "school:language", "description": "Layer 'Primary and secondary schools' shows with a fixed text, namely 'The main language of this school is unknown' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key school:language.", "value": "" }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ay with a fixed text, namely 'Aymara' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ay" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ab with a fixed text, namely 'Abkhaz' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ab" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=an with a fixed text, namely 'Aragonese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "an" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=de with a fixed text, namely 'German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "de" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ca with a fixed text, namely 'Catalan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ca" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=az with a fixed text, namely 'Azerbaijani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "az" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hr with a fixed text, namely 'Croatian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=eo with a fixed text, namely 'Esperanto' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "eo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ba with a fixed text, namely 'Bashkir' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ba" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ar with a fixed text, namely 'Arabic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ar" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=he with a fixed text, namely 'Hebrew' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "he" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gl with a fixed text, namely 'Galician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=el with a fixed text, namely 'Modern Greek' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "el" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cs with a fixed text, namely 'Czech' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=da with a fixed text, namely 'Danish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "da" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=af with a fixed text, namely 'Afrikaans' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "af" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ga with a fixed text, namely 'Irish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ga" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hi with a fixed text, namely 'Hindi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bg with a fixed text, namely 'Bulgarian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=be with a fixed text, namely 'Belarusian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "be" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gu with a fixed text, namely 'Gujarati' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cy with a fixed text, namely 'Welsh' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fr with a fixed text, namely 'French' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hsb with a fixed text, namely 'Upper Sorbian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hsb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fy with a fixed text, namely 'West Frisian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ak with a fixed text, namely 'Akan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ak" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=am with a fixed text, namely 'Amharic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "am" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=es with a fixed text, namely 'Spanish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "es" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bs with a fixed text, namely 'Bosnian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=diq with a fixed text, namely 'Zazaki' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "diq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dz with a fixed text, namely 'Dzongkha' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=co with a fixed text, namely 'Corsican' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "co" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cr with a fixed text, namely 'Cree' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=csb with a fixed text, namely 'Kashubian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "csb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gv with a fixed text, namely 'Manx' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cv with a fixed text, namely 'Chuvash' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bn with a fixed text, namely 'Bengali' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gd with a fixed text, namely 'Scottish Gaelic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=av with a fixed text, namely 'Avaric' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "av" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=awa with a fixed text, namely 'Awadhi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "awa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=br with a fixed text, namely 'Breton' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "br" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ee with a fixed text, namely 'Ewe' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ee" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dag with a fixed text, namely 'Dagbani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dag" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dv with a fixed text, namely 'Maldivian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fi with a fixed text, namely 'Finnish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=en with a fixed text, namely 'English' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "en" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ady with a fixed text, namely 'Adyghe' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ady" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=as with a fixed text, namely 'Assamese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "as" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gn with a fixed text, namely 'Guarani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hif with a fixed text, namely 'Fiji Hindi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hif" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ast with a fixed text, namely 'Asturian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ast" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dsb with a fixed text, namely 'Lower Sorbian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dsb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=haw with a fixed text, namely 'Hawaiian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "haw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=glk with a fixed text, namely 'Gilaki' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "glk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gag with a fixed text, namely 'Gagauz' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gag" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gan with a fixed text, namely 'Gan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gan" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ase with a fixed text, namely 'American Sign Language' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ase" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cal with a fixed text, namely 'Carolinian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cal" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gil with a fixed text, namely 'Gilbertese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gil" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=arz with a fixed text, namely 'Egyptian Arabic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "arz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ban with a fixed text, namely 'Balinese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ban" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hak with a fixed text, namely 'Hakka' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hak" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=din with a fixed text, namely 'Dinka' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "din" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=egl with a fixed text, namely 'Emilian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "egl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dty with a fixed text, namely 'Doteli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dty" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fa with a fixed text, namely 'Persian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cnr with a fixed text, namely 'Montenegrin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cnr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bxr with a fixed text, namely 'Russia Buriat' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bxr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ckb with a fixed text, namely 'Sorani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ckb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=eu with a fixed text, namely 'Basque' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "eu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=et with a fixed text, namely 'Estonian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "et" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bar with a fixed text, namely 'Bavarian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bar" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fo with a fixed text, namely 'Faroese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=frr with a fixed text, namely 'North Frisian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "frr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ch with a fixed text, namely 'Chamorro' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ch" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=chy with a fixed text, namely 'Cheyenne' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "chy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ce with a fixed text, namely 'Chechen' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ce" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=no with a fixed text, namely 'Norwegian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bjn with a fixed text, namely 'Banjar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bjn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ceb with a fixed text, namely 'Cebuano' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ceb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ha with a fixed text, namely 'Hausa' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ha" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=frp with a fixed text, namely 'Franco-Provençal' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "frp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=chr with a fixed text, namely 'Cherokee' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "chr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gcr with a fixed text, namely 'Guianan Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gcr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gor with a fixed text, namely 'Gorontalo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gor" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ext with a fixed text, namely 'Extremaduran' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ext" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fj with a fixed text, namely 'Fijian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fur with a fixed text, namely 'Friulian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fur" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bss with a fixed text, namely 'Kose' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bss" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=prg with a fixed text, namely 'Old Prussian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "prg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ses with a fixed text, namely 'Koyraboro Senni' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ses" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pko with a fixed text, namely 'Pökoot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pko" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ccp with a fixed text, namely 'Chakma' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ccp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dua with a fixed text, namely 'Duala' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dua" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tr with a fixed text, namely 'Turkish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ur with a fixed text, namely 'Urdu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ur" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bm with a fixed text, namely 'Bambara' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ff with a fixed text, namely 'Fula' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ff" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ru with a fixed text, namely 'Russian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ru" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sid with a fixed text, namely 'Sidamo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sid" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=niu with a fixed text, namely 'Niuean' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "niu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=oj with a fixed text, namely 'Ojibwe' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "oj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vot with a fixed text, namely 'Votic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vot" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bfi with a fixed text, namely 'British Sign Language' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bfi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bla with a fixed text, namely 'Blackfoot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bla" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bbc with a fixed text, namely 'Toba Batak' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bbc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ctg with a fixed text, namely 'Chittagonian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ctg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=brh with a fixed text, namely 'Brahui' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "brh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bug with a fixed text, namely 'Bugis' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bug" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pa with a fixed text, namely 'Punjabi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pnb with a fixed text, namely 'Punjabi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pnb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=brx with a fixed text, namely 'Bodo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "brx" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sjd with a fixed text, namely 'Kildin Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sjd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bo with a fixed text, namely 'Tibetan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bi with a fixed text, namely 'Bislama' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cdo with a fixed text, namely 'Min Dong' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cdo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sw with a fixed text, namely 'Swahili' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gom with a fixed text, namely 'Goan Konkani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gom" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mfe with a fixed text, namely 'Mauritian Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mfe" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zh with a fixed text, namely 'Chinese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sdc with a fixed text, namely 'Sassarese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sdc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pdt with a fixed text, namely 'Plautdietsch' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pdt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sty with a fixed text, namely 'Siberian Tatar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sty" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rmc with a fixed text, namely 'Carpathian Romani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rmc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nys with a fixed text, namely 'Noongar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nys" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gsw-fr with a fixed text, namely 'Alsatian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gsw-fr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zun with a fixed text, namely 'Zuni' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zun" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sms with a fixed text, namely 'Skolt Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sms" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pis with a fixed text, namely 'Pijin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pis" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nr with a fixed text, namely 'Southern Ndebele' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=umu with a fixed text, namely 'Munsee' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "umu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gaa with a fixed text, namely 'Ga' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gaa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fon with a fixed text, namely 'Fon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fon" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=loz with a fixed text, namely 'Lozi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "loz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=crs with a fixed text, namely 'Seychellois Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "crs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tru with a fixed text, namely 'Turoyo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tru" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=agq with a fixed text, namely 'Aghem' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "agq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ary with a fixed text, namely 'Moroccan Arabic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ary" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=atj with a fixed text, namely 'Atikamekw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "atj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=alt with a fixed text, namely 'Altai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "alt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ta with a fixed text, namely 'Tamil' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ta" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ps with a fixed text, namely 'Pashto' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ps" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nqo with a fixed text, namely 'N'Ko' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nqo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ro with a fixed text, namely 'Romanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ro" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cbk-zam with a fixed text, namely 'Chavacano' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cbk-zam" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ovd with a fixed text, namely 'Elfdalian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ovd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vmf with a fixed text, namely 'Main-Franconian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vmf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bto with a fixed text, namely 'Rinconada Bikol' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bto" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bcc with a fixed text, namely 'Southern Balochi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bcc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=crl with a fixed text, namely 'Northern East Cree' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "crl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lrc with a fixed text, namely 'Northern Luri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lrc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=akl with a fixed text, namely 'Aklan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "akl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bpy with a fixed text, namely 'Bishnupriya Manipuri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bpy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mic with a fixed text, namely 'Mi'kmaq' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mic" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sk with a fixed text, namely 'Slovak' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sl with a fixed text, namely 'Slovene' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ryu with a fixed text, namely 'Okinawan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ryu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yai with a fixed text, namely 'Yaghnobi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yai" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=efi with a fixed text, namely 'Efik' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "efi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=te with a fixed text, namely 'Telugu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "te" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yi with a fixed text, namely 'Yiddish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tg with a fixed text, namely 'Tajik' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bat-smg with a fixed text, namely 'Samogitian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bat-smg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nod with a fixed text, namely 'Northern Thai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nod" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lag with a fixed text, namely 'Rangi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lag" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=krj with a fixed text, namely 'Kinaray-a' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "krj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yap with a fixed text, namely 'Yapese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yap" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ydg with a fixed text, namely 'Yidgha' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ydg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vi with a fixed text, namely 'Vietnamese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=it with a fixed text, namely 'Italian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "it" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bzg with a fixed text, namely 'Babuza' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bzg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pyu with a fixed text, namely 'Puyuma' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pyu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=guc with a fixed text, namely 'Wayuu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "guc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ood with a fixed text, namely 'O'odham' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ood" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bdr with a fixed text, namely 'West Coast Bajau' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bdr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=btm with a fixed text, namely 'Mandailing' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "btm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gcf with a fixed text, namely 'Guadeloupean Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gcf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=srq with a fixed text, namely 'Sirionó' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "srq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ins with a fixed text, namely 'Indian Sign Language' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ins" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rki with a fixed text, namely 'Arakanese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rki" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wls with a fixed text, namely 'Wallisian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wls" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sje with a fixed text, namely 'Pite Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sje" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=smj with a fixed text, namely 'Lule Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "smj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kum with a fixed text, namely 'Kumyk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kum" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nui with a fixed text, namely 'Kombe' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nui" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zh-min-nan with a fixed text, namely 'Southern Min' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zh-min-nan" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pl with a fixed text, namely 'Polish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cpx with a fixed text, namely 'Pu-Xian Min' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cpx" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=khg with a fixed text, namely 'Khams Tibetan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "khg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fkv with a fixed text, namely 'Kven' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fkv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fuf with a fixed text, namely 'Pular' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fuf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=jax with a fixed text, namely 'Jambi Malay' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "jax" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dtp with a fixed text, namely 'Kadazandusun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dtp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zgh with a fixed text, namely 'Standard Moroccan Berber' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zgh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bgn with a fixed text, namely 'Western Balochi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bgn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yav with a fixed text, namely 'Yangben' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yav" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sv with a fixed text, namely 'Swedish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=azb with a fixed text, namely 'South Azerbaijani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "azb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=xnb with a fixed text, namely 'Kanakanavu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "xnb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fa-af with a fixed text, namely 'Dari' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fa-af" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=qu with a fixed text, namely 'Quechua' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "qu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sei with a fixed text, namely 'Seri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sei" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sq with a fixed text, namely 'Albanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=uk with a fixed text, namely 'Ukrainian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "uk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=uz with a fixed text, namely 'Uzbek' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "uz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ka with a fixed text, namely 'Georgian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ka" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pt with a fixed text, namely 'Portuguese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hy with a fixed text, namely 'Armenian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nl with a fixed text, namely 'Dutch' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rm with a fixed text, namely 'Romansh' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=aln with a fixed text, namely 'Gheg Albanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "aln" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mr with a fixed text, namely 'Marathi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mg with a fixed text, namely 'Malagasy' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sh with a fixed text, namely 'Serbo-Croatian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zu with a fixed text, namely 'Zulu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=is with a fixed text, namely 'Icelandic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "is" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lb with a fixed text, namely 'Luxembourgish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tk with a fixed text, namely 'Turkmen' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=th with a fixed text, namely 'Thai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "th" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ja with a fixed text, namely 'Japanese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ja" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lv with a fixed text, namely 'Latvian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rmy with a fixed text, namely 'Romani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rmy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=km with a fixed text, namely 'Khmer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "km" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lo with a fixed text, namely 'Lao' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=so with a fixed text, namely 'Somali' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "so" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sma with a fixed text, namely 'Southern Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sma" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=moe with a fixed text, namely 'Innu-aimun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "moe" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sr with a fixed text, namely 'Serbian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lt with a fixed text, namely 'Lithuanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hu with a fixed text, namely 'Hungarian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=my with a fixed text, namely 'Burmese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "my" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ms with a fixed text, namely 'Malay' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ms" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=xh with a fixed text, namely 'Xhosa' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "xh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=udm with a fixed text, namely 'Udmurt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "udm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rue with a fixed text, namely 'Rusyn' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rue" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=stq with a fixed text, namely 'Saterland Frisian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "stq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ky with a fixed text, namely 'Kyrgyz' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ky" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mt with a fixed text, namely 'Maltese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mk with a fixed text, namely 'Macedonian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=za with a fixed text, namely 'Zhuang' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "za" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ug with a fixed text, namely 'Uyghur' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ug" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ko with a fixed text, namely 'Korean' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ko" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=si with a fixed text, namely 'Sinhala' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "si" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kk with a fixed text, namely 'Kazakh' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=na with a fixed text, namely 'Nauruan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "na" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nv with a fixed text, namely 'Navajo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fit with a fixed text, namely 'Meänkieli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fit" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=xmf with a fixed text, namely 'Mingrelian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "xmf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=aa with a fixed text, namely 'Afar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "aa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=anp with a fixed text, namely 'Angika' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "anp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rup with a fixed text, namely 'Aromanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rup" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vec with a fixed text, namely 'Venetian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vec" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vep with a fixed text, namely 'Veps' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vep" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bh with a fixed text, namely 'Bhojpuri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=shy with a fixed text, namely 'Shawiya' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "shy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hz with a fixed text, namely 'Herero' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mnw with a fixed text, namely 'Mon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mnw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mzn with a fixed text, namely 'Mazanderani' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mzn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=oc with a fixed text, namely 'Occitan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "oc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=id with a fixed text, namely 'Indonesian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "id" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ve with a fixed text, namely 'Venda' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ve" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=min with a fixed text, namely 'Minangkabau' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "min" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mwl with a fixed text, namely 'Mirandese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mwl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pdc with a fixed text, namely 'Pennsylvania German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pdc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pfl with a fixed text, namely 'Palatinate German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pfl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nn with a fixed text, namely 'Nynorsk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nb with a fixed text, namely 'Bokmål' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kw with a fixed text, namely 'Cornish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sco with a fixed text, namely 'Scots' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sco" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mdf with a fixed text, namely 'Moksha' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mdf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sd with a fixed text, namely 'Sindhi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tt with a fixed text, namely 'Tatar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=szl with a fixed text, namely 'Silesian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "szl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kaa with a fixed text, namely 'Karakalpak' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kaa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=jv with a fixed text, namely 'Javanese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "jv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tl with a fixed text, namely 'Tagalog' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=to with a fixed text, namely 'Tongan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "to" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=myv with a fixed text, namely 'Erzya' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "myv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lez with a fixed text, namely 'Lezgian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lez" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cho with a fixed text, namely 'Choctaw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cho" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kl with a fixed text, namely 'Greenlandic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pms with a fixed text, namely 'Piedmontese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pms" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=crh with a fixed text, namely 'Crimean Tatar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "crh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=smn with a fixed text, namely 'Inari Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "smn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ksh with a fixed text, namely 'Ripuarian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ksh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ny with a fixed text, namely 'Chewa' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ny" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mn with a fixed text, namely 'Mongolian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ks with a fixed text, namely 'Kashmiri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ks" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ig with a fixed text, namely 'Igbo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ig" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rw with a fixed text, namely 'Kinyarwanda' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nds with a fixed text, namely 'Low German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nds" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ng with a fixed text, namely 'Ndonga' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ng" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=skr with a fixed text, namely 'Saraiki' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "skr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=se with a fixed text, namely 'Northern Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "se" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ik with a fixed text, namely 'Inupiaq' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ik" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kjh with a fixed text, namely 'Khakas' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kjh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ne with a fixed text, namely 'Nepali' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ne" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nap with a fixed text, namely 'Neapolitan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nap" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lg with a fixed text, namely 'Luganda' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ht with a fixed text, namely 'Haitian Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ht" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=os with a fixed text, namely 'Ossetian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "os" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=new with a fixed text, namely 'Newar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "new" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=su with a fixed text, namely 'Sundanese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "su" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=iu with a fixed text, namely 'Inuktitut' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "iu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ki with a fixed text, namely 'Gikuyu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ki" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kn with a fixed text, namely 'Kannada' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=inh with a fixed text, namely 'Ingush' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "inh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pcd with a fixed text, namely 'Picard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pcd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sc with a fixed text, namely 'Sardinian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=srn with a fixed text, namely 'Sranan Tongo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "srn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rn with a fixed text, namely 'Kirundi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ho with a fixed text, namely 'Hiri Motu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ho" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sg with a fixed text, namely 'Sango' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pap with a fixed text, namely 'Papiamento' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pap" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kbd with a fixed text, namely 'Kabardian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kbd" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=or with a fixed text, namely 'Odia' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "or" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=arn with a fixed text, namely 'Mapudungun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "arn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=om with a fixed text, namely 'Oromo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "om" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sat with a fixed text, namely 'Santali' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sat" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ii with a fixed text, namely 'Nuosu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ii" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kbp with a fixed text, namely 'Kabiye' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kbp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kab with a fixed text, namely 'Kabyle' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kab" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kg with a fixed text, namely 'Kongo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=krc with a fixed text, namely 'Karachay-Balkar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "krc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tum with a fixed text, namely 'Tumbuka' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tum" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tsg with a fixed text, namely 'Tausug' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tsg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=shi with a fixed text, namely 'Shilha' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "shi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sn with a fixed text, namely 'Shona' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tpi with a fixed text, namely 'Tok Pisin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tpi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rif with a fixed text, namely 'Tarifit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rif" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tyv with a fixed text, namely 'Tuvan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tyv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ti with a fixed text, namely 'Tigrinya' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ti" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tet with a fixed text, namely 'Tetum' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tet" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=scn with a fixed text, namely 'Sicilian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "scn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lmo with a fixed text, namely 'Lombard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lmo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ilo with a fixed text, namely 'Ilocano' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ilo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sm with a fixed text, namely 'Samoan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ss with a fixed text, namely 'Swazi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ss" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mni with a fixed text, namely 'Meitei' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mni" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kv with a fixed text, namely 'Komi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ku with a fixed text, namely 'Kurdish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ku" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lad with a fixed text, namely 'Judaeo-Spanish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lad" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ts with a fixed text, namely 'Tsonga' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ts" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=st with a fixed text, namely 'Sesotho' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "st" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lij with a fixed text, namely 'Ligurian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lij" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mai with a fixed text, namely 'Maithili' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mai" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tvl with a fixed text, namely 'Tuvaluan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tvl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tn with a fixed text, namely 'Tswana' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wa with a fixed text, namely 'Walloon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nan with a fixed text, namely 'Southern Min' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nan" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pih with a fixed text, namely 'Pitkern' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pih" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lld with a fixed text, namely 'Ladin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lld" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ty with a fixed text, namely 'Tahitian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ty" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wo with a fixed text, namely 'Wolof' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=war with a fixed text, namely 'Waray' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "war" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lbe with a fixed text, namely 'Lak' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lbe" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ltg with a fixed text, namely 'Latgalian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ltg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mad with a fixed text, namely 'Madurese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mad" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mh with a fixed text, namely 'Marshallese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mo with a fixed text, namely 'Moldovan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yrk with a fixed text, namely 'Nenets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yrk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=chn with a fixed text, namely 'Chinook Jargon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "chn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kr with a fixed text, namely 'Kanuri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tw with a fixed text, namely 'Twi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=shn with a fixed text, namely 'Shan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "shn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=vls with a fixed text, namely 'West Flemish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "vls" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pag with a fixed text, namely 'Pangasinan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pag" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nso with a fixed text, namely 'Northern Sotho' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nso" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ln with a fixed text, namely 'Lingala' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ln" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zea with a fixed text, namely 'Zeelandic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zea" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tay with a fixed text, namely 'Atayal' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tay" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wuu with a fixed text, namely 'Wu Chinese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wuu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sah with a fixed text, namely 'Sakha' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sah" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=jam with a fixed text, namely 'Jamaican Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "jam" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lkt with a fixed text, namely 'Lakota' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lkt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=krl with a fixed text, namely 'Karelian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "krl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tcy with a fixed text, namely 'Tulu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tcy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sju with a fixed text, namely 'Ume Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sju" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sou with a fixed text, namely 'Southern Thai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sou" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=adx with a fixed text, namely 'Amdo Tibetan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "adx" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sli with a fixed text, namely 'Silesian German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sli" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=als with a fixed text, namely 'Swiss German' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "als" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kha with a fixed text, namely 'Khasi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kha" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mnc with a fixed text, namely 'Manchu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mnc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yo with a fixed text, namely 'Yoruba' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ml with a fixed text, namely 'Malayalam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ml" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hai with a fixed text, namely 'Haida' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hai" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kut with a fixed text, namely 'Kutenai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kut" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hoc with a fixed text, namely 'Ho' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hoc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gsg with a fixed text, namely 'German Sign Language' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gsg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=li with a fixed text, namely 'Limburgish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "li" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hyw with a fixed text, namely 'Western Armenian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hyw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=esu with a fixed text, namely 'Central Alaskan Yup'ik' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "esu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=abq with a fixed text, namely 'Abaza' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "abq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tli with a fixed text, namely 'Tlingit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tli" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=trv with a fixed text, namely 'Seediq' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "trv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=szy with a fixed text, namely 'Sakizaya' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "szy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lus with a fixed text, namely 'Mizo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lus" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=olo with a fixed text, namely 'Livvi-Karelian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "olo" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pnt with a fixed text, namely 'Pontic Greek' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pnt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=koi with a fixed text, namely 'Permyak' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "koi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nog with a fixed text, namely 'Nogai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nog" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wbl with a fixed text, namely 'Wakhi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wbl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tly with a fixed text, namely 'Talysh' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tly" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mhr with a fixed text, namely 'Meadow Mari' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mhr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ruq with a fixed text, namely 'Megleno-Romanian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ruq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mwv with a fixed text, namely 'Mentawai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mwv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=koy with a fixed text, namely 'Koyukon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "koy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=clc with a fixed text, namely 'Chilcotin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "clc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fiu-vro with a fixed text, namely 'Võro' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fiu-vro" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=frc with a fixed text, namely 'Louisiana French' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "frc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=guw with a fixed text, namely 'Gun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "guw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cnh with a fixed text, namely 'Hakha-Chin' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cnh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sjm with a fixed text, namely 'Mapun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sjm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bzs with a fixed text, namely 'Brazilian Sign Language' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bzs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kcg with a fixed text, namely 'Tyap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kcg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mi with a fixed text, namely 'Māori' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=aeb with a fixed text, namely 'Tunisian Arabic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "aeb" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nrf-gg with a fixed text, namely 'Guernésiais' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nrf-gg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lki with a fixed text, namely 'Laki' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lki" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bej with a fixed text, namely 'Beja' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bej" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ckt with a fixed text, namely 'Chukchi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ckt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mus with a fixed text, namely 'Muscogee' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mus" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pwn with a fixed text, namely 'Paiwan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pwn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kj with a fixed text, namely 'Kwanyama' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rgn with a fixed text, namely 'Romagnol' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rgn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=abs with a fixed text, namely 'Ambonese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "abs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sxr with a fixed text, namely 'Saaroa' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sxr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ckv with a fixed text, namely 'Kavalan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ckv" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tsu with a fixed text, namely 'Tsou' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tsu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=xsy with a fixed text, namely 'Saisiyat' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "xsy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lvk with a fixed text, namely 'Lavukaleve' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lvk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zh-yue with a fixed text, namely 'Yue Chinese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zh-yue" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tvn with a fixed text, namely 'Tavoyan' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tvn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pmy with a fixed text, namely 'Papuan Malay' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pmy" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kbg with a fixed text, namely 'Khamba' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kbg" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rwr with a fixed text, namely 'Marwari' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rwr" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ttm with a fixed text, namely 'Northern Tutchone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ttm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mrj with a fixed text, namely 'Hill Mari' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mrj" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nia with a fixed text, namely 'Nias' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nia" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=yrl with a fixed text, namely 'Nheengatu' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yrl" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cak with a fixed text, namely 'Kaqchikel' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cak" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ami with a fixed text, namely 'Amis' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ami" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=krx with a fixed text, namely 'Karon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "krx" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hil with a fixed text, namely 'Hiligaynon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hil" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=uun with a fixed text, namely 'Pazeh' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "uun" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sjt with a fixed text, namely 'Ter Sami' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sjt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wal with a fixed text, namely 'Wolaytta' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wal" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=wym with a fixed text, namely 'Vilamovian' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wym" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=arq with a fixed text, namely 'Algerian Arabic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "arq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bsk with a fixed text, namely 'Burushaski' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bsk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bqi with a fixed text, namely 'Bakhtiari' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bqi" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=hrx with a fixed text, namely 'Hunsrik' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "hrx" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ssf with a fixed text, namely 'Thao' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ssf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=mrh with a fixed text, namely 'Mara' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "mrh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=aoc with a fixed text, namely 'Pemon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "aoc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tsk with a fixed text, namely 'Tseku' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tsk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=luz with a fixed text, namely 'Southern Luri' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "luz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tce with a fixed text, namely 'Southern Tutchone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tce" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=quc with a fixed text, namely 'K’iche’' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "quc" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bnn with a fixed text, namely 'Bunun' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bnn" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=lzz with a fixed text, namely 'Laz' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "lzz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=sdh with a fixed text, namely 'Southern Kurdish' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "sdh" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=nsk with a fixed text, namely 'Naskapi' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "nsk" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=akz with a fixed text, namely 'Alabama' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "akz" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kri with a fixed text, namely 'Krio' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kri" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kea with a fixed text, namely 'Cape Verdean Creole' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kea" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=dru with a fixed text, namely 'Rukai' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "dru" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=tzm with a fixed text, namely 'Central Atlas Tamazight' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "tzm" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=bfq with a fixed text, namely 'Badaga' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "bfq" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=khw with a fixed text, namely 'Khowar' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "khw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=uzs with a fixed text, namely 'Southern Uzbek' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "uzs" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rmf with a fixed text, namely 'Finnish Kalo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rmf" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=osa with a fixed text, namely 'Osage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "osa" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=cps with a fixed text, namely 'Capiznon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "cps" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pjt with a fixed text, namely 'Pitjantjatjara' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pjt" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kjp with a fixed text, namely 'Eastern Pwo' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kjp" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=gpe with a fixed text, namely 'Ghanaian Pidgin English' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "gpe" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=kiu with a fixed text, namely 'Kirmanjki' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "kiu" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=rar with a fixed text, namely 'Cook Islands Maori' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "rar" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=ksw with a fixed text, namely 'S'gaw Karen' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ksw" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=zh_Hant with a fixed text, namely 'Simplified Chinese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "zh_Hant" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=pt_BR with a fixed text, namely 'Brazilian Portuguese' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "pt_BR" + }, + { + "key": "school:language", + "description": "Layer 'Primary and secondary schools' shows school:language=fil with a fixed text, namely 'Filipino' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "fil" + }, { "key": "shop", "description": "The MapComplete theme OnWheels has a layer Shop showing features with this tag" @@ -3006,6 +4999,35 @@ "description": "Layer 'Shop' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "yes" }, + { + "key": "level", + "description": "Layer 'Shop' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Shop' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Shop' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "service:print:A4", "description": "Layer 'Shop' shows service:print:A4=yes with a fixed text, namely 'This shop can print on papers of size A4' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", @@ -3052,6 +5074,35 @@ "key": "wikipedia", "description": "The layer 'Toilets allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, { "key": "access", "description": "Layer 'Toilets' shows and asks freeform values for key 'access' (in the MapComplete.osm.be theme 'OnWheels')" @@ -3124,6 +5175,15 @@ "description": "Layer 'Toilets' shows wheelchair=no with a fixed text, namely 'No wheelchair access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "no" }, + { + "key": "wheelchair", + "description": "Layer 'Toilets' shows wheelchair=designated with a fixed text, namely 'There is only a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "designated" + }, + { + "key": "door:width", + "description": "Layer 'Toilets' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'OnWheels')" + }, { "key": "toilets:position", "description": "Layer 'Toilets' shows toilets:position=seated with a fixed text, namely 'There are only seated toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", @@ -3198,35 +5258,6 @@ "description": "Layer 'Toilets' shows toilets:paper_supplied=no with a fixed text, namely 'You have to bring your own toilet paper to this toilet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "no" }, - { - "key": "level", - "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" - }, - { - "key": "location", - "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", - "value": "underground" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "0" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", - "value": "" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "1" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", - "value": "-1" - }, { "key": "description", "description": "Layer 'Toilets' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'OnWheels')" @@ -3258,90 +5289,506 @@ }, { "key": "amenity", - "description": "The MapComplete theme OnWheels has a layer doctors showing features with this tag", + "description": "The MapComplete theme OnWheels has a layer pharmacy showing features with this tag", + "value": "pharmacy" + }, + { + "key": "image", + "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "opening_hours", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "phone", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:phone", + "description": "Layer 'pharmacy' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "email", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:email", + "description": "Layer 'pharmacy' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "website", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:website", + "description": "Layer 'pharmacy' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "wheelchair", + "description": "Layer 'pharmacy' shows wheelchair=yes with a fixed text, namely 'This pharmacy is easy to access on a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'pharmacy' shows wheelchair=no with a fixed text, namely 'This pharmacy is hard to access on a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "wheelchair", + "description": "Layer 'pharmacy' shows wheelchair=limited with a fixed text, namely 'This pharmacy has limited access for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "limited" + }, + { + "key": "amenity", + "description": "The MapComplete theme OnWheels has a layer Doctors showing features with this tag", "value": "doctors" }, { "key": "amenity", - "description": "The MapComplete theme OnWheels has a layer doctors showing features with this tag", + "description": "The MapComplete theme OnWheels has a layer Doctors showing features with this tag", "value": "dentist" }, { "key": "healthcare", - "description": "The MapComplete theme OnWheels has a layer doctors showing features with this tag", + "description": "The MapComplete theme OnWheels has a layer Doctors showing features with this tag", "value": "physiotherapist" }, { "key": "image", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "mapillary", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikidata", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikipedia", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "opening_hours", - "description": "Layer 'doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "phone", - "description": "Layer 'doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "contact:phone", - "description": "Layer 'doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "email", - "description": "Layer 'doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "contact:email", - "description": "Layer 'doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "website", - "description": "Layer 'doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "contact:website", - "description": "Layer 'doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "name", - "description": "Layer 'doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'OnWheels')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'OnWheels')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "description": "Layer 'Doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "general" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "description": "Layer 'Doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "gynaecology" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "description": "Layer 'Doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "psychiatry" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "description": "Layer 'Doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "paediatrics" + }, + { + "key": "amenity", + "description": "The MapComplete theme OnWheels has a layer Hospitals showing features with this tag", + "value": "hospital" + }, + { + "key": "name", + "description": "Layer 'Hospitals' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "phone", + "description": "Layer 'Hospitals' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:phone", + "description": "Layer 'Hospitals' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "email", + "description": "Layer 'Hospitals' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:email", + "description": "Layer 'Hospitals' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "website", + "description": "Layer 'Hospitals' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:website", + "description": "Layer 'Hospitals' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "amenity", + "description": "The MapComplete theme OnWheels has a layer Reception desks showing features with this tag", + "value": "reception_desk" + }, + { + "key": "image", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'Reception desks' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, + { + "key": "desk:height", + "description": "Layer 'Reception desks' shows and asks freeform values for key 'desk:height' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "hearing_loop", + "description": "Layer 'Reception desks' shows hearing_loop=yes with a fixed text, namely 'This place has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "hearing_loop", + "description": "Layer 'Reception desks' shows hearing_loop=no with a fixed text, namely 'This place does not has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "highway", + "description": "The MapComplete theme OnWheels has a layer elevator showing features with this tag", + "value": "elevator" + }, + { + "key": "image", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "level", + "description": "Layer 'elevator' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "location", + "description": "Layer 'elevator' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'elevator' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "-1" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=broken with a fixed text, namely 'This elevator is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "broken" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=closed with a fixed text, namely 'This elevator is closed e.g. because renovation works are going on' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "closed" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=ok with a fixed text, namely 'This elevator works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "ok" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows with a fixed text, namely 'This elevator works' (in the MapComplete.osm.be theme 'OnWheels') Picking this answer will delete the key operational_status.", + "value": "" + }, + { + "key": "door:width", + "description": "Layer 'elevator' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "elevator:width", + "description": "Layer 'elevator' shows and asks freeform values for key 'elevator:width' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "elevator:depth", + "description": "Layer 'elevator' shows and asks freeform values for key 'elevator:depth' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "hearing_loop", + "description": "Layer 'elevator' shows hearing_loop=yes with a fixed text, namely 'This place has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "hearing_loop", + "description": "Layer 'elevator' shows hearing_loop=no with a fixed text, namely 'This place does not has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "tourism", + "description": "The MapComplete theme OnWheels has a layer Hotels showing features with this tag", + "value": "hotel" + }, + { + "key": "image", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Hotels' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "phone", + "description": "Layer 'Hotels' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:phone", + "description": "Layer 'Hotels' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "email", + "description": "Layer 'Hotels' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:email", + "description": "Layer 'Hotels' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "website", + "description": "Layer 'Hotels' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:website", + "description": "Layer 'Hotels' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "designated" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=yes with a fixed text, namely 'This place is easily reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=limited with a fixed text, namely 'It is possible to reach this place in a wheelchair, but it is not easy' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "limited" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "office", + "description": "The MapComplete theme OnWheels has a layer governments showing features with this tag", + "value": "government" + }, + { + "key": "image", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "phone", + "description": "Layer 'governments' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:phone", + "description": "Layer 'governments' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "email", + "description": "Layer 'governments' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:email", + "description": "Layer 'governments' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "website", + "description": "Layer 'governments' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "contact:website", + "description": "Layer 'governments' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "name", + "description": "Layer 'governments' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "indoor", + "description": "The MapComplete theme OnWheels has a layer indoors showing features with this tag", + "value": "room" + }, + { + "key": "indoor", + "description": "The MapComplete theme OnWheels has a layer indoors showing features with this tag", + "value": "area" + }, + { + "key": "indoor", + "description": "The MapComplete theme OnWheels has a layer indoors showing features with this tag", + "value": "wall" + }, + { + "key": "indoor", + "description": "The MapComplete theme OnWheels has a layer indoors showing features with this tag", + "value": "door" + }, + { + "key": "indoor", + "description": "The MapComplete theme OnWheels has a layer indoors showing features with this tag", + "value": "level" + }, + { + "key": "image", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_parkings.json b/Docs/TagInfo/mapcomplete_parkings.json index ea8f135af..aac1019d2 100644 --- a/Docs/TagInfo/mapcomplete_parkings.json +++ b/Docs/TagInfo/mapcomplete_parkings.json @@ -31,6 +31,35 @@ "key": "wikipedia", "description": "The layer 'Parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Parking' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Parking')" + }, + { + "key": "location", + "description": "Layer 'Parking' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Parking')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Parking' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Parking') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "-1" + }, { "key": "parking", "description": "Layer 'Parking' shows parking=surface with a fixed text, namely 'This is a surface parking lot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 3a26aac4b..dd591769c 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -10,26 +10,6 @@ "contact_email": "pietervdvn@posteo.net" }, "tags": [ - { - "key": "highway", - "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", - "value": "footway" - }, - { - "key": "highway", - "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", - "value": "path" - }, - { - "key": "highway", - "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", - "value": "corridor" - }, - { - "key": "highway", - "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", - "value": "steps" - }, { "key": "emergency", "description": "The MapComplete theme Personal theme has a layer Map of ambulance stations showing features with this tag", @@ -1447,14 +1427,26 @@ "key": "website", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "contact:website", + "description": "Layer 'Bike repair/shop' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "phone", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "contact:phone", + "description": "Layer 'Bike repair/shop' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "email", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "contact:email", + "description": "Layer 'Bike repair/shop' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "opening_hours", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" @@ -1941,6 +1933,35 @@ "key": "wikipedia", "description": "The layer 'Cafés and pubs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Cafés and pubs' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Cafés and pubs' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" @@ -4571,89 +4592,89 @@ }, { "key": "amenity", - "description": "The MapComplete theme Personal theme has a layer doctors showing features with this tag", + "description": "The MapComplete theme Personal theme has a layer Doctors showing features with this tag", "value": "doctors" }, { "key": "amenity", - "description": "The MapComplete theme Personal theme has a layer doctors showing features with this tag", + "description": "The MapComplete theme Personal theme has a layer Doctors showing features with this tag", "value": "dentist" }, { "key": "healthcare", - "description": "The MapComplete theme Personal theme has a layer doctors showing features with this tag", + "description": "The MapComplete theme Personal theme has a layer Doctors showing features with this tag", "value": "physiotherapist" }, { "key": "image", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "mapillary", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikidata", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "wikipedia", - "description": "The layer 'doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + "description": "The layer 'Doctors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, { "key": "opening_hours", - "description": "Layer 'doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "phone", - "description": "Layer 'doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:phone", - "description": "Layer 'doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "email", - "description": "Layer 'doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:email", - "description": "Layer 'doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "website", - "description": "Layer 'doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:website", - "description": "Layer 'doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "name", - "description": "Layer 'doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Doctors' shows and asks freeform values for key 'healthcare:speciality' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "description": "Layer 'Doctors' shows healthcare:speciality=general with a fixed text, namely 'This is a general practitioner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "general" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "description": "Layer 'Doctors' shows healthcare:speciality=gynaecology with a fixed text, namely 'This is a gynaecologist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "gynaecology" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "description": "Layer 'Doctors' shows healthcare:speciality=psychiatry with a fixed text, namely 'This is a psychiatrist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "psychiatry" }, { "key": "healthcare:speciality", - "description": "Layer 'doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "description": "Layer 'Doctors' shows healthcare:speciality=paediatrics with a fixed text, namely 'This is a paediatrician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "paediatrics" }, { @@ -4716,6 +4737,11 @@ "description": "The MapComplete theme Personal theme has a layer Drinking water showing features with this tag", "value": "drinking_water" }, + { + "key": "drinking_water", + "description": "The MapComplete theme Personal theme has a layer Drinking water showing features with this tag", + "value": "yes" + }, { "key": "image", "description": "The layer 'Drinking water allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -4761,6 +4787,98 @@ "description": "Layer 'Drinking water' shows bottle=no with a fixed text, namely 'Water bottles may not fit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "no" }, + { + "key": "highway", + "description": "The MapComplete theme Personal theme has a layer elevator showing features with this tag", + "value": "elevator" + }, + { + "key": "image", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'elevator allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "level", + "description": "Layer 'elevator' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'elevator' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'elevator' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'elevator' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=broken with a fixed text, namely 'This elevator is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "broken" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=closed with a fixed text, namely 'This elevator is closed e.g. because renovation works are going on' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "closed" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows operational_status=ok with a fixed text, namely 'This elevator works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "ok" + }, + { + "key": "operational_status", + "description": "Layer 'elevator' shows with a fixed text, namely 'This elevator works' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key operational_status.", + "value": "" + }, + { + "key": "door:width", + "description": "Layer 'elevator' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "elevator:width", + "description": "Layer 'elevator' shows and asks freeform values for key 'elevator:width' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "elevator:depth", + "description": "Layer 'elevator' shows and asks freeform values for key 'elevator:depth' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "hearing_loop", + "description": "Layer 'elevator' shows hearing_loop=yes with a fixed text, namely 'This place has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "hearing_loop", + "description": "Layer 'elevator' shows hearing_loop=no with a fixed text, namely 'This place does not has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, { "key": "entrance", "description": "The MapComplete theme Personal theme has a layer Entrance showing features with this tag" @@ -4770,6 +4888,10 @@ "description": "The MapComplete theme Personal theme has a layer Entrance showing features with this tag", "value": "door" }, + { + "key": "door", + "description": "The MapComplete theme Personal theme has a layer Entrance showing features with this tag" + }, { "key": "image", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -4786,6 +4908,35 @@ "key": "wikipedia", "description": "The layer 'Entrance allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Entrance' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Entrance' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Entrance' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "entrance", "description": "Layer 'Entrance' shows entrance=yes with a fixed text, namely 'No specific entrance type is known' (in the MapComplete.osm.be theme 'Personal theme')", @@ -4950,6 +5101,15 @@ "key": "width", "description": "Layer 'Entrance' shows and asks freeform values for key 'width' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows and asks freeform values for key 'kerb:height' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "kerb:height", + "description": "Layer 'Entrance' shows kerb:height=0 with a fixed text, namely 'This door does not have a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, { "key": "name:etymology:wikidata", "description": "The MapComplete theme Personal theme has a layer Has etymolgy showing features with this tag" @@ -5135,6 +5295,35 @@ "key": "wikipedia", "description": "The layer 'Restaurants and fast food allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Restaurants and fast food' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Restaurants and fast food' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" @@ -5508,6 +5697,55 @@ "key": "start_date", "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'start_date' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "office", + "description": "The MapComplete theme Personal theme has a layer governments showing features with this tag", + "value": "government" + }, + { + "key": "image", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'governments allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "phone", + "description": "Layer 'governments' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:phone", + "description": "Layer 'governments' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "email", + "description": "Layer 'governments' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:email", + "description": "Layer 'governments' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "website", + "description": "Layer 'governments' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:website", + "description": "Layer 'governments' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "name", + "description": "Layer 'governments' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "leisure", "description": "The MapComplete theme Personal theme has a layer Hackerspace showing features with this tag", @@ -5626,36 +5864,105 @@ }, { "key": "amenity", - "description": "The MapComplete theme Personal theme has a layer Hospital showing features with this tag", + "description": "The MapComplete theme Personal theme has a layer Hospitals showing features with this tag", "value": "hospital" }, { "key": "name", - "description": "Layer 'Hospital' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "phone", - "description": "Layer 'Hospital' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:phone", - "description": "Layer 'Hospital' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "email", - "description": "Layer 'Hospital' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:email", - "description": "Layer 'Hospital' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "website", - "description": "Layer 'Hospital' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" }, { "key": "contact:website", - "description": "Layer 'Hospital' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + "description": "Layer 'Hospitals' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "tourism", + "description": "The MapComplete theme Personal theme has a layer Hotels showing features with this tag", + "value": "hotel" + }, + { + "key": "image", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Hotels' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "phone", + "description": "Layer 'Hotels' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:phone", + "description": "Layer 'Hotels' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "email", + "description": "Layer 'Hotels' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:email", + "description": "Layer 'Hotels' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "website", + "description": "Layer 'Hotels' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "contact:website", + "description": "Layer 'Hotels' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "designated" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=yes with a fixed text, namely 'This place is easily reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=limited with a fixed text, namely 'It is possible to reach this place in a wheelchair, but it is not easy' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "limited" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" }, { "key": "emergency", @@ -5751,6 +6058,47 @@ "key": "wikipedia", "description": "The layer 'Map of hydrants allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "indoor", + "description": "The MapComplete theme Personal theme has a layer indoors showing features with this tag", + "value": "room" + }, + { + "key": "indoor", + "description": "The MapComplete theme Personal theme has a layer indoors showing features with this tag", + "value": "area" + }, + { + "key": "indoor", + "description": "The MapComplete theme Personal theme has a layer indoors showing features with this tag", + "value": "wall" + }, + { + "key": "indoor", + "description": "The MapComplete theme Personal theme has a layer indoors showing features with this tag", + "value": "door" + }, + { + "key": "indoor", + "description": "The MapComplete theme Personal theme has a layer indoors showing features with this tag", + "value": "level" + }, + { + "key": "image", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, { "key": "information", "description": "The MapComplete theme Personal theme has a layer Information boards showing features with this tag", @@ -6357,6 +6705,35 @@ "key": "wikipedia", "description": "The layer 'Parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Parking' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Parking' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Parking' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "parking", "description": "Layer 'Parking' shows parking=surface with a fixed text, namely 'This is a surface parking lot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", @@ -6425,6 +6802,26 @@ "key": "capacity", "description": "Layer 'Parking' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "highway", + "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", + "value": "footway" + }, + { + "key": "highway", + "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", + "value": "path" + }, + { + "key": "highway", + "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", + "value": "corridor" + }, + { + "key": "highway", + "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", + "value": "steps" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer pharmacy showing features with this tag", @@ -6446,6 +6843,10 @@ "key": "wikipedia", "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "name", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "opening_hours", "description": "Layer 'pharmacy' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" @@ -6510,6 +6911,35 @@ "key": "wikipedia", "description": "The layer 'Picnic tables allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Picnic tables' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Picnic tables' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "material", "description": "Layer 'Picnic tables' shows and asks freeform values for key 'material' (in the MapComplete.osm.be theme 'Personal theme')" @@ -6855,6 +7285,70 @@ "description": "Layer 'Crossings with rainbow paintings' shows not:crossing:marking=rainbow with a fixed text, namely 'No rainbow paintings here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "rainbow" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Reception desks showing features with this tag", + "value": "reception_desk" + }, + { + "key": "image", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Reception desks allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Reception desks' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Reception desks' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, + { + "key": "desk:height", + "description": "Layer 'Reception desks' shows and asks freeform values for key 'desk:height' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "hearing_loop", + "description": "Layer 'Reception desks' shows hearing_loop=yes with a fixed text, namely 'This place has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "hearing_loop", + "description": "Layer 'Reception desks' shows hearing_loop=no with a fixed text, namely 'This place does not has an audio induction loop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Recycling showing features with this tag", @@ -10533,6 +11027,35 @@ "description": "Layer 'Shop' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "yes" }, + { + "key": "level", + "description": "Layer 'Shop' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Shop' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Shop' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "service:print:A4", "description": "Layer 'Shop' shows service:print:A4=yes with a fixed text, namely 'This shop can print on papers of size A4' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", @@ -11173,6 +11696,35 @@ "key": "wikipedia", "description": "The layer 'Toilets allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "location", + "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "-1" + }, { "key": "access", "description": "Layer 'Toilets' shows and asks freeform values for key 'access' (in the MapComplete.osm.be theme 'Personal theme')" @@ -11245,6 +11797,15 @@ "description": "Layer 'Toilets' shows wheelchair=no with a fixed text, namely 'No wheelchair access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "no" }, + { + "key": "wheelchair", + "description": "Layer 'Toilets' shows wheelchair=designated with a fixed text, namely 'There is only a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "designated" + }, + { + "key": "door:width", + "description": "Layer 'Toilets' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "toilets:position", "description": "Layer 'Toilets' shows toilets:position=seated with a fixed text, namely 'There are only seated toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", @@ -11319,35 +11880,6 @@ "description": "Layer 'Toilets' shows toilets:paper_supplied=no with a fixed text, namely 'You have to bring your own toilet paper to this toilet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "no" }, - { - "key": "level", - "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')" - }, - { - "key": "location", - "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')", - "value": "underground" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", - "value": "0" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.", - "value": "" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", - "value": "1" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", - "value": "-1" - }, { "key": "description", "description": "Layer 'Toilets' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Personal theme')" @@ -11729,6 +12261,31 @@ "key": "name", "description": "Layer 'veterinary' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "tourism", + "description": "The MapComplete theme Personal theme has a layer Viewpoint showing features with this tag", + "value": "viewpoint" + }, + { + "key": "image", + "description": "The layer 'Viewpoint allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Viewpoint allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Viewpoint allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Viewpoint allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "description", + "description": "Layer 'Viewpoint' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Personal theme')" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Waste Basket showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_pets.json b/Docs/TagInfo/mapcomplete_pets.json index 2872218ae..e9af46420 100644 --- a/Docs/TagInfo/mapcomplete_pets.json +++ b/Docs/TagInfo/mapcomplete_pets.json @@ -106,6 +106,35 @@ "key": "wikipedia", "description": "The layer 'Dog friendly eateries allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Dog friendly eateries' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')" + }, + { + "key": "location", + "description": "Layer 'Dog friendly eateries' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Dog friendly eateries' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Dog friendly eateries' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Dog friendly eateries' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Dog friendly eateries' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "-1" + }, { "key": "name", "description": "Layer 'Dog friendly eateries' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')" @@ -1318,6 +1347,35 @@ "description": "Layer 'Dog-friendly shops' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", "value": "yes" }, + { + "key": "level", + "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')" + }, + { + "key": "location", + "description": "Layer 'Dog-friendly shops' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Dog-friendly shops' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Dog-friendly shops' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Dog-friendly shops' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Dog-friendly shops' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "-1" + }, { "key": "service:print:A4", "description": "Layer 'Dog-friendly shops' shows service:print:A4=yes with a fixed text, namely 'This shop can print on papers of size A4' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", diff --git a/Docs/TagInfo/mapcomplete_shops.json b/Docs/TagInfo/mapcomplete_shops.json index 409f381f6..ba687edb6 100644 --- a/Docs/TagInfo/mapcomplete_shops.json +++ b/Docs/TagInfo/mapcomplete_shops.json @@ -876,6 +876,35 @@ "description": "Layer 'Shop' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", "value": "yes" }, + { + "key": "level", + "description": "Layer 'Shop' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Open Shop Map')" + }, + { + "key": "location", + "description": "Layer 'Shop' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Shop' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Shop Map') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "-1" + }, { "key": "service:print:A4", "description": "Layer 'Shop' shows service:print:A4=yes with a fixed text, namely 'This shop can print on papers of size A4' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", @@ -922,6 +951,10 @@ "key": "wikipedia", "description": "The layer 'pharmacy allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "name", + "description": "Layer 'pharmacy' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Open Shop Map')" + }, { "key": "opening_hours", "description": "Layer 'pharmacy' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Shop Map')" diff --git a/Docs/TagInfo/mapcomplete_toilets.json b/Docs/TagInfo/mapcomplete_toilets.json index 22ba1c979..50bf15acb 100644 --- a/Docs/TagInfo/mapcomplete_toilets.json +++ b/Docs/TagInfo/mapcomplete_toilets.json @@ -31,6 +31,35 @@ "key": "wikipedia", "description": "The layer 'Toilets allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Open Toilet Map')" + }, + { + "key": "location", + "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Open Toilet Map')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", + "value": "-1" + }, { "key": "access", "description": "Layer 'Toilets' shows and asks freeform values for key 'access' (in the MapComplete.osm.be theme 'Open Toilet Map')" @@ -103,6 +132,15 @@ "description": "Layer 'Toilets' shows wheelchair=no with a fixed text, namely 'No wheelchair access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", "value": "no" }, + { + "key": "wheelchair", + "description": "Layer 'Toilets' shows wheelchair=designated with a fixed text, namely 'There is only a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", + "value": "designated" + }, + { + "key": "door:width", + "description": "Layer 'Toilets' shows and asks freeform values for key 'door:width' (in the MapComplete.osm.be theme 'Open Toilet Map')" + }, { "key": "toilets:position", "description": "Layer 'Toilets' shows toilets:position=seated with a fixed text, namely 'There are only seated toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", @@ -177,35 +215,6 @@ "description": "Layer 'Toilets' shows toilets:paper_supplied=no with a fixed text, namely 'You have to bring your own toilet paper to this toilet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", "value": "no" }, - { - "key": "level", - "description": "Layer 'Toilets' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Open Toilet Map')" - }, - { - "key": "location", - "description": "Layer 'Toilets' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Open Toilet Map')", - "value": "underground" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", - "value": "0" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", - "value": "" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", - "value": "1" - }, - { - "key": "level", - "description": "Layer 'Toilets' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')", - "value": "-1" - }, { "key": "description", "description": "Layer 'Toilets' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Open Toilet Map')" diff --git a/Docs/TagInfo/mapcomplete_transit.json b/Docs/TagInfo/mapcomplete_transit.json index 040309999..b4ac84281 100644 --- a/Docs/TagInfo/mapcomplete_transit.json +++ b/Docs/TagInfo/mapcomplete_transit.json @@ -356,6 +356,35 @@ "key": "wikipedia", "description": "The layer 'Parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" }, + { + "key": "level", + "description": "Layer 'Parking' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Bus routes')" + }, + { + "key": "location", + "description": "Layer 'Parking' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Bus routes')", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bus routes')", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Parking' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Bus routes') Picking this answer will delete the key level.", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bus routes')", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Parking' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bus routes')", + "value": "-1" + }, { "key": "parking", "description": "Layer 'Parking' shows parking=surface with a fixed text, namely 'This is a surface parking lot' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bus routes')", diff --git a/Docs/Tags_format.md b/Docs/Tags_format.md index 1f835ef4d..681b243a3 100644 --- a/Docs/Tags_format.md +++ b/Docs/Tags_format.md @@ -4,13 +4,36 @@ Tags format When creating the `json` file describing your layer or theme, you'll have to add a few tags to describe what you want. This document gives an overview of what every expression means and how it behaves in edge cases. -If the schema-files note a type `string | AndOrTagConfigJson`, you can use one of these values. +If the schema-files note a type [`TagConfigJson`](https://github.com/pietervdvn/MapComplete/blob/develop/Models/ThemeConfig/Json/TagConfigJson.ts), you can use one of these values. In some cases, not every type of tags-filter can be used. For example, _rendering_ an option with a regex is fine (`"if": "brand~[Bb]randname", "then":" The brand is Brandname"`); but this regex can not be used to write a value into the database. The theme loader will however refuse to work with such inconsistencies and notify you of this while you are building your theme. +Example +------- + +This example shows the most common options on how to specify tags: + +```json +{ + "and": [ + "key=value", + { + "or": [ + "other_key=value", + "other_key=some_other_value" + ] + }, + "key_which_should_be_missing=", + "key_which_should_have_a_value~*", + "key~.*some_regex_a*_b+_[a-z]?", + "height<1" + ] +} +``` + Strict equality --------------- diff --git a/Logic/FeatureSource/FeaturePipeline.ts b/Logic/FeatureSource/FeaturePipeline.ts index 92c3c9999..09f88853e 100644 --- a/Logic/FeatureSource/FeaturePipeline.ts +++ b/Logic/FeatureSource/FeaturePipeline.ts @@ -23,8 +23,11 @@ import TileFreshnessCalculator from "./TileFreshnessCalculator"; import FullNodeDatabaseSource from "./TiledFeatureSource/FullNodeDatabaseSource"; import MapState from "../State/MapState"; import {ElementStorage} from "../ElementStorage"; -import {Feature, Geometry} from "@turf/turf"; import {OsmFeature} from "../../Models/OsmFeature"; +import LayerConfig from "../../Models/ThemeConfig/LayerConfig"; +import {FilterState} from "../../Models/FilteredLayer"; +import {GeoOperations} from "../GeoOperations"; +import {Utils} from "../../Utils"; /** @@ -514,6 +517,62 @@ export default class FeaturePipeline { return updater; } + /** + * Builds upon 'GetAllFeaturesAndMetaWithin', but does stricter BBOX-checking and applies the filters + */ + public getAllVisibleElementsWithmeta(bbox: BBox): { center: [number, number], element: OsmFeature, layer: LayerConfig }[] { + if (bbox === undefined) { + console.warn("No bbox") + return [] + } + + const layers = Utils.toIdRecord(this.state.layoutToUse.layers) + const elementsWithMeta: { features: OsmFeature[], layer: string }[] = this.GetAllFeaturesAndMetaWithin(bbox) + + let elements: {center: [number, number], element: OsmFeature, layer: LayerConfig }[] = [] + let seenElements = new Set() + for (const elementsWithMetaElement of elementsWithMeta) { + const layer = layers[elementsWithMetaElement.layer] + if(layer.title === undefined){ + continue + } + const filtered = this.state.filteredLayers.data.find(fl => fl.layerDef == layer); + for (let i = 0; i < elementsWithMetaElement.features.length; i++) { + const element = elementsWithMetaElement.features[i]; + if (!filtered.isDisplayed.data) { + continue + } + if (seenElements.has(element.properties.id)) { + continue + } + seenElements.add(element.properties.id) + if (!bbox.overlapsWith(BBox.get(element))) { + continue + } + if (layer?.isShown !== undefined && !layer.isShown.matchesProperties(element)) { + continue + } + const activeFilters: FilterState[] = Array.from(filtered.appliedFilters.data.values()); + if (!activeFilters.every(filter => filter?.currentFilter === undefined || filter?.currentFilter?.matchesProperties(element.properties))) { + continue + } + const center = GeoOperations.centerpointCoordinates(element); + elements.push({ + element, + center, + layer: layers[elementsWithMetaElement.layer], + }) + + } + } + + + + + return elements; + } + + /** * Inject a new point */ diff --git a/Logic/FeatureSource/Sources/FilteringFeatureSource.ts b/Logic/FeatureSource/Sources/FilteringFeatureSource.ts index 1fbb7fbe0..dc97e1d3a 100644 --- a/Logic/FeatureSource/Sources/FilteringFeatureSource.ts +++ b/Logic/FeatureSource/Sources/FilteringFeatureSource.ts @@ -1,10 +1,9 @@ -import {UIEventSource} from "../../UIEventSource"; -import FilteredLayer from "../../../Models/FilteredLayer"; +import {Store, UIEventSource} from "../../UIEventSource"; +import FilteredLayer, {FilterState} from "../../../Models/FilteredLayer"; import {FeatureSourceForLayer, Tiled} from "../FeatureSource"; import {BBox} from "../../BBox"; import {ElementStorage} from "../../ElementStorage"; import {TagsFilter} from "../../Tags/TagsFilter"; -import {tag} from "@turf/turf"; import {OsmFeature} from "../../../Models/OsmFeature"; export default class FilteringFeatureSource implements FeatureSourceForLayer, Tiled { @@ -16,7 +15,9 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti public readonly bbox: BBox private readonly upstream: FeatureSourceForLayer; private readonly state: { - locationControl: UIEventSource<{ zoom: number }>; selectedElement: UIEventSource, + locationControl: Store<{ zoom: number }>; + selectedElement: Store, + globalFilters: Store<{ filter: FilterState }[]>, allElements: ElementStorage }; private readonly _alreadyRegistered = new Set>(); @@ -25,9 +26,10 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti constructor( state: { - locationControl: UIEventSource<{ zoom: number }>, - selectedElement: UIEventSource, - allElements: ElementStorage + locationControl: Store<{ zoom: number }>, + selectedElement: Store, + allElements: ElementStorage, + globalFilters: Store<{ filter: FilterState }[]> }, tileIndex, upstream: FeatureSourceForLayer, @@ -60,6 +62,10 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti metataggingUpdated?.addCallback(_ => { self._is_dirty.setData(true) }) + + state.globalFilters.addCallback(_ => { + self.update() + }) this.update(); } @@ -69,6 +75,7 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti const layer = this.upstream.layer; const features: { feature: OsmFeature; freshness: Date }[] = (this.upstream.features.data ?? []); const includedFeatureIds = new Set(); + const globalFilters = self.state.globalFilters.data.map(f => f.filter); const newFeatures = (features ?? []).filter((f) => { self.registerCallback(f.feature) @@ -88,6 +95,14 @@ export default class FilteringFeatureSource implements FeatureSourceForLayer, Ti } } + for (const filter of globalFilters) { + const neededTags: TagsFilter = filter?.currentFilter + if (neededTags !== undefined && !neededTags.matchesProperties(f.feature.properties)) { + // Hidden by the filter on the layer itself - we want to hide it no matter what + return false; + } + } + includedFeatureIds.add(f.feature.properties.id) return true; }); diff --git a/Logic/Osm/Actions/CreateNewNodeAction.ts b/Logic/Osm/Actions/CreateNewNodeAction.ts index 7a545c7e0..e6755ecd0 100644 --- a/Logic/Osm/Actions/CreateNewNodeAction.ts +++ b/Logic/Osm/Actions/CreateNewNodeAction.ts @@ -72,7 +72,7 @@ export default class CreateNewNodeAction extends OsmCreateAction { this.setElementId(id) for (const kv of this._basicTags) { if (typeof kv.value !== "string") { - throw "Invalid value: don't use a regex in a preset" + throw "Invalid value: don't use non-string value in a preset. The tag "+kv.key+"="+kv.value+" is not a string, the value is a "+typeof kv.value } properties[kv.key] = kv.value; } diff --git a/Logic/SimpleMetaTagger.ts b/Logic/SimpleMetaTagger.ts index e1383afb7..ab665e6c3 100644 --- a/Logic/SimpleMetaTagger.ts +++ b/Logic/SimpleMetaTagger.ts @@ -8,6 +8,7 @@ import {FixedUiElement} from "../UI/Base/FixedUiElement"; import LayerConfig from "../Models/ThemeConfig/LayerConfig"; import {CountryCoder} from "latlon2country" import Constants from "../Models/Constants"; +import {TagUtils} from "./Tags/TagUtils"; export class SimpleMetaTagger { @@ -32,7 +33,7 @@ export class SimpleMetaTagger { if (!docs.cleanupRetagger) { for (const key of docs.keys) { if (!key.startsWith('_') && key.toLowerCase().indexOf("theme") < 0) { - throw `Incorrect metakey ${key}: it should start with underscore (_)` + throw `Incorrect key for a calculated meta value '${key}': it should start with underscore (_)` } } } @@ -211,6 +212,27 @@ export default class SimpleMetaTaggers { return true; }) ); + private static levels = new SimpleMetaTagger( + { + doc: "Extract the 'level'-tag into a normalized, ';'-separated value", + keys: ["_level"] + }, + ((feature) => { + if (feature.properties["level"] === undefined) { + return false; + } + + const l = feature.properties["level"] + const newValue = TagUtils.LevelsParser(l).join(";") + if(l === newValue) { + return false; + } + feature.properties["level"] = newValue + return true + + }) + ) + private static canonicalize = new SimpleMetaTagger( { doc: "If 'units' is defined in the layoutConfig, then this metatagger will rewrite the specified keys to have the canonical form (e.g. `1meter` will be rewritten to `1m`)", @@ -218,7 +240,7 @@ export default class SimpleMetaTaggers { }, ((feature, _, __, state) => { - const units = Utils.NoNull([].concat(...state?.layoutToUse?.layers?.map(layer => layer.units )?? [])); + const units = Utils.NoNull([].concat(...state?.layoutToUse?.layers?.map(layer => layer.units) ?? [])); if (units.length == 0) { return; } @@ -317,7 +339,7 @@ export default class SimpleMetaTaggers { country_code: tags._country.toLowerCase(), state: undefined } - }, {tag_key: "opening_hours"}); + }, {tag_key: "opening_hours"}); // Recalculate! return oh.getState() ? "yes" : "no"; @@ -327,12 +349,12 @@ export default class SimpleMetaTaggers { delete tags._isOpen tags["_isOpen"] = "parse_error"; } - }}); - - + } + }); + + const tagsSource = state.allElements.getEventSourceById(feature.properties.id); - - + }) ) @@ -400,7 +422,8 @@ export default class SimpleMetaTaggers { SimpleMetaTaggers.currentTime, SimpleMetaTaggers.objectMetaInfo, SimpleMetaTaggers.noBothButLeftRight, - SimpleMetaTaggers.geometryType + SimpleMetaTaggers.geometryType, + SimpleMetaTaggers.levels ]; public static readonly lazyTags: string[] = [].concat(...SimpleMetaTaggers.metatags.filter(tagger => tagger.isLazy) diff --git a/Logic/State/MapState.ts b/Logic/State/MapState.ts index 5a2564c06..da9d68ae4 100644 --- a/Logic/State/MapState.ts +++ b/Logic/State/MapState.ts @@ -19,6 +19,19 @@ import TitleHandler from "../Actors/TitleHandler"; import {BBox} from "../BBox"; import LayerConfig from "../../Models/ThemeConfig/LayerConfig"; import {TiledStaticFeatureSource} from "../FeatureSource/Sources/StaticFeatureSource"; +import {Translation, TypedTranslation} from "../../UI/i18n/Translation"; +import {Tag} from "../Tags/Tag"; + + +export interface GlobalFilter { + filter: FilterState, + id: string, + onNewPoint: { + safetyCheck: Translation, + confirmAddNew: TypedTranslation<{ preset: Translation }> + tags: Tag[] + } +} /** * Contains all the leaflet-map related state @@ -78,6 +91,12 @@ export default class MapState extends UserRelatedState { * Which layers are enabled in the current theme and what filters are applied onto them */ public filteredLayers: UIEventSource = new UIEventSource([], "filteredLayers"); + + /** + * Filters which apply onto all layers + */ + public globalFilters: UIEventSource = new UIEventSource([], "globalFilters") + /** * Which overlays are shown */ @@ -121,9 +140,9 @@ export default class MapState extends UserRelatedState { this.overlayToggles = this.layoutToUse?.tileLayerSources ?.filter(c => c.name !== undefined) ?.map(c => ({ - config: c, - isDisplayed: QueryParameters.GetBooleanQueryParameter("overlay-" + c.id, c.defaultState, "Wether or not the overlay " + c.id + " is shown") - })) ?? [] + config: c, + isDisplayed: QueryParameters.GetBooleanQueryParameter("overlay-" + c.id, c.defaultState, "Wether or not the overlay " + c.id + " is shown") + })) ?? [] this.filteredLayers = this.InitializeFilteredLayers() @@ -206,7 +225,7 @@ export default class MapState extends UserRelatedState { return [feature] }) - this.currentView = new TiledStaticFeatureSource(features, currentViewLayer); + this.currentView = new TiledStaticFeatureSource(features, currentViewLayer); } private initGpsLocation() { @@ -335,26 +354,24 @@ export default class MapState extends UserRelatedState { } private getPref(key: string, layer: LayerConfig): UIEventSource { - const pref = this.osmConnection - .GetPreference(key) + return this.osmConnection + .GetPreference(key, layer.shownByDefault + "") .sync(v => { - if(v === undefined){ + if (v === undefined) { return undefined } return v === "true"; }, [], b => { - if(b === undefined){ + if (b === undefined) { return undefined } return "" + b; }) - pref.setData(layer.shownByDefault) - return pref } private InitializeFilteredLayers() { const layoutToUse = this.layoutToUse; - if(layoutToUse === undefined){ + if (layoutToUse === undefined) { return new UIEventSource([]) } const flayers: FilteredLayer[] = []; @@ -363,16 +380,19 @@ export default class MapState extends UserRelatedState { if (layer.syncSelection === "local") { isDisplayed = LocalStorageSource.GetParsed(layoutToUse.id + "-layer-" + layer.id + "-enabled", layer.shownByDefault) } else if (layer.syncSelection === "theme-only") { - isDisplayed = this.getPref(layoutToUse.id+ "-layer-" + layer.id + "-enabled", layer) + isDisplayed = this.getPref(layoutToUse.id + "-layer-" + layer.id + "-enabled", layer) } else if (layer.syncSelection === "global") { isDisplayed = this.getPref("layer-" + layer.id + "-enabled", layer) } else { - isDisplayed = QueryParameters.GetBooleanQueryParameter("layer-" + layer.id, layer.shownByDefault, "Wether or not layer "+layer.id+" is shown") + isDisplayed = QueryParameters.GetBooleanQueryParameter("layer-" + layer.id, layer.shownByDefault, "Wether or not layer " + layer.id + " is shown") } + isDisplayed.addCallbackAndRun(_ => { + console.log("IsDisplayed?",layer.id, isDisplayed.data, layer.shownByDefault) + }) const flayer: FilteredLayer = { - isDisplayed: isDisplayed, + isDisplayed, layerDef: layer, appliedFilters: new UIEventSource>(new Map()) }; diff --git a/Logic/Tags/TagUtils.ts b/Logic/Tags/TagUtils.ts index 2688d3140..aa91fa9b5 100644 --- a/Logic/Tags/TagUtils.ts +++ b/Logic/Tags/TagUtils.ts @@ -127,7 +127,7 @@ export class TagUtils { * } * ]}) * TagUtils.FlattenMultiAnswer([tag]) // => TagUtils.Tag({and:["x=a;b", "y=0;1;2;3"] }) - * + * * TagUtils.FlattenMultiAnswer(([new Tag("x","y"), new Tag("a","b")])) // => new And([new Tag("x","y"), new Tag("a","b")]) * TagUtils.FlattenMultiAnswer(([new Tag("x","")])) // => new And([new Tag("x","")]) */ @@ -240,7 +240,7 @@ export class TagUtils { * * TagUtils.Tag("xyz<5").matchesProperties({xyz: 4}) // => true * TagUtils.Tag("xyz<5").matchesProperties({xyz: 5}) // => false - * + * * // RegexTags must match values with newlines * TagUtils.Tag("note~.*aed.*").matchesProperties({note: "Hier bevindt zich wss een defibrillator. \\n\\n De aed bevindt zich op de 5de verdieping"}) // => true * TagUtils.Tag("note~i~.*aed.*").matchesProperties({note: "Hier bevindt zich wss een defibrillator. \\n\\n De AED bevindt zich op de 5de verdieping"}) // => true @@ -264,13 +264,13 @@ export class TagUtils { * @constructor */ public static TagD(json?: TagConfigJson, context: string = ""): TagsFilter | undefined { - if(json === undefined){ + if (json === undefined) { return undefined } return TagUtils.Tag(json, context) } - - + + /** * INLINE sort of the given list */ @@ -492,6 +492,16 @@ export class TagUtils { } return " (" + joined + ") " } + + public static ExtractSimpleTags(tf: TagsFilter) : Tag[] { + const result: Tag[] = [] + tf.visit(t => { + if(t instanceof Tag){ + result.push(t) + } + }) + return result; + } /** * Returns 'true' is opposite tags are detected. @@ -581,4 +591,38 @@ export class TagUtils { return listToFilter.some(tf => guards.some(guard => guard.shadows(tf))) } + + /** + * Parses a level specifier to the various available levels + * + * TagUtils.LevelsParser("0") // => ["0"] + * TagUtils.LevelsParser("1") // => ["1"] + * TagUtils.LevelsParser("0;2") // => ["0","2"] + * TagUtils.LevelsParser("0-5") // => ["0","1","2","3","4","5"] + * TagUtils.LevelsParser("0") // => ["0"] + * TagUtils.LevelsParser("-1") // => ["-1"] + * TagUtils.LevelsParser("0;-1") // => ["0", "-1"] + */ + public static LevelsParser(level: string): string[] { + let spec = Utils.NoNull([level]) + spec = [].concat(...spec.map(s => s?.split(";"))) + spec = [].concat(...spec.map(s => { + s = s.trim() + if (s.indexOf("-") < 0 || s.startsWith("-")) { + return s + } + const [start, end] = s.split("-").map(s => Number(s.trim())) + if (isNaN(start) || isNaN(end)) { + return undefined + } + const values = [] + for (let i = start; i <= end; i++) { + values.push(i + "") + } + return values + })) + return Utils.NoNull(spec); + } + + } \ No newline at end of file diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index bcc24c6b7..1347da5fa 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -520,6 +520,15 @@ export class ValidateLayer extends DesugaringStep { errors } } + + if(json.tagRenderings !== undefined && json.tagRenderings.length > 0){ + if(json.title === undefined){ + errors.push(context + ": this layer does not have a title defined but it does have tagRenderings. Not having a title will disable the popups, resulting in an unclickable element. Please add a title. If not having a popup is intended and the tagrenderings need to be kept (e.g. in a library layer), set `title: null` to disable this error.") + } + if(json.title === null){ + information.push(context + ": title is `null`. This results in an element that cannot be clicked - even though tagRenderings is set.") + } + } if (json["builtin"] !== undefined) { errors.push(context + ": This layer hasn't been expanded: " + json) diff --git a/Models/ThemeConfig/Json/TagRenderingConfigJson.ts b/Models/ThemeConfig/Json/TagRenderingConfigJson.ts index 88b225800..39ff7ea32 100644 --- a/Models/ThemeConfig/Json/TagRenderingConfigJson.ts +++ b/Models/ThemeConfig/Json/TagRenderingConfigJson.ts @@ -25,6 +25,11 @@ export interface TagRenderingConfigJson { */ labels?: string[] + /** + * A human-readable text explaining what this tagRendering does + */ + description?: string | any + /** * Renders this value. Note that "{key}"-parts are substituted by the corresponding values of the element. * If neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value. diff --git a/Models/ThemeConfig/LayerConfig.ts b/Models/ThemeConfig/LayerConfig.ts index d45c2c132..c7d76d93e 100644 --- a/Models/ThemeConfig/LayerConfig.ts +++ b/Models/ThemeConfig/LayerConfig.ts @@ -28,6 +28,9 @@ import {And} from "../../Logic/Tags/And"; import {Overpass} from "../../Logic/Osm/Overpass"; import Constants from "../Constants"; import {FixedUiElement} from "../../UI/Base/FixedUiElement"; +import Svg from "../../Svg"; +import {UIEventSource} from "../../Logic/UIEventSource"; +import {OsmTags} from "../OsmFeature"; export default class LayerConfig extends WithContextLoader { @@ -191,8 +194,8 @@ export default class LayerConfig extends WithContextLoader { this.doNotDownload = json.doNotDownload ?? false; this.passAllFeatures = json.passAllFeatures ?? false; this.minzoom = json.minzoom ?? 0; - if(json["minZoom"] !== undefined){ - throw "At "+context+": minzoom is written all lowercase" + if (json["minZoom"] !== undefined) { + throw "At " + context + ": minzoom is written all lowercase" } this.minzoomVisible = json.minzoomVisible ?? this.minzoom; this.shownByDefault = json.shownByDefault ?? true; @@ -352,7 +355,7 @@ export default class LayerConfig extends WithContextLoader { neededLayer: string; }[] = [] , addedByDefault = false, canBeIncluded = true): BaseUIElement { - const extraProps = [] + const extraProps : (string | BaseUIElement)[] = [] extraProps.push("This layer is shown at zoomlevel **" + this.minzoom + "** and higher") @@ -364,9 +367,9 @@ export default class LayerConfig extends WithContextLoader { extraProps.push('This layer is not visible by default and must be enabled in the filter by the user. ') } if (this.title === undefined) { - extraProps.push("This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable.") + extraProps.push("Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.") } - if (this.title === undefined && this.shownByDefault === false) { + if (this.name === undefined && this.shownByDefault === false) { extraProps.push("This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true") } if (this.name === undefined) { @@ -377,7 +380,11 @@ export default class LayerConfig extends WithContextLoader { } if (this.source.geojsonSource !== undefined) { - extraProps.push(" This layer is loaded from an external source, namely `" + this.source.geojsonSource + "`") + extraProps.push( + new Combine([ + Utils.runningFromConsole ? "" : undefined, + "This layer is loaded from an external source, namely ", + new FixedUiElement( this.source.geojsonSource).SetClass("code")])); } } else { extraProps.push("This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data.") @@ -409,16 +416,16 @@ export default class LayerConfig extends WithContextLoader { if (values == undefined) { return undefined } - const embedded: (Link | string)[] = values.values?.map(v => Link.OsmWiki(values.key, v, true)) ?? ["_no preset options defined, or no values in them_"] + const embedded: (Link | string)[] = values.values?.map(v => Link.OsmWiki(values.key, v, true).SetClass("mr-2")) ?? ["_no preset options defined, or no values in them_"] return [ new Combine([ new Link( - "", - "https://taginfo.openstreetmap.org/keys/" + values.key + "#values" + Utils.runningFromConsole ? "" : Svg.statistics_svg().SetClass("w-4 h-4 mr-2"), + "https://taginfo.openstreetmap.org/keys/" + values.key + "#values", true ), Link.OsmWiki(values.key) - ]), + ]).SetClass("flex"), values.type === undefined ? "Multiple choice" : new Link(values.type, "../SpecialInputElements.md#" + values.type), - new Combine(embedded) + new Combine(embedded).SetClass("flex") ]; })) @@ -427,18 +434,27 @@ export default class LayerConfig extends WithContextLoader { quickOverview = new Combine([ new FixedUiElement("Warning: ").SetClass("bold"), "this quick overview is incomplete", - new Table(["attribute", "type", "values which are supported by this layer"], tableRows) + new Table(["attribute", "type", "values which are supported by this layer"], tableRows).SetClass("zebra-table") ]).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 = ` ` + + let iconImg: BaseUIElement = new FixedUiElement("") + + if (Utils.runningFromConsole) { + const icon = this.mapRendering + .filter(mr => mr.location.has("point")) + .map(mr => mr.icon?.render?.txt) + .find(i => i !== undefined) + // This is for the documentation in a markdown-file, so we have to use raw HTML + if (icon !== undefined) { + iconImg = new FixedUiElement(` `) + } + } else { + iconImg = this.mapRendering + .filter(mr => mr.location.has("point")) + .map(mr => mr.GenerateLeafletStyle(new UIEventSource({id:"node/-1"}), false, {includeBadges: false}).html) + .find(i => i !== undefined) } let overpassLink: BaseUIElement = undefined; @@ -467,7 +483,7 @@ export default class LayerConfig extends WithContextLoader { new Title("Supported attributes", 2), quickOverview, ...this.tagRenderings.map(tr => tr.GenerateDocumentation()) - ]).SetClass("flex-col") + ]).SetClass("flex-col").SetClass("link-underline") } public CustomCodeSnippets(): string[] { diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/Models/ThemeConfig/TagRenderingConfig.ts index cdcf916de..bffe1e7f1 100644 --- a/Models/ThemeConfig/TagRenderingConfig.ts +++ b/Models/ThemeConfig/TagRenderingConfig.ts @@ -14,6 +14,8 @@ import List from "../../UI/Base/List"; import {MappingConfigJson, QuestionableTagRenderingConfigJson} from "./Json/QuestionableTagRenderingConfigJson"; import {FixedUiElement} from "../../UI/Base/FixedUiElement"; import {Paragraph} from "../../UI/Base/Paragraph"; +import spec = Mocha.reporters.spec; +import SpecialVisualizations from "../../UI/SpecialVisualizations"; export interface Mapping { readonly if: TagsFilter, @@ -38,6 +40,7 @@ export default class TagRenderingConfig { public readonly render?: TypedTranslation; public readonly question?: TypedTranslation; public readonly condition?: TagsFilter; + public readonly description?: Translation; public readonly configuration_warnings: string[] = [] @@ -56,6 +59,7 @@ export default class TagRenderingConfig { public readonly mappings?: Mapping[] public readonly labels: string[] + constructor(json: string | QuestionableTagRenderingConfigJson, context?: string) { if (json === undefined) { throw "Initing a TagRenderingConfig with undefined in " + context; @@ -107,6 +111,7 @@ export default class TagRenderingConfig { this.labels = json.labels ?? [] this.render = Translations.T(json.render, translationKey + ".render"); this.question = Translations.T(json.question, translationKey + ".question"); + this.description = Translations.T(json.description, translationKey + ".description"); this.condition = TagUtils.Tag(json.condition ?? {"and": []}, `${context}.condition`); if (json.freeform) { @@ -571,8 +576,8 @@ export default class TagRenderingConfig { new Combine( [ new FixedUiElement(m.then.txt).SetClass("bold"), - "corresponds with ", - m.if.asHumanString(true, false, {}) + " corresponds with ", + new FixedUiElement( m.if.asHumanString(true, false, {})).SetClass("code") ] ) ] @@ -607,12 +612,14 @@ export default class TagRenderingConfig { labels = new Combine([ "This tagrendering has labels ", ...this.labels.map(label => new FixedUiElement(label).SetClass("code")) - ]) + ]).SetClass("flex") } + return new Combine([ new Title(this.id, 3), + this.description, this.question !== undefined ? - new Combine(["The question is ", new FixedUiElement(this.question.txt).SetClass("bold")]) : + new Combine(["The question is ", new FixedUiElement(this.question.txt).SetClass("font-bold bold")]) : new FixedUiElement( "This tagrendering has no question and is thus read-only" ).SetClass("italic"), @@ -621,6 +628,6 @@ export default class TagRenderingConfig { condition, group, labels - ]).SetClass("flex-col"); + ]).SetClass("flex flex-col"); } } \ No newline at end of file diff --git a/UI/Base/ChartJs.ts b/UI/Base/ChartJs.ts new file mode 100644 index 000000000..a4250f4c4 --- /dev/null +++ b/UI/Base/ChartJs.ts @@ -0,0 +1,24 @@ +import BaseUIElement from "../BaseUIElement"; +import {Chart, ChartConfiguration, ChartType, DefaultDataPoint, registerables} from 'chart.js'; +Chart.register(...registerables); + + +export default class ChartJs< + TType extends ChartType = ChartType, + TData = DefaultDataPoint, + TLabel = unknown + > extends BaseUIElement{ + private readonly _config: ChartConfiguration; + + constructor(config: ChartConfiguration) { + super(); + this._config = config; + } + + protected InnerConstructElement(): HTMLElement { + const canvas = document.createElement("canvas"); + new Chart(canvas, this._config); + return canvas; + } + +} \ No newline at end of file diff --git a/UI/Base/Combine.ts b/UI/Base/Combine.ts index 87eb30f5b..05ad8de84 100644 --- a/UI/Base/Combine.ts +++ b/UI/Base/Combine.ts @@ -38,6 +38,9 @@ export default class Combine extends BaseUIElement { protected InnerConstructElement(): HTMLElement { const el = document.createElement("span") try { + if(this.uiElements === undefined){ + console.error("PANIC") + } for (const subEl of this.uiElements) { if (subEl === undefined || subEl === null) { continue; diff --git a/UI/Base/Img.ts b/UI/Base/Img.ts index 96d93593e..ecaf09abd 100644 --- a/UI/Base/Img.ts +++ b/UI/Base/Img.ts @@ -2,9 +2,10 @@ import {Utils} from "../../Utils"; import BaseUIElement from "../BaseUIElement"; export default class Img extends BaseUIElement { - private _src: string; + + private readonly _src: string; private readonly _rawSvg: boolean; - private _options: { fallbackImage?: string }; + private readonly _options: { readonly fallbackImage?: string }; constructor(src: string, rawSvg = false, options?: { fallbackImage?: string @@ -22,7 +23,13 @@ export default class Img extends BaseUIElement { if (Utils.runningFromConsole) { return source; } - return `data:image/svg+xml;base64,${(btoa(source))}`; + try{ + return `data:image/svg+xml;base64,${(btoa(source))}`; + }catch (e){ + console.error("Cannot create an image for", source.slice(0, 100)) + console.trace("Cannot create an image for the given source string due to ", e) + return "" + } } static AsImageElement(source: string, css_class: string = "", style = ""): string { diff --git a/UI/Base/Link.ts b/UI/Base/Link.ts index 9b640c1b1..af2a79b35 100644 --- a/UI/Base/Link.ts +++ b/UI/Base/Link.ts @@ -26,9 +26,9 @@ export default class Link extends BaseUIElement { if (!hideKey) { k = key + "=" } - return new Link(k + value, `https://wiki.openstreetmap.org/wiki/Tag:${key}%3D${value}`) + return new Link(k + value, `https://wiki.openstreetmap.org/wiki/Tag:${key}%3D${value}`, true) } - return new Link(key, "https://wiki.openstreetmap.org/wiki/Key:" + key) + return new Link(key, "https://wiki.openstreetmap.org/wiki/Key:" + key, true) } AsMarkdown(): string { diff --git a/UI/Base/Toggleable.ts b/UI/Base/Toggleable.ts index 848fc80b6..5b884fa6b 100644 --- a/UI/Base/Toggleable.ts +++ b/UI/Base/Toggleable.ts @@ -26,7 +26,8 @@ export default class Toggleable extends Combine { public readonly isVisible = new UIEventSource(false) constructor(title: Title | Combine | BaseUIElement, content: BaseUIElement, options?: { - closeOnClick: true | boolean + closeOnClick?: true | boolean, + height?: "100vh" | string }) { super([title, content]) content.SetClass("animate-height border-l-4 pl-2 block") @@ -72,7 +73,7 @@ export default class Toggleable extends Combine { this.isVisible.addCallbackAndRun(isVisible => { if (isVisible) { - contentElement.style.maxHeight = "100vh" + contentElement.style.maxHeight = options?.height ?? "100vh" contentElement.style.overflowY = "auto" contentElement.style["-webkit-mask-image"] = "unset" } else { diff --git a/UI/Base/VariableUIElement.ts b/UI/Base/VariableUIElement.ts index 1dbbe3ded..3163ac39b 100644 --- a/UI/Base/VariableUIElement.ts +++ b/UI/Base/VariableUIElement.ts @@ -33,6 +33,7 @@ export class VariableUiElement extends BaseUIElement { if (self.isDestroyed) { return true; } + while (el.firstChild) { el.removeChild(el.lastChild); } diff --git a/UI/BaseUIElement.ts b/UI/BaseUIElement.ts index 556ab637f..4c084d088 100644 --- a/UI/BaseUIElement.ts +++ b/UI/BaseUIElement.ts @@ -1,4 +1,4 @@ -import {Utils} from "../Utils"; +import { Utils } from "../Utils"; /** * A thin wrapper around a html element, which allows to generate a HTML-element. @@ -9,7 +9,7 @@ export default abstract class BaseUIElement { protected _constructedHtmlElement: HTMLElement; protected isDestroyed = false; - private clss: Set = new Set(); + private readonly clss: Set = new Set(); private style: string; private _onClick: () => void; @@ -39,9 +39,9 @@ export default abstract class BaseUIElement { return this; } - - public ScrollToTop(){ - this._constructedHtmlElement?.scrollTo(0,0) + + public ScrollToTop() { + this._constructedHtmlElement?.scrollTo(0, 0) } /** @@ -70,10 +70,13 @@ export default abstract class BaseUIElement { return this; } - public RemoveClass(clss: string): BaseUIElement { - if (this.clss.has(clss)) { - this.clss.delete(clss); - this._constructedHtmlElement?.classList.remove(clss) + public RemoveClass(classes: string): BaseUIElement { + const all = classes.split(" ").map(clsName => clsName.trim()); + for (let clss of all) { + if (this.clss.has(clss)) { + this.clss.delete(clss); + this._constructedHtmlElement?.classList.remove(clss) + } } return this; } @@ -114,7 +117,7 @@ export default abstract class BaseUIElement { if (style !== undefined && style !== "") { el.style.cssText = style } - if (this.clss.size > 0) { + if (this.clss?.size > 0) { try { el.classList.add(...Array.from(this.clss)) } catch (e) { diff --git a/UI/BigComponents/RightControls.ts b/UI/BigComponents/RightControls.ts index 6e3e333fa..5edf81482 100644 --- a/UI/BigComponents/RightControls.ts +++ b/UI/BigComponents/RightControls.ts @@ -3,11 +3,22 @@ import Toggle from "../Input/Toggle"; import MapControlButton from "../MapControlButton"; import GeoLocationHandler from "../../Logic/Actors/GeoLocationHandler"; import Svg from "../../Svg"; -import MapState from "../../Logic/State/MapState"; +import MapState, {GlobalFilter} from "../../Logic/State/MapState"; +import LevelSelector from "../Input/LevelSelector"; +import FeaturePipeline from "../../Logic/FeatureSource/FeaturePipeline"; +import {Utils} from "../../Utils"; +import {TagUtils} from "../../Logic/Tags/TagUtils"; +import {RegexTag} from "../../Logic/Tags/RegexTag"; +import {Or} from "../../Logic/Tags/Or"; +import {Tag} from "../../Logic/Tags/Tag"; +import {TagsFilter} from "../../Logic/Tags/TagsFilter"; +import Translations from "../i18n/Translations"; +import {BBox} from "../../Logic/BBox"; +import {OsmFeature} from "../../Models/OsmFeature"; export default class RightControls extends Combine { - constructor(state: MapState) { + constructor(state: MapState & { featurePipeline: FeaturePipeline }) { const geolocatioHandler = new GeoLocationHandler( state @@ -38,7 +49,91 @@ export default class RightControls extends Combine { state.locationControl.ping(); }); - super([plus, min, geolocationButton].map(el => el.SetClass("m-0.5 md:m-1"))) + const levelsInView = state.currentBounds.map(bbox => { + if (bbox === undefined) { + return [] + } + const allElementsUnfiltered: OsmFeature[] = [].concat(... state.featurePipeline.GetAllFeaturesAndMetaWithin(bbox).map(ff => ff.features)) + const allElements = allElementsUnfiltered.filter(f => BBox.get(f).overlapsWith(bbox)) + const allLevelsRaw: string[] = allElements.map(f => f.properties["level"]) + const allLevels = [].concat(...allLevelsRaw.map(l => TagUtils.LevelsParser(l))) + if (allLevels.indexOf("0") < 0) { + allLevels.push("0") + } + allLevels.sort((a, b) => a < b ? -1 : 1) + return Utils.Dedup(allLevels) + }) + state.globalFilters.data.push({ + filter: { + currentFilter: undefined, + state: undefined, + + }, + id: "level", + onNewPoint: undefined + }) + const levelSelect = new LevelSelector(levelsInView) + + const isShown = levelsInView.map(levelsInView => { + if (levelsInView.length == 0) { + return false; + } + if (state.locationControl.data.zoom <= 16) { + return false; + } + if (levelsInView.length == 1 && levelsInView[0] == "0") { + return false + } + return true; + }, + [state.locationControl]) + + function setLevelFilter() { + console.log("Updating levels filter") + const filter: GlobalFilter = state.globalFilters.data.find(gf => gf.id === "level") + if (!isShown.data) { + filter.filter = { + state: "*", + currentFilter: undefined, + } + filter.onNewPoint = undefined + + } else { + + const l = levelSelect.GetValue().data + let neededLevel: TagsFilter = new RegexTag("level", new RegExp("(^|;)" + l + "(;|$)")); + if (l === "0") { + neededLevel = new Or([neededLevel, new Tag("level", "")]) + } + filter.filter = { + state: l, + currentFilter: neededLevel + } + const t = Translations.t.general.levelSelection + filter.onNewPoint = { + confirmAddNew: t.confirmLevel.PartialSubs({level: l}), + safetyCheck: t.addNewOnLevel.Subs({level: l}), + tags: [new Tag("level", l)] + } + } + state.globalFilters.ping(); + return; + } + + + isShown.addCallbackAndRun(shown => { + console.log("Is level selector shown?", shown) + setLevelFilter() + if (shown) { + levelSelect.RemoveClass("invisible") + } else { + levelSelect.SetClass("invisible") + } + }) + + levelSelect.GetValue().addCallback(_ => setLevelFilter()) + + super([new Combine([levelSelect]).SetClass(""), plus, min, geolocationButton].map(el => el.SetClass("m-0.5 md:m-1"))) this.SetClass("flex flex-col items-center") } diff --git a/UI/BigComponents/SimpleAddUI.ts b/UI/BigComponents/SimpleAddUI.ts index 78fa604a0..4b19456a5 100644 --- a/UI/BigComponents/SimpleAddUI.ts +++ b/UI/BigComponents/SimpleAddUI.ts @@ -25,6 +25,7 @@ import ConfirmLocationOfPoint from "../NewPoint/ConfirmLocationOfPoint"; import BaseLayer from "../../Models/BaseLayer"; import Loading from "../Base/Loading"; import Hash from "../../Logic/Web/Hash"; +import {GlobalFilter} from "../../Logic/State/MapState"; /* * The SimpleAddUI is a single panel, which can have multiple states: @@ -43,6 +44,14 @@ export interface PresetInfo extends PresetConfig { export default class SimpleAddUI extends Toggle { + /** + * + * @param isShown + * @param resetScrollSignal + * @param filterViewIsOpened + * @param state + * @param takeLocationFrom: defaults to state.lastClickLocation. Take this location to add the new point around + */ constructor(isShown: UIEventSource, resetScrollSignal: UIEventSource, filterViewIsOpened: UIEventSource, @@ -58,8 +67,11 @@ export default class SimpleAddUI extends Toggle { locationControl: UIEventSource, filteredLayers: UIEventSource, featureSwitchFilter: UIEventSource, - backgroundLayer: UIEventSource - }) { + backgroundLayer: UIEventSource, + globalFilters: UIEventSource + }, + takeLocationFrom?: UIEventSource<{lat: number, lon: number}> + ) { const loginButton = new SubtleButton(Svg.osm_logo_ui(), Translations.t.general.add.pleaseLogin.Clone()) .onClick(() => state.osmConnection.AttemptLogin()); const readYourMessages = new Combine([ @@ -68,7 +80,8 @@ export default class SimpleAddUI extends Toggle { Translations.t.general.goToInbox, {url: "https://www.openstreetmap.org/messages/inbox", newTab: false}) ]); - + + takeLocationFrom = takeLocationFrom ?? state.LastClickLocation const selectedPreset = new UIEventSource(undefined); selectedPreset.addCallback(_ => { resetScrollSignal.ping(); @@ -76,7 +89,7 @@ export default class SimpleAddUI extends Toggle { isShown.addCallback(_ => selectedPreset.setData(undefined)) // Clear preset selection when the UI is closed/opened - state.LastClickLocation.addCallback(_ => selectedPreset.setData(undefined)) + takeLocationFrom.addCallback(_ => selectedPreset.setData(undefined)) const presetsOverview = SimpleAddUI.CreateAllPresetsPanel(selectedPreset, state) @@ -120,7 +133,7 @@ export default class SimpleAddUI extends Toggle { const message = Translations.t.general.add.addNew.Subs({category: preset.name}, preset.name["context"]); return new ConfirmLocationOfPoint(state, filterViewIsOpened, preset, message, - state.LastClickLocation.data, + takeLocationFrom.data, confirm, cancel, () => { diff --git a/UI/BigComponents/StatisticsPanel.ts b/UI/BigComponents/StatisticsPanel.ts new file mode 100644 index 000000000..f1e6e98b7 --- /dev/null +++ b/UI/BigComponents/StatisticsPanel.ts @@ -0,0 +1,51 @@ +import {VariableUiElement} from "../Base/VariableUIElement"; +import Loading from "../Base/Loading"; +import Title from "../Base/Title"; +import TagRenderingChart from "./TagRenderingChart"; +import Combine from "../Base/Combine"; +import Locale from "../i18n/Locale"; +import {UIEventSource} from "../../Logic/UIEventSource"; +import {OsmFeature} from "../../Models/OsmFeature"; +import LayerConfig from "../../Models/ThemeConfig/LayerConfig"; +import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"; + +export default class StatisticsPanel extends VariableUiElement { + constructor(elementsInview: UIEventSource<{ element: OsmFeature, layer: LayerConfig }[]>, state: { + layoutToUse: LayoutConfig + }) { + super(elementsInview.stabilized(1000).map(features => { + if (features === undefined) { + return new Loading("Loading data") + } + if (features.length === 0) { + return "No elements in view" + } + const els = [] + for (const layer of state.layoutToUse.layers) { + if(layer.name === undefined){ + continue + } + const featuresForLayer = features.filter(f => f.layer === layer).map(f => f.element) + if(featuresForLayer.length === 0){ + continue + } + els.push(new Title(layer.name.Clone(), 1).SetClass("mt-8")) + + const layerStats = [] + for (const tagRendering of (layer?.tagRenderings ?? [])) { + const chart = new TagRenderingChart(featuresForLayer, tagRendering, { + chartclasses: "w-full", + chartstyle: "height: 60rem", + includeTitle: false + }) + const title = new Title(tagRendering.question?.Clone() ?? tagRendering.id, 4).SetClass("mt-8") + if(!chart.HasClass("hidden")){ + layerStats.push(new Combine([title, chart]).SetClass("flex flex-col w-full lg:w-1/3")) + } + } + els.push(new Combine(layerStats).SetClass("flex flex-wrap")) + } + return new Combine(els) + }, [Locale.language])); + } +} \ No newline at end of file diff --git a/UI/BigComponents/TagRenderingChart.ts b/UI/BigComponents/TagRenderingChart.ts new file mode 100644 index 000000000..f88cce188 --- /dev/null +++ b/UI/BigComponents/TagRenderingChart.ts @@ -0,0 +1,179 @@ +import ChartJs from "../Base/ChartJs"; +import {OsmFeature} from "../../Models/OsmFeature"; +import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig"; +import {ChartConfiguration} from 'chart.js'; +import Combine from "../Base/Combine"; +import {TagUtils} from "../../Logic/Tags/TagUtils"; + +export default class TagRenderingChart extends Combine { + + private static readonly unkownColor = 'rgba(128, 128, 128, 0.2)' + private static readonly unkownBorderColor = 'rgba(128, 128, 128, 0.2)' + + private static readonly otherColor = 'rgba(128, 128, 128, 0.2)' + private static readonly otherBorderColor = 'rgba(128, 128, 255)' + private static readonly notApplicableColor = 'rgba(128, 128, 128, 0.2)' + private static readonly notApplicableBorderColor = 'rgba(255, 0, 0)' + + + private static readonly backgroundColors = [ + 'rgba(255, 99, 132, 0.2)', + 'rgba(54, 162, 235, 0.2)', + 'rgba(255, 206, 86, 0.2)', + 'rgba(75, 192, 192, 0.2)', + 'rgba(153, 102, 255, 0.2)', + 'rgba(255, 159, 64, 0.2)' + ] + + private static readonly borderColors = [ + 'rgba(255, 99, 132, 1)', + 'rgba(54, 162, 235, 1)', + 'rgba(255, 206, 86, 1)', + 'rgba(75, 192, 192, 1)', + 'rgba(153, 102, 255, 1)', + 'rgba(255, 159, 64, 1)' + ] + + /** + * Creates a chart about this tagRendering for the given data + */ + constructor(features: OsmFeature[], tagRendering: TagRenderingConfig, options?: { + chartclasses?: string, + chartstyle?: string, + includeTitle?: boolean, + groupToOtherCutoff?: 3 | number + }) { + + const mappings = tagRendering.mappings ?? [] + if (mappings.length === 0 && tagRendering.freeform?.key === undefined) { + super([]) + this.SetClass("hidden") + return; + } + let unknownCount = 0; + const categoryCounts = mappings.map(_ => 0) + const otherCounts: Record = {} + let notApplicable = 0; + let barchartMode = tagRendering.multiAnswer; + for (const feature of features) { + const props = feature.properties + if (tagRendering.condition !== undefined && !tagRendering.condition.matchesProperties(props)) { + notApplicable++; + continue; + } + + if (!tagRendering.IsKnown(props)) { + unknownCount++; + continue; + } + let foundMatchingMapping = false; + if (!tagRendering.multiAnswer) { + for (let i = 0; i < mappings.length; i++) { + const mapping = mappings[i]; + if (mapping.if.matchesProperties(props)) { + categoryCounts[i]++ + foundMatchingMapping = true + break; + } + } + } else { + for (let i = 0; i < mappings.length; i++) { + const mapping = mappings[i]; + if (TagUtils.MatchesMultiAnswer( mapping.if, props)) { + categoryCounts[i]++ + foundMatchingMapping = true + } + } + } + if (!foundMatchingMapping) { + if (tagRendering.freeform?.key !== undefined && props[tagRendering.freeform.key] !== undefined) { + const otherValue = props[tagRendering.freeform.key] + otherCounts[otherValue] = (otherCounts[otherValue] ?? 0) + 1 + } else { + unknownCount++ + } + } + } + + if (unknownCount + notApplicable === features.length) { + super([]) + this.SetClass("hidden") + return + } + + let otherGrouped = 0; + const otherLabels: string[] = [] + const otherData : number[] = [] + for (const v in otherCounts) { + const count = otherCounts[v] + if(count >= (options.groupToOtherCutoff ?? 3)){ + otherLabels.push(v) + otherData.push(otherCounts[v]) + }else{ + otherGrouped++; + } + } + + + const labels = ["Unknown", "Other", "Not applicable", ...mappings?.map(m => m.then.txt) ?? [], ...otherLabels] + const data = [unknownCount, otherGrouped, notApplicable, ...categoryCounts, ... otherData] + const borderColor = [TagRenderingChart.unkownBorderColor, TagRenderingChart.otherBorderColor, TagRenderingChart.notApplicableBorderColor] + const backgroundColor = [TagRenderingChart.unkownColor, TagRenderingChart.otherColor, TagRenderingChart.notApplicableColor] + + + + while (borderColor.length < data.length) { + borderColor.push(...TagRenderingChart.borderColors) + backgroundColor.push(...TagRenderingChart.backgroundColors) + } + + for (let i = data.length; i >= 0; i--) { + if (data[i] === 0) { + labels.splice(i, 1) + data.splice(i, 1) + borderColor.splice(i, 1) + backgroundColor.splice(i, 1) + } + } + + if(labels.length > 9){ + barchartMode = true; + } + + const config = { + type: barchartMode ? 'bar' : 'doughnut', + data: { + labels, + datasets: [{ + data, + backgroundColor, + borderColor, + borderWidth: 1, + label: undefined + }] + }, + options: { + plugins: { + legend: { + display: !barchartMode + } + } + } + } + + const chart = new ChartJs(config).SetClass(options?.chartclasses ?? "w-32 h-32"); + + if (options.chartstyle !== undefined) { + chart.SetStyle(options.chartstyle) + } + + + super([ + options?.includeTitle ? (tagRendering.question.Clone() ?? tagRendering.id) : undefined, + chart]) + + this.SetClass("block") + } + + +} \ No newline at end of file diff --git a/UI/DashboardGui.ts b/UI/DashboardGui.ts new file mode 100644 index 000000000..d657f9667 --- /dev/null +++ b/UI/DashboardGui.ts @@ -0,0 +1,242 @@ +import FeaturePipelineState from "../Logic/State/FeaturePipelineState"; +import {DefaultGuiState} from "./DefaultGuiState"; +import {FixedUiElement} from "./Base/FixedUiElement"; +import {Utils} from "../Utils"; +import Combine from "./Base/Combine"; +import ShowDataLayer from "./ShowDataLayer/ShowDataLayer"; +import LayerConfig from "../Models/ThemeConfig/LayerConfig"; +import * as home_location_json from "../assets/layers/home_location/home_location.json"; +import State from "../State"; +import Title from "./Base/Title"; +import {MinimapObj} from "./Base/Minimap"; +import BaseUIElement from "./BaseUIElement"; +import {VariableUiElement} from "./Base/VariableUIElement"; +import {GeoOperations} from "../Logic/GeoOperations"; +import {OsmFeature} from "../Models/OsmFeature"; +import SearchAndGo from "./BigComponents/SearchAndGo"; +import FeatureInfoBox from "./Popup/FeatureInfoBox"; +import {UIEventSource} from "../Logic/UIEventSource"; +import LanguagePicker from "./LanguagePicker"; +import Lazy from "./Base/Lazy"; +import TagRenderingAnswer from "./Popup/TagRenderingAnswer"; +import Hash from "../Logic/Web/Hash"; +import FilterView from "./BigComponents/FilterView"; +import Translations from "./i18n/Translations"; +import Constants from "../Models/Constants"; +import SimpleAddUI from "./BigComponents/SimpleAddUI"; +import BackToIndex from "./BigComponents/BackToIndex"; +import StatisticsPanel from "./BigComponents/StatisticsPanel"; + + +export default class DashboardGui { + private readonly state: FeaturePipelineState; + private readonly currentView: UIEventSource<{ title: string | BaseUIElement, contents: string | BaseUIElement }> = new UIEventSource(undefined) + + + constructor(state: FeaturePipelineState, guiState: DefaultGuiState) { + this.state = state; + } + + private viewSelector(shown: BaseUIElement, title: string | BaseUIElement, contents: string | BaseUIElement, hash?: string): BaseUIElement { + const currentView = this.currentView + const v = {title, contents} + shown.SetClass("pl-1 pr-1 rounded-md") + shown.onClick(() => { + currentView.setData(v) + }) + Hash.hash.addCallbackAndRunD(h => { + if (h === hash) { + currentView.setData(v) + } + }) + currentView.addCallbackAndRunD(cv => { + if (cv == v) { + shown.SetClass("bg-unsubtle") + Hash.hash.setData(hash) + } else { + shown.RemoveClass("bg-unsubtle") + } + }) + return shown; + } + + private singleElementCache: Record = {} + + private singleElementView(element: OsmFeature, layer: LayerConfig, distance: number): BaseUIElement { + if (this.singleElementCache[element.properties.id] !== undefined) { + return this.singleElementCache[element.properties.id] + } + const tags = this.state.allElements.getEventSourceById(element.properties.id) + const title = new Combine([new Title(new TagRenderingAnswer(tags, layer.title, this.state), 4), + distance < 900 ? Math.floor(distance) + "m away" : + Utils.Round(distance / 1000) + "km away" + ]).SetClass("flex justify-between"); + + return this.singleElementCache[element.properties.id] = this.viewSelector(title, + new Lazy(() => FeatureInfoBox.GenerateTitleBar(tags, layer, this.state)), + new Lazy(() => FeatureInfoBox.GenerateContent(tags, layer, this.state)), + // element.properties.id + ); + } + + private mainElementsView(elements: { element: OsmFeature, layer: LayerConfig, distance: number }[]): BaseUIElement { + const self = this + if (elements === undefined) { + return new FixedUiElement("Initializing") + } + if (elements.length == 0) { + return new FixedUiElement("No elements in view") + } + return new Combine(elements.map(e => self.singleElementView(e.element, e.layer, e.distance))) + } + + private documentationButtonFor(layerConfig: LayerConfig): BaseUIElement { + return this.viewSelector(Translations.W(layerConfig.name?.Clone() ?? layerConfig.id), new Combine(["Documentation about ", layerConfig.name?.Clone() ?? layerConfig.id]), + layerConfig.GenerateDocumentation([]), + "documentation-" + layerConfig.id) + } + + private allDocumentationButtons(): BaseUIElement { + const layers = this.state.layoutToUse.layers.filter(l => Constants.priviliged_layers.indexOf(l.id) < 0) + .filter(l => !l.id.startsWith("note_import_")); + + if (layers.length === 1) { + return this.documentationButtonFor(layers[0]) + } + return this.viewSelector(new FixedUiElement("Documentation"), "Documentation", + new Combine(layers.map(l => this.documentationButtonFor(l).SetClass("flex flex-col")))) + } + + + public setup(): void { + + const state = this.state; + + if (this.state.layoutToUse.customCss !== undefined) { + if (window.location.pathname.indexOf("index") >= 0) { + Utils.LoadCustomCss(this.state.layoutToUse.customCss) + } + } + const map = this.SetupMap(); + + Utils.downloadJson("./service-worker-version").then(data => console.log("Service worker", data)).catch(_ => console.log("Service worker not active")) + + document.getElementById("centermessage").classList.add("hidden") + + const layers: Record = {} + for (const layer of state.layoutToUse.layers) { + layers[layer.id] = layer; + } + + const self = this; + const elementsInview = new UIEventSource<{ distance: number, center: [number, number], element: OsmFeature, layer: LayerConfig }[]>([]); + + function update() { + const mapCenter = <[number,number]> [self.state.locationControl.data.lon, self.state.locationControl.data.lon] + const elements = self.state.featurePipeline.getAllVisibleElementsWithmeta(self.state.currentBounds.data).map(el => { + const distance = GeoOperations.distanceBetween(el.center, mapCenter) + return {...el, distance } + }) + elements.sort((e0, e1) => e0.distance - e1.distance) + elementsInview.setData(elements) + + } + + map.bounds.addCallbackAndRun(update) + state.featurePipeline.newDataLoadedSignal.addCallback(update); + state.filteredLayers.addCallbackAndRun(fls => { + for (const fl of fls) { + fl.isDisplayed.addCallback(update) + fl.appliedFilters.addCallback(update) + } + }) + + const filterView = new Lazy(() => { + return new FilterView(state.filteredLayers, state.overlayToggles) + }); + const welcome = new Combine([state.layoutToUse.description, state.layoutToUse.descriptionTail]) + self.currentView.setData({title: state.layoutToUse.title, contents: welcome}) + const filterViewIsOpened = new UIEventSource(false) + filterViewIsOpened.addCallback(_ => self.currentView.setData({title: "filters", contents: filterView})) + + const newPointIsShown = new UIEventSource(false); + const addNewPoint = new SimpleAddUI( + new UIEventSource(true), + new UIEventSource(undefined), + filterViewIsOpened, + state, + state.locationControl + ); + const addNewPointTitle = "Add a missing point" + this.currentView.addCallbackAndRunD(cv => { + newPointIsShown.setData(cv.contents === addNewPoint) + }) + newPointIsShown.addCallbackAndRun(isShown => { + if (isShown) { + if (self.currentView.data.contents !== addNewPoint) { + self.currentView.setData({title: addNewPointTitle, contents: addNewPoint}) + } + } else { + if (self.currentView.data.contents === addNewPoint) { + self.currentView.setData(undefined) + } + } + }) + + + new Combine([ + new Combine([ + this.viewSelector(new Title(state.layoutToUse.title.Clone(), 2), state.layoutToUse.title.Clone(), welcome, "welcome"), + map.SetClass("w-full h-64 shrink-0 rounded-lg"), + new SearchAndGo(state), + this.viewSelector(new Title( + new VariableUiElement(elementsInview.map(elements => "There are " + elements?.length + " elements in view"))), + "Statistics", + new StatisticsPanel(elementsInview, this.state), "statistics"), + + this.viewSelector(new FixedUiElement("Filter"), + "Filters", filterView, "filters"), + this.viewSelector(new Combine(["Add a missing point"]), addNewPointTitle, + addNewPoint + ), + + new VariableUiElement(elementsInview.map(elements => this.mainElementsView(elements).SetClass("block m-2"))) + .SetClass("block shrink-2 overflow-x-auto h-full border-2 border-subtle rounded-lg"), + this.allDocumentationButtons(), + new LanguagePicker(Object.keys(state.layoutToUse.title.translations)).SetClass("mt-2"), + new BackToIndex() + ]).SetClass("w-1/2 lg:w-1/4 m-4 flex flex-col shrink-0 grow-0"), + new VariableUiElement(this.currentView.map(({title, contents}) => { + return new Combine([ + new Title(Translations.W(title), 2).SetClass("shrink-0 border-b-4 border-subtle"), + Translations.W(contents).SetClass("shrink-2 overflow-y-auto block") + ]).SetClass("flex flex-col h-full") + })).SetClass("w-1/2 lg:w-3/4 m-4 p-2 border-2 border-subtle rounded-xl m-4 ml-0 mr-8 shrink-0 grow-0"), + + ]).SetClass("flex h-full") + .AttachTo("leafletDiv") + + } + + private SetupMap(): MinimapObj & BaseUIElement { + const state = this.state; + + new ShowDataLayer({ + leafletMap: state.leafletMap, + layerToShow: new LayerConfig(home_location_json, "home_location", true), + features: state.homeLocation, + state + }) + + state.leafletMap.addCallbackAndRunD(_ => { + // Lets assume that all showDataLayers are initialized at this point + state.selectedElement.ping() + State.state.locationControl.ping(); + return true; + }) + + return state.mainMapObject + + } + +} \ No newline at end of file diff --git a/UI/DefaultGUI.ts b/UI/DefaultGUI.ts index a14d38f25..9252faed3 100644 --- a/UI/DefaultGUI.ts +++ b/UI/DefaultGUI.ts @@ -44,14 +44,9 @@ export default class DefaultGUI { } public setup(){ - if (this.state.layoutToUse.customCss !== undefined) { - Utils.LoadCustomCss(this.state.layoutToUse.customCss); - } - this.SetupUIElements(); this.SetupMap() - if (this.state.layoutToUse.customCss !== undefined && window.location.pathname.indexOf("index") >= 0) { Utils.LoadCustomCss(this.state.layoutToUse.customCss) } @@ -144,7 +139,7 @@ export default class DefaultGUI { new ShowDataLayer({ leafletMap: state.leafletMap, - layerToShow: new LayerConfig(home_location_json, "all_known_layers", true), + layerToShow: new LayerConfig(home_location_json, "home_location", true), features: state.homeLocation, state }) diff --git a/UI/Input/DropDown.ts b/UI/Input/DropDown.ts index b9fb6a3d3..493c9bec7 100644 --- a/UI/Input/DropDown.ts +++ b/UI/Input/DropDown.ts @@ -13,6 +13,11 @@ export class DropDown extends InputElement { private readonly _value: UIEventSource; private readonly _values: { value: T; shown: string | BaseUIElement }[]; + /** + * + * const dropdown = new DropDown("test",[{value: 42, shown: "the answer"}]) + * dropdown.GetValue().data // => 42 + */ constructor(label: string | BaseUIElement, values: { value: T, shown: string | BaseUIElement }[], value: UIEventSource = undefined, @@ -21,7 +26,7 @@ export class DropDown extends InputElement { } ) { super(); - value = value ?? new UIEventSource(undefined) + value = value ?? new UIEventSource(values[0].value) this._value = value this._values = values; if (values.length <= 1) { @@ -63,7 +68,7 @@ export class DropDown extends InputElement { select.onchange = (() => { - var index = select.selectedIndex; + const index = select.selectedIndex; value.setData(values[index].value); }); diff --git a/UI/Input/LevelSelector.ts b/UI/Input/LevelSelector.ts new file mode 100644 index 000000000..766a1f6c8 --- /dev/null +++ b/UI/Input/LevelSelector.ts @@ -0,0 +1,70 @@ +import {InputElement} from "./InputElement"; +import {Store, Stores, UIEventSource} from "../../Logic/UIEventSource"; +import Combine from "../Base/Combine"; +import Slider from "./Slider"; +import {ClickableToggle} from "./Toggle"; +import {FixedUiElement} from "../Base/FixedUiElement"; +import {VariableUiElement} from "../Base/VariableUIElement"; + +export default class LevelSelector extends VariableUiElement implements InputElement { + + private readonly _value: UIEventSource; + + constructor(currentLevels: Store, options?: { + value?: UIEventSource + }) { + const value = options?.value ?? new UIEventSource(undefined) + super(Stores.ListStabilized(currentLevels).map(levels => { + console.log("CUrrent levels are", levels) + let slider = new Slider(0, levels.length - 1, {vertical: true}); + const toggleClass = "flex border-2 border-blue-500 w-10 h-10 place-content-center items-center border-box" + slider.SetClass("flex elevator w-10").SetStyle(`height: ${2.5 * levels.length}rem; background: #00000000`) + + const values = levels.map((data, i) => new ClickableToggle( + new FixedUiElement(data).SetClass("font-bold active bg-subtle " + toggleClass), + new FixedUiElement(data).SetClass("normal-background " + toggleClass), + slider.GetValue().sync( + (sliderVal) => { + return sliderVal === i + }, + [], + (isSelected) => { + return isSelected ? i : slider.GetValue().data + } + )) + .ToggleOnClick() + .SetClass("flex w-10 h-10")) + + values.reverse(/* This is a new list, no side-effects */) + const combine = new Combine([new Combine(values), slider]) + combine.SetClass("flex flex-row overflow-hidden"); + + + slider.GetValue().addCallbackAndRun(i => { + if (currentLevels?.data === undefined) { + return + } + value.setData(currentLevels?.data[i]); + }) + value.addCallback(level => { + const i = currentLevels?.data?.findIndex(l => l === level) + slider.GetValue().setData(i) + }) + return combine + })) + + this._value = value + + } + + GetValue(): UIEventSource { + return this._value; + } + + IsValid(t: string): boolean { + return false; + } + + + +} \ No newline at end of file diff --git a/UI/Input/Slider.ts b/UI/Input/Slider.ts index 68503e722..e6e2f4a55 100644 --- a/UI/Input/Slider.ts +++ b/UI/Input/Slider.ts @@ -4,9 +4,10 @@ import {UIEventSource} from "../../Logic/UIEventSource"; export default class Slider extends InputElement { private readonly _value: UIEventSource - private min: number; - private max: number; - private step: number; + private readonly min: number; + private readonly max: number; + private readonly step: number; + private readonly vertical: boolean; /** * Constructs a slider input element for natural numbers @@ -16,13 +17,15 @@ export default class Slider extends InputElement { */ constructor(min: number, max: number, options?: { value?: UIEventSource, - step?: 1 | number + step?: 1 | number, + vertical?: false | boolean }) { super(); this.max = max; this.min = min; this._value = options?.value ?? new UIEventSource(min) this.step = options?.step ?? 1; + this.vertical = options?.vertical ?? false; } GetValue(): UIEventSource { @@ -39,6 +42,10 @@ export default class Slider extends InputElement { el.oninput = () => { valuestore.setData(Number(el.value)) } + if(this.vertical){ + el.classList.add("vertical") + el.setAttribute('orient','vertical'); // firefox only workaround... + } valuestore.addCallbackAndRunD(v => el.value = ""+valuestore.data) return el; } diff --git a/UI/LanguagePicker.ts b/UI/LanguagePicker.ts index 608468816..60c8eae58 100644 --- a/UI/LanguagePicker.ts +++ b/UI/LanguagePicker.ts @@ -16,6 +16,7 @@ export default class LanguagePicker extends Toggle { if (languages === undefined || languages.length <= 1) { + super(undefined,undefined,undefined) return undefined; } diff --git a/UI/NewPoint/ConfirmLocationOfPoint.ts b/UI/NewPoint/ConfirmLocationOfPoint.ts index d2eb324f5..88671d310 100644 --- a/UI/NewPoint/ConfirmLocationOfPoint.ts +++ b/UI/NewPoint/ConfirmLocationOfPoint.ts @@ -15,12 +15,16 @@ import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"; import BaseLayer from "../../Models/BaseLayer"; import Img from "../Base/Img"; import Title from "../Base/Title"; +import {GlobalFilter} from "../../Logic/State/MapState"; +import {VariableUiElement} from "../Base/VariableUIElement"; +import {Tag} from "../../Logic/Tags/Tag"; export default class ConfirmLocationOfPoint extends Combine { constructor( state: { + globalFilters: UIEventSource; featureSwitchIsTesting: UIEventSource; osmConnection: OsmConnection, featurePipeline: FeaturePipeline, @@ -38,8 +42,8 @@ export default class ConfirmLocationOfPoint extends Combine { let preciseInput: LocationInput = undefined if (preset.preciseInput !== undefined) { // Create location input - - + + // We uncouple the event source const zloc = {...loc, zoom: 19} const locationSrc = new UIEventSource(zloc); @@ -106,7 +110,11 @@ export default class ConfirmLocationOfPoint extends Combine { ).SetClass("font-bold break-words") .onClick(() => { console.log("The confirmLocationPanel - precise input yielded ", preciseInput?.GetValue()?.data) - confirm(preset.tags, preciseInput?.GetValue()?.data ?? loc, preciseInput?.snappedOnto?.data?.properties?.id); + const globalFilterTagsToAdd: Tag[][] = state.globalFilters.data.filter(gf => gf.onNewPoint !== undefined) + .map(gf => gf.onNewPoint.tags) + const globalTags : Tag[] = [].concat(...globalFilterTagsToAdd) + console.log("Global tags to add are: ", globalTags) + confirm([...preset.tags, ...globalTags], preciseInput?.GetValue()?.data ?? loc, preciseInput?.snappedOnto?.data?.properties?.id); }); if (preciseInput !== undefined) { @@ -126,7 +134,7 @@ export default class ConfirmLocationOfPoint extends Combine { .onClick(() => filterViewIsOpened.setData(true)) - const openLayerOrConfirm = new Toggle( + let openLayerOrConfirm = new Toggle( confirmButton, openLayerControl, preset.layerToAddTo.isDisplayed @@ -152,6 +160,29 @@ export default class ConfirmLocationOfPoint extends Combine { closePopup() }) + + // We assume the number of global filters won't change during the run of the program + for (let i = 0; i < state.globalFilters.data.length; i++) { + const hasBeenCheckedOf = new UIEventSource(false); + + const filterConfirmPanel = new VariableUiElement( + state.globalFilters.map(gfs => { + const gf = gfs[i] + const confirm = gf.onNewPoint?.confirmAddNew?.Subs({preset: preset.title}) + return new Combine([ + gf.onNewPoint?.safetyCheck, + new SubtleButton(Svg.confirm_svg(), confirm).onClick(() => hasBeenCheckedOf.setData(true)) + ]) + } + )) + + + openLayerOrConfirm = new Toggle( + openLayerOrConfirm, filterConfirmPanel, + state.globalFilters.map(f => hasBeenCheckedOf.data || f[i]?.onNewPoint === undefined, [hasBeenCheckedOf]) + ) + } + const hasActiveFilter = preset.layerToAddTo.appliedFilters .map(appliedFilters => { const activeFilters = Array.from(appliedFilters.values()).filter(f => f?.currentFilter !== undefined); @@ -171,16 +202,16 @@ export default class ConfirmLocationOfPoint extends Combine { Translations.t.general.cancel ).onClick(cancel) - - let examples : BaseUIElement = undefined; - if(preset.exampleImages !== undefined && preset.exampleImages.length > 0){ + + let examples: BaseUIElement = undefined; + 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 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 rounded-lg"))).SetClass("flex flex-wrap items-stretch") ]) - + } - + super([ new Toggle( Translations.t.general.testing.SetClass("alert"), diff --git a/UI/Popup/FeatureInfoBox.ts b/UI/Popup/FeatureInfoBox.ts index a277a7d7f..f3be3a279 100644 --- a/UI/Popup/FeatureInfoBox.ts +++ b/UI/Popup/FeatureInfoBox.ts @@ -46,7 +46,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen { } - private static GenerateTitleBar(tags: UIEventSource, + public static GenerateTitleBar(tags: UIEventSource, layerConfig: LayerConfig, state: {}): BaseUIElement { const title = new TagRenderingAnswer(tags, layerConfig.title ?? new TagRenderingConfig("POI"), state) @@ -64,7 +64,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen { ]) } - private static GenerateContent(tags: UIEventSource, + public static GenerateContent(tags: UIEventSource, layerConfig: LayerConfig, state: FeaturePipelineState): BaseUIElement { let questionBoxes: Map = new Map(); diff --git a/UI/SpecialVisualizations.ts b/UI/SpecialVisualizations.ts index abe1ee59b..a2c929107 100644 --- a/UI/SpecialVisualizations.ts +++ b/UI/SpecialVisualizations.ts @@ -58,6 +58,8 @@ import {MapillaryLink} from "./BigComponents/MapillaryLink"; import {CheckBox} from "./Input/Checkboxes"; import Slider from "./Input/Slider"; import List from "./Base/List"; +import StatisticsPanel from "./BigComponents/StatisticsPanel"; +import { OsmFeature } from "../Models/OsmFeature"; export interface SpecialVisualization { funcName: string, @@ -208,7 +210,7 @@ class NearbyImageVis implements SpecialVisualization { const nearby = new Lazy(() => { const towardsCenter = new CheckBox(t.onlyTowards, false) - const radiusValue = state?.osmConnection?.GetPreference("nearby-images-radius","300").sync(s => Number(s), [], i => ""+i) ?? new UIEventSource(300); + const radiusValue = state?.osmConnection?.GetPreference("nearby-images-radius", "300").sync(s => Number(s), [], i => "" + i) ?? new UIEventSource(300); const radius = new Slider(25, 500, { value: @@ -286,7 +288,13 @@ export default class SpecialVisualizations { public static specialVisualizations: SpecialVisualization[] = SpecialVisualizations.init() - public static DocumentationFor(viz: SpecialVisualization): BaseUIElement { + public static DocumentationFor(viz: string | SpecialVisualization): BaseUIElement | undefined { + if (typeof viz === "string") { + viz = SpecialVisualizations.specialVisualizations.find(sv => sv.funcName === viz) + } + if(viz === undefined){ + return undefined; + } return new Combine( [ new Title(viz.funcName, 3), @@ -749,8 +757,8 @@ export default class SpecialVisualizations { }, { funcName: "canonical", - docs: "Converts a short, canonical value into the long, translated text", - example: "{canonical(length)} will give 42 metre (in french)", + docs: "Converts a short, canonical value into the long, translated text including the unit. This only works if a `unit` is defined for the corresponding value. The unit specification will be included in the text. ", + example: "If the object has `length=42`, then `{canonical(length)}` will be shown as **42 meter** (in english), **42 metre** (in french), ...", args: [{ name: "key", doc: "The key of the tag to give the canonical text for", @@ -1125,6 +1133,35 @@ export default class SpecialVisualizations { return details; }, docs: "Show details of a MapRoulette task" + }, + { + funcName: "statistics", + docs: "Show general statistics about the elements currently in view. Intended to use on the `current_view`-layer", + args: [], + constr : (state, tagsSource, args, guiState) => { + const elementsInview = new UIEventSource<{ distance: number, center: [number, number], element: OsmFeature, layer: LayerConfig }[]>([]); + function update() { + const mapCenter = <[number,number]> [state.locationControl.data.lon, state.locationControl.data.lon] + const bbox = state.currentBounds.data + const elements = state.featurePipeline.getAllVisibleElementsWithmeta(bbox).map(el => { + const distance = GeoOperations.distanceBetween(el.center, mapCenter) + return {...el, distance } + }) + elements.sort((e0, e1) => e0.distance - e1.distance) + elementsInview.setData(elements) + + } + + state.currentBounds.addCallbackAndRun(update) + state.featurePipeline.newDataLoadedSignal.addCallback(update); + state.filteredLayers.addCallbackAndRun(fls => { + for (const fl of fls) { + fl.isDisplayed.addCallback(update) + fl.appliedFilters.addCallback(update) + } + }) + return new StatisticsPanel(elementsInview, state) + } } ] diff --git a/UI/i18n/Translation.ts b/UI/i18n/Translation.ts index e9988090a..eef10b59e 100644 --- a/UI/i18n/Translation.ts +++ b/UI/i18n/Translation.ts @@ -317,6 +317,19 @@ export class TypedTranslation extends Translation { return Utils.SubstituteKeys(template, text, lang); }, context) } - - + + + PartialSubs(text: Partial & Record): TypedTranslation> { + const newTranslations : Record = {} + for (const lang in this.translations) { + const template = this.translations[lang] + if(lang === "_context"){ + newTranslations[lang] = template + continue + } + newTranslations[lang] = Utils.SubstituteKeys(template, text, lang) + } + + return new TypedTranslation>(newTranslations, this.context) + } } \ No newline at end of file diff --git a/Utils.ts b/Utils.ts index 0da5a205e..370e76f5f 100644 --- a/Utils.ts +++ b/Utils.ts @@ -1031,5 +1031,13 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be private static colorDiff(c0: { r: number, g: number, b: number }, c1: { r: number, g: number, b: number }) { return Math.abs(c0.r - c1.r) + Math.abs(c0.g - c1.g) + Math.abs(c0.b - c1.b); } + + static toIdRecord(ts: T[]): Record { + const result : Record = {} + for (const t of ts) { + result[t.id] = t + } + return result + } } diff --git a/assets/contributors.json b/assets/contributors.json index dedd7be6a..521a49ef4 100644 --- a/assets/contributors.json +++ b/assets/contributors.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 4165, + "commits": 4263, "contributor": "Pieter Vander Vennet" }, { - "commits": 119, + "commits": 127, "contributor": "Robin van der Linde" }, { @@ -20,6 +20,10 @@ "commits": 33, "contributor": "Christian Neumann" }, + { + "commits": 31, + "contributor": "Andrews Leruth" + }, { "commits": 31, "contributor": "Pieter Fiers" @@ -37,9 +41,13 @@ "contributor": "Ward" }, { - "commits": 20, + "commits": 22, "contributor": "riQQ" }, + { + "commits": 21, + "contributor": "AlexanderRebai" + }, { "commits": 19, "contributor": "Niels Elgaard Larsen" @@ -64,10 +72,6 @@ "commits": 17, "contributor": "pgm-chardelv1" }, - { - "commits": 15, - "contributor": "Andrews Leruth" - }, { "commits": 15, "contributor": "ToastHawaii" @@ -92,10 +96,6 @@ "commits": 10, "contributor": "LiamSimons" }, - { - "commits": 9, - "contributor": "AlexanderRebai" - }, { "commits": 9, "contributor": "RobJN" @@ -196,6 +196,14 @@ "commits": 2, "contributor": "Stanislas Gueniffey" }, + { + "commits": 1, + "contributor": "HispanicMojitos" + }, + { + "commits": 1, + "contributor": "kaipankrath" + }, { "commits": 1, "contributor": "bxl-forever" diff --git a/assets/layers/bike_shop/bike_shop.json b/assets/layers/bike_shop/bike_shop.json index c10981799..f8bc13c75 100644 --- a/assets/layers/bike_shop/bike_shop.json +++ b/assets/layers/bike_shop/bike_shop.json @@ -282,70 +282,9 @@ }, "id": "bike_shop-name" }, - { - "question": { - "en": "What is the website of {name}?", - "nl": "Wat is de website van {name}?", - "fr": "Quel est le site web de {name} ?", - "gl": "Cal é a páxina web de {name}?", - "it": "Qual è il sito web di {name}?", - "ru": "Какой сайт у {name}?", - "id": "URL {name} apa?", - "de": "Wie lautet die Webseite von {name}?", - "pt_BR": "Qual o website de {name}?", - "pt": "Qual o website de {name}?", - "es": "¿Cual es el sitio web de {name}?", - "da": "Hvad er webstedet for {name}?" - }, - "render": "{website}", - "freeform": { - "key": "website", - "type": "url" - }, - "id": "bike_shop-website" - }, - { - "question": { - "en": "What is the phone number of {name}?", - "nl": "Wat is het telefoonnummer van {name}?", - "fr": "Quel est le numéro de téléphone de {name} ?", - "gl": "Cal é o número de teléfono de {name}?", - "it": "Qual è il numero di telefono di {name}?", - "ru": "Какой номер телефона у {name}?", - "de": "Wie lautet die Telefonnummer von {name}?", - "pt_BR": "Qual o número de telefone de {name}?", - "pt": "Qual é o número de telefone de {name}?", - "es": "¿Cual es el número de teléfono de {name}?", - "da": "Hvad er telefonnummeret på {name}?" - }, - "render": "{phone}", - "freeform": { - "key": "phone", - "type": "phone" - }, - "id": "bike_shop-phone" - }, - { - "question": { - "en": "What is the email address of {name}?", - "nl": "Wat is het email-adres van {name}?", - "fr": "Quelle est l'adresse électronique de {name} ?", - "gl": "Cal é o enderezo de correo electrónico de {name}?", - "it": "Qual è l’indirizzo email di {name}?", - "ru": "Какой адрес электронной почты у {name}?", - "de": "Wie lautet die E-Mail-Adresse von {name}?", - "pt_BR": "Qual o endereço de email de {name}?", - "pt": "Qual o endereço de email de {name}?", - "es": "¿Cual es la dirección de correo electrónico de {name}?", - "da": "Hvad er e-mailadressen på {name}?" - }, - "render": "{email}", - "freeform": { - "key": "email", - "type": "email" - }, - "id": "bike_shop-email" - }, + "website", + "phone", + "email", "opening_hours", { "render": { diff --git a/assets/layers/cafe_pub/cafe_pub.json b/assets/layers/cafe_pub/cafe_pub.json index 5a5ff2c9f..4c38b1477 100644 --- a/assets/layers/cafe_pub/cafe_pub.json +++ b/assets/layers/cafe_pub/cafe_pub.json @@ -156,6 +156,7 @@ }, "tagRenderings": [ "images", + "level", { "question": { "nl": "Wat is de naam van dit café?", @@ -272,7 +273,7 @@ { "question": { "en": "Opened now", - "nl": "Nu geopened", + "nl": "Nu geopend", "de": "Derzeit geöffnet", "fr": "Ouvert maintenant", "hu": "Most nyitva van", diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 1cd0200fa..4d047c974 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -4162,6 +4162,7 @@ "then": { "en": "This charging station works", "nl": "Dit oplaadpunt werkt", + "ca": "Aquesta estació de càrrega funciona", "de": "Die Station ist in Betrieb", "es": "Esta estación de carga funciona" } diff --git a/assets/layers/cycleways_and_roads/cycleways_and_roads.json b/assets/layers/cycleways_and_roads/cycleways_and_roads.json index 38ad7f365..05a14bc26 100644 --- a/assets/layers/cycleways_and_roads/cycleways_and_roads.json +++ b/assets/layers/cycleways_and_roads/cycleways_and_roads.json @@ -184,7 +184,8 @@ "en": "What kind of cycleway is here?", "nl": "Wat voor fietspad is hier?", "de": "Was für ein Radweg ist hier?", - "es": "¿Qué tipo de carril bici hay aquí?" + "es": "¿Qué tipo de carril bici hay aquí?", + "fr": "Quel type de piste cyclable il y a ici ?" }, "condition": { "and": [ @@ -200,7 +201,8 @@ "en": "There is a shared lane", "nl": "Er is een fietssuggestiestrook", "de": "Es gibt eine geteilte Fahrspur", - "es": "Hay un carril compartido" + "es": "Hay un carril compartido", + "fr": "Il y a une voie partagée" } }, { @@ -209,7 +211,8 @@ "en": "There is a lane next to the road (separated with paint)", "nl": "Er is een fietspad aangrenzend aan de weg (gescheiden met verf)", "de": "Es gibt eine Spur neben der Straße (getrennt durch eine Straßenmarkierung)", - "es": "Hay un carril a lado de la carretera (separado con pintura)" + "es": "Hay un carril a lado de la carretera (separado con pintura)", + "fr": "Il y a une piste cyclable separée de la route" } }, { @@ -218,7 +221,8 @@ "en": "There is a track, but no cycleway drawn separately from this road on the map.", "nl": "Er is een fietspad (los van de weg), maar geen fietspad afzonderlijk getekend naast deze weg.", "de": "Es gibt einen Weg, aber keinen Radweg, der auf der Karte getrennt von dieser Straße eingezeichnet ist.", - "es": "Hay una pista, pero no hay un carril bici dibujado separado de esta carretera en el mapa." + "es": "Hay una pista, pero no hay un carril bici dibujado separado de esta carretera en el mapa.", + "fr": "Il y a une piste cyclable, mais elle n'est pas separée de la route sur la carte." } }, { @@ -227,7 +231,8 @@ "en": "There is a separately drawn cycleway", "nl": "Er is een apart getekend fietspad.", "de": "Hier ist ein getrennter Radweg vorhanden", - "es": "Hay un carril bici dibujado por separado" + "es": "Hay un carril bici dibujado por separado", + "fr": "Il y a une piste cyclable dessinée séparement" } }, { @@ -236,7 +241,8 @@ "en": "There is no cycleway", "nl": "Er is geen fietspad aanwezig", "de": "Es gibt keinen Radweg", - "es": "No hay carril bici" + "es": "No hay carril bici", + "fr": "Il n'y a pas de piste cyclable" }, "hideInAnswer": "cycleway=opposite" }, @@ -246,7 +252,8 @@ "en": "There is no cycleway", "nl": "Er is geen fietspad aanwezig", "de": "Es gibt keinen Radweg", - "es": "No hay carril bici" + "es": "No hay carril bici", + "fr": "Il n'y a pas de piste cyclable" }, "hideInAnswer": "cycleway!=opposite", "addExtraTags": [ @@ -314,7 +321,8 @@ "en": "Is this a cyclestreet?", "nl": "Is dit een fietsstraat?", "de": "Ist das eine Fahrradstraße?", - "es": "¿Esta es una ciclocalle?" + "es": "¿Esta es una ciclocalle?", + "fr": "Est-ce une route cyclable?" }, "condition": { "and": [ @@ -330,7 +338,8 @@ "en": "This is a cyclestreet, and a 30km/h zone.", "nl": "Dit is een fietsstraat, en dus een 30km/h zone", "de": "Dies ist eine Fahrradstraße in einer 30km/h Zone.", - "es": "Esta es una ciclocalle, y una zona 30km/h." + "es": "Esta es una ciclocalle, y una zona 30km/h.", + "fr": "Ceci est une route cyclable, et une zone à 30 km/h" }, "addExtraTags": [ "overtaking:motor_vehicle=no", @@ -344,7 +353,8 @@ "en": "This is a cyclestreet", "nl": "Dit is een fietsstraat", "de": "Dies ist eine Fahrradstraße", - "es": "Esta es una ciclocalle" + "es": "Esta es una ciclocalle", + "fr": "Ceci est une route cyclable" }, "hideInAnswer": "_country=be" }, @@ -354,7 +364,8 @@ "en": "This is not a cyclestreet.", "nl": "Dit is geen fietsstraat", "de": "Dies ist keine Fahrradstraße.", - "es": "Esta no es una ciclocalle." + "es": "Esta no es una ciclocalle.", + "fr": "Ceci n'est pas une route cyclable" }, "addExtraTags": [ "overtaking:motor_vehicle=" @@ -369,7 +380,8 @@ "nl": "De maximumsnelheid op deze weg is {maxspeed} km/u", "de": "Die Höchstgeschwindigkeit auf dieser Straße beträgt {maxspeed} km/h", "id": "Kecepatan maksimum di jalan ini adalah {maxspeed} km/jam", - "es": "La velocidad máxima en esta carretera es de {maxspeed} km/h" + "es": "La velocidad máxima en esta carretera es de {maxspeed} km/h", + "fr": "La vitesse maximum dans cette rue est de {maxspeed} km/h" }, "freeform": { "key": "maxspeed", @@ -389,7 +401,8 @@ "en": "The maximum speed is 20 km/h", "nl": "De maximumsnelheid is 20 km/u", "de": "Die Höchstgeschwindigkeit ist 20 km/h", - "es": "La velocidad máxima es de 20km/h" + "es": "La velocidad máxima es de 20km/h", + "fr": "La vitesse maximum est de 20 km/h" } }, { @@ -398,7 +411,8 @@ "en": "The maximum speed is 30 km/h", "nl": "De maximumsnelheid is 30 km/u", "de": "Die Höchstgeschwindigkeit ist 30 km/h", - "es": "La velocidad máxima es de 30km/h" + "es": "La velocidad máxima es de 30km/h", + "fr": "La vitesse maximum est de 30 km/h" } }, { @@ -407,7 +421,8 @@ "en": "The maximum speed is 50 km/h", "nl": "De maximumsnelheid is 50 km/u", "de": "Die Höchstgeschwindigkeit ist 50 km/h", - "es": "La velocidad máxima es de 50km/h" + "es": "La velocidad máxima es de 50km/h", + "fr": "La vitesse maximum est de 50 km/h" } }, { @@ -417,7 +432,8 @@ "nl": "De maximumsnelheid is 70 km/u", "de": "Die Höchstgeschwindigkeit ist 70 km/h", "id": "Kecepatan maksimum 70 km/jam", - "es": "La velocidad máxima es de 70km/h" + "es": "La velocidad máxima es de 70km/h", + "fr": "La vitesse maximum est de 70 km/h" } }, { @@ -427,7 +443,8 @@ "nl": "De maximumsnelheid is 90 km/u", "de": "Die Höchstgeschwindigkeit ist 90 km/h", "id": "Kecepatan maksimum 90 km/jam", - "es": "La velocidad máxima es de 90km/h" + "es": "La velocidad máxima es de 90km/h", + "fr": "La vitesse maximum est de 90 km/h" } } ], @@ -436,7 +453,8 @@ "nl": "Wat is de maximumsnelheid in deze straat?", "de": "Was ist die Höchstgeschwindigkeit auf dieser Straße?", "id": "Berapa kecepatan maksimum di jalan ini?", - "es": "¿Cual es la velocidad máxima en esta calle?" + "es": "¿Cual es la velocidad máxima en esta calle?", + "fr": "Quelle est la vitesse maximum dans cette rue ?" }, "id": "Maxspeed (for road)" }, @@ -445,7 +463,8 @@ "en": "This cyleway is made of {cycleway:surface}", "nl": "Dit fietspad is gemaakt van {cycleway:surface}", "de": "Der Radweg ist aus {cycleway:surface}", - "es": "Este carril bici está hecho de {cycleway:surface}" + "es": "Este carril bici está hecho de {cycleway:surface}", + "fr": "Cette piste cyclable est faite de {cycleway:surface}" }, "freeform": { "key": "cycleway:surface" @@ -464,7 +483,8 @@ "en": "This cycleway is unpaved", "nl": "Dit fietspad is onverhard", "de": "Dieser Radweg hat keinen festen Belag", - "es": "Este carril bici no está pavimentado" + "es": "Este carril bici no está pavimentado", + "fr": "Cette piste cyclable n'est pas goudronnée" }, "hideInAnswer": true }, @@ -474,7 +494,8 @@ "en": "This cycleway is paved", "nl": "Dit fietspad is geplaveid", "de": "Dieser Radweg hat einen festen Belag", - "es": "Este carril bici está pavimentado" + "es": "Este carril bici está pavimentado", + "fr": "Cette piste cyclable est goudronée" }, "hideInAnswer": true }, @@ -484,7 +505,8 @@ "en": "This cycleway is made of asphalt", "nl": "Dit fietspad is gemaakt van asfalt", "de": "Der Radweg ist aus Asphalt", - "es": "Este carril bici está hecho de asfalto" + "es": "Este carril bici está hecho de asfalto", + "fr": "Cette piste cyclable est asphaltée" } }, { @@ -493,7 +515,8 @@ "en": "This cycleway is made of smooth paving stones", "nl": "Dit fietspad is gemaakt van straatstenen", "de": "Dieser Fahrradweg besteht aus ebenen Pflastersteinen", - "es": "Este carril bici está hecho de piedras de pavimento suaves" + "es": "Este carril bici está hecho de piedras de pavimento suaves", + "fr": "Cette piste cyclable est faite de petits pavés" } }, { @@ -502,7 +525,8 @@ "en": "This cycleway is made of concrete", "nl": "Dit fietspad is gemaakt van beton", "de": "Der Radweg ist aus Beton", - "es": "Este carril bici está hecho de hormigón" + "es": "Este carril bici está hecho de hormigón", + "fr": "Cette piste cyclable est bétonée" } }, { @@ -510,7 +534,8 @@ "then": { "en": "This cycleway is made of cobblestone (unhewn or sett)", "nl": "Dit fietspad is gemaakt van kasseien (natuurlijk of verwerkt)", - "de": "Dieser Radweg besteht aus Kopfsteinpflaster" + "de": "Dieser Radweg besteht aus Kopfsteinpflaster", + "fr": "Cette piste cyclable est faite de pavés (taillé ou non)" }, "hideInAnswer": true }, @@ -519,7 +544,8 @@ "then": { "en": "This cycleway is made of raw, natural cobblestone", "nl": "Dit fietspad is gemaakt van ruwe, natuurlijke kasseien", - "de": "Dieser Fahrradweg besteht aus unregelmäßigem, unbehauenem Kopfsteinpflaster" + "de": "Dieser Fahrradweg besteht aus unregelmäßigem, unbehauenem Kopfsteinpflaster", + "fr": "Cette piste cyclable est en pavés bruts et naturels" } }, { @@ -527,7 +553,8 @@ "then": { "en": "This cycleway is made of flat, square cobblestone", "nl": "Dit fietspad is gemaakt van vlakke, rechthoekige kasseien", - "de": "Dieser Fahrradweg besteht aus regelmäßigem, behauenem Kopfsteinpflaster" + "de": "Dieser Fahrradweg besteht aus regelmäßigem, behauenem Kopfsteinpflaster", + "fr": "Cette piste cyclable est en pavés plats ou carrés" } }, { @@ -536,7 +563,8 @@ "en": "This cycleway is made of wood", "nl": "Dit fietspad is gemaakt van hout", "de": "Der Radweg ist aus Holz", - "es": "Este carril bici está hecho de madera" + "es": "Este carril bici está hecho de madera", + "fr": "Cette piste cyclable est faite en bois" } }, { @@ -545,7 +573,8 @@ "en": "This cycleway is made of gravel", "nl": "Dit fietspad is gemaakt van grind", "de": "Der Radweg ist aus Schotter", - "es": "Este carril bici está hecho de grava" + "es": "Este carril bici está hecho de grava", + "fr": "Cette piste cyclable est faite en graviers" } }, { @@ -554,7 +583,8 @@ "en": "This cycleway is made of fine gravel", "nl": "Dit fietspad is gemaakt van fijn grind", "de": "Dieser Radweg besteht aus feinem Schotter", - "es": "Este carril bici está hecho de gravilla" + "es": "Este carril bici está hecho de gravilla", + "fr": "Cette piste cyclable est faite en graviers fins" } }, { @@ -562,7 +592,8 @@ "then": { "en": "This cycleway is made of pebblestone", "nl": "Dit fietspad is gemaakt van kiezelsteentjes", - "de": "Der Radweg ist aus Kies" + "de": "Der Radweg ist aus Kies", + "fr": "Cette piste cyclable est en cailloux" } }, { @@ -571,7 +602,8 @@ "en": "This cycleway is made from raw ground", "nl": "Dit fietspad is gemaakt van aarde", "de": "Dieser Radweg besteht aus Rohboden", - "es": "Este carril bici está hecho de tierra natural" + "es": "Este carril bici está hecho de tierra natural", + "fr": "Cette piste cyclable est faite en sol brut" } } ], @@ -579,7 +611,8 @@ "en": "What is the surface of the cycleway made from?", "nl": "Waaruit is het oppervlak van het fietspad van gemaakt?", "de": "Was ist der Belag dieses Radwegs?", - "es": "¿De qué superficie está hecho este carril bici?" + "es": "¿De qué superficie está hecho este carril bici?", + "fr": "De quoi est faite la surface de la piste cyclable ?" }, "id": "Cycleway:surface" }, @@ -588,7 +621,8 @@ "en": "What is the smoothness of this cycleway?", "nl": "Wat is de kwaliteit van dit fietspad?", "de": "Wie eben ist dieser Radweg?", - "es": "¿Cual es la suavidad de este carril bici?" + "es": "¿Cual es la suavidad de este carril bici?", + "fr": "Quel est l'état de la piste cyclable ?" }, "condition": { "or": [ @@ -603,7 +637,8 @@ "then": { "en": "Usable for thin rollers: rollerblade, skateboard", "nl": "Geschikt voor fijne rollers: rollerblade, skateboard", - "de": "Geeignet für dünne Rollen: Rollerblades, Skateboard" + "de": "Geeignet für dünne Rollen: Rollerblades, Skateboard", + "fr": "Utilisable pour les patins: patins à roulettes, skateboard" } }, { @@ -611,7 +646,8 @@ "then": { "en": "Usable for thin wheels: racing bike", "nl": "Geschikt voor fijne wielen: racefiets", - "de": "Geeignet für dünne Reifen: Rennrad" + "de": "Geeignet für dünne Reifen: Rennrad", + "fr": "Utilisable pour les roues fines: vélo de course" } }, { @@ -620,7 +656,8 @@ "en": "Usable for normal wheels: city bike, wheelchair, scooter", "nl": "Geschikt voor normale wielen: stadsfiets, rolstoel, scooter", "de": "Geeignet für normale Reifen: Fahrrad, Rollstuhl, Scooter", - "es": "Utilizable para ruedas normales: bici de ciudad, sillas de ruedas, scooter" + "es": "Utilizable para ruedas normales: bici de ciudad, sillas de ruedas, scooter", + "fr": "Utilisable pour les roues traditionelles: vélo, chaise roulante, trotinettes" } }, { @@ -628,7 +665,8 @@ "then": { "en": "Usable for robust wheels: trekking bike, car, rickshaw", "nl": "Geschikt voor brede wielen: trekfiets, auto, rickshaw", - "de": "Geeignet für breite Reifen: Trekkingfahrrad, Auto, Rikscha" + "de": "Geeignet für breite Reifen: Trekkingfahrrad, Auto, Rikscha", + "fr": "Utilisable pour les roues robustes: VTT, voitures, pousse-pousse" } }, { @@ -636,7 +674,8 @@ "then": { "en": "Usable for vehicles with high clearance: light duty off-road vehicle", "nl": "Geschikt voor voertuigen met hoge banden: lichte terreinwagen", - "de": "Geeignet für Fahrzeuge mit großer Bodenfreiheit: leichte Geländewagen" + "de": "Geeignet für Fahrzeuge mit großer Bodenfreiheit: leichte Geländewagen", + "fr": "Utilisable pour les véhicules à dégagement élevé : véhicule tout-terrain léger" } }, { @@ -644,7 +683,8 @@ "then": { "en": "Usable for off-road vehicles: heavy duty off-road vehicle", "nl": "Geschikt voor terreinwagens: zware terreinwagen", - "de": "Geeignet für Geländefahrzeuge: schwerer Geländewagen" + "de": "Geeignet für Geländefahrzeuge: schwerer Geländewagen", + "fr": "Utilisable pour les véhicules tout-terrain : véhicule tout-terrain lourd" } }, { @@ -652,7 +692,8 @@ "then": { "en": "Usable for specialized off-road vehicles: tractor, ATV", "nl": "Geschikt voor gespecialiseerde terreinwagens: tractor, alleterreinwagen", - "de": "Geeignet für Geländefahrzeuge: Traktor, ATV" + "de": "Geeignet für Geländefahrzeuge: Traktor, ATV", + "fr": "Utilisable pour les véhicules hors route spécialisés : tracteur, véhicule 4x4" } }, { @@ -660,7 +701,8 @@ "then": { "en": "Impassable / No wheeled vehicle", "nl": "Niet geschikt voor voertuigen met wielen", - "de": "Unpassierbar / Keine bereiften Fahrzeuge" + "de": "Unpassierbar / Keine bereiften Fahrzeuge", + "fr": "Impasse / Aucun véhicule roulant" } } ], @@ -672,7 +714,8 @@ "nl": "Deze weg is gemaakt van {surface}", "de": "Der Radweg ist aus {surface}", "id": "Jalan ini terbuat dari {surface}", - "es": "Esta carretera está hecha de {surface}" + "es": "Esta carretera está hecha de {surface}", + "fr": "Cette route est faite de {surface}" }, "freeform": { "key": "surface" @@ -683,7 +726,8 @@ "then": { "en": "This cycleway is unhardened", "nl": "Dit fietspad is onverhard", - "de": "Dieser Radweg ist nicht befestigt" + "de": "Dieser Radweg ist nicht befestigt", + "fr": "Cette piste cycable est non durcie" }, "hideInAnswer": true }, @@ -694,7 +738,8 @@ "nl": "Dit fietspad is geplaveid", "de": "Dieser Radweg hat einen festen Belag", "id": "Jalur sepeda ini diaspal", - "es": "Este carril bici está pavimentado" + "es": "Este carril bici está pavimentado", + "fr": "Cette piste cyclable est pavée" }, "hideInAnswer": true }, @@ -705,7 +750,8 @@ "nl": "Dit fietspad is gemaakt van asfalt", "de": "Der Radweg ist aus Asphalt", "id": "Jalur sepeda ini terbuat dari aspal", - "es": "Este carril bici está hecho de asfalto" + "es": "Este carril bici está hecho de asfalto", + "fr": "Cette piste cyclable est asphaltée" } }, { @@ -714,7 +760,8 @@ "en": "This cycleway is made of smooth paving stones", "nl": "Dit fietspad is gemaakt van straatstenen", "de": "Dieser Fahrradweg besteht aus ebenen Pflastersteinen", - "id": "Jalur sepeda ini terbuat dari batu paving halus" + "id": "Jalur sepeda ini terbuat dari batu paving halus", + "fr": "Cette piste cyclable est faite en pavés lisses" } }, { @@ -724,7 +771,8 @@ "nl": "Dit fietspad is gemaakt van beton", "de": "Der Radweg ist aus Beton", "id": "Jalur sepeda ini terbuat dari beton", - "es": "Este carril bici está hecho de hormigón" + "es": "Este carril bici está hecho de hormigón", + "fr": "Cette piste cyclable est betonée" } }, { @@ -733,7 +781,8 @@ "en": "This cycleway is made of cobblestone (unhewn or sett)", "nl": "Dit fietspad is gemaakt van kasseien (natuurlijk of verwerkt)", "de": "Dieser Radweg besteht aus Kopfsteinpflaster", - "id": "Jalur sepeda ini terbuat dari cobblestone (unhewn atau sett)" + "id": "Jalur sepeda ini terbuat dari cobblestone (unhewn atau sett)", + "fr": "Cette piste cyclable est faite de pavés (taillé ou non)" }, "hideInAnswer": true }, @@ -743,7 +792,8 @@ "en": "This cycleway is made of raw, natural cobblestone", "nl": "Dit fietspad is gemaakt van ruwe, natuurlijke kasseien", "de": "Dieser Fahrradweg besteht aus unregelmäßigem, unbehauenem Kopfsteinpflaster", - "id": "Jalur sepeda ini terbuat dari batu bulat alami" + "id": "Jalur sepeda ini terbuat dari batu bulat alami", + "fr": "Cette piste cyclable est en pavés bruts et naturels" } }, { @@ -751,7 +801,8 @@ "then": { "en": "This cycleway is made of flat, square cobblestone", "nl": "Dit fietspad is gemaakt van vlakke, rechthoekige kasseien", - "de": "Dieser Fahrradweg besteht aus regelmäßigem, behauenem Kopfsteinpflaster" + "de": "Dieser Fahrradweg besteht aus regelmäßigem, behauenem Kopfsteinpflaster", + "fr": "Cette piste cyclable est en pavés plats ou carrés" } }, { @@ -761,7 +812,8 @@ "nl": "Dit fietspad is gemaakt van hout", "de": "Der Radweg ist aus Holz", "id": "Jalur sepeda ini terbuat dari kayu", - "es": "Este carril bici está hecho de madera" + "es": "Este carril bici está hecho de madera", + "fr": "Cette piste cyclable est faite en bois" } }, { @@ -771,7 +823,8 @@ "nl": "Dit fietspad is gemaakt van grind", "de": "Der Radweg ist aus Schotter", "id": "Jalur sepeda ini terbuat dari kerikil", - "es": "Este carril bici está hecho de grava" + "es": "Este carril bici está hecho de grava", + "fr": "Cette piste cyclable est faite en graviers" } }, { @@ -781,7 +834,8 @@ "nl": "Dit fietspad is gemaakt van fijn grind", "de": "Dieser Radweg besteht aus feinem Schotter", "id": "Jalur sepeda ini terbuat dari kerikil halus", - "es": "Este carril bici está hecho de gravilla" + "es": "Este carril bici está hecho de gravilla", + "fr": "Cette piste cyclable est faite en graviers fins" } }, { @@ -790,7 +844,8 @@ "en": "This cycleway is made of pebblestone", "nl": "Dit fietspad is gemaakt van kiezelsteentjes", "de": "Der Radweg ist aus Kies", - "id": "Jalur sepeda ini terbuat dari batu kerikil" + "id": "Jalur sepeda ini terbuat dari batu kerikil", + "fr": "Cette piste cyclable est en cailloux" } }, { @@ -799,7 +854,8 @@ "en": "This cycleway is made from raw ground", "nl": "Dit fietspad is gemaakt van aarde", "de": "Dieser Radweg besteht aus Rohboden", - "id": "Jalur sepeda ini terbuat dari tanah alami" + "id": "Jalur sepeda ini terbuat dari tanah alami", + "fr": "Cette piste cyclable est faite en sol brut" } } ], @@ -808,7 +864,8 @@ "nl": "Waaruit is het oppervlak van de straat gemaakt?", "de": "Was ist der Belag dieser Straße?", "id": "Permukaan jalannya terbuat dari apa?", - "es": "¿De qué esta hecha la superficie de esta calle?" + "es": "¿De qué esta hecha la superficie de esta calle?", + "fr": "De quel materiel est faite cette rue ?" }, "id": "Surface of the road" }, @@ -832,7 +889,8 @@ "en": "Usable for thin rollers: rollerblade, skateboard", "de": "Geeignet für dünne Rollen: Rollerblades, Skateboard", "id": "Dapat digunakan untuk roller tipis: rollerblade, skateboard", - "nl": "Bruikbaar voor kleine, harde wielen: rollerblade, skateboard" + "nl": "Bruikbaar voor kleine, harde wielen: rollerblade, skateboard", + "fr": "Utilisable pour les patins: patins à roulettes, skateboard" } }, { @@ -1548,6 +1606,7 @@ "en": "All infrastructure that someone can cycle over, accompanied with questions about this infrastructure", "nl": "Alle infrastructuur waar je over kunt fietsen, met vragen over die infrastructuur", "de": "Infrastruktur, die man mit dem Fahrrad befahren kann, begleitet von diesbezüglichen Fragen", - "es": "Toda la infraestructura sobre la que alguien puede ir en bici, acompañado de preguntas sobre esta infraestructura\"" + "es": "Toda la infraestructura sobre la que alguien puede ir en bici, acompañado de preguntas sobre esta infraestructura\"", + "fr": "Toutes les infrastructures sur lesquelles quelqu'un peut rouler, accompagnées de questions sur cette infrastructure" } } \ No newline at end of file diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json index eefedaf8d..ac7361341 100644 --- a/assets/layers/doctors/doctors.json +++ b/assets/layers/doctors/doctors.json @@ -1,10 +1,14 @@ { "id": "doctors", "name": { - "en": "doctors" + "en": "Doctors", + "de": "Ärzte", + "nl": "Dokters" }, "description": { - "en": "This layer shows doctor offices, dentists and other healthcare facilities" + "en": "This layer shows doctor offices, dentists and other healthcare facilities", + "de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen", + "nl": "Deze laag toont dokterspraktijken, tandartsen en andere gezondheidszorgfaciliteiten" }, "source": { "osmTags": { @@ -17,7 +21,9 @@ }, "title": { "render": { - "en": "Doctors Office {name}" + "en": "Doctors Office {name}", + "de": "Arztpraxis {name}", + "nl": "Dokterspraktijk {name}" }, "mappings": [ { @@ -43,10 +49,14 @@ "website", { "question": { - "en": "What is the name of this doctors place?" + "en": "What is the name of this doctors place?", + "de": "Wie heißt diese Arztpraxis?", + "nl": "Wat is de naam van deze dokterspraktijk?" }, "render": { - "en": "This doctors place is called {name}" + "en": "This doctors place is called {name}", + "de": "Diese Arztpraxis heißt {name}", + "nl": "Deze dokterspraktijk heet {name}" }, "freeform": { "key": "name" @@ -57,10 +67,14 @@ "condition": "amenity=doctors", "id": "specialty", "render": { - "en": "This doctor is specialized in {healthcare:speciality}" + "en": "This doctor is specialized in {healthcare:speciality}", + "de": "Dieser Arzt ist spezialisiert auf {healthcare:speciality}", + "nl": "Deze dokter is gespecialiseerd in {healthcare:speciality}" }, "question": { - "en": "What is this doctor specialized in?" + "en": "What is this doctor specialized in?", + "de": "Worauf ist dieser Arzt spezialisiert?", + "nl": "Waar is deze dokter in gespecialiseerd?" }, "freeform": { "key": "healthcare:speciality" @@ -69,25 +83,33 @@ { "if": "healthcare:speciality=general", "then": { - "en": "This is a general practitioner" + "en": "This is a general practitioner", + "de": "Dies ist ein Allgemeinmediziner", + "nl": "Dit is een huisarts" } }, { "if": "healthcare:speciality=gynaecology", "then": { - "en": "This is a gynaecologist" + "en": "This is a gynaecologist", + "de": "Dies ist ein Gynäkologe", + "nl": "Dit is een gynaecoloog" } }, { "if": "healthcare:speciality=psychiatry", "then": { - "en": "This is a psychiatrist" + "en": "This is a psychiatrist", + "de": "Dies ist ein Psychiater", + "nl": "Dit is een psychiater" } }, { "if": "healthcare:speciality=paediatrics", "then": { - "en": "This is a paediatrician" + "en": "This is a paediatrician", + "de": "Dies ist ein Kinderarzt", + "nl": "Dit is een kinderarts" } } ] @@ -96,7 +118,9 @@ "presets": [ { "title": { - "en": "a doctors office" + "en": "a doctors office", + "de": "eine Arztpraxis", + "nl": "een dokterspraktijk" }, "tags": [ "amenity=doctors" @@ -104,7 +128,9 @@ }, { "title": { - "en": "a dentists office" + "en": "a dentists office", + "de": "eine Zahnarztpraxis", + "nl": "een tandartspraktijk" }, "tags": [ "amenity=dentist" @@ -112,7 +138,9 @@ }, { "title": { - "en": "a physiotherapists office" + "en": "a physiotherapists office", + "de": "Praxis eines Physiotherapeuten", + "nl": "een fysiotherapeutenpraktijk" }, "tags": [ "healthcare=physiotherapist" @@ -125,7 +153,9 @@ "options": [ { "question": { - "en": "Opened now" + "en": "Opened now", + "de": "Jetzt geöffnet", + "nl": "Nu geopend" }, "osmTags": "_isOpen=yes" } diff --git a/assets/layers/drinking_water/drinking_water.json b/assets/layers/drinking_water/drinking_water.json index b494885ac..795e06d65 100644 --- a/assets/layers/drinking_water/drinking_water.json +++ b/assets/layers/drinking_water/drinking_water.json @@ -31,7 +31,13 @@ "source": { "osmTags": { "and": [ - "amenity=drinking_water", + { + "or": [ + "amenity=drinking_water", + "drinking_water=yes" + ] + }, + "man_made!=reservoir_covered", "access!=permissive", "access!=private" ] diff --git a/assets/layers/elevator/elevator.json b/assets/layers/elevator/elevator.json index 2db635ffd..dc8f6a069 100644 --- a/assets/layers/elevator/elevator.json +++ b/assets/layers/elevator/elevator.json @@ -7,12 +7,54 @@ "osmTags": "highway=elevator" }, "minzoom": 13, + "description": { + "en": "This layer show elevators and asks for operational status and elevator dimensions. Useful for wheelchair accessibility information" + }, + "title": { + "en": "Elevator" + }, "tagRenderings": [ "images", + "multilevels", + { + "id": "operational_status", + "question": { + "en": "Does this elevator work?" + }, + "mappings": [ + { + "if": "operational_status=broken", + "then": { + "en": "This elevator is broken" + }, + "icon": "close:red" + }, + { + "if": "operational_status=closed", + "then": { + "en": "This elevator is closed e.g. because renovation works are going on" + }, + "icon": "invalid:red" + }, + { + "if": "operational_status=ok", + "then": { + "en": "This elevator works" + } + }, + { + "if": "operational_status=", + "then": { + "en": "This elevator works" + }, + "hideInAnswer": true + } + ] + }, { "id": "door-width", "render": { - "en": "This elevator's doors have a width of {canonical(door:width) }" + "en": "This elevator's doors have a width of {canonical(door:width)}" }, "question": { "en": "What is the width of this elevator's entrance?" @@ -25,7 +67,7 @@ { "id": "elevator-width", "render": { - "en": "This elevator has a width of {canonical(elevator:width) }" + "en": "This elevator has a width of {canonical(elevator:width)}" }, "question": { "en": "What is the width of this elevator?" @@ -38,7 +80,7 @@ { "id": "elevator-depth", "render": { - "en": "This elevator has a depth of {canonical(elevator:depth) }" + "en": "This elevator has a depth of {canonical(elevator:depth)}" }, "question": { "en": "What is the depth of this elevator?" @@ -47,17 +89,29 @@ "key": "elevator:depth", "type": "pfloat" } - } + }, + "induction-loop" ], "mapRendering": [ { "icon": { - "render": "./assets/layers/elevator/elevator_wheelchair.svg" + "render": "circle:white;./assets/layers/elevator/elevator_wheelchair.svg" }, "iconSize": "40,40,bottom", "location": [ "point", "centroid" + ], + "iconBadges": [ + { + "if": { + "or": [ + "operational_status=broken", + "operational_status=closed" + ] + }, + "then": "close:#c33" + } ] } ], @@ -90,6 +144,7 @@ } }, { + "default": true, "canonicalDenomination": "cm", "alternativeDenomination": [ "centimeter", @@ -102,4 +157,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/assets/layers/elevator/elevator_wheelchair.svg b/assets/layers/elevator/elevator_wheelchair.svg index 35b934aee..5ad6ee402 100644 --- a/assets/layers/elevator/elevator_wheelchair.svg +++ b/assets/layers/elevator/elevator_wheelchair.svg @@ -1 +1,55 @@ - \ No newline at end of file + + + + + + + + + + + + + + + diff --git a/assets/layers/entrance/entrance.json b/assets/layers/entrance/entrance.json index 053393634..79003dd5a 100644 --- a/assets/layers/entrance/entrance.json +++ b/assets/layers/entrance/entrance.json @@ -17,7 +17,8 @@ "osmTags": { "or": [ "entrance~*", - "indoor=door" + "indoor=door", + "door~*" ] } }, @@ -34,6 +35,7 @@ }, "tagRenderings": [ "images", + "level", { "id": "Entrance type", "question": { @@ -337,8 +339,7 @@ "es": "¿Cual es el ancho de esta puerta/entrada?" }, "freeform": { - "key": "width", - "type": "distance" + "key": "width" } }, { @@ -358,7 +359,7 @@ }, "mappings": [ { - "if": "kerb-height=", + "if": "kerb:height=0", "then": { "en": "This door does not have a kerb", "nl": "Deze deur heeft geen drempel" @@ -387,7 +388,7 @@ "presets": [ { "title": { - "*": "entrance" + "en": "an entrance" }, "preciseInput": { "preferredBackground": "photo", @@ -417,6 +418,7 @@ } }, { + "default": true, "canonicalDenomination": "cm", "alternativeDenomination": [ "centimeter", diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json index 107503c96..5bc47215c 100644 --- a/assets/layers/food/food.json +++ b/assets/layers/food/food.json @@ -137,6 +137,7 @@ }, "tagRenderings": [ "images", + "level", { "question": { "nl": "Wat is de naam van deze eetgelegenheid?", @@ -818,13 +819,15 @@ { "if": "amenity=pub", "then": { - "en": "This is actually a pub" + "en": "This is actually a pub", + "de": "Dies ist eigentlich eine Kneipe" } }, { "if": "amenity=cafe", "then": { - "en": "This is actually a cafe" + "en": "This is actually a cafe", + "de": "Dies ist eigentlich ein Café" } } ], diff --git a/assets/layers/governments/government.svg b/assets/layers/governments/government.svg new file mode 100644 index 000000000..7a0577c17 --- /dev/null +++ b/assets/layers/governments/government.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/assets/layers/governments/governments.json b/assets/layers/governments/governments.json new file mode 100644 index 000000000..89f600e7a --- /dev/null +++ b/assets/layers/governments/governments.json @@ -0,0 +1,62 @@ +{ + "id": "governments", + "name": { + "en": "governments" + }, + "description": { + "en": "This layer show governmental buildings. It was setup as commissioned layer for the client of OSOC '22" + }, + "source": { + "osmTags": { + "or": [ + "office=government" + ] + } + }, + "title": { + "render": { + "en": "Governmental Office {name}" + } + }, + "minzoom": 13, + "tagRenderings": [ + "images", + "phone", + "email", + "website", + { + "question": { + "en": "What is the name of this Governmental Office?" + }, + "render": { + "en": "This Governmental Office is called {name}" + }, + "freeform": { + "key": "name" + }, + "id": "name" + } + ], + "presets": [ + { + "title": { + "en": "a Governmental Office" + }, + "tags": [ + "office=government" + ] + } + ], + "mapRendering": [ + { + "icon": { + "render": "circle:white;./assets/layers/governments/government.svg" + }, + "iconSize": "40,40,center", + "location": [ + "point", + "centroid" + ] + } + ] +} \ No newline at end of file diff --git a/assets/layers/governments/license_info.json b/assets/layers/governments/license_info.json new file mode 100644 index 000000000..3281710ec --- /dev/null +++ b/assets/layers/governments/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "government.svg", + "license": "CC0", + "authors": [ + "OSM Carto" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Office-16.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/hospital/hospital.json b/assets/layers/hospital/hospital.json index b773e9992..8b3b4b62c 100644 --- a/assets/layers/hospital/hospital.json +++ b/assets/layers/hospital/hospital.json @@ -1,13 +1,20 @@ { "id": "hospital", "name": { - "en": "Hospital" + "en": "Hospitals", + "de": "Krankenhäuser", + "nl": "Ziekenhuizen" }, "title": { "render": { - "en": "Hospital" + "en": "Hospital", + "de": "Krankenhaus", + "nl": "Ziekenhuis" } }, + "description": { + "en": "A layer showing hospital grounds" + }, "minzoom": 12, "source": { "osmTags": "amenity=hospital" @@ -16,10 +23,15 @@ { "id": "name", "render": { - "en": "Name of the hospital name is {name}" + "en": "This hospital is called {name}", + "ca": "El nom del nom de l'hospital és {name}", + "de": "Der Name des Krankenhauses lautet {name}", + "nl": "Dit ziekenhuis heet {name}" }, "question": { - "en": "What does the of the hospital ?" + "en": "What is the name of this hospital?", + "de": "Wie lautet der Name des Krankenhauses?", + "nl": "Wat is de naam van dit ziekenhuis?" }, "freeform": { "key": "name" @@ -39,6 +51,10 @@ "point", "centroid" ] + }, + { + "color": "#fcd862", + "width": 1 } ] } \ No newline at end of file diff --git a/assets/layers/id_presets/id_presets.json b/assets/layers/id_presets/id_presets.json index 1c30d295e..caf39d97a 100644 --- a/assets/layers/id_presets/id_presets.json +++ b/assets/layers/id_presets/id_presets.json @@ -1,10 +1,13 @@ { "id": "id_presets", - "description": "Layer containing various presets and questions generated by ID. These are meant to be reused in other layers by importing the tagRenderings with `id_preset.", + "description": { + "en": "Layer containing various presets and questions generated by ID. These are meant to be reused in other layers by importing the tagRenderings with `id_preset." + }, "#dont-translate": "*", "source": { "osmTags": "id~*" }, + "title": null, "mapRendering": null, "tagRenderings": [ { diff --git a/assets/layers/indoors/indoors.json b/assets/layers/indoors/indoors.json index 1c14a47e8..258e5484c 100644 --- a/assets/layers/indoors/indoors.json +++ b/assets/layers/indoors/indoors.json @@ -3,6 +3,9 @@ "name": { "en": "indoors" }, + "description": { + "en": "Basic indoor mapping: shows room outlines" + }, "source": { "osmTags": { "or": [ @@ -52,7 +55,7 @@ "mapRendering": [ { "color": { - "render": "#bb004488" + "render": "#d3d7d588" }, "width": { "render": "8" @@ -63,7 +66,7 @@ "fill": "no" }, { - "color": "red", + "color": "#4f5551", "fill": "no", "width": "2" }, diff --git a/assets/layers/kindergarten_childcare/kindergarten_childcare.json b/assets/layers/kindergarten_childcare/kindergarten_childcare.json index b178d9cb8..3d517ee2c 100644 --- a/assets/layers/kindergarten_childcare/kindergarten_childcare.json +++ b/assets/layers/kindergarten_childcare/kindergarten_childcare.json @@ -50,7 +50,8 @@ "then": { "en": "This is a kindergarten (also known as preschool) where small kids receive early education.", "nl": "Dit is een kleuterschool waar kindjes (voorbereidend) onderwijs krijgen.", - "de": "Dies ist ein Kindergarten (auch bekannt als Vorschule), in dem kleine Kinder eine Früherziehung erhalten." + "de": "Dies ist ein Kindergarten (auch bekannt als Vorschule), in dem kleine Kinder eine Früherziehung erhalten.", + "ca": "Aquesta és una llar d'infants (també coneguda com a preescolar) on els nens petits reben educació primerenca." }, "addExtraTags": [ "isced:level=0", @@ -79,7 +80,8 @@ }, "render": { "en": "This facility is named {name}", - "de": "Diese Einrichtung hat den Namen {name}" + "de": "Diese Einrichtung hat den Namen {name}", + "ca": "Aquesta instal·lació s'anomena {name}" }, "freeform": { "key": "name" @@ -109,7 +111,8 @@ "render": { "en": "This facility has room for {capacity} kids", "nl": "Hier kunnen {capacity} kinderen terecht", - "de": "Diese Einrichtung bietet Platz für {capacity} Kinder" + "de": "Diese Einrichtung bietet Platz für {capacity} Kinder", + "ca": "Aquesta instal·lació té espai per a {capacity} nens" }, "freeform": { "key": "capacity", diff --git a/assets/layers/maxspeed/maxspeed.json b/assets/layers/maxspeed/maxspeed.json index ca0ff2dcb..a3c7d005e 100644 --- a/assets/layers/maxspeed/maxspeed.json +++ b/assets/layers/maxspeed/maxspeed.json @@ -4,7 +4,8 @@ "en": "Maxspeed", "es": "Velocidad", "ca": "Velocitat", - "de": "Höchstgeschwindigkeit" + "de": "Höchstgeschwindigkeit", + "nl": "Maximumsnelheid" }, "source": { "osmTags": { diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index 0e7d24f8c..bf9dd3b30 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -27,6 +27,7 @@ }, "tagRenderings": [ "images", + "level", { "id": "parking-type", "mappings": [ @@ -34,76 +35,87 @@ "if": "parking=surface", "then": { "en": "This is a surface parking lot", - "nl": "Dit is een bovengronds parkeerterrein" + "nl": "Dit is een bovengronds parkeerterrein", + "de": "Dies ist ein oberirdischer Parkplatz" } }, { "if": "parking=street_side", "then": { "en": "This is a parking bay next to a street", - "nl": "Dit is een parkeerplek langs een weg" + "nl": "Dit is een parkeerplek langs een weg", + "de": "Dies ist eine Parkbucht neben einer Straße" } }, { "if": "parking=underground", "then": { "en": "This is an underground parking garage", - "nl": "Dit is een ondergrondse parkeergarage" + "nl": "Dit is een ondergrondse parkeergarage", + "de": "Dies ist eine Tiefgarage" } }, { "if": "parking=multi-storey", "then": { "en": "This is a multi-storey parking garage", - "nl": "Dit is een bovengrondse parkeergarage met meerdere verdiepingen" + "nl": "Dit is een bovengrondse parkeergarage met meerdere verdiepingen", + "de": "Dies ist ein mehrstöckiges oberirdisches Parkhaus" } }, { "if": "parking=rooftop", "then": { "en": "This is a rooftop parking deck", - "nl": "Dit is een parkeerdek op een dak" + "nl": "Dit is een parkeerdek op een dak", + "de": "Dies ist ein Parkdeck auf dem Dach" } }, { "if": "parking=lane", "then": { "en": "This is a lane for parking on the road", - "nl": "Dit is een strook voor parkeren op de weg" + "nl": "Dit is een strook voor parkeren op de weg", + "de": "Dies ist eine Fahrspur zum Parken auf der Straße" } }, { "if": "parking=carports", "then": { "en": "This is parking covered by carports", - "nl": "Dit is parking overdekt met carports" + "nl": "Dit is parking overdekt met carports", + "de": "Dies ist ein durch Carports überdachter Parkplatz" } }, { "if": "parking=garage_boxes", "then": { "en": "This a parking consisting of garage boxes", - "nl": "Dit is een parking bestaande uit garageboxen" + "nl": "Dit is een parking bestaande uit garageboxen", + "de": "Dies ist ein Parkplatz bestehend aus Garagenboxen" } }, { "if": "parking=layby", "then": { "en": "This is a parking on a layby", - "nl": "Dit is een parkeerplek op een layby" + "nl": "Dit is een parkeerplek op een layby", + "de": "Hier gibt es Parkmöglichkeiten auf einem kleinen Rastplatz" } }, { "if": "parking=sheds", "then": { "en": "This is a parking consisting of sheds", - "nl": "Dit is een parking bestaande uit schuren" + "nl": "Dit is een parking bestaande uit schuren", + "de": "Hier gibt es Parkmöglichkeiten unter einer offenen Dachkonstruktion" } } ], "question": { "en": "What kind of parking is this?", - "nl": "Wat voor parking is dit?" + "nl": "Wat voor parking is dit?", + "de": "Was ist das für ein Parkplatz?" } }, { @@ -113,7 +125,8 @@ "type": "pnat", "placeholder": { "en": "Amount of parking spots reserved for disabled people", - "nl": "Aantal parkeerplaatsen voor gehandicapten" + "nl": "Aantal parkeerplaatsen voor gehandicapten", + "de": "Anzahl barrierefreier Stellplätze" } }, "mappings": [ @@ -121,7 +134,8 @@ "if": "capacity:disabled=yes", "then": { "en": "There are disabled parking spots, but it is not known how many", - "nl": "Er zijn parkeerplaatsen voor gehandicapten, maar het is niet bekend hoeveel er zijn" + "nl": "Er zijn parkeerplaatsen voor gehandicapten, maar het is niet bekend hoeveel er zijn", + "de": "Es gibt barrierefreie Stellplätze, aber die Anzahl ist unbekannt" }, "hideInAnswer": true }, @@ -129,18 +143,21 @@ "if": "capacity:disabled=no", "then": { "en": "There are no disabled parking spots", - "nl": "Er zijn geen parkeerplaatsen voor gehandicapten" + "nl": "Er zijn geen parkeerplaatsen voor gehandicapten", + "de": "Es gibt keine barrierefreien Stellplätze" }, "hideInAnswer": true } ], "question": { "en": "How many disabled parking spots are there at this parking?", - "nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?" + "nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?", + "de": "Wie viele barrierefreie Stellplätze gibt es auf diesem Parkplatz?" }, "render": { "en": "There are {capacity:disabled} disabled parking spots", - "nl": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten" + "nl": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten", + "de": "Es gibt {capacity:disabled} barrierefreie Stellplätze" } }, { @@ -150,16 +167,19 @@ "type": "pnat", "placeholder": { "en": "Amount of parking spots", - "nl": "Aantal parkeerplaatsen" + "nl": "Aantal parkeerplaatsen", + "de": "Anzahl der Parkplätze" } }, "question": { "en": "How many parking spots are there at this parking?", - "nl": "Hoeveel parkeerplaatsen zijn er op deze parking?" + "nl": "Hoeveel parkeerplaatsen zijn er op deze parking?", + "de": "Wie viele Stellplätze gibt es auf diesem Parkplatz?" }, "render": { "en": "There are {capacity} parking spots", - "nl": "Er zijn {capacity} parkeerplaatsen" + "nl": "Er zijn {capacity} parkeerplaatsen", + "de": "Es gibt {capacity} Stellplätze" } } ], @@ -200,6 +220,17 @@ "location": [ "point", "centroid" + ], + "iconBadges": [ + { + "if": { + "and": [ + "capacity:disabled~*", + "capacity:disabled!=no" + ] + }, + "then": "circle:white;./assets/layers/toilet/wheelchair.svg" + } ] }, { diff --git a/assets/layers/pedestrian_path/pedestrian_path.json b/assets/layers/pedestrian_path/pedestrian_path.json index 8231a262c..72d61a4bd 100644 --- a/assets/layers/pedestrian_path/pedestrian_path.json +++ b/assets/layers/pedestrian_path/pedestrian_path.json @@ -16,7 +16,6 @@ ] } }, - "title": {}, "description": { "en": "Pedestrian footpaths, especially used for indoor navigation and snapping entrances to this layer", "nl": "Pad voor voetgangers, in het bijzonder gebruikt voor navigatie binnen gebouwen en om aan toegangen vast te klikken in deze laag", diff --git a/assets/layers/pharmacy/pharmacy.json b/assets/layers/pharmacy/pharmacy.json index 4f440aac0..e85a8b801 100644 --- a/assets/layers/pharmacy/pharmacy.json +++ b/assets/layers/pharmacy/pharmacy.json @@ -1,17 +1,23 @@ { "id": "pharmacy", "name": { - "en": "pharmacy" + "en": "pharmacy", + "de": "Apotheke" + }, + "description": { + "en": "A layer showing pharmacies, which (probably) dispense prescription drugs" }, "title": { "render": { - "en": "{name}" + "en": "{name}", + "de": "{name}" }, "mappings": [ { "if": "name=", "then": { - "en": "Pharmacy" + "en": "Pharmacy", + "de": "Apotheke" } } ] @@ -26,6 +32,22 @@ "minzoom": 13, "tagRenderings": [ "images", + { + "id": "name", + "freeform": { + "key": "name", + "type": "string", + "placeholder": { + "en": "Name of the pharmacy" + } + }, + "question": { + "en": "What is the name of the pharmacy?" + }, + "render": { + "en": "This pharmacy is called {name}" + } + }, "opening_hours", "phone", "email", @@ -33,25 +55,30 @@ { "id": "wheelchair", "question": { - "en": "Is this pharmacy easy to access on a wheelchair?" + "en": "Is this pharmacy easy to access on a wheelchair?", + "de": "Ist die Apotheke für Rollstuhlfahrer leicht zugänglich?" }, "mappings": [ { "if": "wheelchair=yes", "then": { - "en": "This pharmacy is easy to access on a wheelchair" + "en": "This pharmacy is easy to access on a wheelchair", + "ca": "Aquesta farmàcia és fàcil d'accedir en una cadira de rodes", + "de": "Die Apotheke ist für Rollstuhlfahrer leicht zugänglich" } }, { "if": "wheelchair=no", "then": { - "en": "This pharmacy is hard to access on a wheelchair" + "en": "This pharmacy is hard to access on a wheelchair", + "de": "Die Apotheke ist für Rollstuhlfahrer nur schwer zugänglich" } }, { "if": "wheelchair=limited", "then": { - "en": "This pharmacy has limited access for wheelchair users" + "en": "This pharmacy has limited access for wheelchair users", + "de": "Die Apotheke ist für Rollstuhlfahrer nur eingeschränkt zugänglich" } } ] @@ -66,31 +93,45 @@ "location": [ "point", "centroid" - ] + ], + "iconBadges": [ + { + "if": "opening_hours~*", + "then": "isOpen" + } + ], + "label": { + "mappings": [ + { + "if": "name~*", + "then": "
{name}
" + } + ] + } } ], - "filter": [ + "filter": [ + { + "id": "drive-through", + "options": [ { - "id": "drive-through", - "options": [ - { - "question": { - "en": "Has drive through" - }, - "osmTags": "drive_through=yes" - } - ] - }, - { - "id": "dispensing", - "options": [ - { - "question": { - "en": "Pharmacy able to provide prescription drugs" - }, - "osmTags": "dispensing=yes" - } - ] + "question": { + "en": "Has drive through" + }, + "osmTags": "drive_through=yes" } - ] + ] + }, + { + "id": "dispensing", + "options": [ + { + "question": { + "en": "Pharmacy able to provide prescription drugs" + }, + "osmTags": "dispensing=yes" + } + ] + } + ] } \ No newline at end of file diff --git a/assets/layers/pharmacy/pharmacy.svg b/assets/layers/pharmacy/pharmacy.svg index fe46542ad..9c44db2d2 100644 --- a/assets/layers/pharmacy/pharmacy.svg +++ b/assets/layers/pharmacy/pharmacy.svg @@ -1,6 +1,4 @@ - - \ No newline at end of file diff --git a/assets/layers/picnic_table/picnic_table.json b/assets/layers/picnic_table/picnic_table.json index e5199956d..a38221f38 100644 --- a/assets/layers/picnic_table/picnic_table.json +++ b/assets/layers/picnic_table/picnic_table.json @@ -37,6 +37,7 @@ }, "tagRenderings": [ "images", + "level", { "question": { "en": "What material is this picnic table made of?", diff --git a/assets/layers/rainbow_crossings/rainbow_crossings.json b/assets/layers/rainbow_crossings/rainbow_crossings.json index d13fe3c03..55ed29200 100644 --- a/assets/layers/rainbow_crossings/rainbow_crossings.json +++ b/assets/layers/rainbow_crossings/rainbow_crossings.json @@ -1,10 +1,12 @@ { "id": "rainbow_crossings", "name": { - "en": "Crossings with rainbow paintings" + "en": "Crossings with rainbow paintings", + "de": "Fußgängerüberwege in Regenbogenfarben" }, "description": { - "en": "A layer showing pedestrian crossings with rainbow paintings" + "en": "A layer showing pedestrian crossings with rainbow paintings", + "de": "Eine Ebene mit Fußgängerüberwegen in Regenbogenfarben" }, "source": { "osmTags": "highway=crossing" @@ -12,19 +14,22 @@ "minzoom": 17, "title": { "render": { - "en": "Crossing" + "en": "Crossing", + "de": "Überweg" } }, "presets": [ { "title": { - "en": "a crossing" + "en": "a crossing", + "de": "einen Überweg" }, "tags": [ "highway=crossing" ], "description": { - "en": "Pedestrian crossing" + "en": "Pedestrian crossing", + "de": "Fußgängerüberweg" }, "preciseInput": { "preferredBackground": [ @@ -40,14 +45,16 @@ { "id": "crossing-with-rainbow", "question": { - "en": "Does this crossing has rainbow paintings?" + "en": "Does this crossing has rainbow paintings?", + "de": "Hat der Überweg eine Markierung in Regenbogenfarben?" }, "condition": "highway=crossing", "mappings": [ { "if": "crossing:marking=rainbow", "then": { - "en": "This crossing has rainbow paintings" + "en": "This crossing has rainbow paintings", + "de": "Der Überweg hat eine Markierung in Regenbogenfarben" }, "icon": { "path": "./assets/themes/rainbow_crossings/logo.svg", @@ -57,14 +64,16 @@ { "if": "not:crossing:marking=rainbow", "then": { - "en": "No rainbow paintings here" + "en": "No rainbow paintings here", + "de": "Hier gibt es kein Markierung in Regenbogenfarben" }, "icon": "./assets/themes/rainbow_crossings/crossing.svg" }, { "if": "crossing:marking!=rainbow", "then": { - "en": "No rainbow paintings here" + "en": "No rainbow paintings here", + "de": "Hier gibt es kein Markierung in Regenbogenfarben" }, "icon": "./assets/themes/rainbow_crossings/crossing.svg", "hideInAnswer": true diff --git a/assets/layers/reception_desk/reception_desk.json b/assets/layers/reception_desk/reception_desk.json index a9d3228c2..1f1e7b3e7 100644 --- a/assets/layers/reception_desk/reception_desk.json +++ b/assets/layers/reception_desk/reception_desk.json @@ -3,6 +3,9 @@ "name": { "en": "Reception desks" }, + "description": { + "en": "A layer showing where the reception desks are and which asks some accessibility information" + }, "title": { "render": { "en": "Reception desk" @@ -23,6 +26,7 @@ ], "tagRenderings": [ "images", + "level", { "id": "desk-height", "question": { diff --git a/assets/layers/school/school.json b/assets/layers/school/school.json index 5d1024791..15155bfe3 100644 --- a/assets/layers/school/school.json +++ b/assets/layers/school/school.json @@ -304,7 +304,8 @@ "hideInAnswer": true, "then": { "en": "The main language of this school is unknown", - "nl": "De voertaal van deze school is niet gekend" + "nl": "De voertaal van deze school is niet gekend", + "de": "Die Unterrichtssprache der Schule ist unbekannt" } } ], diff --git a/assets/layers/shelter/shelter.json b/assets/layers/shelter/shelter.json index 803b6ef42..847658323 100644 --- a/assets/layers/shelter/shelter.json +++ b/assets/layers/shelter/shelter.json @@ -1,10 +1,12 @@ { "id": "shelter", "name": { - "en": "Shelter" + "en": "Shelter", + "de": "Unterstand" }, "description": { - "en": "Layer showing shelter structures" + "en": "Layer showing shelter structures", + "de": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt" }, "source": { "osmTags": { @@ -16,7 +18,8 @@ "minzoom": 13, "title": { "render": { - "en": "Shelter" + "en": "Shelter", + "de": "Unterstand" } }, "mapRendering": [ @@ -35,19 +38,22 @@ { "if": "shelter_type=public_transport", "then": { - "en": "This is a shelter at a public transport stop." + "en": "This is a shelter at a public transport stop.", + "de": "Das ist ein Unterstand an einer Haltestelle für öffentliche Verkehrsmittel." } }, { "if": "shelter_type=picnic_shelter", "then": { - "en": "This is a shelter protecting from rain at a picnic site." + "en": "This is a shelter protecting from rain at a picnic site.", + "de": "Dies ist ein Unterstand zum Schutz vor Regen auf einem Picknickplatz." } }, { "if": "shelter_type=gazebo", "then": { - "en": "This is a gazebo." + "en": "This is a gazebo.", + "de": "Das ist ein offener Gartenpavillon." } }, { @@ -74,10 +80,12 @@ } ], "question": { - "en": "What kind of shelter is this?" + "en": "What kind of shelter is this?", + "de": "Um welche Art von Unterstand handelt es sich?" }, "render": { - "en": "Shelter type: {shelter_type}" + "en": "Shelter type: {shelter_type}", + "de": "Art des Unterstands: {shelter_type}" }, "freeform": { "key": "shelter_type", diff --git a/assets/layers/shops/shops.json b/assets/layers/shops/shops.json index 341fd4c0d..cf434e378 100644 --- a/assets/layers/shops/shops.json +++ b/assets/layers/shops/shops.json @@ -93,7 +93,9 @@ "de": "Wie ist der Name dieses Geschäfts?", "es": "¿Cual es el nombre de esta tienda?" }, - "render": "This shop is called {name}", + "render": { + "en": "This shop is called {name}" + }, "freeform": { "key": "name" }, @@ -104,10 +106,12 @@ "override": { "question": { "en": "What kind of shop is this?", - "nl": "Wat voor soort winkel is dit?" + "nl": "Wat voor soort winkel is dit?", + "de": "Um was für ein Geschäft handelt es sich?" }, "render": { - "en": "This is a {shop}" + "en": "This is a {shop}", + "de": "Das ist ein {shop}" }, "freeform": { "key": "shop", @@ -122,6 +126,7 @@ "email", "phone", "payment-options", + "level", { "id": "copyshop-print-sizes", "condition": { @@ -132,42 +137,48 @@ ] }, "question": { - "en": "What paper formats does this shop offer?" + "en": "What paper formats does this shop offer?", + "de": "Welche Papierformate bietet das Geschäft an?" }, "multiAnswer": true, "mappings": [ { "if": "service:print:A4=yes", "then": { - "en": "This shop can print on papers of size A4" + "en": "This shop can print on papers of size A4", + "de": "Das Geschäft kann Unterlagen auf A4 Papier drucken" }, "ifnot": "service:print:A4=no" }, { "if": "service:print:A3=yes", "then": { - "en": "This shop can print on papers of size A3" + "en": "This shop can print on papers of size A3", + "de": "Das Geschäft kann Unterlagen auf A3 Papier drucken" }, "ifnot": "service:print:A3=no" }, { "if": "service:print:A2=yes", "then": { - "en": "This shop can print on papers of size A2" + "en": "This shop can print on papers of size A2", + "de": "Das Geschäft kann Unterlagen auf A2 Papier drucken" }, "ifnot": "service:print:A2=no" }, { "if": "service:print:A1=yes", "then": { - "en": "This shop can print on papers of size A1" + "en": "This shop can print on papers of size A1", + "de": "Das Geschäft kann Unterlagen auf A1 Papier drucken" }, "ifnot": "service:print:A1=no" }, { "if": "service:print:A0=yes", "then": { - "en": "This shop can print on papers of size A0" + "en": "This shop can print on papers of size A0", + "de": "Das Geschäft kann Unterlagen auf A0 Papier drucken" }, "ifnot": "service:print:A0=no" } diff --git a/assets/layers/tertiary_education/tertiary_education.json b/assets/layers/tertiary_education/tertiary_education.json index e898ac274..86ee85a59 100644 --- a/assets/layers/tertiary_education/tertiary_education.json +++ b/assets/layers/tertiary_education/tertiary_education.json @@ -98,7 +98,7 @@ "question": { "en": "What level of education is given here?", "nl": "Wat is het niveau van onderwijs?", - "de": "Welches Bildungsniveau wird hier gelehrt?", + "de": "Welche Bildungsabschlüsse werden hier verliehen?", "fr": "Quel niveau d'éducation est donné ici ?" }, "multiAnswer": true, diff --git a/assets/layers/toilet/toilet.json b/assets/layers/toilet/toilet.json index 5dfeb438d..7149ba143 100644 --- a/assets/layers/toilet/toilet.json +++ b/assets/layers/toilet/toilet.json @@ -65,6 +65,7 @@ ], "tagRenderings": [ "images", + "level", { "question": { "en": "Are these toilets publicly accessible?", @@ -274,9 +275,31 @@ "ru": "Недоступно пользователям кресел-колясок", "es": "Sin acceso para sillas de ruedas" } + }, + { + "if": "wheelchair=designated", + "then": { + "en": "There is only a dedicated toilet for wheelchair users", + "nl": "Er is alleen een toilet voor rolstoelgebruikers" + } } ] }, + { + "id": "wheelchair-door-width", + "question": { + "en": "What is the width of the door to the wheelchair accessible toilet?", + "nl": "Hoe breed is de deur van de rolstoeltoegankelijke toilet?" + }, + "render": { + "en": "The door to the wheelchair-accessible toilet is {canonical(door:width)} wide", + "nl": "De deur naar de rolstoeltoegankelijke toilet is {canonical(door:width)} wide" + }, + "freeform": { + "key": "door:width", + "type": "pfloat" + } + }, { "id": "toilets-type", "question": { @@ -504,7 +527,6 @@ ] } }, - "level", "description" ], "filter": [ @@ -518,7 +540,12 @@ "de": "Rollstuhlgerecht", "es": "Accesible con sillas de ruedas" }, - "osmTags": "wheelchair=yes" + "osmTags": { + "or": [ + "wheelchair=yes", + "wheelchair=designated" + ] + } } ] }, @@ -594,7 +621,12 @@ "render": "./assets/layers/toilet/toilets.svg", "mappings": [ { - "if": "wheelchair=yes", + "if": { + "or": [ + "wheelchair=yes", + "wheelchair=designated" + ] + }, "then": "circle:white;./assets/layers/toilet/wheelchair.svg" }, { @@ -625,5 +657,35 @@ "nl": "Een laag die publieke toiletten toont", "de": "Eine Ebene mit (öffentlichen) Toiletten", "es": "Una capa que muestra baños (públicos)" - } + }, + "units": [ + { + "appliesToKey": [ + "door:width" + ], + "applicableUnits": [ + { + "canonicalDenomination": "m", + "alternativeDenomination": [ + "meter" + ], + "human": { + "en": "meter", + "nl": "meter" + } + }, + { + "canonicalDenomination": "cm", + "alternativeDenomination": [ + "centimeter", + "cms" + ], + "human": { + "en": "centimeter", + "nl": "centimeter" + } + } + ] + } + ] } \ No newline at end of file diff --git a/assets/layers/transit_routes/transit_routes.json b/assets/layers/transit_routes/transit_routes.json index b29464746..542f5f36b 100644 --- a/assets/layers/transit_routes/transit_routes.json +++ b/assets/layers/transit_routes/transit_routes.json @@ -1,10 +1,12 @@ { "id": "transit_routes", "name": { - "en": "Bus lines" + "en": "Bus lines", + "de": "Buslinien" }, "description": { - "en": "Layer showing bus lines" + "en": "Layer showing bus lines", + "de": "Ebene mit Buslinien" }, "source": { "osmTags": { @@ -17,13 +19,15 @@ "minzoom": 15, "title": { "render": { - "en": "Bus line" + "en": "Bus line", + "de": "Buslinie" }, "mappings": [ { "if": "name~*", "then": { - "en": "{name}" + "en": "{name}", + "de": "{name}" } } ] @@ -32,7 +36,8 @@ { "color": { "render": { - "en": "#ff0000" + "en": "#ff0000", + "de": "#ff0000" }, "mappings": [ { @@ -53,7 +58,8 @@ }, "render": "{name}", "question": { - "en": "What is the name for this bus line? (i.e. Bus XX: From => Via => To)" + "en": "What is the name for this bus line? (i.e. Bus XX: From => Via => To)", + "de": "Wie lautet der Name der Buslinie? (z.B. Bus XX: Von => Über => Nach)" } }, { @@ -64,10 +70,12 @@ "placeholder": "City, Stop Name" }, "render": { - "en": "This bus line begins at {from}" + "en": "This bus line begins at {from}", + "de": "Die Buslinie startet von {from}" }, "question": { - "en": "What is the starting point for this bus line?" + "en": "What is the starting point for this bus line?", + "de": "Wo ist der Startpunkt dieser Buslinie?" } }, { @@ -78,10 +86,12 @@ "placeholder": "City, Stop Name" }, "render": { - "en": "This bus line goes via {via}" + "en": "This bus line goes via {via}", + "de": "Die Buslinie fährt über {via}" }, "question": { - "en": "What is the via point for this bus line?" + "en": "What is the via point for this bus line?", + "de": "Über welchen Zwischenhalt fährt die Buslinie?" } }, { @@ -92,10 +102,12 @@ "placeholder": "City, Stop Name" }, "render": { - "en": "This bus line ends at {to}" + "en": "This bus line ends at {to}", + "de": "Der Endpunkt der Buslinie ist {to}" }, "question": { - "en": "What is the ending point for this bus line?" + "en": "What is the ending point for this bus line?", + "de": "Wo ist der Endpunkt der Buslinie?" } }, { @@ -105,10 +117,12 @@ "type": "color" }, "render": { - "en": "This bus line has the color {colour}" + "en": "This bus line has the color {colour}", + "de": "Die Buslinie hat die Farbe {colour}" }, "question": { - "en": "What is the colour for this bus line?" + "en": "What is the colour for this bus line?", + "de": "Welche Farbe hat diese Buslinie?" } }, { @@ -118,10 +132,12 @@ "type": "string" }, "render": { - "en": "This bus line is part of the {network} network" + "en": "This bus line is part of the {network} network", + "de": "Die Buslinie gehört zum Verkehrsverbund {network}" }, "question": { - "en": "What network does this bus line belong to?" + "en": "What network does this bus line belong to?", + "de": "Zu welchem Verkehrsverbund gehört die Buslinie?" } }, { @@ -131,10 +147,12 @@ "type": "string" }, "render": { - "en": "This bus line is operated by {operator}" + "en": "This bus line is operated by {operator}", + "de": "Die Buslinie wird betrieben von {operator}" }, "question": { - "en": "What company operates this bus line?" + "en": "What company operates this bus line?", + "de": "Welches Unternehmen betreibt die Buslinie?" } } ] diff --git a/assets/layers/transit_stops/transit_stops.json b/assets/layers/transit_stops/transit_stops.json index 43daa2ada..2bc3e2f68 100644 --- a/assets/layers/transit_stops/transit_stops.json +++ b/assets/layers/transit_stops/transit_stops.json @@ -1,10 +1,12 @@ { "id": "transit_stops", "name": { - "en": "Transit Stops" + "en": "Transit Stops", + "de": "Haltestellen" }, "description": { - "en": "Layer showing different types of transit stops." + "en": "Layer showing different types of transit stops.", + "de": "Ebene mit verschiedenen Arten von Haltestellen." }, "source": { "osmTags": { @@ -16,13 +18,15 @@ "minzoom": 15, "title": { "render": { - "en": "Transit Stop" + "en": "Transit Stop", + "de": "Haltestelle" }, "mappings": [ { "if": "name~*", "then": { - "en": "Stop {name}" + "en": "Stop {name}", + "de": "Haltestelle {name}" } } ] @@ -51,7 +55,8 @@ { "id": "stop_name", "render": { - "en": "This stop is called {name}" + "en": "This stop is called {name}", + "de": "Der Name der Haltestelle lautet {name}" }, "freeform": { "key": "name", @@ -60,7 +65,8 @@ "noname=" ], "placeholder": { - "en": "Name of the stop" + "en": "Name of the stop", + "de": "Name der Haltestelle" } }, "mappings": [ @@ -72,12 +78,14 @@ ] }, "then": { - "en": "This stop has no name" + "en": "This stop has no name", + "de": "Die Haltestelle hat keinen Namen" } } ], "question": { - "en": "What is the name of this stop?" + "en": "What is the name of this stop?", + "de": "Wie lautet der Name der Haltestelle?" }, "placeholder": "Name of the stop" }, @@ -88,25 +96,29 @@ { "if": "shelter=yes", "then": { - "en": "This stop has a shelter" + "en": "This stop has a shelter", + "de": "Die Haltestelle hat einen Unterstand" } }, { "if": "shelter=no", "then": { - "en": "This stop does not have a shelter" + "en": "This stop does not have a shelter", + "de": "Die Haltestelle hat keinen Unterstand" } }, { "if": "shelter=separate", "then": { - "en": "This stop has a shelter, that's separately mapped" + "en": "This stop has a shelter, that's separately mapped", + "de": "Die Haltestelle hat einen Unterstand, der separat kariert ist" }, "hideInAnswer": true } ], "question": { - "en": "Does this stop have a shelter?" + "en": "Does this stop have a shelter?", + "de": "Hat die Haltestelle einen Unterstand?" } }, { @@ -115,25 +127,29 @@ { "if": "bench=yes", "then": { - "en": "This stop has a bench" + "en": "This stop has a bench", + "de": "Die Haltestelle hat eine Bank" } }, { "if": "bench=no", "then": { - "en": "This stop does not have a bench" + "en": "This stop does not have a bench", + "de": "Die Haltestelle hat keine Bank" } }, { "if": "bench=separate", "then": { - "en": "This stop has a bench, that's separately mapped" + "en": "This stop has a bench, that's separately mapped", + "de": "Die Haltestelle hat eine Bank, die separat kartiert ist" }, "hideInAnswer": true } ], "question": { - "en": "Does this stop have a bench?" + "en": "Does this stop have a bench?", + "de": "Gibt es an der Haltestelle eine Sitzbank?" } }, { @@ -142,25 +158,29 @@ { "if": "bin=yes", "then": { - "en": "This stop has a bin" + "en": "This stop has a bin", + "de": "Die Haltestelle hat einen Mülleimer" } }, { "if": "bin=no", "then": { - "en": "This stop does not have a bin" + "en": "This stop does not have a bin", + "de": "Die Haltestelle hat keinen Mülleimer" } }, { "if": "bin=separate", "then": { - "en": "This stop has a bin, that's separately mapped" + "en": "This stop has a bin, that's separately mapped", + "de": "Die Haltestelle hat einen Mülleimer, der separat kartiert ist" }, "hideInAnswer": true } ], "question": { - "en": "Does this stop have a bin?" + "en": "Does this stop have a bin?", + "de": "Hat die Haltestelle einen Mülleimer?" } }, "wheelchair-access", @@ -170,18 +190,21 @@ { "if": "tactile_paving=yes", "then": { - "en": "This stop has tactile paving" + "en": "This stop has tactile paving", + "de": "Die Haltestelle hat ein taktiles Pflaster" } }, { "if": "tactile_paving=no", "then": { - "en": "This stop does not have tactile paving" + "en": "This stop does not have tactile paving", + "de": "Die Haltestelle hat kein taktiles Pflaster" } } ], "question": { - "en": "Does this stop have tactile paving?" + "en": "Does this stop have tactile paving?", + "de": "Hat die Haltestelle hat ein taktiles Pflaster?" } }, { @@ -190,18 +213,21 @@ { "if": "lit=yes", "then": { - "en": "This stop is lit" + "en": "This stop is lit", + "de": "Die Haltestelle ist beleuchtet" } }, { "if": "lit=no", "then": { - "en": "This stop is not lit" + "en": "This stop is not lit", + "de": "Die Haltestelle ist nicht beleuchtet" } } ], "question": { - "en": "Is this stop lit?" + "en": "Is this stop lit?", + "de": "Ist die Haltestelle beleuchtet?" } }, { @@ -210,46 +236,53 @@ { "if": "departures_board=yes", "then": { - "en": "This stop has a departures board of unknown type" + "en": "This stop has a departures board of unknown type", + "de": "Die Haltestelle hat einen Fahrplan, der nicht näher definiert ist" }, "hideInAnswer": true }, { "if": "departures_board=realtime", "then": { - "en": "This stop has a board showing realtime departure information" + "en": "This stop has a board showing realtime departure information", + "de": "Die Haltestelle hat einen Fahrplan, der Abfahrtszeiten in Echtzeit anzeigt" } }, { "if": "passenger_information_display=yes", "then": { - "en": "This stop has a board showing realtime departure information" + "en": "This stop has a board showing realtime departure information", + "de": "Die Haltestelle hat einen Fahrplan, der Abfahrtszeiten in Echtzeit anzeigt" }, "hideInAnswer": true }, { "if": "departures_board=timetable", "then": { - "en": "This stop has a timetable showing regular departures" + "en": "This stop has a timetable showing regular departures", + "de": "Die Haltestelle hat einen Fahrplan, der die regulären Abfahrtszeiten anzeigt" } }, { "if": "departures_board=interval", "then": { - "en": "This stop has a timetable containing just the interval between departures" + "en": "This stop has a timetable containing just the interval between departures", + "de": "Die Haltestelle hat einen Fahrplan, der den Abstand zwischen Abfahrten anzeigt" } }, { "if": "departures_board=no", "then": { - "en": "This stop does not have a departures board" + "en": "This stop does not have a departures board", + "de": "Die Haltestelle hat keinen Fahrplan" } } ] }, { "render": { - "en": "

{_contained_routes_count} routes stop at this stop

    {_contained_routes}
" + "en": "

{_contained_routes_count} routes stop at this stop

    {_contained_routes}
", + "de": "

{_contained_routes_count} Linien halten an der Haltestelle

    {_contained_routes}
" }, "condition": "_contained_routes~*", "id": "contained_routes" diff --git a/assets/layers/walls_and_buildings/walls_and_buildings.json b/assets/layers/walls_and_buildings/walls_and_buildings.json index 4ef1816e6..a50a7cf41 100644 --- a/assets/layers/walls_and_buildings/walls_and_buildings.json +++ b/assets/layers/walls_and_buildings/walls_and_buildings.json @@ -12,7 +12,7 @@ "description": { "en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user.", "nl": "Speciale laag met alle muren en gebouwen. Deze laag is nuttig om objecten toe te voegen die met een muur verbonden zijn (zoals AEDs, brievenbussen, adressen, bewakingscamera's,…). Deze laag is standaard onzichtbaar en kan niet aangezet worden door de gebruiker.", - "de": "Spezielle eingebaute Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist in Voreinstellungen für Objekte nützlich, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, …). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht eingeschaltet werden." + "de": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden." }, "source": { "osmTags": { @@ -65,7 +65,8 @@ { "if": "_entrance:width=", "then": { - "en": "This entrance has no width information" + "en": "This entrance has no width information", + "de": "Der Eingang hat keine Informationen zur Durchgangsbreite" } } ] diff --git a/assets/layers/wikidata/wikidata.json b/assets/layers/wikidata/wikidata.json index e770e4985..3b7d64613 100644 --- a/assets/layers/wikidata/wikidata.json +++ b/assets/layers/wikidata/wikidata.json @@ -5,6 +5,7 @@ "source": { "osmTags": "id~*" }, + "title": null, "mapRendering": null, "tagRenderings": [ { diff --git a/assets/svg/elevator.svg b/assets/svg/elevator.svg new file mode 100644 index 000000000..8f6343703 --- /dev/null +++ b/assets/svg/elevator.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + diff --git a/assets/svg/elevator_wheelchair.svg b/assets/svg/elevator_wheelchair.svg new file mode 100644 index 000000000..568caa468 --- /dev/null +++ b/assets/svg/elevator_wheelchair.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + diff --git a/assets/svg/license_info.json b/assets/svg/license_info.json index 58f491f57..6d1d8401e 100644 --- a/assets/svg/license_info.json +++ b/assets/svg/license_info.json @@ -387,6 +387,26 @@ ], "sources": [] }, + { + "path": "elevator.svg", + "license": "CC-BY-SA 4.0", + "authors": [ + "Yveltal" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:HZM_elevator_icon.svg" + ] + }, + { + "path": "elevator_wheelchair.svg", + "license": "CC-BY-SA", + "authors": [ + "Robin Julien" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, { "path": "envelope.svg", "license": "CC0; trivial", diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json index ec5ee874a..5ffd5a7a9 100644 --- a/assets/tagRenderings/questions.json +++ b/assets/tagRenderings/questions.json @@ -1,21 +1,27 @@ { "id": "shared_questions", "questions": { + "description": "Show the images block at this location", "id": "questions" }, "images": { + "description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata`", "render": "{image_carousel()}{image_upload()}{nearby_images(expandable)}" }, "mapillary": { + "description": "Shows a button to open Mapillary on this location", "render": "{mapillary()}" }, "export_as_gpx": { + "description": "Shows a button to export this feature as GPX. Especially useful for route relations", "render": "{export_as_gpx()}" }, "export_as_geojson": { + "description": "Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs", "render": "{export_as_geojson()}" }, "wikipedia": { + "description": "Shows a wikipedia box with the corresponding wikipedia article", "render": "{wikipedia():max-height:25rem}", "question": { "en": "What is the corresponding Wikidata entity?", @@ -93,9 +99,11 @@ } }, "reviews": { + "description": "Shows the reviews module (including the possibility to leave a review)", "render": "{reviews()}" }, "minimap": { + "description": "Shows a small map with the feature. Added by default to every popup", "render": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}" }, "phone": { @@ -855,9 +863,25 @@ "render": "" }, "all_tags": { - "#": "Prints all the tags", + "description": "Shows a table with all the tags of the feature", "render": "{all_tags()}" }, + "multilevels": { + "builtin": "level", + "override": { + "question": { + "en": "What levels does this elevator go to?" + }, + "render": { + "en": "This elevator goes to floors {level}" + }, + "freeform": { + "key": "level", + "type": "string" + }, + "multiAnswer": true + } + }, "level": { "question": { "nl": "Op welke verdieping bevindt dit punt zich?", diff --git a/assets/themes/bicyclelib/bicyclelib.json b/assets/themes/bicyclelib/bicyclelib.json index 9d2723f84..6cd3c3b1a 100644 --- a/assets/themes/bicyclelib/bicyclelib.json +++ b/assets/themes/bicyclelib/bicyclelib.json @@ -15,7 +15,8 @@ "pt_BR": "Bibliotecas de bicicletas", "pl": "Wypożyczalnie rowerów", "hu": "Kerékpárkönyvtárak", - "id": "Perpustakaan sepeda" + "id": "Perpustakaan sepeda", + "ca": "Biblioteques de bicicletes" }, "description": { "nl": "Een fietsbibliotheek is een plaats waar men een fiets kan lenen, vaak voor een klein bedrag per jaar. Een typisch voorbeeld zijn kinderfietsbibliotheken, waar men een fiets op maat van het kind kan lenen. Is het kind de fiets ontgroeid, dan kan het te kleine fietsje omgeruild worden voor een grotere.", @@ -27,7 +28,8 @@ "zh_Hant": "單車圖書館是指每年支付小額費用,然後可以租用單車的地方。最有名的單車圖書館案例是給小孩的,能夠讓長大的小孩用目前的單車換成比較大的單車", "de": "Fahrradbibliotheken sind Orte, um Fahrräder auszuleihen, oft gegen eine geringe Gebühr. Ein wichtiger Anwendungsfall sind Fahrradbibliotheken für Kinder, die es ihnen ermöglichen, auf ein größeres Fahrrad umzusteigen, wenn sie aus ihrem aktuellen Fahrrad herausgewachsen sind", "hu": "A kerékpárkönyvtárak olyan helyek, ahol kerékpárokat lehet kölcsönözni, gyakran egy kis éves díj ellenében. Figyelemre méltó felhasználásuk a gyerekeknek szánt kerékpárkönyvtárak, amelyek segítségével nagyobb kerékpárra válthatnak, amikor jelenlegi kerékpárjukat kinőtték", - "nb_NO": "Et sykkelbibliotek er et sted der man kan låne sykler, ofte for en liten årlig sum. I særdeleshet finnes de for unger som lar dem bytte til en større sykkel når de har vokst fra den de har." + "nb_NO": "Et sykkelbibliotek er et sted der man kan låne sykler, ofte for en liten årlig sum. I særdeleshet finnes de for unger som lar dem bytte til en større sykkel når de har vokst fra den de har.", + "ca": "Una biblioteca de bicicletes és un lloc on es poden prestar bicicletes, sovint per una petita quota anual. Un cas d'ús notable són les biblioteques de bicicletes per als nens, que els permet canviar per una bicicleta més gran quan han superat la seva bicicleta actual" }, "icon": "./assets/themes/bicyclelib/logo.svg", "startLat": 0, diff --git a/assets/themes/campersite/campersite.json b/assets/themes/campersite/campersite.json index 1b3baa8e9..dd5cfaf90 100644 --- a/assets/themes/campersite/campersite.json +++ b/assets/themes/campersite/campersite.json @@ -86,7 +86,8 @@ "nl": "Camperplaats {name}", "pt_BR": "Local de acampamento {name}", "de": "Wohnmobilstellplatz {name}", - "id": "Tempat kemping {name}" + "id": "Tempat kemping {name}", + "ca": "Lloc d'acampada {name}" }, "mappings": [ { @@ -104,7 +105,8 @@ "zh_Hant": "沒有名稱的露營地", "nl": "Camper site", "pt_BR": "Locais de acampamento sem nome", - "de": "Unbenannter Wohnmobilstellplatz" + "de": "Unbenannter Wohnmobilstellplatz", + "ca": "Lloc d'acampada sense nom" } } ] @@ -141,7 +143,8 @@ "id": "Tempat ini disebut {name}", "es": "Este lugar se llama {name}", "da": "Dette sted hedder {name}", - "nb_NO": "Dette stedet heter {name}" + "nb_NO": "Dette stedet heter {name}", + "ca": "Aquest lloc s'anomena {name}" }, "question": { "en": "What is this place called?", @@ -156,7 +159,8 @@ "de": "Wie heißt dieser Ort?", "es": "¿Cómo se llama este lugar?", "da": "Hvad hedder dette sted?", - "nb_NO": "Hva heter dette stedet?" + "nb_NO": "Hva heter dette stedet?", + "ca": "Com es diu aquest lloc?" }, "freeform": { "key": "name" @@ -286,7 +290,8 @@ "de": "Hat dieser Ort eine sanitäre Entsorgungsstation?", "id": "Apakah tempat ini memiliki tempat pembuangan sanitasi?", "es": "¿Este lugar tiene un vertedero sanitario?", - "nl": "Heeft deze plaats een loosplaats?" + "nl": "Heeft deze plaats een loosplaats?", + "ca": "Aquest lloc té una estació d'abocament sanitari?" }, "mappings": [ { @@ -306,7 +311,8 @@ "de": "Dieser Ort hat eine sanitäre Entsorgungsstation", "id": "Tempat ini memiliki tempat pembuangan sanitasi", "es": "Este lugar tiene un vertedero sanitario", - "nl": "Deze plaats heeft een loosplaats" + "nl": "Deze plaats heeft een loosplaats", + "ca": "Aquest lloc té una estació d'abocament sanitari" } }, { @@ -326,7 +332,8 @@ "de": "Dieser Ort hat keine sanitäre Entsorgungsstation", "id": "Tempat ini tidak memiliki tempat pembuangan sampah sanitasi", "es": "Este lugar no tiene vertedero sanitario", - "nl": "Deze plaats heeft geen loosplaats" + "nl": "Deze plaats heeft geen loosplaats", + "ca": "Aquest lloc no té una estació d'abocament sanitari" } } ] @@ -542,7 +549,8 @@ "nl": "Heeft deze plaats toiletten?", "hu": "Van-e itt WC?", "da": "Har dette sted toiletter?", - "es": "¿Este lugar tiene baños?" + "es": "¿Este lugar tiene baños?", + "ca": "Aquest lloc té lavabos?" }, "mappings": [ { @@ -565,7 +573,8 @@ "nl": "Deze plaats heeft toiletten", "hu": "Itt van WC", "es": "Este lugar cuenta con sanitarios", - "da": "Dette sted har toiletter" + "da": "Dette sted har toiletter", + "ca": "Aquest lloc té lavabos" } }, { @@ -588,7 +597,8 @@ "nl": "Deze plaats heeft geen toiletten", "hu": "Itt nincs WC", "es": "Este lugar no tiene sanitarios", - "da": "Dette sted har ikke toiletter" + "da": "Dette sted har ikke toiletter", + "ca": "Aquest lloc no té lavabos" } } ] @@ -606,7 +616,8 @@ "fr": "Site officiel : {website}", "pt_BR": "Site oficial: {website}", "de": "Offizielle Webseite: {website}", - "es": "Sitio web oficial: {website}" + "es": "Sitio web oficial: {website}", + "ca": "Lloc web oficial: {website}" }, "freeform": { "type": "url", @@ -624,7 +635,8 @@ "pt_BR": "Este lugar tem um website?", "de": "Hat dieser Ort eine Webseite?", "nl": "Heeft deze plaats een website?", - "es": "¿Este lugar tiene un sitio web?" + "es": "¿Este lugar tiene un sitio web?", + "ca": "Aquest lloc té un lloc web?" }, "id": "caravansites-website" }, @@ -642,7 +654,8 @@ "es": "¿Este lugar ofrece huecos para alquilar a largo plazo?", "da": "Tilbyder dette sted pladser til langtidsleje?", "nl": "Kan men hier plekken huren voor langere termijn?", - "nb_NO": "Tilbyr dette stedet plasser for langtidsleie?" + "nb_NO": "Tilbyr dette stedet plasser for langtidsleie?", + "ca": "Aquest lloc ofereix llocs de lloguer a llarg termini?" }, "mappings": [ { @@ -704,7 +717,8 @@ "de": "Es sind nur Plätze für Dauercamper vorhanden (wenn Sie diese Antwort auswählen, wird dieser Ort wird von der Karte verschwinden)", "es": "Solo es posible permanecer aquí si tienes un contrato a largo plazo (este lugar desaparecerá de este mapa si escoges esto)", "da": "Det er kun muligt at bo her, hvis du har en langtidskontrakt (dette sted forsvinder fra kortet, hvis du vælger dette)", - "nl": "Hier kan je enkel verblijven met een langetermijnscontract (deze plaats zal verborgen worden van deze kaart als je dit kiest)" + "nl": "Hier kan je enkel verblijven met een langetermijnscontract (deze plaats zal verborgen worden van deze kaart als je dit kiest)", + "ca": "Només és possible romandre aquí si teniu un contracte a llarg termini (aquest lloc desapareixerà d'aquest mapa si trieu això)" } } ] @@ -826,7 +840,8 @@ "de": "Sanitäre Entsorgungsstationen", "zh_Hant": "垃圾處理站", "id": "Tempat pembuangan sanitasi", - "nl": "Loostplaatsen" + "nl": "Loostplaatsen", + "ca": "Estacions d'abocament sanitari" }, "minzoom": 10, "source": { @@ -880,7 +895,8 @@ "de": "Sanitäre Entsorgungsstationen", "zh_Hant": "垃圾處理站", "id": "Tempat pembuangan sanitasi", - "nl": "Loosplaatsen" + "nl": "Loosplaatsen", + "ca": "Estacions d'abocament sanitari" }, "tagRenderings": [ "images", @@ -953,7 +969,8 @@ "zh_Hant": "這個地方收費 {charge}", "nb_NO": "Dette stedet tar {charge}", "nl": "Deze loosplaats rekent {charge} aan", - "es": "Este lugar cobra {charge}" + "es": "Este lugar cobra {charge}", + "ca": "Aquest lloc costa {charge}" }, "question": { "en": "How much does this place charge?", @@ -965,7 +982,8 @@ "de": "Wie hoch ist die Gebühr an diesem Ort?", "zh_Hant": "這個地方收費多少?", "nl": "Hoeveel kost het gebruik van deze loosplaats?", - "es": "¿Cuánto cobra este lugar?" + "es": "¿Cuánto cobra este lugar?", + "ca": "Quant costa aquest lloc?" }, "freeform": { "key": "charge" @@ -1057,7 +1075,8 @@ "fr": "Il est possible d’y vidanger ses eaux usées", "de": "Hier können Sie Brauch-/Grauwasser entsorgen", "zh_Hant": "你可以在這裡排放洗滌水", - "nl": "Je kan hier grijs water lozen" + "nl": "Je kan hier grijs water lozen", + "ca": "Es pot desfer de les aigües grises aquí" } }, { @@ -1141,7 +1160,8 @@ "fr": "Qui peut utiliser le site de vidange ?", "de": "Wer darf diese sanitäre Entsorgungsstation nutzen?", "zh_Hant": "誰可以使用這個垃圾站?", - "nl": "Wie mag deze loosplaats gebruiken?" + "nl": "Wie mag deze loosplaats gebruiken?", + "ca": "Qui pot utilitzar aquesta estació d'abocament?" }, "mappings": [ { @@ -1174,7 +1194,8 @@ "fr": "Le site est réservés aux clients", "de": "Sie müssen Kunde des Campingplatzes sein, um diesen Ort nutzen zu können", "zh_Hant": "你需要是露營/露營地的客戶才能使用這一地方", - "nl": "Je moet een klant van de kampeerplaats zijn om dit te gebruiken" + "nl": "Je moet een klant van de kampeerplaats zijn om dit te gebruiken", + "ca": "Heu de ser client del càmping/lloc d'acampada per utilitzar aquest lloc" } }, { @@ -1191,7 +1212,8 @@ "fr": "Le site est en libre-service", "de": "Jeder darf diese sanitäre Entsorgungsstation nutzen", "zh_Hant": "任何人都可以使用這個衛生廢棄物站", - "nl": "Deze loosplaats is voor iedereen toegankelijk" + "nl": "Deze loosplaats is voor iedereen toegankelijk", + "ca": "Qualsevol pot utilitzar aquesta estació d'abocament" }, "hideInAnswer": true }, @@ -1209,7 +1231,8 @@ "fr": "Le site est en libre-service", "de": "Jeder darf diese sanitäre Entsorgungsstation nutzen", "zh_Hant": "任何人都可以使用這個垃圾站", - "nl": "Deze loosplaats is toegankelijk voor iedereen" + "nl": "Deze loosplaats is toegankelijk voor iedereen", + "ca": "Qualsevol pot utilitzar aquesta estació d'abocament" } } ] diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json index 9dc46bdac..7d03bb2ef 100644 --- a/assets/themes/climbing/climbing.json +++ b/assets/themes/climbing/climbing.json @@ -215,7 +215,8 @@ "de": "Wer hat hier Zugang?", "it": "Chi può accedervi?", "nl": "Wie heeft hier toegang toe?", - "es": "¿Quién puede acceder aquí?" + "es": "¿Quién puede acceder aquí?", + "ca": "Qui pot accedir aquí?" }, "mappings": [ { diff --git a/assets/themes/cycle_highways/cycle_highways.json b/assets/themes/cycle_highways/cycle_highways.json index a3567a98d..0737cc630 100644 --- a/assets/themes/cycle_highways/cycle_highways.json +++ b/assets/themes/cycle_highways/cycle_highways.json @@ -22,7 +22,8 @@ "fr": "Cette carte affiche les aménagements cyclables", "nl": "Deze kaart toont fietssnelwegen", "es": "Este mapa muestra carriles bici", - "nb_NO": "Kart som viser sykkelmotorveier" + "nb_NO": "Kart som viser sykkelmotorveier", + "ca": "Aquest mapa mostra carrils bici" }, "version": "2021-08-23", "startLat": 51.1599, diff --git a/assets/themes/cycle_infra/cycle_infra.json b/assets/themes/cycle_infra/cycle_infra.json index 2e1d5c71a..aa74fa345 100644 --- a/assets/themes/cycle_infra/cycle_infra.json +++ b/assets/themes/cycle_infra/cycle_infra.json @@ -22,7 +22,8 @@ "zh_Hant": "檢視與編輯單車相關設施的地圖。", "hu": "Olyan térkép, ahol a kerékpáros infrastruktúrával kapcsolatos dolgokat tekinthet meg és szerkeszthet.", "es": "Un mapa en el que puedes ver y editar cosas relacionadas con la infraestructura ciclista.", - "fr": "Une carte où vous pouvez visualiser et modifier les éléments relatifs à l'infrastructure cyclable." + "fr": "Une carte où vous pouvez visualiser et modifier les éléments relatifs à l'infrastructure cyclable.", + "ca": "Un mapa on es poden veure i editar coses relacionades amb la infraestructura ciclista." }, "description": { "en": "A map where you can view and edit things related to the bicycle infrastructure. Made during #osoc21.", @@ -32,7 +33,8 @@ "zh_Hant": "可以檢視與編輯單車相關設施的地圖,在 #os0c21時製作。", "hu": "Kerékpáros infrastruktúrával kapcsolatos dolgokat megjelenítő és szerkesztésre felkínáló térkép. Az #osoc21 (Open Summer of Code) alatt készült.", "fr": "Une carte montrant les aménagements cyclables et où l’on peut rajouter des informations. Réalisée durant #osoc21.", - "es": "Un mapa en el que puedes ver y editar cosas relacionadas con la infraestructura ciclista. Hecho durante #osoc21." + "es": "Un mapa en el que puedes ver y editar cosas relacionadas con la infraestructura ciclista. Hecho durante #osoc21.", + "ca": "Un mapa on es poden veure i editar coses relacionades amb la infraestructura ciclista. Fet durant #osoc21." }, "maintainer": "MapComplete", "hideFromOverview": false, diff --git a/assets/themes/cyclenodes/cyclenodes.json b/assets/themes/cyclenodes/cyclenodes.json index 2be45c90d..13e942906 100644 --- a/assets/themes/cyclenodes/cyclenodes.json +++ b/assets/themes/cyclenodes/cyclenodes.json @@ -6,14 +6,16 @@ "es": "Redes de Nodos Ciclistas", "nb_NO": "Sykkelnodenettverk", "nl": "Fietsknooppuntennetwerken", - "fr": "Réseau de Nœuds Cyclistes" + "fr": "Réseau de Nœuds Cyclistes", + "ca": "Xarxa de nodes ciclistes" }, "description": { "en": "This map shows cycle node networks and allows you to add new nodes easily", "de": "Diese Karte zeigt Knotenpunktnetzwerke für Radfahrer und erlaubt auch neue Knoten zu mappen", "es": "Este mapa muestra redes de nodos ciclistas y te permita añadir nodos nuevos de manera sencilla", "nl": "Deze kaart toont fietsknooppunten en laat je toe om eenvoudigweg nieuwe knooppunten toe te voegen", - "fr": "Cette carte montre les réseaux de nœuds cyclistes et vous permet d'ajouter facilement de nouveaux nœuds" + "fr": "Cette carte montre les réseaux de nœuds cyclistes et vous permet d'ajouter facilement de nouveaux nœuds", + "ca": "Aquest mapa mostra xarxes de nodes ciclistes i et permet afegir nodes nous de manera senzilla" }, "maintainer": "Sebastian Kürten", "icon": "./assets/themes/cyclenodes/logo.svg", @@ -35,7 +37,8 @@ "de": "Knotenpunktverbindungen", "es": "enlaces nodo a nodo", "nl": "verbindingen van node naar node", - "fr": "liens noeud à noeud" + "fr": "liens noeud à noeud", + "ca": "enllaços node a node" }, "source": { "osmTags": { @@ -85,7 +88,8 @@ "de": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", "es": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", "nl": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", - "fr": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?" + "fr": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", + "ca": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?" }, "render": { "en": "This node to node link was last surveyed on {survey:date}", diff --git a/assets/themes/cyclestreets/cyclestreets.json b/assets/themes/cyclestreets/cyclestreets.json index 4218b0d1f..0cddb4e0f 100644 --- a/assets/themes/cyclestreets/cyclestreets.json +++ b/assets/themes/cyclestreets/cyclestreets.json @@ -319,7 +319,8 @@ "it": "Questa è una strada ciclabile", "hu": "Ez az utca kerékpárosutca", "es": "Esta calle es una ciclocalle", - "fr": "Cette rue est une rue cyclable" + "fr": "Cette rue est une rue cyclable", + "ca": "Aquest carrer és una ciclocarrer" }, "hideInAnswer": "_country=be" }, @@ -339,7 +340,8 @@ "it": "Diverrà tra poco una strada ciclabile", "hu": "Ez az utca hamarosan kerékpárosutcává válik", "es": "Esta calle se convertirá en una ciclocalle próximamente", - "fr": "Cette rue sera bientôt une rue cyclable" + "fr": "Cette rue sera bientôt une rue cyclable", + "ca": "Aquest carrer es convertirà en un ciclocarrer pròximament" } }, { diff --git a/assets/themes/drinking_water/drinking_water.json b/assets/themes/drinking_water/drinking_water.json index 9f8650911..cd8c9ec85 100644 --- a/assets/themes/drinking_water/drinking_water.json +++ b/assets/themes/drinking_water/drinking_water.json @@ -25,7 +25,8 @@ "de": "Eine Karte zum Anzeigen und Bearbeiten öffentlicher Trinkwasserstellen", "nb_NO": "Offentlig tilgjengelige drikkevannssteder", "hu": "Ezen a térképen a nyilvánosan hozzáférhető ivóvíznyerő helyek láthatók, szerkeszthetők és rajzolhatók fel könnyedén", - "es": "En este mapa, se muestran los puntos de agua potable accesibles públicamente y pueden añadirse fácilmente" + "es": "En este mapa, se muestran los puntos de agua potable accesibles públicamente y pueden añadirse fácilmente", + "ca": "En aquest mapa es mostren els punts d'aigua potable accessibles al públic i es poden afegir fàcilment" }, "maintainer": "MapComplete", "icon": "./assets/themes/drinking_water/logo.svg", diff --git a/assets/themes/education/education.json b/assets/themes/education/education.json index 0d4d9cd39..8d59e840f 100644 --- a/assets/themes/education/education.json +++ b/assets/themes/education/education.json @@ -4,14 +4,16 @@ "en": "On this map, you'll find information about all types of schools and eduction and can easily add more information", "nl": "Deze kaart toont info over verschillende onderwijsinstellingen zoals kleuterscholen, middelbare scholen en tertiair onderwijs.", "de": "Auf dieser Karte können Sie Informationen über Bildungseinrichtungen finden und hinzufügen", - "fr": "Sur cette carte, vous trouverez des informations concernant tous les types d'écoles et d'enseignement. Vous pouvez facilement ajouter plus d'informations" + "fr": "Sur cette carte, vous trouverez des informations concernant tous les types d'écoles et d'enseignement. Vous pouvez facilement ajouter plus d'informations", + "ca": "En aquest mapa trobareu informació sobre tots els tipus d'escoles i educació i podreu afegir fàcilment més informació" }, "title": { "en": "Education", "nl": "Onderwijs", "de": "Bildung", "fr": "Enseignement", - "nb_NO": "Utdanning" + "nb_NO": "Utdanning", + "ca": "Educació" }, "defaultBackgroundId": "CartoDB.Voyager", "maintainer": "MapComplete", diff --git a/assets/themes/etymology/etymology.json b/assets/themes/etymology/etymology.json index e72a15cb6..bdda18489 100644 --- a/assets/themes/etymology/etymology.json +++ b/assets/themes/etymology/etymology.json @@ -56,7 +56,8 @@ "zh_Hant": "道路沒有詞源資訊", "hu": "Etimológiai adat nélküli utcák", "fr": "Route sans origine étymologique", - "es": "Calles sin información etimológica" + "es": "Calles sin información etimológica", + "ca": "Carrers sense informació etimològica" }, "minzoom": 18, "source": { @@ -82,7 +83,8 @@ "zh_Hant": "公園與森哥沒有詞源資訊", "hu": "Etimológiai adat nélküli parkok és erdők", "fr": "Parcs et forêts sans origine étymologique", - "es": "Parques y bosques sin información etimológica" + "es": "Parques y bosques sin información etimológica", + "ca": "Parcs i boscos sense informació etimològica" }, "minzoom": 18, "source": { @@ -109,7 +111,8 @@ "de": "Bildungseinrichtungen ohne Informationen zur Namensherkunft", "fr": "Institutions d'éducation sans origine étymologique", "es": "Instituciones educacionales sin información etimológica", - "nl": "Onderwijsinstelling zonder etymologische informatie" + "nl": "Onderwijsinstelling zonder etymologische informatie", + "ca": "Institucions educatives sense informació d'etimològica" }, "minzoom": 18, "source": { @@ -139,7 +142,8 @@ "de": "Kultureinrichtungen ohne Informationen zur Namensherkunft", "fr": "Lieux culturels sans origine étymologique", "es": "Lugares culturales sin información etimológica", - "nl": "Culturele plaatsen zonder etymologische informatie" + "nl": "Culturele plaatsen zonder etymologische informatie", + "ca": "Llocs culturals sense informació etimològica" }, "minzoom": 18, "source": { @@ -169,7 +173,8 @@ "de": "Touristische Einrichtungen ohne Informationen zur Namensherkunft", "fr": "Lieux touristiques sans origine étymologique", "es": "Lugares turísticos sin información etimológica", - "nl": "Toeristische plaatsen zonder etymologische informatie" + "nl": "Toeristische plaatsen zonder etymologische informatie", + "ca": "Llocs turístics sense informació etimològica" }, "minzoom": 18, "source": { @@ -197,7 +202,8 @@ "en": "Health and social places without etymology information", "de": "Gesundheits- und Sozialeinrichtungen ohne Informationen zur Namensherkunft", "fr": "Établissements sociaux ou de soins sans origine étymologique", - "nl": "Gezondheidsinstellingen en maatschappelijke plaatsen zonder etymologische informatie" + "nl": "Gezondheidsinstellingen en maatschappelijke plaatsen zonder etymologische informatie", + "ca": "Llocs socials i de salut sense informació etimològica" }, "minzoom": 18, "source": { @@ -225,7 +231,8 @@ "de": "Sporteinrichtungen ohne Informationen zur Namensherkunft", "fr": "Lieux sportifs sans origine étymologique", "es": "Lugares deportivos sin información etimológica", - "nl": "Sportplekken zonder etymologische informatie" + "nl": "Sportplekken zonder etymologische informatie", + "ca": "Llocs esportius sense informació etimològica" }, "minzoom": 18, "source": { diff --git a/assets/themes/governments/crest.svg b/assets/themes/governments/crest.svg new file mode 100644 index 000000000..383b543b1 --- /dev/null +++ b/assets/themes/governments/crest.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/themes/governments/governments.json b/assets/themes/governments/governments.json new file mode 100644 index 000000000..0ba98a85f --- /dev/null +++ b/assets/themes/governments/governments.json @@ -0,0 +1,20 @@ +{ + "id": "governments", + "title": { + "en": "Governmental Offices" + }, + "description": { + "en": "On this map, Governmental offices are shown and can be easily added" + }, + "maintainer": "MapComplete", + "icon": "./assets/themes/onwheels/crest.svg", + "version": "0", + "startLat": 50.8465573, + "defaultBackgroundId": "CartoDB.Voyager", + "startLon": 4.351697, + "startZoom": 16, + "widenFactor": 2, + "layers": [ + "governments" + ] +} \ No newline at end of file diff --git a/assets/themes/governments/license_info.json b/assets/themes/governments/license_info.json new file mode 100644 index 000000000..9f2dcf81a --- /dev/null +++ b/assets/themes/governments/license_info.json @@ -0,0 +1,10 @@ +[ + { + "path": "crest.svg", + "license": "CC0", + "authors": [ + "Free Wheelies" + ], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/themes/healthcare/healthcare.json b/assets/themes/healthcare/healthcare.json index 482d21396..36fad8d50 100644 --- a/assets/themes/healthcare/healthcare.json +++ b/assets/themes/healthcare/healthcare.json @@ -1,10 +1,14 @@ { "id": "healthcare", "title": { - "en": "Healthcare" + "en": "Healthcare", + "ca": "Assistència sanitària", + "de": "Gesundheitswesen" }, "description": { - "en": "On this map, various healthcare related items are shown" + "en": "On this map, various healthcare related items are shown", + "ca": "En aquest mapa es mostren diversos elements relacionats amb la salut", + "de": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt" }, "maintainer": "MapComplete", "icon": "./assets/layers/doctors/doctors.svg", diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index f6369dc6f..aa5e2aabd 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -206,6 +206,10 @@ "if": "theme=ghostbikes", "then": "./assets/themes/ghostbikes/logo.svg" }, + { + "if": "theme=governments", + "then": "./assets/themes/onwheels/crest.svg" + }, { "if": "theme=grb", "then": "./assets/themes/grb_import/logo.svg" diff --git a/assets/themes/onwheels/bicycle_pump.svg b/assets/themes/onwheels/bicycle_pump.svg new file mode 100644 index 000000000..98d33fb00 --- /dev/null +++ b/assets/themes/onwheels/bicycle_pump.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/cafe.svg b/assets/themes/onwheels/cafe.svg new file mode 100644 index 000000000..266130911 --- /dev/null +++ b/assets/themes/onwheels/cafe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/cone.svg b/assets/themes/onwheels/cone.svg new file mode 100644 index 000000000..884d7849a --- /dev/null +++ b/assets/themes/onwheels/cone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/doctor.svg b/assets/themes/onwheels/doctor.svg new file mode 100644 index 000000000..6d0c787ed --- /dev/null +++ b/assets/themes/onwheels/doctor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/elevator.svg b/assets/themes/onwheels/elevator.svg new file mode 100644 index 000000000..35b934aee --- /dev/null +++ b/assets/themes/onwheels/elevator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/entrance.svg b/assets/themes/onwheels/entrance.svg new file mode 100644 index 000000000..aaee24c6f --- /dev/null +++ b/assets/themes/onwheels/entrance.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/government.svg b/assets/themes/onwheels/government.svg new file mode 100644 index 000000000..5e6253664 --- /dev/null +++ b/assets/themes/onwheels/government.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/hospital.svg b/assets/themes/onwheels/hospital.svg new file mode 100644 index 000000000..96a7c7b24 --- /dev/null +++ b/assets/themes/onwheels/hospital.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/hotel.svg b/assets/themes/onwheels/hotel.svg new file mode 100644 index 000000000..3f76a6ad8 --- /dev/null +++ b/assets/themes/onwheels/hotel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/license_info.json b/assets/themes/onwheels/license_info.json index 9f2dcf81a..08172bc9f 100644 --- a/assets/themes/onwheels/license_info.json +++ b/assets/themes/onwheels/license_info.json @@ -1,4 +1,34 @@ [ + { + "path": "bicycle_pump.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "cafe.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "cone.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, { "path": "crest.svg", "license": "CC0", @@ -6,5 +36,135 @@ "Free Wheelies" ], "sources": [] + }, + { + "path": "doctor.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "elevator.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "entrance.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "government.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "hospital.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "hotel.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "parking.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "pharmacy.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "reception.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "repair.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "restaurant.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "shop.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + }, + { + "path": "toilet.svg", + "license": "CC-BY-SA", + "authors": [ + "CT Steward" + ], + "sources": [ + "https://www.ctsteward.com/" + ] } ] \ No newline at end of file diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json index 5956d84bf..055ea69ec 100644 --- a/assets/themes/onwheels/onwheels.json +++ b/assets/themes/onwheels/onwheels.json @@ -1,35 +1,323 @@ { "id": "onwheels", "title": { - "en": "OnWheels" + "en": "OnWheels", + "de": "Auf Rädern", + "fr": "OnWheels" }, "description": { - "en": "On this map, publicly wheelchair accessible places are shown and can be easily added" + "en": "On this map, publicly weelchair accessible places are shown and can be easily added", + "de": "Auf dieser Karte werden öffentlich zugängliche Orte für Rollstuhlfahrer angezeigt und können leicht hinzugefügt werden", + "fr": "Sur cette carte nous pouvons voir et ajouter les différents endroits publiques accessibles aux chaises roulantes" }, "maintainer": "MapComplete", "icon": "./assets/themes/onwheels/crest.svg", "version": "0", - "startLat": 50.8465573, + "startLat": 50.86622, "defaultBackgroundId": "CartoDB.Voyager", - "startLon": 4.351697, - "startZoom": 16, + "startLon": 4.350103, + "startZoom": 17, "widenFactor": 2, - "hideFromOverview": true, + "hideFromOverview": false, "layers": [ - "bike_repair_station", - "bike_shop", - "cafe_pub", - "entrance", - "food", - "kerbs", - "parking", - "picnic_table", - "school", - "shops", - "toilet", + { + "builtin": "bike_repair_station", + "override": { + "minzoom": 15, + "shownByDefault": false, + "mapRendering": [ + { + "icon": { + "render": "./assets/themes/onwheels/repair.svg", + "mappings": [ + { + "if": "service:bicycle:pump=yes", + "then": "./assets/themes/onwheels/bicycle_pump.svg" + } + ] + }, + "iconSize": "40,40,bottom" + } + ] + } + }, + { + "builtin": "bike_shop", + "override": { + "shownByDefault": false + } + }, + { + "builtin": "pedestrian_path", + "override": { + "title": { + "en": "Pedestrian path" + }, + "name": null, + "shownByDefault": false + } + }, + { + "builtin": "cycleways_and_roads", + "override": { + "name": null, + "shownByDefault": false + } + }, + { + "builtin": "cafe_pub", + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/cafe.svg", + "iconSize": "40,40,bottom", + "label": null + } + ] + } + }, + { + "builtin": "entrance", + "override": { + "minzoom": 19, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/entrance.svg", + "iconSize": "40,40,center" + } + ], + "syncSelection": "theme-only", + "filter": [ + { + "id": "width", + "options": [ + { + "question": { + "en": "Any/No width info" + } + }, + { + "osmTags": "width=", + "question": { + "en": "Any width info" + } + } + ] + } + ] + } + }, + { + "builtin": "food", + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/restaurant.svg", + "iconSize": "40,40,bottom", + "label": null + } + ] + } + }, + { + "builtin": "kerbs", + "override": { + "minzoom": 19, + "syncSelection": "theme-only", + "mapRendering": [ + { + "icon": { + "render": "./assets/themes/onwheels/cone.svg" + } + } + ], + "filter": [ + { + "id": "kerb-type", + "options": [ + { + "question": { + "en": "All types of kerbs", + "nl": "Alle typen stoepranden", + "de": "Alle Arten von Bordsteinen" + } + }, + { + "osmTags": "kerb=raised", + "question": { + "en": "Raised kerb (>3 cm)", + "nl": "Hoge stoeprand (>3 cm)", + "de": "Erhöhter Bordstein (>3 cm)" + } + }, + { + "osmTags": "kerb=lowered", + "question": { + "en": "Lowered kerb (~3 cm)", + "nl": "Verlaagde stoeprand (~3 cm)", + "de": "Abgesenkter Bordstein (~3 cm)" + } + }, + { + "osmTags": "kerb=flush", + "question": { + "en": "Flush kerb (~0cm)", + "nl": "Vlakke stoeprand (~0cm)", + "de": "Bündiger Bordstein (~0cm)" + } + } + ] + } + ] + } + }, + { + "builtin": "parking", + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/parking.svg", + "iconSize": "40,40,bottom" + }, + { + "color": "#225f92" + } + ] + } + }, + { + "builtin": "picnic_table", + "override": { + "shownByDefault": false + } + }, + { + "builtin": "school", + "override": { + "shownByDefault": false, + "mapRendering": [ + { + "label": null + } + ] + } + }, + { + "builtin": "shops", + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/shop.svg", + "iconSize": "40,40,bottom", + "label": null + }, + { + "color": "#ea4a94" + } + ] + } + }, + { + "builtin": "toilet", + "override": { + "minzoom": 19, + "syncSelection": "theme-only", + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/toilet.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, "viewpoint", - "doctors", - "hotel", + { + "builtin": "pharmacy", + "override": { + "minzoom": 15, + "shownByDefault": false, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/pharmacy.svg", + "iconSize": "40,40,bottom", + "label": null + } + ] + } + }, + { + "builtin": "doctors", + "shownByDefault": false, + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/doctor.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, + { + "builtin": "hospital", + "override": { + "minzoom": 15, + "shownByDefault": false, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/hospital.svg", + "iconSize": "40,40,bottom" + }, + { + "color": "#dd463b" + } + ] + } + }, + { + "builtin": "reception_desk", + "override": { + "minzoom": 19, + "syncSelection": "theme-only", + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/reception.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, + "walls_and_buildings", + { + "builtin": "elevator", + "override": { + "minzoom": 19, + "syncSelection": "theme-only", + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/elevator.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, + { + "builtin": "hotel", + "override": { + "minzoom": 15, + "shownByDefault": false, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/hotel.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, { "builtin": "maproulette_challenge", "override": { @@ -77,9 +365,49 @@ ] } }, - "reception_desk", - "walls_and_buildings", - "elevator" + { + "builtin": "governments", + "override": { + "minzoom": 15, + "mapRendering": [ + { + "icon": "./assets/themes/onwheels/government.svg", + "iconSize": "40,40,bottom" + } + ] + } + }, + { + "builtin": "indoors", + "override": { + "minzoom": 19 + } + }, + { + "builtin": "current_view", + "override": { + "+mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "icon": "statistics" + } + ], + "=title": { + "render": { + "en": "Statistics" + } + }, + "tagRenderings": [ + { + "id": "stats", + "render": "{statistics()}" + } + ] + } + } ], "overrideAll": { "+calculatedTags": [ @@ -89,18 +417,17 @@ ], "+tagRenderings": [ { - "id": "_poi_entrance:width", + "id": "_containing_poi_entrance:width", "condition": { "and": [ "entrance=", - "kerb=" + "kerb=", + "current_view!=yes", + "door=" ] }, "render": { - "en": "This door has a width of {canonical(_poi_entrance:width)} meters", - "nl": "Deze deur heeft een breedte van {canonical(_poi_entrance:width)} meter", - "de": "Diese Tür hat eine Durchgangsbreite von {canonical(_poi_entrance:width)} Meter", - "es": "Esta puerta tiene una ancho de {canonical(_poi_entrance:width)} metros" + "en": "The containing building can be entered via a door of {canonical(_poi_entrance:width)}" }, "freeform": { "key": "_poi_entrance:width", @@ -110,17 +437,11 @@ { "if": "_poi_entrance:width=", "then": { - "en": "This entrance has no width information" + "en": "The containing building has no information on door widths. Add a door and measure the width to get information" } } ] } - ], - "minzoom": "15", - "mapRendering": [ - { - "label": null - } ] } } \ No newline at end of file diff --git a/assets/themes/onwheels/parking.svg b/assets/themes/onwheels/parking.svg new file mode 100644 index 000000000..2b4df1489 --- /dev/null +++ b/assets/themes/onwheels/parking.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/pharmacy.svg b/assets/themes/onwheels/pharmacy.svg new file mode 100644 index 000000000..13b9b15c8 --- /dev/null +++ b/assets/themes/onwheels/pharmacy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/reception.svg b/assets/themes/onwheels/reception.svg new file mode 100644 index 000000000..0e818387a --- /dev/null +++ b/assets/themes/onwheels/reception.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/repair.svg b/assets/themes/onwheels/repair.svg new file mode 100644 index 000000000..b0924247c --- /dev/null +++ b/assets/themes/onwheels/repair.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/restaurant.svg b/assets/themes/onwheels/restaurant.svg new file mode 100644 index 000000000..86fe5c5b1 --- /dev/null +++ b/assets/themes/onwheels/restaurant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/shop.svg b/assets/themes/onwheels/shop.svg new file mode 100644 index 000000000..01ce20a09 --- /dev/null +++ b/assets/themes/onwheels/shop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/onwheels/toilet.svg b/assets/themes/onwheels/toilet.svg new file mode 100644 index 000000000..81d9abdf4 --- /dev/null +++ b/assets/themes/onwheels/toilet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/themes/rainbow_crossings/rainbow_crossings.json b/assets/themes/rainbow_crossings/rainbow_crossings.json index 1a63df6fc..a01407c9d 100644 --- a/assets/themes/rainbow_crossings/rainbow_crossings.json +++ b/assets/themes/rainbow_crossings/rainbow_crossings.json @@ -1,10 +1,12 @@ { "id": "rainbow_crossings", "title": { - "en": "Rainbow pedestrian crossings" + "en": "Rainbow pedestrian crossings", + "de": "Regenbogen-Fußgängerübergänge" }, "description": { - "en": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added" + "en": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added", + "de": "Auf dieser Karte sind Fußgängerüberwege mit Regenbogenfarben eingezeichnet und können leicht hinzugefügt werden" }, "maintainer": "", "icon": "./assets/themes/rainbow_crossings/logo.svg", diff --git a/assets/themes/sidewalks/sidewalks.json b/assets/themes/sidewalks/sidewalks.json index 262fff716..fcdf9349a 100644 --- a/assets/themes/sidewalks/sidewalks.json +++ b/assets/themes/sidewalks/sidewalks.json @@ -125,7 +125,11 @@ }, { "if": "sidewalk:left|right=no", - "then": "No, there is no seperated sidewalk to walk on" + "then": "No, there is no sidewalk to walk on" + }, + { + "if": "sidewalk:left|right=separate", + "then": "There is a separately mapped sidewalk to walk on" } ] }, diff --git a/assets/themes/speelplekken/speelplekken.json b/assets/themes/speelplekken/speelplekken.json index de451a2b5..4da5ec048 100644 --- a/assets/themes/speelplekken/speelplekken.json +++ b/assets/themes/speelplekken/speelplekken.json @@ -33,6 +33,7 @@ "layers": [ { "id": "shadow", + "title": null, "source": { "geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete/master/assets/themes/speelplekken/shadow.geojson", "osmTags": "shadow=yes", diff --git a/assets/themes/transit/transit.json b/assets/themes/transit/transit.json index 271510c2f..5fdee197d 100644 --- a/assets/themes/transit/transit.json +++ b/assets/themes/transit/transit.json @@ -3,10 +3,12 @@ "maintainer": "Robin van der Linde", "version": "20220406", "title": { - "en": "Bus routes" + "en": "Bus routes", + "de": "Buslinien" }, "description": { - "en": "Plan your trip with the help of the public transport system." + "en": "Plan your trip with the help of the public transport system.", + "de": "Planen Sie Ihre Reise mit Hilfe von öffentlichen Verkehrsmitteln." }, "icon": "./assets/layers/transit_stops/bus_stop.svg", "startZoom": 20, diff --git a/assets/themes/walls_and_buildings/walls_and_buildings.json b/assets/themes/walls_and_buildings/walls_and_buildings.json index 6b248f3b4..1abc2f8e7 100644 --- a/assets/themes/walls_and_buildings/walls_and_buildings.json +++ b/assets/themes/walls_and_buildings/walls_and_buildings.json @@ -1,10 +1,12 @@ { "id": "walls_and_buildings", "title": { - "en": "Walls and buildings" + "en": "Walls and buildings", + "de": "Wände und Gebäude" }, "description": { - "en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user." + "en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user.", + "de": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden." }, "maintainer": "MapComplete", "icon": "./assets/layers/walls_and_buildings/walls_and_buildings.png", @@ -17,5 +19,6 @@ "layers": [ "walls_and_buildings", "entrance" - ] + ], + "hideFromOverview": true } \ No newline at end of file diff --git a/assets/translators.json b/assets/translators.json index dc060e31c..a019e4ed1 100644 --- a/assets/translators.json +++ b/assets/translators.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 177, + "commits": 180, "contributor": "Pieter Vander Vennet" }, { - "commits": 139, + "commits": 142, "contributor": "kjon" }, { @@ -18,11 +18,11 @@ }, { "commits": 31, - "contributor": "Iago" + "contributor": "Babos Gábor" }, { - "commits": 30, - "contributor": "Babos Gábor" + "commits": 31, + "contributor": "Iago" }, { "commits": 29, @@ -41,12 +41,12 @@ "contributor": "Anonymous" }, { - "commits": 19, - "contributor": "SC" + "commits": 20, + "contributor": "Robin van der Linde" }, { - "commits": 18, - "contributor": "Robin van der Linde" + "commits": 19, + "contributor": "SC" }, { "commits": 18, @@ -72,6 +72,10 @@ "commits": 13, "contributor": "Joost" }, + { + "commits": 12, + "contributor": "paunofu" + }, { "commits": 10, "contributor": "Win Olario" @@ -92,10 +96,6 @@ "commits": 9, "contributor": "Jacque Fresco" }, - { - "commits": 8, - "contributor": "paunofu" - }, { "commits": 7, "contributor": "Niels Elgaard Larsen" @@ -228,6 +228,14 @@ "commits": 3, "contributor": "SiegbjornSitumeang" }, + { + "commits": 2, + "contributor": "Andrews Leruth" + }, + { + "commits": 2, + "contributor": "Manuel Tassi" + }, { "commits": 2, "contributor": "liimee" diff --git a/css/index-tailwind-output.css b/css/index-tailwind-output.css index 36f99ace6..5b3eb4abf 100644 --- a/css/index-tailwind-output.css +++ b/css/index-tailwind-output.css @@ -819,6 +819,10 @@ video { margin: 1.25rem; } +.m-2 { + margin: 0.5rem; +} + .m-0\.5 { margin: 0.125rem; } @@ -831,10 +835,6 @@ video { margin: 0.75rem; } -.m-2 { - margin: 0.5rem; -} - .m-6 { margin: 1.5rem; } @@ -866,14 +866,34 @@ video { margin-bottom: 1rem; } +.mt-8 { + margin-top: 2rem; +} + .mt-4 { margin-top: 1rem; } +.mt-2 { + margin-top: 0.5rem; +} + +.ml-0 { + margin-left: 0px; +} + +.mr-8 { + margin-right: 2rem; +} + .mt-6 { margin-top: 1.5rem; } +.mr-2 { + margin-right: 0.5rem; +} + .mt-1 { margin-top: 0.25rem; } @@ -890,14 +910,6 @@ video { margin-right: 1rem; } -.mt-2 { - margin-top: 0.5rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - .mb-2 { margin-bottom: 0.5rem; } @@ -1042,8 +1054,8 @@ video { height: 6rem; } -.h-8 { - height: 2rem; +.h-64 { + height: 16rem; } .h-full { @@ -1058,14 +1070,18 @@ video { height: 3rem; } -.h-1\/2 { - height: 50%; +.h-8 { + height: 2rem; } .h-4 { height: 1rem; } +.h-1\/2 { + height: 50%; +} + .h-screen { height: 100vh; } @@ -1090,10 +1106,6 @@ video { height: 0px; } -.h-64 { - height: 16rem; -} - .h-3 { height: 0.75rem; } @@ -1126,18 +1138,14 @@ video { width: 100%; } -.w-8 { - width: 2rem; -} - -.w-1 { - width: 0.25rem; -} - .w-24 { width: 6rem; } +.w-1\/2 { + width: 50%; +} + .w-6 { width: 1.5rem; } @@ -1150,14 +1158,18 @@ video { width: 3rem; } -.w-0 { - width: 0px; +.w-8 { + width: 2rem; } .w-4 { width: 1rem; } +.w-0 { + width: 0px; +} + .w-screen { width: 100vw; } @@ -1171,15 +1183,15 @@ video { width: min-content; } -.w-1\/2 { - width: 50%; -} - .w-max { width: -webkit-max-content; width: max-content; } +.w-32 { + width: 8rem; +} + .w-16 { width: 4rem; } @@ -1290,6 +1302,10 @@ video { flex-wrap: wrap-reverse; } +.place-content-center { + place-content: center; +} + .content-start { align-content: flex-start; } @@ -1352,6 +1368,10 @@ video { overflow: scroll; } +.overflow-x-auto { + overflow-x: auto; +} + .overflow-y-auto { overflow-y: auto; } @@ -1395,14 +1415,18 @@ video { border-radius: 0.25rem; } -.rounded-xl { - border-radius: 0.75rem; +.rounded-md { + border-radius: 0.375rem; } .rounded-lg { border-radius: 0.5rem; } +.rounded-xl { + border-radius: 0.75rem; +} + .rounded-sm { border-radius: 0.125rem; } @@ -1424,6 +1448,10 @@ video { border-width: 4px; } +.border-b-4 { + border-bottom-width: 4px; +} + .border-l-4 { border-left-width: 4px; } @@ -1457,6 +1485,11 @@ video { border-color: rgba(252, 165, 165, var(--tw-border-opacity)); } +.border-blue-500 { + --tw-border-opacity: 1; + border-color: rgba(59, 130, 246, var(--tw-border-opacity)); +} + .border-gray-200 { --tw-border-opacity: 1; border-color: rgba(229, 231, 235, var(--tw-border-opacity)); @@ -1524,14 +1557,14 @@ video { padding: 1rem; } -.p-1 { - padding: 0.25rem; -} - .p-2 { padding: 0.5rem; } +.p-1 { + padding: 0.25rem; +} + .p-0 { padding: 0px; } @@ -1550,8 +1583,12 @@ video { padding-right: 1rem; } -.pr-2 { - padding-right: 0.5rem; +.pl-1 { + padding-left: 0.25rem; +} + +.pr-1 { + padding-right: 0.25rem; } .pb-12 { @@ -1578,14 +1615,6 @@ video { padding-bottom: 0.25rem; } -.pl-1 { - padding-left: 0.25rem; -} - -.pr-1 { - padding-right: 0.25rem; -} - .pt-2 { padding-top: 0.5rem; } @@ -1622,6 +1651,10 @@ video { padding-top: 0.125rem; } +.pr-2 { + padding-right: 0.5rem; +} + .pl-6 { padding-left: 1.5rem; } @@ -1693,10 +1726,6 @@ video { text-transform: lowercase; } -.capitalize { - text-transform: capitalize; -} - .italic { font-style: italic; } @@ -1837,11 +1866,11 @@ video { } .z-above-map { - z-index: 10000 + z-index: 10000; } .z-above-controls { - z-index: 10001 + z-index: 10001; } .bg-subtle { @@ -1849,6 +1878,11 @@ video { color: var(--subtle-detail-color-contrast); } +.bg-unsubtle { + background-color: var(--unsubtle-detail-color); + color: var(--unsubtle-detail-color-contrast); +} + :root { /* The main colour scheme of mapcomplete is configured here. * For a custom styling, set 'customCss' in your layoutConfig and overwrite some of these. @@ -1863,14 +1897,14 @@ video { * Base colour of interactive elements, mainly the 'subtle button' * */ - --subtle-detail-color: #DBEAFE; + --subtle-detail-color: #dbeafe; --subtle-detail-color-contrast: black; --subtle-detail-color-light-contrast: lightgrey; /** * A stronger variant of the 'subtle-detail-colour' * Used as subtle button hover */ - --unsubtle-detail-color: #BFDBFE; + --unsubtle-detail-color: #bfdbfe; --unsubtle-detail-color-contrast: black; --catch-detail-color: #3a3aeb; --catch-detail-color-contrast: white; @@ -1884,7 +1918,8 @@ video { --variable-title-height: 0px; } -html, body { +html, +body { height: 100%; min-height: 100vh; min-height: -webkit-fill-available; @@ -1892,7 +1927,7 @@ html, body { padding: 0; background-color: var(--background-color); color: var(--foreground-color); - font-family: 'Helvetica Neue', Arial, sans-serif; + font-family: "Helvetica Neue", Arial, sans-serif; } .leaflet-overlay-pane .leaflet-zoom-animated { @@ -1915,7 +1950,8 @@ html, body { height: 100% !important; } -svg, img { +svg, +img { box-sizing: content-box; width: 100%; height: 100%; @@ -2019,6 +2055,35 @@ a { height: min-content; } +/* slider */ + +input[type="range"].vertical { + -webkit-writing-mode: bt-lr; + -ms-writing-mode: bt-lr; + writing-mode: bt-lr; + /* IE */ + -webkit-appearance: slider-vertical; + /* Chromium */ + cursor: pointer; +} + +@-moz-document url-prefix() { + input[type="range"].elevator::-moz-range-thumb { + background-color: #00000000 !important; + background-image: url("/assets/svg/elevator_wheelchair.svg"); + width: 150px !important; + height: 30px !important; + border: 2px; + border-style: solid; + background-size: contain; + background-position: center center; + background-repeat: no-repeat; + cursor: pointer; + border-image: linear-gradient(to right, black 50%, transparent 50%) 100% 1; + padding-bottom: 5px; + } +} + .border-detail { border-color: var(--foreground-color); } @@ -2088,7 +2153,7 @@ p { } li::marker { - content: "•" + content: "•"; } .subtle-background { @@ -2098,7 +2163,7 @@ li::marker { .normal-background { background: var(--background-color); - color: var(--foreground-color) + color: var(--foreground-color); } .subtle-lighter { @@ -2176,7 +2241,8 @@ li::marker { color: unset !important; } -.disable-links a.must-link, .disable-links .must-link a { +.disable-links a.must-link, +.disable-links .must-link a { /* Hide links if they are disabled */ display: none; } @@ -2395,7 +2461,7 @@ li::marker { /***************** Info box (box containing features and questions ******************/ input { - color: var(--foreground-color) + color: var(--foreground-color); } .leaflet-popup-content { @@ -2429,6 +2495,15 @@ input { box-sizing: border-box; } +.code { + display: inline-block; + background-color: lightgray; + padding: 0.5em; + word-break: break-word; + color: black; + box-sizing: border-box; +} + /** Switch layout **/ .small-image img { @@ -2447,7 +2522,7 @@ input { } .animate-height { - transition: max-height .5s ease-in-out; + transition: max-height 0.5s ease-in-out; overflow-y: hidden; } @@ -2477,7 +2552,7 @@ input { .mapping-icon-small-height { /* A mapping icon type */ - height: 2rem; + height: 1.5rem; margin-right: 0.5rem; width: unset; } @@ -2511,7 +2586,7 @@ input { margin-left: 1rem; } -.mapping-icon-large{ +.mapping-icon-large { /* A mapping icon type */ width: 6rem; max-height: 5rem; @@ -2791,6 +2866,14 @@ input { width: 75%; } + .lg\:w-1\/3 { + width: 33.333333%; + } + + .lg\:w-1\/4 { + width: 25%; + } + .lg\:w-1\/6 { width: 16.666667%; } @@ -2809,4 +2892,3 @@ input { display: inline; } } - diff --git a/index.css b/index.css index 85da5cdc7..1db74d868 100644 --- a/index.css +++ b/index.css @@ -12,565 +12,584 @@ @tailwind utilities; @layer utilities { - @variants responsive { - .z-above-map { - z-index: 10000 - } - - .z-above-controls { - z-index: 10001 - } - - .w-160 { - width: 40rem; - } - - .bg-subtle { - background-color: var(--subtle-detail-color); - color: var(--subtle-detail-color-contrast); - } - - .bg-unsubtle { - background-color: var(--unsubtle-detail-color); - color: var(--unsubtle-detail-color-contrast); - } - - .bg-catch { - background-color: var(--catch-detail-color); - color: var(--catch-detail-color-contrast); - } - - .rounded-left-full { - border-bottom-left-radius: 999rem; - border-top-left-radius: 999rem; - } - - .rounded-right-full { - border-bottom-right-radius: 999rem; - border-top-right-radius: 999rem; - } + @variants responsive { + .z-above-map { + z-index: 10000; } + .z-above-controls { + z-index: 10001; + } + + .w-160 { + width: 40rem; + } + + .bg-subtle { + background-color: var(--subtle-detail-color); + color: var(--subtle-detail-color-contrast); + } + + .bg-unsubtle { + background-color: var(--unsubtle-detail-color); + color: var(--unsubtle-detail-color-contrast); + } + + .bg-catch { + background-color: var(--catch-detail-color); + color: var(--catch-detail-color-contrast); + } + + .rounded-left-full { + border-bottom-left-radius: 999rem; + border-top-left-radius: 999rem; + } + + .rounded-right-full { + border-bottom-right-radius: 999rem; + border-top-right-radius: 999rem; + } + } } - :root { - /* The main colour scheme of mapcomplete is configured here. + /* The main colour scheme of mapcomplete is configured here. * For a custom styling, set 'customCss' in your layoutConfig and overwrite some of these. */ - /* Main color of the application: the background and text colours */ - --background-color: white; - /* Main text colour. Also styles some elements, such as the 'close popup'-button or 'back-arrow' (in mobile) */ - --foreground-color: black; - - /* A colour to indicate an error or warning */ - --alert-color: #fee4d1; - - /** + /* Main color of the application: the background and text colours */ + --background-color: white; + /* Main text colour. Also styles some elements, such as the 'close popup'-button or 'back-arrow' (in mobile) */ + --foreground-color: black; + + /* A colour to indicate an error or warning */ + --alert-color: #fee4d1; + + /** * Base colour of interactive elements, mainly the 'subtle button' * */ - --subtle-detail-color: #DBEAFE; - --subtle-detail-color-contrast: black; - --subtle-detail-color-light-contrast: lightgrey; + --subtle-detail-color: #dbeafe; + --subtle-detail-color-contrast: black; + --subtle-detail-color-light-contrast: lightgrey; - /** + /** * A stronger variant of the 'subtle-detail-colour' * Used as subtle button hover */ - --unsubtle-detail-color: #BFDBFE; - --unsubtle-detail-color-contrast: black; - - - --catch-detail-color: #3a3aeb; - --catch-detail-color-contrast: white; + --unsubtle-detail-color: #bfdbfe; + --unsubtle-detail-color-contrast: black; - - --non-active-tab-svg: var(--foreground-color); - --shadow-color: #00000066; - - --return-to-the-map-height: 2em; - --image-carousel-height: 350px; + --catch-detail-color: #3a3aeb; + --catch-detail-color-contrast: white; - /* The border colour of the leaflet popup */ - --popup-border: white; + --non-active-tab-svg: var(--foreground-color); + --shadow-color: #00000066; - /* Technical variable to make some dynamic behaviour possible; set by javascript. */ - --variable-title-height: 0px; + --return-to-the-map-height: 2em; + --image-carousel-height: 350px; + + /* The border colour of the leaflet popup */ + --popup-border: white; + + /* Technical variable to make some dynamic behaviour possible; set by javascript. */ + --variable-title-height: 0px; } -html, body { - height: 100%; - min-height: 100vh; - min-height: -webkit-fill-available; - margin: 0; - padding: 0; - background-color: var(--background-color); - color: var(--foreground-color); - font-family: 'Helvetica Neue', Arial, sans-serif; +html, +body { + height: 100%; + min-height: 100vh; + min-height: -webkit-fill-available; + margin: 0; + padding: 0; + background-color: var(--background-color); + color: var(--foreground-color); + font-family: "Helvetica Neue", Arial, sans-serif; } .leaflet-overlay-pane .leaflet-zoom-animated { - /* Another workaround to keep leaflet working */ - width: initial !important; - height: initial !important; - box-sizing: initial !important; + /* Another workaround to keep leaflet working */ + width: initial !important; + height: initial !important; + box-sizing: initial !important; } .leaflet-control-attribution { - display: block ruby; + display: block ruby; } .badge { } .badge svg { - /*Workaround for leaflet*/ - width: unset !important; - height: 100% !important; + /*Workaround for leaflet*/ + width: unset !important; + height: 100% !important; } -svg, img { - box-sizing: content-box; - width: 100%; - height: 100%; +svg, +img { + box-sizing: content-box; + width: 100%; + height: 100%; } .titleicon img { - width: unset; + width: unset; } .titleicon svg { - width: unset; + width: unset; } .svg-catch svg path { - fill: var(--catch-detail-color) !important; - stroke: var(--catch-detail-color) !important; + fill: var(--catch-detail-color) !important; + stroke: var(--catch-detail-color) !important; } .svg-unsubtle svg path { - fill: var(--unsubtle-detail-color) !important; - stroke: var(--unsubtle-detail-color) !important; + fill: var(--unsubtle-detail-color) !important; + stroke: var(--unsubtle-detail-color) !important; } .svg-subtle svg path { - fill: var(--subtle-detail-color) !important; - stroke: var(--subtle-detail-color) !important; + fill: var(--subtle-detail-color) !important; + stroke: var(--subtle-detail-color) !important; } .svg-foreground svg path { - fill: var(--foreground-color) !important; - stroke: var(--foreground-color) !important; + fill: var(--foreground-color) !important; + stroke: var(--foreground-color) !important; } .no-images img { - display: none; + display: none; } .weblate-link { - /* Weblate-links are the little translation icon next to translatable sentences. Due to their special nature, they are exempt from some rules */ + /* Weblate-links are the little translation icon next to translatable sentences. Due to their special nature, they are exempt from some rules */ } .mapcontrol svg path { - fill: var(--subtle-detail-color-contrast) !important; + fill: var(--subtle-detail-color-contrast) !important; } .red-svg svg path { - stroke: #d71010 !important; + stroke: #d71010 !important; } a { - color: var(--foreground-color); + color: var(--foreground-color); } .btn { - line-height: 1.25rem; - --tw-text-opacity: 1; - color: var(--catch-detail-color-contrast); - --tw-bg-opacity: 1; - background-color: var(--catch-detail-color); - display: inline-flex; - border-radius: 1.5rem; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - padding-left: 1.25rem; - padding-right: 1.25rem; - font-size: large; - font-weight: bold; - transition: 100ms; - /*-- invisible border: rendered on hover*/ - border: 3px solid var(--unsubtle-detail-color); + line-height: 1.25rem; + --tw-text-opacity: 1; + color: var(--catch-detail-color-contrast); + --tw-bg-opacity: 1; + background-color: var(--catch-detail-color); + display: inline-flex; + border-radius: 1.5rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + padding-left: 1.25rem; + padding-right: 1.25rem; + font-size: large; + font-weight: bold; + transition: 100ms; + /*-- invisible border: rendered on hover*/ + border: 3px solid var(--unsubtle-detail-color); } .btn:hover { - border: 3px solid var(--catch-detail-color); + border: 3px solid var(--catch-detail-color); } .btn-secondary { - background-color: var(--catch-detail-color); - filter: saturate(0.5); - + background-color: var(--catch-detail-color); + filter: saturate(0.5); } .btn-secondary:hover { - background-color: var(--catch-detail-color); - filter: unset; + background-color: var(--catch-detail-color); + filter: unset; } .btn-disabled { - filter: saturate(0.3); - cursor: default; + filter: saturate(0.3); + cursor: default; } .btn-disabled:hover { - border: 3px solid var(--unsubtle-detail-color); + border: 3px solid var(--unsubtle-detail-color); } .h-min { - height: min-content; + height: min-content; } +/* slider */ +input[type="range"].vertical { + writing-mode: bt-lr; /* IE */ + -webkit-appearance: slider-vertical; /* Chromium */ + cursor: pointer; +} + +@-moz-document url-prefix() { + input[type="range"].elevator::-moz-range-thumb { + background-color: #00000000 !important; + background-image: url("/assets/svg/elevator_wheelchair.svg"); + width: 150px !important; + height: 30px !important; + border: 2px; + border-style: solid; + background-size: contain; + background-position: center center; + background-repeat: no-repeat; + cursor: pointer; + border-image: linear-gradient(to right, black 50%, transparent 50%) 100% 1; + padding-bottom: 5px; + } +} .border-detail { - border-color: var(--foreground-color); + border-color: var(--foreground-color); } .w-min { - width: min-content; + width: min-content; } .rounded-left-full { - border-bottom-left-radius: 999rem; - border-top-left-radius: 999rem; + border-bottom-left-radius: 999rem; + border-top-left-radius: 999rem; } .rounded-right-full { - border-bottom-right-radius: 999rem; - border-top-right-radius: 999rem; + border-bottom-right-radius: 999rem; + border-top-right-radius: 999rem; } .w-16-imp { - width: 4rem !important; + width: 4rem !important; } .w-32-imp { - width: 8rem !important; + width: 8rem !important; } .w-48-imp { - width: 12rem !important; + width: 12rem !important; } .link-underline a { - text-decoration: underline 1px var(--foreground-color); + text-decoration: underline 1px var(--foreground-color); } .link-no-underline a { - text-decoration: none; + text-decoration: none; } li { - margin-left: 0.5em; - padding-left: 0.2em; - margin-top: 0.1em; + margin-left: 0.5em; + padding-left: 0.2em; + margin-top: 0.1em; } h2 { - font-size: large; - margin-top: 0.5em; - margin-bottom: 0.3em; - font-weight: bold; + font-size: large; + margin-top: 0.5em; + margin-bottom: 0.3em; + font-weight: bold; } h3 { - font-size: larger; - margin-top: 0.6em; - margin-bottom: 0; - font-weight: bold; + font-size: larger; + margin-top: 0.6em; + margin-bottom: 0; + font-weight: bold; } h3 { - font-size: larger; - margin-top: 0.6em; - margin-bottom: 0; - font-weight: bolder; + font-size: larger; + margin-top: 0.6em; + margin-bottom: 0; + font-weight: bolder; } p { - padding-top: 0.1em; + padding-top: 0.1em; } li::marker { - content: "•" + content: "•"; } .subtle-background { - background: var(--subtle-detail-color); - color: var(--subtle-detail-color-contrast); + background: var(--subtle-detail-color); + color: var(--subtle-detail-color-contrast); } .normal-background { - background: var(--background-color); - color: var(--foreground-color) + background: var(--background-color); + color: var(--foreground-color); } .subtle-lighter { - color: var(--subtle-detail-color-light-contrast); + color: var(--subtle-detail-color-light-contrast); } .border-attention-catch { - border: 5px solid var(--catch-detail-color); + border: 5px solid var(--catch-detail-color); } .border-invisible { - border: 5px solid #00000000; + border: 5px solid #00000000; } .border-attention { - border-color: var(--catch-detail-color); + border-color: var(--catch-detail-color); } .direction-svg svg path { - fill: var(--catch-detail-color) !important; + fill: var(--catch-detail-color) !important; } - #leafletDiv { - height: 100%; + height: 100%; } .leaflet-popup-content-wrapper { - background-color: var(--background-color); - color: var(--foreground-color); - border: 2px solid var(--popup-border); - box-shadow: 0 3px 14px var(--shadow-color) !important; + background-color: var(--background-color); + color: var(--foreground-color); + border: 2px solid var(--popup-border); + box-shadow: 0 3px 14px var(--shadow-color) !important; } .leaflet-container { - font: unset !important; - background-color: var(--background-color) !important; + font: unset !important; + background-color: var(--background-color) !important; } .leaflet-popup-tip { - background-color: var(--popup-border) !important; - color: var(--popup-border) !important; - box-shadow: 0 3px 14px var(--shadow-color) !important; + background-color: var(--popup-border) !important; + color: var(--popup-border) !important; + box-shadow: 0 3px 14px var(--shadow-color) !important; } .single-layer-selection-toggle { - position: relative; - width: 2em; - height: 2em; - flex-shrink: 0; + position: relative; + width: 2em; + height: 2em; + flex-shrink: 0; } .single-layer-selection-toggle img { - max-height: 2em !important; - max-width: 2em !important; + max-height: 2em !important; + max-width: 2em !important; } .single-layer-selection-toggle svg { - max-height: 2em !important; - max-width: 2em !important; + max-height: 2em !important; + max-width: 2em !important; } - .block-ruby { - display: block ruby; + display: block ruby; } .disable-links a { - pointer-events: none; - text-decoration: none !important; - color: var(--subtle-detail-color-contrast) !important; + pointer-events: none; + text-decoration: none !important; + color: var(--subtle-detail-color-contrast) !important; } .enable-links a { - pointer-events: unset; - text-decoration: underline !important; - color: unset !important; + pointer-events: unset; + text-decoration: underline !important; + color: unset !important; } -.disable-links a.must-link, .disable-links .must-link a { - /* Hide links if they are disabled */ - display: none; +.disable-links a.must-link, +.disable-links .must-link a { + /* Hide links if they are disabled */ + display: none; } /**************** GENERIC ****************/ - .alert { - background-color: var(--alert-color); - color: var(--foreground-color); - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; + background-color: var(--alert-color); + color: var(--foreground-color); + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; } .invalid { - box-shadow: 0 0 10px #ff5353; - height: min-content; + box-shadow: 0 0 10px #ff5353; + height: min-content; } .shadow { - box-shadow: 0 0 10px var(--shadow-color); + box-shadow: 0 0 10px var(--shadow-color); } .title-font span { - font-size: xx-large !important; - font-weight: bold; + font-size: xx-large !important; + font-weight: bold; } .soft { - background-color: var(--subtle-detail-color); - color: var(--subtle-detail-color-contrast); - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; + background-color: var(--subtle-detail-color); + color: var(--subtle-detail-color-contrast); + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; } - .subtle { - color: #999; + color: #999; } .link-underline .subtle a { - text-decoration: underline 1px #7193bb88; - color: #7193bb; + text-decoration: underline 1px #7193bb88; + color: #7193bb; } - .thanks { - background-color: #43d904; - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; + background-color: #43d904; + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; } .clickable { - pointer-events: all; + pointer-events: all; } .unclickable { - pointer-events: none !important; + pointer-events: none !important; } - @keyframes slide { - /* This is the animation on the marker to add a new point - it slides through all the possible presets */ - from { - transform: translateX(0%); - } + /* This is the animation on the marker to add a new point - it slides through all the possible presets */ + from { + transform: translateX(0%); + } - to { - transform: translateX(calc(-100% + 42px)); - } + to { + transform: translateX(calc(-100% + 42px)); + } } .hand-drag-animation { - animation: hand-drag-animation 6s ease-in-out infinite; - transform-origin: 50% 125%; + animation: hand-drag-animation 6s ease-in-out infinite; + transform-origin: 50% 125%; } @keyframes hand-drag-animation { - /* This is the animation on the little extra hand on the location input. If fades in, invites the user to interact/drag the map */ - 0% { - opacity: 0; - transform: rotate(-30deg); - } + /* This is the animation on the little extra hand on the location input. If fades in, invites the user to interact/drag the map */ + 0% { + opacity: 0; + transform: rotate(-30deg); + } - 6% { - opacity: 1; - transform: rotate(-30deg); - } + 6% { + opacity: 1; + transform: rotate(-30deg); + } - 12% { - opacity: 1; - transform: rotate(-45deg); - } + 12% { + opacity: 1; + transform: rotate(-45deg); + } - 24% { - opacity: 1; - transform: rotate(-00deg); - } + 24% { + opacity: 1; + transform: rotate(-00deg); + } - 30% { - opacity: 1; - transform: rotate(-30deg); - } + 30% { + opacity: 1; + transform: rotate(-30deg); + } + 36% { + opacity: 0; + transform: rotate(-30deg); + } - 36% { - opacity: 0; - transform: rotate(-30deg); - } - - 100% { - opacity: 0; - transform: rotate(-30deg); - } - + 100% { + opacity: 0; + transform: rotate(-30deg); + } } /**************************************/ - #topleft-tools { - display: block; - position: absolute; - z-index: 5000; - transition: all 500ms linear; - left: 0; - right: 0; + display: block; + position: absolute; + z-index: 5000; + transition: all 500ms linear; + left: 0; + right: 0; } .welcomeMessage { - display: block; - max-width: calc(100vw - 5em); - width: 40em; - max-height: calc(100vh - 15em); - background-color: var(--background-color); - color: var(--foreground-color); + display: block; + max-width: calc(100vw - 5em); + width: 40em; + max-height: calc(100vh - 15em); + background-color: var(--background-color); + color: var(--foreground-color); } - - /***************** Info box (box containing features and questions ******************/ input { - color: var(--foreground-color) + color: var(--foreground-color); } .leaflet-popup-content { - width: 45em !important; - margin: 0.25rem !important; + width: 45em !important; + margin: 0.25rem !important; } .leaflet-div-icon { - background-color: unset !important; - border: unset !important; + background-color: unset !important; + border: unset !important; } .floating-element-width { - max-width: calc(100vw - 5em); - width: 40em; + max-width: calc(100vw - 5em); + width: 40em; } .leaflet-div-icon svg { - width: calc(100%); - height: calc(100%); + width: calc(100%); + height: calc(100%); } /****** ShareScreen *****/ .literal-code { + display: inline-block; + background-color: lightgray; + padding: 0.5em; + word-break: break-word; + color: black; + box-sizing: border-box; +} + +.code { display: inline-block; background-color: lightgray; padding: 0.5em; @@ -579,100 +598,93 @@ input { box-sizing: border-box; } - /** Switch layout **/ .small-image img { - height: 1em; - max-width: 1em; + height: 1em; + max-width: 1em; } .small-image { - height: 1em; - max-width: 1em; + height: 1em; + max-width: 1em; } - .slideshow-item img { - height: var(--image-carousel-height); - width: unset; + height: var(--image-carousel-height); + width: unset; } .animate-height { - transition: max-height .5s ease-in-out; - overflow-y: hidden; + transition: max-height 0.5s ease-in-out; + overflow-y: hidden; } - .zebra-table tr:nth-child(even) { - background-color: #f2f2f2; + background-color: #f2f2f2; } .layer-toggle { - /* The checkbox that toggles a single layer */ + /* The checkbox that toggles a single layer */ } .layer-filters { - /* If needed, the panel which contains the extra filters for a layer */ - margin-bottom: 1rem; - border-bottom: 2px solid var(--foreground-color); + /* If needed, the panel which contains the extra filters for a layer */ + margin-bottom: 1rem; + border-bottom: 2px solid var(--foreground-color); } .filter-panel { - /* The panel for a single layer, containing both the toggle and the filters (if any) */ - border-bottom: 2px solid lightgrey; - margin-bottom: 0.5rem; + /* The panel for a single layer, containing both the toggle and the filters (if any) */ + border-bottom: 2px solid lightgrey; + margin-bottom: 0.5rem; } .first-filter-panel { - /* Additional class on the first layer filter */ + /* Additional class on the first layer filter */ } .mapping-icon-small-height { - /* A mapping icon type */ - height: 1.5rem; - margin-right: 0.5rem; - width: unset; + /* A mapping icon type */ + height: 1.5rem; + margin-right: 0.5rem; + width: unset; } .mapping-icon-medium-height { - /* A mapping icon type */ - height: 3rem; - margin-right: 0.5rem; - width: unset; + /* A mapping icon type */ + height: 3rem; + margin-right: 0.5rem; + width: unset; } .mapping-icon-large-height { - /* A mapping icon type */ - height: 5rem; - margin-right: 0.5rem; - width: unset; + /* A mapping icon type */ + height: 5rem; + margin-right: 0.5rem; + width: unset; } - .mapping-icon-small { - /* A mapping icon type */ - width: 1.5rem; - max-height: 1.5rem; - margin-right: 0.5rem; + /* A mapping icon type */ + width: 1.5rem; + max-height: 1.5rem; + margin-right: 0.5rem; } .mapping-icon-medium { - /* A mapping icon type */ - width: 3rem; - max-height: 3rem; - margin-right: 1rem; - margin-left: 1rem; + /* A mapping icon type */ + width: 3rem; + max-height: 3rem; + margin-right: 1rem; + margin-left: 1rem; } -.mapping-icon-large{ - /* A mapping icon type */ - width: 6rem; - max-height: 5rem; - margin-top: 0.5rem; - margin-bottom: 0.5rem; - margin-right: 1.5rem; - margin-left: 1.5rem; - - +.mapping-icon-large { + /* A mapping icon type */ + width: 6rem; + max-height: 5rem; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + margin-right: 1.5rem; + margin-left: 1.5rem; } - diff --git a/index.ts b/index.ts index 355eb5e93..3221d0c07 100644 --- a/index.ts +++ b/index.ts @@ -9,6 +9,8 @@ import DefaultGUI from "./UI/DefaultGUI"; import State from "./State"; import ShowOverlayLayerImplementation from "./UI/ShowDataLayer/ShowOverlayLayerImplementation"; import {DefaultGuiState} from "./UI/DefaultGuiState"; +import {QueryParameters} from "./Logic/Web/QueryParameters"; +import DashboardGui from "./UI/DashboardGui"; // Workaround for a stupid crash: inject some functions which would give stupid circular dependencies or crash the other nodejs scripts running from console MinimapImplementation.initialize() @@ -36,7 +38,13 @@ class Init { // This 'leaks' the global state via the window object, useful for debugging // @ts-ignore window.mapcomplete_state = State.state; - new DefaultGUI(State.state, guiState).setup() + + const mode = QueryParameters.GetQueryParameter("mode", "map", "The mode the application starts in, e.g. 'map' or 'dashboard'") + if(mode.data === "dashboard"){ + new DashboardGui(State.state, guiState).setup() + }else{ + new DefaultGUI(State.state, guiState).setup() + } } } diff --git a/index_theme.ts.template b/index_theme.ts.template index 8542c9780..dbb7e473d 100644 --- a/index_theme.ts.template +++ b/index_theme.ts.template @@ -10,9 +10,7 @@ import State from "./State"; import AvailableBaseLayersImplementation from "./Logic/Actors/AvailableBaseLayersImplementation"; import ShowOverlayLayerImplementation from "./UI/ShowDataLayer/ShowOverlayLayerImplementation"; import {DefaultGuiState} from "./UI/DefaultGuiState"; - - - +import DashboardGui from "./UI/DashboardGui"; document.getElementById("decoration-desktop").remove(); @@ -62,4 +60,10 @@ DefaultGuiState.state = guiState; // This 'leaks' the global state via the window object, useful for debugging // @ts-ignore window.mapcomplete_state = State.state; -new DefaultGUI(State.state, guiState).setup() + +const mode = QueryParameters.GetQueryParameter("mode", "map", "The mode the application starts in, e.g. 'map' or 'dashboard'") +if(mode.data === "dashboard"){ + new DashboardGui(State.state, guiState).setup() +}else{ + new DefaultGUI(State.state, guiState).setup() +} \ No newline at end of file diff --git a/langs/ca.json b/langs/ca.json index 3d5ffb952..3f9a4368a 100644 --- a/langs/ca.json +++ b/langs/ca.json @@ -320,7 +320,7 @@ "noFilesLoaded": "No s'ha carregat cap arxiu", "title": "Seleccionar arxiu" }, - "title": "Ajuda de l'importador" + "title": "Assistent d'importació" }, "importInspector": { "title": "Inspeccionar i controlar notes d'importació" diff --git a/langs/en.json b/langs/en.json index aa7323d5c..f359f52a9 100644 --- a/langs/en.json +++ b/langs/en.json @@ -140,6 +140,10 @@ "title": "Select layers", "zoomInToSeeThisLayer": "Zoom in to see this layer" }, + "levelSelection": { + "addNewOnLevel": "Is the new point location on level {level}?", + "confirmLevel": "Yes, add {preset} on level {level}" + }, "loading": "Loading…", "loadingTheme": "Loading {theme}…", "loginFailed": "Logging in into OpenStreetMap failed", diff --git a/langs/hu.json b/langs/hu.json index bca3b77ad..deb229c83 100644 --- a/langs/hu.json +++ b/langs/hu.json @@ -7,30 +7,30 @@ }, "delete": { "cancel": "Mégse", - "cannotBeDeleted": "Ez az objektum nem törölhető", + "cannotBeDeleted": "Ez a térkpelem nem törölhető", "delete": "Törlés", "explanations": { - "hardDelete": "Ez az elem törlődik az OpenStreetMapről. Csak tapasztalt szerkesztő tudja visszaállítani", - "selectReason": "Kérjük, jelöld meg, miért kellene ezt a pontot törölni", - "softDelete": "Ez az objektum frissülni fog és ebben az alkalmazásban nem fog látszani. {reason}" + "hardDelete": "Ez a térképelem törlődik az OpenStreetMapről. Csak tapasztalt szerkesztő tudja visszaállítani", + "selectReason": "Kérjük, jelöld meg, miért kellene ezt a térképelemet törölni", + "softDelete": "Ez a térképelem frissülni fog és ebben az alkalmazásban nem fog látszani. {reason}" }, - "isDeleted": "Ez az objektum törlődött", + "isDeleted": "Ez a térképelem törlődött", "isntAPoint": "Csak pontot lehet törölni, a kiválasztott térképelem viszont vonal, terület vagy kapcsolat.", - "loading": "Tulajdonságok megvizsgálása annak ellenőrzéséhez, hogy az objektum törölhető-e.", - "loginToDelete": "Egy pont törléséhez be kell jelentkezni", - "notEnoughExperience": "Ezt a pontot valaki más készítette.", - "onlyEditedByLoggedInUser": "Ezt a pontot csak te magad szerkesztetted, így nyugodtan törölheted.", + "loading": "Tulajdonságok megvizsgálása annak ellenőrzéséhez, hogy a térképelem törölhető-e.", + "loginToDelete": "Térképelem törléséhez be kell jelentkezni", + "notEnoughExperience": "Ezt a térképelemet valaki más készítette.", + "onlyEditedByLoggedInUser": "Ezt a térképelemet csak te magad szerkesztetted, így nyugodtan törölheted.", "partOfOthers": "Ez a pont egy vonal vagy kapcsolat része, ezért közvetlenül nem törölhető.", - "readMessages": "Olvasatlan üzeneteid vannak. Olvasd el őket, mielőtt törölnél egy pontot – lehet, hogy valaki épp erről írt", + "readMessages": "Olvasatlan üzeneteid vannak. Olvasd el őket, mielőtt törölnél egy térképelemet – lehet, hogy valaki épp erről írt", "reasons": { - "disused": "Ez az objektum használaton kívüli vagy el lett távolítva", - "duplicate": "Ez a pont egy másik objektum megkettőzése", - "notFound": "Ezt az objektumot nem sikerült megtalálni", - "test": "Ez egy tesztpont volt: az általa jelölt objektum valójában soha nem létezett" + "disused": "Ez a térképelem használaton kívüli vagy el lett távolítva", + "duplicate": "Ez a térképelem egy másik térképelem megkettőzése", + "notFound": "Ezt a térképelemet nem sikerült megtalálni", + "test": "Ez egy tesztelésre szolgáló térképelem volt: az általa jelölt objektum valójában soha nem létezett" }, - "safeDelete": "Ez a pont nyugodtan törölhető.", + "safeDelete": "Ez a térképelem nyugodtan törölhető.", "useSomethingElse": "A törléséhez használj egy másik OpenStreetMap-szerkesztőt", - "whyDelete": "Miért kellene törölni ezt a pontot?" + "whyDelete": "Miért kellene törölni ezt a térképelemet?" }, "favourite": { "loginNeeded": "

Jelentkezz be

A személyes elrendezés csak OpenStreetMap-felhasználóknak érhető el", @@ -39,34 +39,34 @@ }, "general": { "about": "Egy adott téma esetében az OpenStreetMap egyszerű szerkesztése és hozzáadása", - "aboutMapcomplete": "

A MapComplete-ről

Arra használhatod, hogy egy egy adott téma szerint OpenStreetMap-adatokat adj hozzá az adatbázishoz. Válaszolj a kérdésekre, és a szerkesztéseid perceken belül mindenhol elérhetővé válnak. A témához tartozó elemeket, kérdéseket és nyelveket a téma karbantartója határozza meg .

További információk

A MapComplete mindig felkínálja a következő lépést ahhoz, hogy tanulhass az OpenStreetMapről.

  • Weboldalba ágyazva az iframe egy teljes képernyős MapComplete-hez vezet
  • A teljes képernyős változat az OpenStreetMapről mutat adatokat
  • A megtekintés bejelentkezés nélkül is működik, de a szerkesztéshez OSM-fiók szükséges
  • Ha nem vagy bejelentkezve, kérjük, tedd meg
  • Miután válaszoltál egy kérdésre, új pontokat helyezhetsz a térképre
  • Egy idő után megjelennek a tényleges OSM-címkék, amelyek később a wikire hivatkoznak


Észrevettél egy problémát? Új funkciót szeretnél kérni? Szeretnél segíteni a fordításban? Látogass el a forráskódhoz vagy a problémakövetőhöz (issue tracker).

Szeretnéd látni a fejlődést? Kövesd a szerkesztések számát az OsmCha módosításkészlet-elemzőn.

", + "aboutMapcomplete": "

Névjegy

A MapComplete-et használhatod, hogy egy egy adott téma szerint OpenStreetMap-adatokat adj hozzá az adatbázishoz. Válaszolj a kérdésekre, és a szerkesztéseid perceken belül mindenhol elérhetővé válnak. A legtöbb témánál hozzáadhatsz képeket vagy akár véleményt is írhatsz. A témához tartozó elemeket, kérdéseket és nyelveket a téma karbantartója határozza meg .

További információk

A MapComplete mindig felkínálja a következő lépést ahhoz, hogy tanulhass az OpenStreetMapről.

  • Weboldalba ágyazva az iframe egy teljes képernyős MapComplete-hez vezet
  • A teljes képernyős változat az OpenStreetMapről mutat adatokat
  • A megtekintés bejelentkezés nélkül is működik, de a szerkesztéshez OSM-fiók szükséges
  • Ha nem vagy bejelentkezve, kérjük, tedd meg
  • Miután válaszoltál egy kérdésre, új elemeket helyezhetsz a térképre
  • Egy idő után megjelennek a tényleges OSM-címkék, amelyek később a wikire hivatkoznak


Észrevettél egy problémát? Új funkciót szeretnél kérni? Szeretnél segíteni a fordításban? Látogass el a forráskódhoz vagy a problémakövetőhöz (issue tracker).

Szeretnéd látni a fejlődést? Kövesd a szerkesztések számát az OsmCha módosításkészlet-elemzőn.

", "add": { "addNew": "Új {category} hozzáadása", "addNewMapLabel": "Új elem hozzáadásához kattints ide", "confirmButton": "{category} hozzáadása.
A hozzáadott objektum mindenki számára látható lesz
", - "confirmIntro": "

Felrajzolsz egy {title} objektumot?

Az itt létrehozandó pontot mindenki láthatja majd. Kérjük, csak valóban létező dolgokat rajzolj fel a térképre. Ezeket az adatokat sok alkalmazás használja.", + "confirmIntro": "

Felrajzolsz egy {title} objektumot?

Az itt létrehozandó térképelemet mindenki láthatja majd. Kérjük, csak valóban létező dolgokat rajzolj fel a térképre. Ezeket az adatokat sok alkalmazás használja.", "disableFilters": "Minden szűrő kikapcsolása", - "disableFiltersExplanation": "Lehet, hogy a szűrő miatt egyes objektumok nem látszanak", - "hasBeenImported": "Ezt a pontot már importálták", + "disableFiltersExplanation": "Lehet, hogy a szűrő miatt egyes térképelemek nem látszanak", + "hasBeenImported": "Ezt a térképelemet már importálták", "import": { "hasBeenImported": "Ez az objektum importáltatott", "howToTest": "A teszteléshez add hozzá az URL-hez a test=true vagy a backend=osm-test szöveget. A módosításkészlet a konzolra lesz nyomtatva. Ha hivatalossá szeretnéd tenni ezt a témát (és szeretnéd engedélyezni az importálás gombot), akkor nyiss egy lekéréses kérelmet (pull request).", "importTags": "Az elem a következő címkéket fogja kapni: {tags}", "officialThemesOnly": "A balesetek elkerülése érdekében a nem hivatalos témáknál ki van kapcsolva az importálás gomb", - "wrongType": "Ez az elem nem pont vagy vonal, ezért nem importálható", - "zoomInMore": "Nagyíts tovább az elem importálásához" + "wrongType": "Ez a térképelem nem pont vagy vonal, ezért nem importálható", + "zoomInMore": "Nagyíts tovább a térképelem importálásához" }, "importTags": "Az elem {tags} címkéket fog kapni", "intro": "Olyan helyre kattintottál, ahol még nincs ismert adat.
", - "layerNotEnabled": "A {layer} réteg nincs engedélyezve. Pont hozzáadásához engedélyezd ezt a réteget", + "layerNotEnabled": "A {layer} réteg nincs engedélyezve. Térképelem hozzáadásához engedélyezd ezt a réteget", "openLayerControl": "Rétegvezérlő-doboz megnyitása", - "pleaseLogin": "Új pont hozzáadásához be kell jelentkezned", + "pleaseLogin": "Új térképelem hozzáadásához be kell jelentkezned", "presetInfo": "Az új érdekes pont (POI) címkéi: {tags}", - "stillLoading": "Az adatok betöltése folyamatban van. Kérjük, várj egy kicsit mielőtt új pontot adsz hozzá.", - "title": "Hozzáadsz egy új pontot?", + "stillLoading": "Az adatok betöltése folyamatban van. Kérjük, várj egy kicsit mielőtt elhelyezel egy új térképelemet.", + "title": "Hozzáadsz egy új térképelemet?", "warnVisibleForEveryone": "A kiegészítésed mindenki számára látható lesz", "wrongType": "Ez az elem nem pont vagy vonal, ezért nem importálható", - "zoomInFurther": "Pont hozzáadásához közelíts jobban.", + "zoomInFurther": "Térképelem hozzáadásához közelíts jobban.", "zoomInMore": "Nagyíts tovább az elem importálásához" }, "apply_button": { @@ -123,7 +123,7 @@ "error": "Valami rosszul sült el", "example": "Példa", "examples": "Példák", - "fewChangesBefore": "Kérjük, válaszolj néhány meglévő pontokra vonatkozó kérdésre, mielőtt új pontot adnál hozzá.", + "fewChangesBefore": "Kérjük, válaszolj néhány meglévő térképelemekre vonatkozó kérdésre, mielőtt új elemet adnál hozzá.", "getStartedLogin": "A kezdéshez jelentkezz be az OpenStreetMap-fiókoddal,", "getStartedNewAccount": " vagy hozz létre új fiókot", "goToInbox": "Beérkezett üzenetek megnyitása", @@ -191,7 +191,7 @@ "websiteIs": "Weboldal: {website}", "websiteOf": "Mi a weboldala ennek ({category})?" }, - "readYourMessages": "Kérjük, új pont hozzáadása előtt olvasd el az összes OpenStreetMap-üzeneted.", + "readYourMessages": "Kérjük, új térképelem hozzáadása előtt olvasd el az összes OpenStreetMap-üzeneted.", "removeLocationHistory": "Helyelőzmények törlése", "returnToTheMap": "Vissza a térképhez", "save": "Mentés", @@ -276,10 +276,10 @@ }, "importHelper": { "introduction": { - "description": "Az importálási segédprogram egy külső adatkészletet konvertál OSM-jegyzetekké. A külső adatkészletnek meg kell felelnie a MapComplete egyik meglévő rétegének. Az importálóba helyezett minden egyes elemhez egyetlen jegyzet fog létrejönni. Ezek a jegyzetek a megfelelő objektumokkal együtt fognak megjelenni ezeken a térképekben, hogy könnyen fel lehessen rajzolni őket a térképre." + "description": "Az importálási segédprogram egy külső adatkészletet konvertál OSM-jegyzetekké. A külső adatkészletnek meg kell felelnie a MapComplete egyik meglévő rétegének. Az importálóba helyezett minden egyes elemhez egyetlen jegyzet fog létrejönni. Ezek a jegyzetek a megfelelő térképelemekkel együtt fognak megjelenni ezeken a térképekben, hogy könnyen fel lehessen rajzolni őket a térképre." }, "previewAttributes": { - "allAttributesSame": "Ez a címke minden importálandó objektumon szerepel" + "allAttributesSame": "Ez a címke minden importálandó térképelemen szerepel" } }, "index": { @@ -292,7 +292,7 @@ }, "move": { "cancel": "Áthelyezés megszakítása", - "cannotBeMoved": "Ez az objektum nem mozdítható el.", + "cannotBeMoved": "Ez a térképelem nem mozdítható el.", "confirmMove": "Áthelyezés ide", "inviteToMove": { "generic": "Pont áthelyezése", @@ -300,12 +300,12 @@ "reasonRelocation": "Objektum áthelyezése mert a valóságban is áthelyezték" }, "inviteToMoveAgain": "Pont áthelyezése ismét", - "isRelation": "Ez az objektum egy kapcsolat, amely nem mozdítható el", - "isWay": "Ez az objektum egy vonal, amelyet csak egy másik OpenStreetMap-szerkesztővel lehet áthelyezni.", + "isRelation": "Ez a térképelem egy kapcsolat, amely nem mozdítható el", + "isWay": "Ez a térképelem egy vonal, amelyet csak egy másik OpenStreetMap-szerkesztővel lehet áthelyezni.", "loginToMove": "Pont áthelyezéséhez be kell jelentkezned", "moveTitle": "Pont áthelyezése", - "partOfAWay": "Ez az objektum egy másik vonal része; csak egy másik szerkesztő használatával lehet elmozdítani.", - "partOfRelation": "Ez az objektum egy kapcsolat része; csak egy másik szerkesztő használatával mozdítható el.", + "partOfAWay": "Ez a térképelem egy másik vonal része; csak egy másik szerkesztő használatával lehet elmozdítani.", + "partOfRelation": "Ez a térképelem egy kapcsolat része; csak egy másik szerkesztő használatával mozdítható el.", "pointIsMoved": "A pont áthelyeződött", "reasons": { "reasonInaccurate": "Az objektum helye pontatlan a térképen, ezért néhány méterrel arrébb kell tenni", diff --git a/langs/it.json b/langs/it.json index 1566d919e..cbab0e51e 100644 --- a/langs/it.json +++ b/langs/it.json @@ -10,27 +10,29 @@ "cannotBeDeleted": "Questo oggetto non può essere rimosso", "delete": "Rimuovi", "explanations": { - "hardDelete": "Questo punto verrà rimosso da OpenStreetMap. Un utente esperto potrebbe recuperarlo", + "hardDelete": "Questo elemento verrà rimosso da OpenStreetMap. Un utente esperto potrebbe recuperarlo", + "retagNoOtherThemes": "Questo elemento verrà riclassificato e nascosto da questa applicazione", + "retagOtherThemes": "Questo elemento verrà modificato e sarà visibile in {otherThemes}", "selectReason": "Si prega di selezionare il motivo della rimozione di questo oggetto", "softDelete": "Questo oggetto verrà aggiornato e nascosto da questa applicazione. {reason}" }, "isDeleted": "Questo oggetto è stato rimosso", - "isntAPoint": "Solo i punti possono essere rimossi, l’oggetto selezionato è un percorso, un’area oppure una relazione.", + "isntAPoint": "Solo i nodi possono essere rimossi, l'elemento selezionato è un percorso, un’area oppure una relazione.", "loading": "Controllo delle proprietà per verificare se questo oggetto può essere rimosso.", - "loginToDelete": "Devi aver effettuato l’accesso per poter rimuovere un punto", - "notEnoughExperience": "Questo nodo è stato creato da un altro utente.", - "onlyEditedByLoggedInUser": "Questo punto è stato modificato soltanto da te, puoi rimuoverlo in sicurezza.", - "partOfOthers": "Questo punto fa parte di qualche percorso o relazione e non può essere rimosso direttamente.", - "readMessages": "Hai dei messaggi non letti. Leggili prima di rimuovere un punto (qualcuno potrebbe aver lasciato un commento)", + "loginToDelete": "Devi aver effettuato l’accesso per poter rimuovere un elemento", + "notEnoughExperience": "Questo elemento è stato creato da un altro utente.", + "onlyEditedByLoggedInUser": "Questo elemento è stato modificato soltanto da te, puoi rimuoverlo in sicurezza.", + "partOfOthers": "Questo nodo fa parte di qualche percorso o relazione e non può essere rimosso direttamente.", + "readMessages": "Hai dei messaggi non letti. Leggili prima di rimuovere un elemento (qualcuno potrebbe aver lasciato un commento)", "reasons": { "disused": "L’oggetto è in disuso o è stato smantellato", - "duplicate": "Questo punto è un duplicato di un altro oggetto", + "duplicate": "Questo elemento è un duplicato di un altro elemento", "notFound": "Non è stato possibile trovare l’oggetto", - "test": "Si tratta di un punto di prova (l’oggetto non è mai esistito in quel punto)" + "test": "Si tratta di un elemento di prova (l'elemento non è mai esistito in quel punto)" }, - "safeDelete": "Questo punto può essere rimosso in sicurezza.", + "safeDelete": "Questo elemento può essere rimosso in sicurezza.", "useSomethingElse": "Per rimuoverlo usa un altro editor OpenStreetMap", - "whyDelete": "Perché questo nodo andrebbe rimosso?" + "whyDelete": "Perché questo elemento andrebbe rimosso?" }, "favourite": { "loginNeeded": "

Accedi

Il layout personale è disponibile soltanto per gli utenti OpenStreetMap", @@ -39,24 +41,34 @@ }, "general": { "about": "Modifica e aggiungi con semplicità OpenStreetMap per un certo tema", - "aboutMapcomplete": "

Informazioni su MapComplete

Con MapComplete puoi arricchire OpenStreetMap con informazioni su un singolo argomento. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! L’utente gestore del tema definisce gli elementi, le domande e le lingue per quel tema.

Scopri altro

MapComplete propone sempre un passo in più per imparare qualcosa di nuovo su OpenStreetMap.

  • Quando viene incorporato in un sito web, il collegamento dell’iframe punta a MapComplete a tutto schermo
  • La versione a tutto schermo fornisce informazioni su OpenStreetMap
  • La visualizzazione non necessita di alcun accesso ma per modificare occorre aver effettuato l’accesso su OSM.
  • Se non hai effettuato l’accesso, ti verrà richiesto di farlo
  • Dopo aver risposto ad una sola domanda potrai aggiungere dei nuovi punti alla mappa
  • Dopo qualche momento verranno mostrate le etichette effettive, in seguito i collegamenti alla wiki


Hai trovato un errore? Vuoi richiedere nuove funzionalità? Vuoi aiutare con la traduzione? Dai un’occhiata al codice sorgente oppure al tracker degli errori.

Vuoi vedere i tuoi progressi?Segui il contatore delle modifiche su OsmCha.

", + "aboutMapcomplete": "

Informazioni

Con MapComplete puoi arricchire OpenStreetMap con informazioni su un singolo argomento. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! L’utente gestore del tema definisce gli elementi, le domande e le lingue per quel tema.

Scopri altro

MapComplete propone sempre un passo in più per imparare qualcosa di nuovo su OpenStreetMap.

  • Quando viene incorporato in un sito web, il collegamento dell’iframe punta a MapComplete a tutto schermo
  • La versione a tutto schermo fornisce informazioni su OpenStreetMap
  • La visualizzazione non necessita di alcun accesso ma per modificare occorre aver effettuato l’accesso su OSM.
  • Se non hai effettuato l’accesso, ti verrà richiesto di farlo
  • Dopo aver risposto ad una sola domanda potrai aggiungere dei nuovi punti alla mappa
  • Dopo qualche momento verranno mostrate le etichette effettive, in seguito i collegamenti alla wiki


Hai trovato un errore? Vuoi richiedere nuove funzionalità? Vuoi aiutare con la traduzione? Dai un’occhiata al codice sorgente oppure al tracker degli errori.

Vuoi vedere i tuoi progressi?Segui il contatore delle modifiche su OsmCha.

", "add": { "addNew": "Aggiungi {category} qua", "addNewMapLabel": "Aggiungi nuovo elemento", "confirmButton": "Aggiungi una {category} qua.
La tua aggiunta è visibile a chiunque
", - "confirmIntro": "

Aggiungere un {title} qua?

Il punto che hai creato qua sarà visibile da chiunque. Per favore, aggiungi sulla mappa solo oggetti realmente esistenti. Molte applicazioni usano questi dati.", + "confirmIntro": "

Aggiungere un {title}?

L'elemento che hai creato qui sarà visibile da chiunque. Per favore, aggiungi sulla mappa solo oggetti realmente esistenti. Molte applicazioni usano questi dati.", "disableFilters": "Disabilita tutti i filtri", "disableFiltersExplanation": "Alcuni oggetti potrebbero essere nascosti da un filtro", - "hasBeenImported": "Questo punto è stato già importato", + "hasBeenImported": "Questo elemento è stato già importato", + "import": { + "hasBeenImported": "Questo oggetto è stato importato", + "howToTest": "Per testare, aggiungere test=true o backend=osm-test all'URL. Il set di modifiche verrà stampato nella console. Si prega di aprire una PR per ufficializzare questo argomento per abilitare effettivamente il pulsante di importazione.", + "importTags": "L'elemento riceverà {tags}", + "officialThemesOnly": "Il pulsante di importazione è disabilitato per gli argomenti non ufficiali per evitare incidenti", + "wrongType": "Questo elemento non è un nodo o una via e non può essere importato", + "wrongTypeToConflate": "Questo elemento non è un nodo o una via e non può essere aggiunto", + "zoomInMore": "Ingrandisci di più per importare questo elemento" + }, + "importTags": "L'elemento riceverà {tags}", "intro": "Hai cliccato in un punto dove non ci sono ancora dei dati.
", - "layerNotEnabled": "Il livello {layer} non è abilitato. Abilita questo livello per aggiungere un punto", + "layerNotEnabled": "Il livello {layer} non è abilitato. Abilita questo livello per aggiungere un elemento", "openLayerControl": "Apri il pannello di controllo dei livelli", - "pleaseLogin": "Accedi per aggiungere un punto", + "pleaseLogin": "Accedi per aggiungere un nuovo elemento", "presetInfo": "Il nuovo PDI avrà {tags}", - "stillLoading": "Caricamento dei dati ancora in corso. Attendi un po’ prima di aggiungere un nuovo punto.", - "title": "Aggiungi un nuovo punto?", + "stillLoading": "Caricamento dei dati ancora in corso. Attendi un po’ prima di aggiungere un nuovo elemento.", + "title": "Aggiungi un nuovo elemento?", "warnVisibleForEveryone": "La tua aggiunta sarà visibile a tutti", - "zoomInFurther": "Ingrandisci la mappa per aggiungere un punto.", + "zoomInFurther": "Ingrandisci di più per aggiungere un elemento.", "zoomInMore": "Ingrandisci ancora per importare questo oggetto" }, "attribution": { @@ -77,17 +89,17 @@ "downloadAsPdf": "Scarica un PDF della mappa corrente", "downloadAsPdfHelper": "Ideale per stampare la mappa corrente", "downloadCSV": "Scarica i dati visibili come CSV", - "downloadCSVHelper": "Compatibile con LibreOffice Calc, Excel, etc.", - "downloadGeoJsonHelper": "Compatibile con QGIS, ArcGIS, ESRI, etc.", + "downloadCSVHelper": "Compatibile con LibreOffice Calc, Excel, …", + "downloadGeoJsonHelper": "Compatibile con QGIS, ArcGIS, ESRI, …", "downloadGeojson": "Scarica i dati visibili come GeoJSON", "exporting": "Esportazione in corso…", "includeMetaData": "Includi metadati (ultimo utente, valori calcolati, etc.)", - "licenseInfo": "

Informativa sul copyright

I dati forniti sono disponibili con licenza ODbL. Il riutilizzo di tali dati è libero per qualsiasi scopo ma
  • è richiesta l’attribuzione © OpenStreetMap contributors
  • qualsiasi modifica di questi data deve essere rilasciata con la stessa licenza
Per ulteriori dettagli si prega di leggere l’informativa completa sul copyright", + "licenseInfo": "

Informativa sul copyright

I dati forniti sono disponibili con licenza ODbL. Il riutilizzo di tali dati è libero per qualsiasi scopo ma
  • è richiesta l’attribuzione © OpenStreetMap contributors
  • qualsiasi modifica di questi data deve essere rilasciata con la stessa licenza
Per ulteriori dettagli si prega di leggere l’informativa completa sul copyright.", "noDataLoaded": "Nessun dato è stato ancora caricato. Lo scaricamento sarà disponibile a breve", "title": "Scarica i dati visibili" }, "example": "Esempio", - "fewChangesBefore": "Rispondi ad alcune domande di punti esistenti prima di aggiungere un nuovo punto.", + "fewChangesBefore": "Rispondi ad alcune domande di elementi esistenti prima di aggiungere un nuovo elemento.", "getStartedLogin": "Accedi con OpenStreetMap per iniziare", "getStartedNewAccount": " oppure crea un nuovo account", "goToInbox": "Apri posta in arrivo", @@ -148,7 +160,7 @@ "websiteIs": "Sito web: {website}", "websiteOf": "Qual è il sito web di {category}?" }, - "readYourMessages": "Leggi tutti i tuoi messaggi OpenStreetMap prima di aggiungere un nuovo punto.", + "readYourMessages": "Leggi tutti i tuoi messaggi OpenStreetMap prima di aggiungere un nuovo elemento.", "returnToTheMap": "Ritorna alla mappa", "save": "Salva", "search": { diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 05d81fa9a..33d3729c1 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -373,6 +373,13 @@ "then": "Chademo" } } + }, + "Operational status": { + "mappings": { + "0": { + "then": "Aquesta estació de càrrega funciona" + } + } } }, "title": { @@ -678,6 +685,13 @@ } } }, + "hospital": { + "tagRenderings": { + "name": { + "render": "El nom del nom de l'hospital és {name}" + } + } + }, "hydrant": { "tagRenderings": { "hydrant-color": { @@ -705,6 +719,23 @@ "render": "Panell d'informació" } }, + "kindergarten_childcare": { + "tagRenderings": { + "capacity": { + "render": "Aquesta instal·lació té espai per a {capacity} nens" + }, + "childcare-type": { + "mappings": { + "0": { + "then": "Aquesta és una llar d'infants (també coneguda com a preescolar) on els nens petits reben educació primerenca." + } + } + }, + "name": { + "render": "Aquesta instal·lació s'anomena {name}" + } + } + }, "map": { "name": "Mapes", "presets": { @@ -773,6 +804,17 @@ "parking": { "name": "Aparcament" }, + "pharmacy": { + "tagRenderings": { + "wheelchair": { + "mappings": { + "0": { + "then": "Aquesta farmàcia és fàcil d'accedir en una cadira de rodes" + } + } + } + } + }, "picnic_table": { "name": "Taules de pícnic", "title": { diff --git a/langs/layers/da.json b/langs/layers/da.json index 2e70a0a23..15ecec5d1 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -884,9 +884,6 @@ }, "question": "Er der værktøj her til at reparere din egen cykel?" }, - "bike_shop-email": { - "question": "Hvad er e-mailadressen på {name}?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -898,12 +895,6 @@ "bike_shop-name": { "question": "Hvad hedder denne cykelbutik?", "render": "Denne cykelbutik hedder {name}" - }, - "bike_shop-phone": { - "question": "Hvad er telefonnummeret på {name}?" - }, - "bike_shop-website": { - "question": "Hvad er webstedet for {name}?" } }, "title": { diff --git a/langs/layers/de.json b/langs/layers/de.json index d2928f18f..8a0b8fb43 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -1068,9 +1068,6 @@ "bike_shop-access": { "render": "Nur zugänglich für {access}" }, - "bike_shop-email": { - "question": "Wie lautet die E-Mail-Adresse von {name}?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -1082,12 +1079,6 @@ "bike_shop-name": { "question": "Wie heißt das Geschäft?", "render": "Das Geschäft heißt {name}" - }, - "bike_shop-phone": { - "question": "Wie lautet die Telefonnummer von {name}?" - }, - "bike_shop-website": { - "question": "Wie lautet die Webseite von {name}?" } }, "title": { @@ -3255,6 +3246,57 @@ "description": "Diese Ebene visualisiert Richtungen", "name": "Aufnahmewinkel der Kamera anzeigen" }, + "doctors": { + "description": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen", + "filter": { + "0": { + "options": { + "0": { + "question": "Jetzt geöffnet" + } + } + } + }, + "name": "Ärzte", + "presets": { + "0": { + "title": "eine Arztpraxis" + }, + "1": { + "title": "eine Zahnarztpraxis" + }, + "2": { + "title": "Praxis eines Physiotherapeuten" + } + }, + "tagRenderings": { + "name": { + "question": "Wie heißt diese Arztpraxis?", + "render": "Diese Arztpraxis heißt {name}" + }, + "specialty": { + "mappings": { + "0": { + "then": "Dies ist ein Allgemeinmediziner" + }, + "1": { + "then": "Dies ist ein Gynäkologe" + }, + "2": { + "then": "Dies ist ein Psychiater" + }, + "3": { + "then": "Dies ist ein Kinderarzt" + } + }, + "question": "Worauf ist dieser Arzt spezialisiert?", + "render": "Dieser Arzt ist spezialisiert auf {healthcare:speciality}" + } + }, + "title": { + "render": "Arztpraxis {name}" + } + }, "dogpark": { "name": "Hundeparks", "presets": { @@ -3568,6 +3610,14 @@ "0": { "explanation": "{title()} wurde dauerhaft geschlossen" } + }, + "nonDeleteMappings": { + "0": { + "then": "Dies ist eigentlich eine Kneipe" + }, + "1": { + "then": "Dies ist eigentlich ein Café" + } } }, "description": "Eine Ebene mit Restaurants und Fast-Food-Einrichtungen (mit speziellem Rendering für Pommesbuden)", @@ -3990,6 +4040,18 @@ "render": "Hackerspace" } }, + "hospital": { + "name": "Krankenhäuser", + "tagRenderings": { + "name": { + "question": "Wie lautet der Name des Krankenhauses?", + "render": "Der Name des Krankenhauses lautet {name}" + } + }, + "title": { + "render": "Krankenhaus" + } + }, "hydrant": { "description": "Kartenebene zur Anzeige von Hydranten.", "name": "Hydranten", @@ -4619,6 +4681,65 @@ "title": "ein Parkplatz" } }, + "tagRenderings": { + "capacity": { + "freeform": { + "placeholder": "Anzahl der Parkplätze" + }, + "question": "Wie viele Stellplätze gibt es auf diesem Parkplatz?", + "render": "Es gibt {capacity} Stellplätze" + }, + "capacity-disabled": { + "freeform": { + "placeholder": "Anzahl barrierefreier Stellplätze" + }, + "mappings": { + "0": { + "then": "Es gibt barrierefreie Stellplätze, aber die Anzahl ist unbekannt" + }, + "1": { + "then": "Es gibt keine barrierefreien Stellplätze" + } + }, + "question": "Wie viele barrierefreie Stellplätze gibt es auf diesem Parkplatz?", + "render": "Es gibt {capacity:disabled} barrierefreie Stellplätze" + }, + "parking-type": { + "mappings": { + "0": { + "then": "Dies ist ein oberirdischer Parkplatz" + }, + "1": { + "then": "Dies ist eine Parkbucht neben einer Straße" + }, + "2": { + "then": "Dies ist eine Tiefgarage" + }, + "3": { + "then": "Dies ist ein mehrstöckiges oberirdisches Parkhaus" + }, + "4": { + "then": "Dies ist ein Parkdeck auf dem Dach" + }, + "5": { + "then": "Dies ist eine Fahrspur zum Parken auf der Straße" + }, + "6": { + "then": "Dies ist ein durch Carports überdachter Parkplatz" + }, + "7": { + "then": "Dies ist ein Parkplatz bestehend aus Garagenboxen" + }, + "8": { + "then": "Hier gibt es Parkmöglichkeiten auf einem kleinen Rastplatz" + }, + "9": { + "then": "Hier gibt es Parkmöglichkeiten unter einer offenen Dachkonstruktion" + } + }, + "question": "Was ist das für ein Parkplatz?" + } + }, "title": { "render": "Parkplatz" } @@ -4627,6 +4748,33 @@ "description": "Fußgängerwege, insbesondere für die Navigation in Gebäuden und die Aufnahme von Eingängen in diese Ebene", "name": "Fußgängerwege" }, + "pharmacy": { + "name": "Apotheke", + "tagRenderings": { + "wheelchair": { + "mappings": { + "0": { + "then": "Die Apotheke ist für Rollstuhlfahrer leicht zugänglich" + }, + "1": { + "then": "Die Apotheke ist für Rollstuhlfahrer nur schwer zugänglich" + }, + "2": { + "then": "Die Apotheke ist für Rollstuhlfahrer nur eingeschränkt zugänglich" + } + }, + "question": "Ist die Apotheke für Rollstuhlfahrer leicht zugänglich?" + } + }, + "title": { + "mappings": { + "0": { + "then": "Apotheke" + } + }, + "render": "{name}" + } + }, "picnic_table": { "description": "Die Ebene zeigt Picknicktische an", "name": "Picknick-Tische", @@ -4902,6 +5050,35 @@ "render": "Bücherschrank" } }, + "rainbow_crossings": { + "description": "Eine Ebene mit Fußgängerüberwegen in Regenbogenfarben", + "name": "Fußgängerüberwege in Regenbogenfarben", + "presets": { + "0": { + "description": "Fußgängerüberweg", + "title": "einen Überweg" + } + }, + "tagRenderings": { + "crossing-with-rainbow": { + "mappings": { + "0": { + "then": "Der Überweg hat eine Markierung in Regenbogenfarben" + }, + "1": { + "then": "Hier gibt es kein Markierung in Regenbogenfarben" + }, + "2": { + "then": "Hier gibt es kein Markierung in Regenbogenfarben" + } + }, + "question": "Hat der Überweg eine Markierung in Regenbogenfarben?" + } + }, + "title": { + "render": "Überweg" + } + }, "recycling": { "description": "Eine Ebene mit Recyclingcontainern und -zentren", "filter": { @@ -5124,6 +5301,11 @@ "tagRenderings": { "8": { "override": { + "+mappings": { + "0": { + "then": "Die Unterrichtssprache der Schule ist unbekannt" + } + }, "question": "Was ist die Hauptsprache dieser Schule?
Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?
" } }, @@ -5216,6 +5398,30 @@ "render": "Schule {name}" } }, + "shelter": { + "description": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt", + "name": "Unterstand", + "tagRenderings": { + "shelter-type": { + "mappings": { + "0": { + "then": "Das ist ein Unterstand an einer Haltestelle für öffentliche Verkehrsmittel." + }, + "1": { + "then": "Dies ist ein Unterstand zum Schutz vor Regen auf einem Picknickplatz." + }, + "2": { + "then": "Das ist ein offener Gartenpavillon." + } + }, + "question": "Um welche Art von Unterstand handelt es sich?", + "render": "Art des Unterstands: {shelter_type}" + } + }, + "title": { + "render": "Unterstand" + } + }, "shops": { "deletion": { "extraDeleteReasons": { @@ -5263,6 +5469,32 @@ } }, "tagRenderings": { + "2": { + "override": { + "question": "Um was für ein Geschäft handelt es sich?", + "render": "Das ist ein {shop}" + } + }, + "copyshop-print-sizes": { + "mappings": { + "0": { + "then": "Das Geschäft kann Unterlagen auf A4 Papier drucken" + }, + "1": { + "then": "Das Geschäft kann Unterlagen auf A3 Papier drucken" + }, + "2": { + "then": "Das Geschäft kann Unterlagen auf A2 Papier drucken" + }, + "3": { + "then": "Das Geschäft kann Unterlagen auf A1 Papier drucken" + }, + "4": { + "then": "Das Geschäft kann Unterlagen auf A0 Papier drucken" + } + }, + "question": "Welche Papierformate bietet das Geschäft an?" + }, "shops-name": { "question": "Wie ist der Name dieses Geschäfts?" } @@ -5728,7 +5960,7 @@ "then": "Hier werden die Doktortitel verliehen" } }, - "question": "Welches Bildungsniveau wird hier gelehrt?" + "question": "Welche Bildungsabschlüsse werden hier verliehen?" } }, "title": { @@ -5943,6 +6175,169 @@ "render": "Wanderweg" } }, + "transit_routes": { + "description": "Ebene mit Buslinien", + "mapRendering": { + "0": { + "color": { + "render": "#ff0000" + } + } + }, + "name": "Buslinien", + "tagRenderings": { + "colour": { + "question": "Welche Farbe hat diese Buslinie?", + "render": "Die Buslinie hat die Farbe {colour}" + }, + "from": { + "question": "Wo ist der Startpunkt dieser Buslinie?", + "render": "Die Buslinie startet von {from}" + }, + "name": { + "question": "Wie lautet der Name der Buslinie? (z.B. Bus XX: Von => Über => Nach)" + }, + "network": { + "question": "Zu welchem Verkehrsverbund gehört die Buslinie?", + "render": "Die Buslinie gehört zum Verkehrsverbund {network}" + }, + "operator": { + "question": "Welches Unternehmen betreibt die Buslinie?", + "render": "Die Buslinie wird betrieben von {operator}" + }, + "to": { + "question": "Wo ist der Endpunkt der Buslinie?", + "render": "Der Endpunkt der Buslinie ist {to}" + }, + "via": { + "question": "Über welchen Zwischenhalt fährt die Buslinie?", + "render": "Die Buslinie fährt über {via}" + } + }, + "title": { + "mappings": { + "0": { + "then": "{name}" + } + }, + "render": "Buslinie" + } + }, + "transit_stops": { + "description": "Ebene mit verschiedenen Arten von Haltestellen.", + "name": "Haltestellen", + "tagRenderings": { + "bench": { + "mappings": { + "0": { + "then": "Die Haltestelle hat eine Bank" + }, + "1": { + "then": "Die Haltestelle hat keine Bank" + }, + "2": { + "then": "Die Haltestelle hat eine Bank, die separat kartiert ist" + } + }, + "question": "Gibt es an der Haltestelle eine Sitzbank?" + }, + "bin": { + "mappings": { + "0": { + "then": "Die Haltestelle hat einen Mülleimer" + }, + "1": { + "then": "Die Haltestelle hat keinen Mülleimer" + }, + "2": { + "then": "Die Haltestelle hat einen Mülleimer, der separat kartiert ist" + } + }, + "question": "Hat die Haltestelle einen Mülleimer?" + }, + "contained_routes": { + "render": "

{_contained_routes_count} Linien halten an der Haltestelle

    {_contained_routes}
" + }, + "departures_board": { + "mappings": { + "0": { + "then": "Die Haltestelle hat einen Fahrplan, der nicht näher definiert ist" + }, + "1": { + "then": "Die Haltestelle hat einen Fahrplan, der Abfahrtszeiten in Echtzeit anzeigt" + }, + "2": { + "then": "Die Haltestelle hat einen Fahrplan, der Abfahrtszeiten in Echtzeit anzeigt" + }, + "3": { + "then": "Die Haltestelle hat einen Fahrplan, der die regulären Abfahrtszeiten anzeigt" + }, + "4": { + "then": "Die Haltestelle hat einen Fahrplan, der den Abstand zwischen Abfahrten anzeigt" + }, + "5": { + "then": "Die Haltestelle hat keinen Fahrplan" + } + } + }, + "lit": { + "mappings": { + "0": { + "then": "Die Haltestelle ist beleuchtet" + }, + "1": { + "then": "Die Haltestelle ist nicht beleuchtet" + } + }, + "question": "Ist die Haltestelle beleuchtet?" + }, + "shelter": { + "mappings": { + "0": { + "then": "Die Haltestelle hat einen Unterstand" + }, + "1": { + "then": "Die Haltestelle hat keinen Unterstand" + }, + "2": { + "then": "Die Haltestelle hat einen Unterstand, der separat kariert ist" + } + }, + "question": "Hat die Haltestelle einen Unterstand?" + }, + "stop_name": { + "freeform": { + "placeholder": "Name der Haltestelle" + }, + "mappings": { + "0": { + "then": "Die Haltestelle hat keinen Namen" + } + }, + "question": "Wie lautet der Name der Haltestelle?", + "render": "Der Name der Haltestelle lautet {name}" + }, + "tactile_paving": { + "mappings": { + "0": { + "then": "Die Haltestelle hat ein taktiles Pflaster" + }, + "1": { + "then": "Die Haltestelle hat kein taktiles Pflaster" + } + }, + "question": "Hat die Haltestelle hat ein taktiles Pflaster?" + } + }, + "title": { + "mappings": { + "0": { + "then": "Haltestelle {name}" + } + }, + "render": "Haltestelle" + } + }, "tree_node": { "description": "Eine Ebene, die Bäume zeigt", "name": "Bäume", @@ -6119,9 +6514,14 @@ } }, "walls_and_buildings": { - "description": "Spezielle eingebaute Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist in Voreinstellungen für Objekte nützlich, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, …). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht eingeschaltet werden.", + "description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.", "tagRenderings": { "_entrance:width": { + "mappings": { + "0": { + "then": "Der Eingang hat keine Informationen zur Durchgangsbreite" + } + }, "render": "Diese Tür hat eine Durchgangsbreite von {canonical(_entrance:width)} Meter " } }, diff --git a/langs/layers/en.json b/langs/layers/en.json index c49da61a8..52fe48d14 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -1068,9 +1068,6 @@ "bike_shop-access": { "render": "Only accessible to {access}" }, - "bike_shop-email": { - "question": "What is the email address of {name}?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -1082,12 +1079,6 @@ "bike_shop-name": { "question": "What is the name of this bicycle shop?", "render": "This bicycle shop is called {name}" - }, - "bike_shop-phone": { - "question": "What is the phone number of {name}?" - }, - "bike_shop-website": { - "question": "What is the website of {name}?" } }, "title": { @@ -3266,7 +3257,7 @@ } } }, - "name": "doctors", + "name": "Doctors", "presets": { "0": { "title": "a doctors office" @@ -3402,9 +3393,67 @@ "render": "Drinking water" } }, + "elevator": { + "description": "This layer show elevators and asks for operational status and elevator dimensions. Useful for wheelchair accessibility information", + "name": "elevator", + "presets": { + "0": { + "title": "an elevator" + } + }, + "tagRenderings": { + "door-width": { + "question": "What is the width of this elevator's entrance?", + "render": "This elevator's doors have a width of {canonical(door:width)}" + }, + "elevator-depth": { + "question": "What is the depth of this elevator?", + "render": "This elevator has a depth of {canonical(elevator:depth)}" + }, + "elevator-width": { + "question": "What is the width of this elevator?", + "render": "This elevator has a width of {canonical(elevator:width)}" + }, + "operational_status": { + "mappings": { + "0": { + "then": "This elevator is broken" + }, + "1": { + "then": "This elevator is closed e.g. because renovation works are going on" + }, + "2": { + "then": "This elevator works" + }, + "3": { + "then": "This elevator works" + } + }, + "question": "Does this elevator work?" + } + }, + "title": "Elevator", + "units": { + "0": { + "applicableUnits": { + "0": { + "human": "meter" + }, + "1": { + "human": "centimeter" + } + } + } + } + }, "entrance": { "description": "A layer showing entrances and offering capabilities to survey some advanced data which is important for e.g. wheelchair users (but also bicycle users, people who want to deliver, …)", "name": "Entrance", + "presets": { + "0": { + "title": "an entrance" + } + }, "tagRenderings": { "Door_type": { "mappings": { @@ -3492,6 +3541,18 @@ } } }, + "kerb-height": { + "freeform": { + "placeholder": "Height of the door kerb" + }, + "mappings": { + "0": { + "then": "This door does not have a kerb" + } + }, + "question": "What is the height of this kerb?", + "render": "The kerb height of this door is {kerb:height}" + }, "width": { "question": "What is the width of this door/entrance?", "render": "This door has a width of {canonical(width)} meter" @@ -3499,6 +3560,18 @@ }, "title": { "render": "Entrance" + }, + "units": { + "0": { + "applicableUnits": { + "0": { + "human": "meter" + }, + "1": { + "human": "centimeter" + } + } + } } }, "etymology": { @@ -3944,6 +4017,24 @@ "render": "Ghost bike" } }, + "governments": { + "description": "This layer show governmental buildings. It was setup as commissioned layer for the client of OSOC '22", + "name": "governments", + "presets": { + "0": { + "title": "a Governmental Office" + } + }, + "tagRenderings": { + "name": { + "question": "What is the name of this Governmental Office?", + "render": "This Governmental Office is called {name}" + } + }, + "title": { + "render": "Governmental Office {name}" + } + }, "gps_track": { "name": "Your travelled track", "tagRenderings": { @@ -4050,11 +4141,12 @@ } }, "hospital": { - "name": "Hospital", + "description": "A layer showing hospital grounds", + "name": "Hospitals", "tagRenderings": { "name": { - "question": "What does the of the hospital ?", - "render": "Name of the hospital name is {name}" + "question": "What is the name of this hospital?", + "render": "This hospital is called {name}" } }, "title": { @@ -4152,6 +4244,13 @@ "render": "Hydrant" } }, + "indoors": { + "description": "Basic indoor mapping: shows room outlines", + "name": "indoors", + "title": { + "render": "Indoor area {name}" + } + }, "information_board": { "description": "A layer showing touristical, road side information boards (e.g. giving information about the landscape, a building, a feature, a map, …)", "name": "Information boards", @@ -4937,8 +5036,32 @@ "name": "Pedestrian paths" }, "pharmacy": { + "description": "A layer showing pharmacies, which (probably) dispense prescription drugs", + "filter": { + "0": { + "options": { + "0": { + "question": "Has drive through" + } + } + }, + "1": { + "options": { + "0": { + "question": "Pharmacy able to provide prescription drugs" + } + } + } + }, "name": "pharmacy", "tagRenderings": { + "name": { + "freeform": { + "placeholder": "Name of the pharmacy" + }, + "question": "What is the name of the pharmacy?", + "render": "This pharmacy is called {name}" + }, "wheelchair": { "mappings": { "0": { @@ -5267,6 +5390,36 @@ "render": "Crossing" } }, + "reception_desk": { + "description": "A layer showing where the reception desks are and which asks some accessibility information", + "name": "Reception desks", + "presets": { + "0": { + "title": "a reception desk" + } + }, + "tagRenderings": { + "desk-height": { + "question": "What is the height of the reception desk?
This is measured from the floor to the lowest usable part of the desk
", + "render": "The height of the desk is {canonical(desk:height)}" + } + }, + "title": { + "render": "Reception desk" + }, + "units": { + "0": { + "applicableUnits": { + "0": { + "human": "meter" + }, + "1": { + "human": "centimeter" + } + } + } + } + }, "recycling": { "description": "A layer with recycling containers and centres", "filter": { @@ -5693,7 +5846,8 @@ "question": "What paper formats does this shop offer?" }, "shops-name": { - "question": "What is the name of this shop?" + "question": "What is the name of this shop?", + "render": "This shop is called {name}" } }, "title": { @@ -6336,13 +6490,32 @@ }, "1": { "then": "No wheelchair access" + }, + "2": { + "then": "There is only a dedicated toilet for wheelchair users" } }, "question": "Is there a dedicated toilet for wheelchair users?" + }, + "wheelchair-door-width": { + "question": "What is the width of the door to the wheelchair accessible toilet?", + "render": "The door to the wheelchair-accessible toilet is {canonical(door:width)} wide" } }, "title": { "render": "Toilet" + }, + "units": { + "0": { + "applicableUnits": { + "0": { + "human": "meter" + }, + "1": { + "human": "centimeter" + } + } + } } }, "trail": { diff --git a/langs/layers/es.json b/langs/layers/es.json index 26d0ff41d..475b942ad 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -985,9 +985,6 @@ "bike_shop-access": { "render": "Solo accesible a {access}" }, - "bike_shop-email": { - "question": "¿Cual es la dirección de correo electrónico de {name}?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -999,12 +996,6 @@ "bike_shop-name": { "question": "¿Cual es el nombre de esta tienda de bicicletas?", "render": "Esta tienda de bicicletas se llama {name}" - }, - "bike_shop-phone": { - "question": "¿Cual es el número de teléfono de {name}?" - }, - "bike_shop-website": { - "question": "¿Cual es el sitio web de {name}?" } }, "title": { diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 3ff5eb6e6..ce86b55fb 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -1068,9 +1068,6 @@ "bike_shop-access": { "render": "Seulement accessible à {access}" }, - "bike_shop-email": { - "question": "Quelle est l'adresse électronique de {name} ?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -1082,12 +1079,6 @@ "bike_shop-name": { "question": "Quel est le nom du magasin de vélos ?", "render": "Ce magasin s'appelle {name}" - }, - "bike_shop-phone": { - "question": "Quel est le numéro de téléphone de {name} ?" - }, - "bike_shop-website": { - "question": "Quel est le site web de {name} ?" } }, "title": { @@ -1610,7 +1601,194 @@ } }, "cycleways_and_roads": { + "description": "Toutes les infrastructures sur lesquelles quelqu'un peut rouler, accompagnées de questions sur cette infrastructure", "name": "Pistes cyclables et routes", + "tagRenderings": { + "Cycleway type for a road": { + "mappings": { + "0": { + "then": "Il y a une voie partagée" + }, + "1": { + "then": "Il y a une piste cyclable separée de la route" + }, + "2": { + "then": "Il y a une piste cyclable, mais elle n'est pas separée de la route sur la carte." + }, + "3": { + "then": "Il y a une piste cyclable dessinée séparement" + }, + "4": { + "then": "Il n'y a pas de piste cyclable" + }, + "5": { + "then": "Il n'y a pas de piste cyclable" + } + }, + "question": "Quel type de piste cyclable il y a ici ?" + }, + "Cycleway:smoothness": { + "mappings": { + "0": { + "then": "Utilisable pour les patins: patins à roulettes, skateboard" + }, + "1": { + "then": "Utilisable pour les roues fines: vélo de course" + }, + "2": { + "then": "Utilisable pour les roues traditionelles: vélo, chaise roulante, trotinettes" + }, + "3": { + "then": "Utilisable pour les roues robustes: VTT, voitures, pousse-pousse" + }, + "4": { + "then": "Utilisable pour les véhicules à dégagement élevé : véhicule tout-terrain léger" + }, + "5": { + "then": "Utilisable pour les véhicules tout-terrain : véhicule tout-terrain lourd" + }, + "6": { + "then": "Utilisable pour les véhicules hors route spécialisés : tracteur, véhicule 4x4" + }, + "7": { + "then": "Impasse / Aucun véhicule roulant" + } + }, + "question": "Quel est l'état de la piste cyclable ?" + }, + "Cycleway:surface": { + "mappings": { + "0": { + "then": "Cette piste cyclable n'est pas goudronnée" + }, + "1": { + "then": "Cette piste cyclable est goudronée" + }, + "2": { + "then": "Cette piste cyclable est asphaltée" + }, + "3": { + "then": "Cette piste cyclable est faite de petits pavés" + }, + "4": { + "then": "Cette piste cyclable est bétonée" + }, + "5": { + "then": "Cette piste cyclable est faite de pavés (taillé ou non)" + }, + "6": { + "then": "Cette piste cyclable est en pavés bruts et naturels" + }, + "7": { + "then": "Cette piste cyclable est en pavés plats ou carrés" + }, + "8": { + "then": "Cette piste cyclable est faite en bois" + }, + "9": { + "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" + } + }, + "question": "De quoi est faite la surface de la piste cyclable ?", + "render": "Cette piste cyclable est faite de {cycleway:surface}" + }, + "Is this a cyclestreet? (For a road)": { + "mappings": { + "0": { + "then": "Ceci est une route cyclable, et une zone à 30 km/h" + }, + "1": { + "then": "Ceci est une route cyclable" + }, + "2": { + "then": "Ceci n'est pas une route cyclable" + } + }, + "question": "Est-ce une route cyclable?" + }, + "Maxspeed (for road)": { + "mappings": { + "0": { + "then": "La vitesse maximum est de 20 km/h" + }, + "1": { + "then": "La vitesse maximum est de 30 km/h" + }, + "2": { + "then": "La vitesse maximum est de 50 km/h" + }, + "3": { + "then": "La vitesse maximum est de 70 km/h" + }, + "4": { + "then": "La vitesse maximum est de 90 km/h" + } + }, + "question": "Quelle est la vitesse maximum dans cette rue ?", + "render": "La vitesse maximum dans cette rue est de {maxspeed} km/h" + }, + "Surface of the road": { + "mappings": { + "0": { + "then": "Cette piste cycable est non durcie" + }, + "1": { + "then": "Cette piste cyclable est pavée" + }, + "2": { + "then": "Cette piste cyclable est asphaltée" + }, + "3": { + "then": "Cette piste cyclable est faite en pavés lisses" + }, + "4": { + "then": "Cette piste cyclable est betonée" + }, + "5": { + "then": "Cette piste cyclable est faite de pavés (taillé ou non)" + }, + "6": { + "then": "Cette piste cyclable est en pavés bruts et naturels" + }, + "7": { + "then": "Cette piste cyclable est en pavés plats ou carrés" + }, + "8": { + "then": "Cette piste cyclable est faite en bois" + }, + "9": { + "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" + } + }, + "question": "De quel materiel est faite cette rue ?", + "render": "Cette route est faite de {surface}" + }, + "Surface of the street": { + "mappings": { + "0": { + "then": "Utilisable pour les patins: patins à roulettes, skateboard" + } + } + } + }, "title": { "mappings": { "1": { diff --git a/langs/layers/gl.json b/langs/layers/gl.json index 70689c459..21102de26 100644 --- a/langs/layers/gl.json +++ b/langs/layers/gl.json @@ -354,18 +354,9 @@ }, "question": "Hai ferramentas aquí para arranxar a túa propia bicicleta?" }, - "bike_shop-email": { - "question": "Cal é o enderezo de correo electrónico de {name}?" - }, "bike_shop-name": { "question": "Cal é o nome desta tenda de bicicletas?", "render": "Esta tenda de bicicletas chámase {name}" - }, - "bike_shop-phone": { - "question": "Cal é o número de teléfono de {name}?" - }, - "bike_shop-website": { - "question": "Cal é a páxina web de {name}?" } }, "title": { diff --git a/langs/layers/id.json b/langs/layers/id.json index 6e35fcbd4..05147e9de 100644 --- a/langs/layers/id.json +++ b/langs/layers/id.json @@ -144,13 +144,6 @@ } } }, - "bike_shop": { - "tagRenderings": { - "bike_shop-website": { - "question": "URL {name} apa?" - } - } - }, "climbing_area": { "tagRenderings": { "name": { diff --git a/langs/layers/it.json b/langs/layers/it.json index 09efa26b6..e0ed9fa4c 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -742,21 +742,12 @@ }, "question": "Sono presenti degli attrezzi per riparare la propria bici?" }, - "bike_shop-email": { - "question": "Qual è l’indirizzo email di {name}?" - }, "bike_shop-is-bicycle_shop": { "render": "Questo negozio è specializzato nella vendita di {shop} ed effettua attività relative alle biciclette" }, "bike_shop-name": { "question": "Qual è il nome di questo negozio di biciclette?", "render": "Questo negozio di biciclette è chiamato {name}" - }, - "bike_shop-phone": { - "question": "Qual è il numero di telefono di {name}?" - }, - "bike_shop-website": { - "question": "Qual è il sito web di {name}?" } }, "title": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 08c69ea92..233850fda 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -1068,9 +1068,6 @@ "bike_shop-access": { "render": "Enkel voor {access}" }, - "bike_shop-email": { - "question": "Wat is het email-adres van {name}?" - }, "bike_shop-is-bicycle_shop": { "mappings": { "0": { @@ -1082,12 +1079,6 @@ "bike_shop-name": { "question": "Wat is de naam van deze fietszaak?", "render": "Deze fietszaak heet {name}" - }, - "bike_shop-phone": { - "question": "Wat is het telefoonnummer van {name}?" - }, - "bike_shop-website": { - "question": "Wat is de website van {name}?" } }, "title": { @@ -1265,7 +1256,7 @@ "0": { "options": { "0": { - "question": "Nu geopened" + "question": "Nu geopend" } } } @@ -3244,6 +3235,57 @@ "description": "Deze laag toont de oriëntatie van een object", "name": "Richtingsvisualisatie" }, + "doctors": { + "description": "Deze laag toont dokterspraktijken, tandartsen en andere gezondheidszorgfaciliteiten", + "filter": { + "0": { + "options": { + "0": { + "question": "Nu geopend" + } + } + } + }, + "name": "Dokters", + "presets": { + "0": { + "title": "een dokterspraktijk" + }, + "1": { + "title": "een tandartspraktijk" + }, + "2": { + "title": "een fysiotherapeutenpraktijk" + } + }, + "tagRenderings": { + "name": { + "question": "Wat is de naam van deze dokterspraktijk?", + "render": "Deze dokterspraktijk heet {name}" + }, + "specialty": { + "mappings": { + "0": { + "then": "Dit is een huisarts" + }, + "1": { + "then": "Dit is een gynaecoloog" + }, + "2": { + "then": "Dit is een psychiater" + }, + "3": { + "then": "Dit is een kinderarts" + } + }, + "question": "Waar is deze dokter in gespecialiseerd?", + "render": "Deze dokter is gespecialiseerd in {healthcare:speciality}" + } + }, + "title": { + "render": "Dokterspraktijk {name}" + } + }, "drinking_water": { "deletion": { "nonDeleteMappings": { @@ -3297,6 +3339,13 @@ "render": "Drinkbaar water" } }, + "elevator": { + "presets": { + "0": { + "title": "een lift" + } + } + }, "entrance": { "description": "Een laag met ingangen (van gebouwen etc.) waarmee je details kunt aanvullen die belangrijk zijn voor bijvoorbeeld rolstoelgebruikers (en fietsers, leveranciers, …)", "name": "Toegang", @@ -3387,6 +3436,13 @@ } } }, + "kerb-height": { + "mappings": { + "0": { + "then": "Deze deur heeft geen drempel" + } + } + }, "width": { "question": "Wat is de breedte van deze deur/toegang?", "render": "Deze deur heeft een breedte van {canonical(width)} meter" @@ -3937,6 +3993,18 @@ "render": "Hackerspace" } }, + "hospital": { + "name": "Ziekenhuizen", + "tagRenderings": { + "name": { + "question": "Wat is de naam van dit ziekenhuis?", + "render": "Dit ziekenhuis heet {name}" + } + }, + "title": { + "render": "Ziekenhuis" + } + }, "hotel": { "description": "Laag die alle hotels toont", "name": "Hotels", @@ -4209,6 +4277,7 @@ }, "maxspeed": { "description": "Toont de toegestane snelheid voor elke weg", + "name": "Maximumsnelheid", "tagRenderings": { "maxspeed-maxspeed": { "mappings": { @@ -5974,13 +6043,32 @@ }, "1": { "then": "Niet toegankelijk voor rolstoelgebruikers" + }, + "2": { + "then": "Er is alleen een toilet voor rolstoelgebruikers" } }, "question": "Is er een rolstoeltoegankelijke toilet voorzien?" + }, + "wheelchair-door-width": { + "question": "Hoe breed is de deur van de rolstoeltoegankelijke toilet?", + "render": "De deur naar de rolstoeltoegankelijke toilet is {canonical(door:width)} wide" } }, "title": { "render": "Toilet" + }, + "units": { + "0": { + "applicableUnits": { + "0": { + "human": "meter" + }, + "1": { + "human": "centimeter" + } + } + } } }, "trail": { diff --git a/langs/layers/pt.json b/langs/layers/pt.json index edd7cae41..2de82c74a 100644 --- a/langs/layers/pt.json +++ b/langs/layers/pt.json @@ -540,21 +540,12 @@ }, "question": "Esta loja vende bicicletas?" }, - "bike_shop-email": { - "question": "Qual o endereço de email de {name}?" - }, "bike_shop-is-bicycle_shop": { "render": "Esta loja é especializada em vender {shop} e faz atividades relacionadas à bicicletas" }, "bike_shop-name": { "question": "Qual o nome desta loja de bicicletas?", "render": "Esta loja de bicicletas se chama {name}" - }, - "bike_shop-phone": { - "question": "Qual é o número de telefone de {name}?" - }, - "bike_shop-website": { - "question": "Qual o website de {name}?" } }, "title": { diff --git a/langs/layers/pt_BR.json b/langs/layers/pt_BR.json index 83859c59a..239a87a43 100644 --- a/langs/layers/pt_BR.json +++ b/langs/layers/pt_BR.json @@ -490,21 +490,12 @@ }, "question": "Esta loja vende bicicletas?" }, - "bike_shop-email": { - "question": "Qual o endereço de email de {name}?" - }, "bike_shop-is-bicycle_shop": { "render": "Esta loja é especializada em vender {shop} e faz atividades relacionadas à bicicletas" }, "bike_shop-name": { "question": "Qual o nome desta loja de bicicletas?", "render": "Esta loja de bicicletas se chama {name}" - }, - "bike_shop-phone": { - "question": "Qual o número de telefone de {name}?" - }, - "bike_shop-website": { - "question": "Qual o website de {name}?" } }, "title": { diff --git a/langs/layers/ru.json b/langs/layers/ru.json index ccb05ca70..163beb679 100644 --- a/langs/layers/ru.json +++ b/langs/layers/ru.json @@ -653,18 +653,9 @@ }, "question": "Есть ли здесь инструменты для починки собственного велосипеда?" }, - "bike_shop-email": { - "question": "Какой адрес электронной почты у {name}?" - }, "bike_shop-name": { "question": "Как называется магазин велосипедов?", "render": "Этот магазин велосипедов называется {name}" - }, - "bike_shop-phone": { - "question": "Какой номер телефона у {name}?" - }, - "bike_shop-website": { - "question": "Какой сайт у {name}?" } }, "title": { diff --git a/langs/shared-questions/en.json b/langs/shared-questions/en.json index 944c5d5cb..fabc53edb 100644 --- a/langs/shared-questions/en.json +++ b/langs/shared-questions/en.json @@ -23,6 +23,17 @@ "email": { "question": "What is the email address of {title()}?" }, + "induction-loop": { + "mappings": { + "0": { + "then": "This place has an audio induction loop" + }, + "1": { + "then": "This place does not has an audio induction loop" + } + }, + "question": "Does this place have an audio induction loop for people with reduced hearing?" + }, "level": { "mappings": { "0": { @@ -44,6 +55,12 @@ "question": "On what level is this feature located?", "render": "Located on the {level}th floor" }, + "multilevels": { + "override": { + "question": "What levels does this elevator go to?", + "render": "This elevator goes to floors {level}" + } + }, "opening_hours": { "question": "What are the opening hours of {title()}?", "render": "

Opening hours

{opening_hours_table(opening_hours)}" diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 724f5c12a..8c8f35cb6 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -17,6 +17,10 @@ "shortDescription": "Un mapa amb estacions de lloguer de bicicletes i botigues de lloguer de bicicletes", "title": "Lloguer de bicicletes" }, + "bicyclelib": { + "description": "Una biblioteca de bicicletes és un lloc on es poden prestar bicicletes, sovint per una petita quota anual. Un cas d'ús notable són les biblioteques de bicicletes per als nens, que els permet canviar per una bicicleta més gran quan han superat la seva bicicleta actual", + "title": "Biblioteques de bicicletes" + }, "binoculars": { "description": "Un mapa amb prismàtics fixos en un pal. Sol trobar-se en llocs turístics, miradors, a la part alta de torres panoràmiques o ocasionalment en una reserva natural.", "shortDescription": "Un mapa amb prismàtics fixos", @@ -98,6 +102,79 @@ }, "1": { "then": "No hi han hostes permanents aquí" + }, + "2": { + "then": "Només és possible romandre aquí si teniu un contracte a llarg termini (aquest lloc desapareixerà d'aquest mapa si trieu això)" + } + }, + "question": "Aquest lloc ofereix llocs de lloguer a llarg termini?" + }, + "caravansites-name": { + "question": "Com es diu aquest lloc?", + "render": "Aquest lloc s'anomena {name}" + }, + "caravansites-sanitary-dump": { + "mappings": { + "0": { + "then": "Aquest lloc té una estació d'abocament sanitari" + }, + "1": { + "then": "Aquest lloc no té una estació d'abocament sanitari" + } + }, + "question": "Aquest lloc té una estació d'abocament sanitari?" + }, + "caravansites-toilets": { + "mappings": { + "0": { + "then": "Aquest lloc té lavabos" + }, + "1": { + "then": "Aquest lloc no té lavabos" + } + }, + "question": "Aquest lloc té lavabos?" + }, + "caravansites-website": { + "question": "Aquest lloc té un lloc web?", + "render": "Lloc web oficial: {website}" + } + }, + "title": { + "mappings": { + "0": { + "then": "Lloc d'acampada sense nom" + } + }, + "render": "Lloc d'acampada {name}" + } + }, + "1": { + "description": "Estacions d'abocament sanitari", + "name": "Estacions d'abocament sanitari", + "tagRenderings": { + "dumpstations-access": { + "mappings": { + "1": { + "then": "Heu de ser client del càmping/lloc d'acampada per utilitzar aquest lloc" + }, + "2": { + "then": "Qualsevol pot utilitzar aquesta estació d'abocament" + }, + "3": { + "then": "Qualsevol pot utilitzar aquesta estació d'abocament" + } + }, + "question": "Qui pot utilitzar aquesta estació d'abocament?" + }, + "dumpstations-charge": { + "question": "Quant costa aquest lloc?", + "render": "Aquest lloc costa {charge}" + }, + "dumpstations-grey-water": { + "mappings": { + "0": { + "then": "Es pot desfer de les aigües grises aquí" } } } @@ -122,7 +199,8 @@ "3": { "then": "Només membres del club" } - } + }, + "question": "Qui pot accedir aquí?" } }, "units+": { @@ -143,6 +221,7 @@ "title": "Open Climbing Map" }, "cycle_highways": { + "description": "Aquest mapa mostra carrils bici", "layers": { "0": { "name": "vies ciclistes", @@ -154,14 +233,26 @@ "title": "Vies ciclistes" }, "cycle_infra": { + "description": "Un mapa on es poden veure i editar coses relacionades amb la infraestructura ciclista. Fet durant #osoc21.", + "shortDescription": "Un mapa on es poden veure i editar coses relacionades amb la infraestructura ciclista.", "title": "Infraestructura per a bicicletes" }, "cyclenodes": { + "description": "Aquest mapa mostra xarxes de nodes ciclistes i et permet afegir nodes nous de manera senzilla", "layers": { + "0": { + "name": "enllaços node a node", + "tagRenderings": { + "node2node-survey:date": { + "question": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?" + } + } + }, "1": { "name": "nodes" } - } + }, + "title": "Xarxa de nodes ciclistes" }, "cyclestreets": { "layers": { @@ -181,6 +272,20 @@ } } }, + "overrideAll": { + "tagRenderings+": { + "0": { + "mappings": { + "1": { + "then": "Aquest carrer és una ciclocarrer" + }, + "2": { + "then": "Aquest carrer es convertirà en un ciclocarrer pròximament" + } + } + } + } + }, "shortDescription": "Un mapa de carrers ciclistes", "title": "Carrers ciclistes" }, @@ -188,12 +293,54 @@ "title": "Cyclofix - un mapa obert per a ciclistes" }, "drinking_water": { + "description": "En aquest mapa es mostren els punts d'aigua potable accessibles al públic i es poden afegir fàcilment", "title": "Aigua potable" }, + "education": { + "description": "En aquest mapa trobareu informació sobre tots els tipus d'escoles i educació i podreu afegir fàcilment més informació", + "title": "Educació" + }, "entrances": { "title": "Entrades" }, "etymology": { + "layers": { + "1": { + "override": { + "=name": "Carrers sense informació etimològica" + } + }, + "2": { + "override": { + "=name": "Parcs i boscos sense informació etimològica" + } + }, + "3": { + "override": { + "=name": "Institucions educatives sense informació d'etimològica" + } + }, + "4": { + "override": { + "=name": "Llocs culturals sense informació etimològica" + } + }, + "5": { + "override": { + "=name": "Llocs turístics sense informació etimològica" + } + }, + "6": { + "override": { + "=name": "Llocs socials i de salut sense informació etimològica" + } + }, + "7": { + "override": { + "=name": "Llocs esportius sense informació etimològica" + } + } + }, "shortDescription": "Quin és l'origen d'un topònim?", "title": "Open Etymology Map" }, @@ -232,6 +379,10 @@ "shortDescription": "Mapa per a mostrar hidrants, extintors, parcs de bombers i estacions d'ambulàncies.", "title": "Hidrants, Extintors, Parcs de Bombers i estacions d'Ambulàncies" }, + "healthcare": { + "description": "En aquest mapa es mostren diversos elements relacionats amb la salut", + "title": "Assistència sanitària" + }, "maps": { "title": "Un mapa de mapes" }, diff --git a/langs/themes/de.json b/langs/themes/de.json index 67f154691..8bb3ccdc3 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -647,6 +647,10 @@ "shortDescription": "Hydranten, Feuerlöscher, Feuerwachen und Rettungswachen.", "title": "Hydranten, Feuerlöscher, Feuerwachen und Rettungswachen" }, + "healthcare": { + "description": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt", + "title": "Gesundheitswesen" + }, "kerbs_and_crossings": { "description": "Eine Karte mit Bordsteinen und Überwegen.", "title": "Bordsteine und Überwege" @@ -738,13 +742,32 @@ "title": "Aussichtstürme" }, "onwheels": { - "overrideAll": { - "+tagRenderings": { - "0": { - "render": "Diese Tür hat eine Durchgangsbreite von {canonical(_poi_entrance:width)} Meter" + "description": "Auf dieser Karte werden öffentlich zugängliche Orte für Rollstuhlfahrer angezeigt und können leicht hinzugefügt werden", + "layers": { + "7": { + "override": { + "filter": { + "0": { + "options": { + "0": { + "question": "Alle Arten von Bordsteinen" + }, + "1": { + "question": "Erhöhter Bordstein (>3 cm)" + }, + "2": { + "question": "Abgesenkter Bordstein (~3 cm)" + }, + "3": { + "question": "Bündiger Bordstein (~0cm)" + } + } + } + } } } - } + }, + "title": "Auf Rädern" }, "openwindpowermap": { "description": "Eine Karte zum Anzeigen und Bearbeiten von Windkraftanlagen.", @@ -868,6 +891,10 @@ "shortDescription": "Eine Karte die Briefkästen und Poststellen anzeigt", "title": "Post- und Briefkastenkarte" }, + "rainbow_crossings": { + "description": "Auf dieser Karte sind Fußgängerüberwege mit Regenbogenfarben eingezeichnet und können leicht hinzugefügt werden", + "title": "Regenbogen-Fußgängerübergänge" + }, "shops": { "description": "Auf dieser Karte kann man grundlegende Informationen über Geschäfte markieren, Öffnungszeiten und Telefonnummern hinzufügen", "shortDescription": "Eine bearbeitbare Karte mit grundlegenden Geschäftsinformationen", @@ -962,11 +989,19 @@ "description": "Eine Karte mit öffentlich zugänglichen Toiletten", "title": "Freie Toilettenkarte" }, + "transit": { + "description": "Planen Sie Ihre Reise mit Hilfe von öffentlichen Verkehrsmitteln.", + "title": "Buslinien" + }, "trees": { "description": "Kartieren Sie alle Bäume!", "shortDescription": "Kartieren Sie alle Bäume", "title": "Bäume" }, + "walls_and_buildings": { + "description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.", + "title": "Wände und Gebäude" + }, "waste": { "description": "Eine Karte mit Abfalleimern und Recyclingeinrichtungen.", "title": "Abfall" diff --git a/langs/themes/en.json b/langs/themes/en.json index a82f795c4..006c1e35d 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -600,6 +600,10 @@ "description": "A ghost bike is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.

On this map, one can see all the ghost bikes which are known by OpenStreetMap. Is a ghost bike missing? Everyone can add or update information here - you only need to have a (free) OpenStreetMap account.", "title": "Ghost bikes" }, + "governments": { + "description": "On this map, Governmental offices are shown and can be easily added", + "title": "Governmental Offices" + }, "grb": { "description": "This theme is an attempt to help automating the GRB import.", "layers": { @@ -651,6 +655,10 @@ "description": "On this map, various healthcare related items are shown", "title": "Healthcare" }, + "indoors": { + "description": "On this map, publicly accessible indoor places are shown", + "title": "Indoors" + }, "kerbs_and_crossings": { "description": "A map showing kerbs and crossings.", "title": "Kerbs and crossings" @@ -747,15 +755,67 @@ }, "onwheels": { "description": "On this map, publicly weelchair accessible places are shown and can be easily added", + "layers": { + "2": { + "override": { + "title": "Pedestrian path" + } + }, + "5": { + "override": { + "filter": { + "0": { + "options": { + "0": { + "question": "Any/No width info" + }, + "1": { + "question": "Any width info" + } + } + } + } + } + }, + "7": { + "override": { + "filter": { + "0": { + "options": { + "0": { + "question": "All types of kerbs" + }, + "1": { + "question": "Raised kerb (>3 cm)" + }, + "2": { + "question": "Lowered kerb (~3 cm)" + }, + "3": { + "question": "Flush kerb (~0cm)" + } + } + } + } + } + }, + "23": { + "override": { + "=title": { + "render": "Statistics" + } + } + } + }, "overrideAll": { "+tagRenderings": { "0": { "mappings": { "0": { - "then": "This entrance has no width information" + "then": "The containing building has no information on door widths. Add a door and measure the width to get information" } }, - "render": "This door has a width of {canonical(_poi_entrance:width)} meter" + "render": "The containing building can be entered via a door of {canonical(_poi_entrance:width)}" } } }, diff --git a/langs/themes/es.json b/langs/themes/es.json index bde149622..5720c927a 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -517,15 +517,6 @@ "shortDescription": "Torres accesibles públicamente para disfrutar de la vista", "title": "Torres de observación" }, - "onwheels": { - "overrideAll": { - "+tagRenderings": { - "0": { - "render": "Esta puerta tiene una ancho de {canonical(_poi_entrance:width)} metros" - } - } - } - }, "openwindpowermap": { "description": "Un para mostrar y editar turbinas de viento" }, diff --git a/langs/themes/fr.json b/langs/themes/fr.json index a38c30ad6..4b5e80d50 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -671,6 +671,10 @@ "shortDescription": "Tours libres d’accès pour admirer la vue", "title": "Tours d’observation" }, + "onwheels": { + "description": "Sur cette carte nous pouvons voir et ajouter les différents endroits publiques accessibles aux chaises roulantes", + "title": "OnWheels" + }, "openwindpowermap": { "description": "Une carte indiquant les éoliennes et permettant leur édition.", "title": "OpenWindPowerMap" diff --git a/langs/themes/nl.json b/langs/themes/nl.json index ebe921f8f..96104f227 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -876,10 +876,27 @@ "title": "Uitkijktorens" }, "onwheels": { - "overrideAll": { - "+tagRenderings": { - "0": { - "render": "Deze deur heeft een breedte van {canonical(_poi_entrance:width)} meter" + "layers": { + "7": { + "override": { + "filter": { + "0": { + "options": { + "0": { + "question": "Alle typen stoepranden" + }, + "1": { + "question": "Hoge stoeprand (>3 cm)" + }, + "2": { + "question": "Verlaagde stoeprand (~3 cm)" + }, + "3": { + "question": "Vlakke stoeprand (~0cm)" + } + } + } + } } } } diff --git a/package-lock.json b/package-lock.json index b3193671f..233d6353c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "@types/prompt-sync": "^4.1.0", "@types/wikidata-sdk": "^6.1.0", "@types/xml2js": "^0.4.9", + "chart.js": "^3.8.0", "country-language": "^0.1.7", "csv-parse": "^5.1.0", "doctest-ts-improved": "^0.8.8", @@ -4526,6 +4527,11 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "node_modules/chart.js": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.0.tgz", + "integrity": "sha512-cr8xhrXjLIXVLOBZPkBZVF6NDeiVIrPLHcMhnON7UufudL+CNeRrD+wpYanswlm8NpudMdrt3CHoLMQMxJhHRg==" + }, "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -20315,6 +20321,11 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.0.tgz", + "integrity": "sha512-cr8xhrXjLIXVLOBZPkBZVF6NDeiVIrPLHcMhnON7UufudL+CNeRrD+wpYanswlm8NpudMdrt3CHoLMQMxJhHRg==" + }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", diff --git a/package.json b/package.json index 26e55237c..6796cb623 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "@types/prompt-sync": "^4.1.0", "@types/wikidata-sdk": "^6.1.0", "@types/xml2js": "^0.4.9", + "chart.js": "^3.8.0", "country-language": "^0.1.7", "csv-parse": "^5.1.0", "doctest-ts-improved": "^0.8.8", diff --git a/scripts/generateCache.ts b/scripts/generateCache.ts index ce791b189..e1cb4415d 100644 --- a/scripts/generateCache.ts +++ b/scripts/generateCache.ts @@ -10,7 +10,7 @@ import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; import RelationsTracker from "../Logic/Osm/RelationsTracker"; import * as OsmToGeoJson from "osmtogeojson"; import MetaTagging from "../Logic/MetaTagging"; -import {UIEventSource} from "../Logic/UIEventSource"; +import {ImmutableStore, UIEventSource} from "../Logic/UIEventSource"; import {TileRange, Tiles} from "../Models/TileRange"; import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; import ScriptUtils from "./ScriptUtils"; @@ -250,9 +250,10 @@ function sliceToTiles(allFeatures: FeatureSource, theme: LayoutConfig, relations } const filteredTile = new FilteringFeatureSource({ - locationControl: new UIEventSource(undefined), + locationControl: new ImmutableStore(undefined), allElements: undefined, - selectedElement: new UIEventSource(undefined) + selectedElement: new ImmutableStore(undefined), + globalFilters: new ImmutableStore([]) }, tileIndex, tile, @@ -323,9 +324,10 @@ function sliceToTiles(allFeatures: FeatureSource, theme: LayoutConfig, relations if (pointsOnlyLayers.indexOf(layer.id) >= 0) { const filtered = new FilteringFeatureSource({ - locationControl: new UIEventSource(undefined), + locationControl: new ImmutableStore(undefined), allElements: undefined, - selectedElement: new UIEventSource(undefined) + selectedElement: new ImmutableStore(undefined), + globalFilters: new ImmutableStore([]) }, Tiles.tile_index(0, 0, 0), source, diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts index a4e03cc7f..cdf296b60 100644 --- a/scripts/generateDocs.ts +++ b/scripts/generateDocs.ts @@ -1,18 +1,15 @@ import Combine from "../UI/Base/Combine"; import BaseUIElement from "../UI/BaseUIElement"; import Translations from "../UI/i18n/Translations"; -import {existsSync, mkdir, mkdirSync, writeFileSync} from "fs"; +import {existsSync, mkdirSync, writeFileSync} from "fs"; import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; import TableOfContents from "../UI/Base/TableOfContents"; -import SimpleMetaTaggers, {SimpleMetaTagger} from "../Logic/SimpleMetaTagger"; +import SimpleMetaTaggers from "../Logic/SimpleMetaTagger"; import ValidatedTextField from "../UI/Input/ValidatedTextField"; -import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; import SpecialVisualizations from "../UI/SpecialVisualizations"; -import FeatureSwitchState from "../Logic/State/FeatureSwitchState"; import {ExtraFunctions} from "../Logic/ExtraFunctions"; import Title from "../UI/Base/Title"; import Minimap from "../UI/Base/Minimap"; -import {QueryParameters} from "../Logic/Web/QueryParameters"; import QueryParameterDocumentation from "../UI/QueryParameterDocumentation"; import ScriptUtils from "./ScriptUtils"; import List from "../UI/Base/List"; diff --git a/scripts/generateIncludedImages.ts b/scripts/generateIncludedImages.ts index d0902ae15..67eab59e3 100644 --- a/scripts/generateIncludedImages.ts +++ b/scripts/generateIncludedImages.ts @@ -17,13 +17,18 @@ function genImages(dryrun = false) { throw "Non-svg file detected in the svg files: " + path; } - let svg = fs.readFileSync("./assets/svg/" + path, "utf-8") + let svg : string = fs.readFileSync("./assets/svg/" + path, "utf-8") .replace(/<\?xml.*?>/, "") .replace(/fill: ?none;/g, "fill: none !important;") // This is such a brittle hack... .replace(/\n/g, " ") .replace(/\r/g, "") .replace(/\\/g, "\\") .replace(/"/g, "\\\"") + + let hasNonAsciiChars = Array.from(svg).some(char => char.charCodeAt(0) > 127); + if(hasNonAsciiChars){ + throw "The svg '"+path+"' has non-ascii characters"; + } const name = path.substr(0, path.length - 4) .replace(/[ -]/g, "_"); diff --git a/scripts/thieves/readIdPresets.ts b/scripts/thieves/readIdPresets.ts index 0420c7064..37e414e13 100644 --- a/scripts/thieves/readIdPresets.ts +++ b/scripts/thieves/readIdPresets.ts @@ -296,8 +296,8 @@ const iconThief = new AggregateIconThief( const thief = new IdThief("../id-tagging-schema/", iconThief) -const shopLayerPath = targetDir + "id_presets.json" -const idPresets = JSON.parse(readFileSync(shopLayerPath, 'utf8')) +const id_presets_path = targetDir + "id_presets.json" +const idPresets = JSON.parse(readFileSync(id_presets_path, 'utf8')) idPresets.tagRenderings = [ { id: "shop_types", @@ -309,4 +309,4 @@ idPresets.tagRenderings = [ } ] -writeFileSync(shopLayerPath, JSON.stringify(idPresets, null, " "), 'utf8') \ No newline at end of file +writeFileSync(id_presets_path, JSON.stringify(idPresets, null, " "), 'utf8') \ No newline at end of file diff --git a/scripts/thieves/stealLanguages.ts b/scripts/thieves/stealLanguages.ts index cc775babf..94cf95362 100644 --- a/scripts/thieves/stealLanguages.ts +++ b/scripts/thieves/stealLanguages.ts @@ -54,11 +54,14 @@ function main(){ const wikidataLayer = { id: "wikidata", - description: "Various tagrenderings which are generated from Wikidata. Automatically generated with a script, don't edit manually", + description: { + en: "Various tagrenderings which are generated from Wikidata. Automatically generated with a script, don't edit manually" + }, "#dont-translate": "*", "source": { "osmTags": "id~*" }, + title: null, "mapRendering": null, tagRenderings: [ { diff --git a/test.ts b/test.ts index e25a2ad54..a2d2662a9 100644 --- a/test.ts +++ b/test.ts @@ -1,52 +1,9 @@ -import * as shops from "./assets/generated/layers/shops.json" -import Combine from "./UI/Base/Combine"; -import Img from "./UI/Base/Img"; -import BaseUIElement from "./UI/BaseUIElement"; -import {VariableUiElement} from "./UI/Base/VariableUIElement"; -import LanguagePicker from "./UI/LanguagePicker"; -import TagRenderingConfig, {Mapping} from "./Models/ThemeConfig/TagRenderingConfig"; -import {MappingConfigJson} from "./Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson"; -import {FixedUiElement} from "./UI/Base/FixedUiElement"; -import {TagsFilter} from "./Logic/Tags/TagsFilter"; -import {SearchablePillsSelector} from "./UI/Input/SearchableMappingsSelector"; -import {UIEventSource} from "./Logic/UIEventSource"; -const mappingsRaw: MappingConfigJson[] = shops.tagRenderings.find(tr => tr.id == "shop_types").mappings -const mappings = mappingsRaw.map((m, i) => TagRenderingConfig.ExtractMapping(m, i, "test", "test")) -function fromMapping(m: Mapping): { show: BaseUIElement, value: TagsFilter, mainTerm: Record, searchTerms?: Record } { - const el: BaseUIElement = m.then - let icon: BaseUIElement - if (m.icon !== undefined) { - icon = new Img(m.icon).SetClass("h-8 w-8 pr-2") - } else { - icon = new FixedUiElement("").SetClass("h-8 w-1") - } - const show = new Combine([ - icon, - el.SetClass("block-ruby") - ]).SetClass("flex items-center") +import * as onwheels from "./assets/generated/themes/onwheels.json" +import FeaturePipelineState from "./Logic/State/FeaturePipelineState"; +import LayoutConfig from "./Models/ThemeConfig/LayoutConfig"; - return {show, mainTerm: m.then.translations, searchTerms: m.searchTerms, value: m.if}; +const layout = new LayoutConfig( onwheels, true) -} -const search = new UIEventSource("") -const sp = new SearchablePillsSelector( - mappings.map(m => fromMapping(m)), - { - noMatchFound: new VariableUiElement(search.map(s => "Mark this a `"+s+"`")), - onNoSearch: new FixedUiElement("Search in "+mappingsRaw.length+" categories"), - selectIfSingle: true, - searchValue: search - } -) - -sp.AttachTo("maindiv") - -const lp = new LanguagePicker(["en", "nl"], "") - -new Combine([ - new VariableUiElement(sp.GetValue().map(tf => new FixedUiElement("Selected tags: " + tf.map(tf => tf.asHumanString(false, false, {})).join(", ")))), - lp -]).SetClass("flex flex-col") - .AttachTo("extradiv") \ No newline at end of file +new FeaturePipelineState(layout) \ No newline at end of file diff --git a/test/scripts/GenerateCache.spec.ts b/test/scripts/GenerateCache.spec.ts index a57e598b9..dec2721b3 100644 --- a/test/scripts/GenerateCache.spec.ts +++ b/test/scripts/GenerateCache.spec.ts @@ -38,8 +38,7 @@ describe("GenerateCache", () => { rmdirSync(dir+"np-cache") } mkdirSync(dir+"np-cache") - initDownloads( - "(nwr%5B%22amenity%22%3D%22toilets%22%5D%3Bnwr%5B%22amenity%22%3D%22parking%22%5D%3Bnwr%5B%22amenity%22%3D%22bench%22%5D%3Bnwr%5B%22id%22%3D%22location_track%22%5D%3Bnwr%5B%22id%22%3D%22gps%22%5D%3Bnwr%5B%22information%22%3D%22board%22%5D%3Bnwr%5B%22leisure%22%3D%22picnic_table%22%5D%3Bnwr%5B%22man_made%22%3D%22watermill%22%5D%3Bnwr%5B%22user%3Ahome%22%3D%22yes%22%5D%3Bnwr%5B%22user%3Alocation%22%3D%22yes%22%5D%3Bnwr%5B%22leisure%22%3D%22nature_reserve%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22boundary%22%3D%22protected_area%22%5D%5B%22protect_class%22!%3D%2298%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22information%22%3D%22visitor_centre%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22information%22%3D%22office%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*foot.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*hiking.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*bycicle.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*horse.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22leisure%22%3D%22bird_hide%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22amenity%22%3D%22drinking_water%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D%3B)%3Bout%20body%3Bout%20meta%3B%3E%3Bout%20skel%20qt%3B" + initDownloads("(nwr%5B%22amenity%22%3D%22toilets%22%5D%3Bnwr%5B%22amenity%22%3D%22parking%22%5D%3Bnwr%5B%22amenity%22%3D%22bench%22%5D%3Bnwr%5B%22id%22%3D%22location_track%22%5D%3Bnwr%5B%22id%22%3D%22gps%22%5D%3Bnwr%5B%22information%22%3D%22board%22%5D%3Bnwr%5B%22leisure%22%3D%22picnic_table%22%5D%3Bnwr%5B%22man_made%22%3D%22watermill%22%5D%3Bnwr%5B%22user%3Ahome%22%3D%22yes%22%5D%3Bnwr%5B%22user%3Alocation%22%3D%22yes%22%5D%3Bnwr%5B%22leisure%22%3D%22nature_reserve%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22boundary%22%3D%22protected_area%22%5D%5B%22protect_class%22!%3D%2298%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22information%22%3D%22visitor_centre%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22information%22%3D%22office%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*foot.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*hiking.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*bycicle.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22route%22~%22%5E.*horse.*%24%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22leisure%22%3D%22bird_hide%22%5D%5B%22operator%22~%22%5E.*%5BnN%5Datuurpunt.*%24%22%5D%3Bnwr%5B%22amenity%22%3D%22drinking_water%22%5D%5B%22man_made%22!%3D%22reservoir_covered%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D%3Bnwr%5B%22drinking_water%22%3D%22yes%22%5D%5B%22man_made%22!%3D%22reservoir_covered%22%5D%5B%22access%22!%3D%22permissive%22%5D%5B%22access%22!%3D%22private%22%5D%3B)%3Bout%20body%3Bout%20meta%3B%3E%3Bout%20skel%20qt%3B" ); await main([ "natuurpunt", @@ -48,7 +47,7 @@ describe("GenerateCache", () => { "51.15423567022531", "3.250579833984375", "51.162821593316934", "3.262810707092285", "--generate-point-overview", "nature_reserve,visitor_information_centre" ]) - await ScriptUtils.sleep(500) + await ScriptUtils.sleep(250) const birdhides = JSON.parse(readFileSync(dir+"np-cache/natuurpunt_birdhide_12_2085_1368.geojson", "UTF8")) expect(birdhides.features.length).deep.equal(5) expect(birdhides.features.some(f => f.properties.id === "node/5158056232"), "Didn't find birdhide node/5158056232 ").true