forked from MapComplete/MapComplete
Merge develop
This commit is contained in:
commit
008ed859bb
228 changed files with 778708 additions and 38704 deletions
|
@ -3,6 +3,9 @@
|
|||
"name": {
|
||||
"en": "doctors"
|
||||
},
|
||||
"description": {
|
||||
"en": "This layer shows doctor offices, dentists and other healthcare facilities"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": {
|
||||
"or": [
|
||||
|
|
|
@ -164,9 +164,9 @@
|
|||
"de": "Wie hoch ist der Bordstein?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Kerb height: {{kerb:height}}",
|
||||
"nl": "Stoeprandhoogte: {{kerb:height}}",
|
||||
"de": "Bordsteinhöhe: {{kerb:height}}"
|
||||
"en": "Kerb height: {kerb:height}",
|
||||
"nl": "Stoeprandhoogte: {kerb:height}",
|
||||
"de": "Bordsteinhöhe: {kerb:height}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "kerb:height",
|
||||
|
|
|
@ -26,7 +26,142 @@
|
|||
"es": "Una capa que muestra aparcamientos para coches"
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images"
|
||||
"images",
|
||||
{
|
||||
"id": "parking-type",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "parking=surface",
|
||||
"then": {
|
||||
"en": "This is a surface parking lot",
|
||||
"nl": "Dit is een bovengronds parkeerterrein"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=street_side",
|
||||
"then": {
|
||||
"en": "This is a parking bay next to a street",
|
||||
"nl": "Dit is een parkeerplek langs een weg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=underground",
|
||||
"then": {
|
||||
"en": "This is an underground parking garage",
|
||||
"nl": "Dit is een ondergrondse parkeergarage"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=multi-storey",
|
||||
"then": {
|
||||
"en": "This is a multi-storey parking garage",
|
||||
"nl": "Dit is een bovengrondse parkeergarage met meerdere verdiepingen"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=rooftop",
|
||||
"then": {
|
||||
"en": "This is a rooftop parking deck",
|
||||
"nl": "Dit is een parkeerdek op een dak"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=lane",
|
||||
"then": {
|
||||
"en": "This is a lane for parking on the road",
|
||||
"nl": "Dit is een strook voor parkeren op de weg"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=carports",
|
||||
"then": {
|
||||
"en": "This is parking covered by carports",
|
||||
"nl": "Dit is parking overdekt met carports"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=garage_boxes",
|
||||
"then": {
|
||||
"en": "This a parking consisting of garage boxes",
|
||||
"nl": "Dit is een parking bestaande uit garageboxen"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=layby",
|
||||
"then": {
|
||||
"en": "This is a parking on a layby",
|
||||
"nl": "Dit is een parkeerplek op een layby"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "parking=sheds",
|
||||
"then": {
|
||||
"en": "This is a parking consisting of sheds",
|
||||
"nl": "Dit is een parking bestaande uit schuren"
|
||||
}
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "What kind of parking is this?",
|
||||
"nl": "Wat voor parking is dit?"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "capacity-disabled",
|
||||
"freeform": {
|
||||
"key": "capacity:disabled",
|
||||
"type": "pnat",
|
||||
"placeholder": {
|
||||
"en": "Amount of parking spots reserved for disabled people",
|
||||
"nl": "Aantal parkeerplaatsen voor gehandicapten"
|
||||
}
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"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"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
{
|
||||
"if": "capacity:disabled=no",
|
||||
"then": {
|
||||
"en": "There are no disabled parking spots",
|
||||
"nl": "Er zijn geen parkeerplaatsen voor gehandicapten"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "How many disabled parking spots are there at this parking?",
|
||||
"nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?"
|
||||
},
|
||||
"render": {
|
||||
"en": "There are {capacity:disabled} disabled parking spots",
|
||||
"nl": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "capacity",
|
||||
"freeform": {
|
||||
"key": "capacity",
|
||||
"type": "pnat",
|
||||
"placeholder": {
|
||||
"en": "Amount of parking spots",
|
||||
"nl": "Aantal parkeerplaatsen"
|
||||
}
|
||||
},
|
||||
"question": {
|
||||
"en": "How many parking spots are there at this parking?",
|
||||
"nl": "Hoeveel parkeerplaatsen zijn er op deze parking?"
|
||||
},
|
||||
"render": {
|
||||
"en": "There are {capacity} parking spots",
|
||||
"nl": "Er zijn {capacity} parkeerplaatsen"
|
||||
}
|
||||
}
|
||||
],
|
||||
"presets": [
|
||||
{
|
||||
|
@ -52,7 +187,7 @@
|
|||
},
|
||||
"allowMove": {
|
||||
"enableRelocation": false,
|
||||
"enableImproveAccuraccy": true
|
||||
"enableImproveAccuracy": true
|
||||
},
|
||||
"mapRendering": [
|
||||
{
|
||||
|
|
|
@ -6,7 +6,13 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "{name}"
|
||||
}
|
||||
},
|
||||
"mappings": [{
|
||||
"if": "name=",
|
||||
"then": {
|
||||
"en": "Pharmacy"
|
||||
}
|
||||
}]
|
||||
},
|
||||
"source": {
|
||||
"osmTags": {
|
||||
|
|
93
assets/layers/rainbow_crossings/rainbow_crossings.json
Normal file
93
assets/layers/rainbow_crossings/rainbow_crossings.json
Normal file
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
"id": "rainbow_crossings",
|
||||
"name": {
|
||||
"en": "Crossings with rainbow paintings"
|
||||
},
|
||||
"description": {
|
||||
"en": "A layer showing pedestrian crossings with rainbow paintings"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": "highway=crossing"
|
||||
},
|
||||
"minzoom": 17,
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Crossing"
|
||||
}
|
||||
},
|
||||
"presets": [
|
||||
{
|
||||
"title": {
|
||||
"en": "a crossing"
|
||||
},
|
||||
"tags": [
|
||||
"highway=crossing"
|
||||
],
|
||||
"description": {
|
||||
"en": "Pedestrian crossing"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": [
|
||||
"photo"
|
||||
],
|
||||
"snapToLayer": "cycleways_and_roads",
|
||||
"maxSnapDistance": 25
|
||||
}
|
||||
}
|
||||
],
|
||||
"tagRenderings": [
|
||||
"images",
|
||||
{
|
||||
"id": "crossing-with-rainbow",
|
||||
"question": {
|
||||
"en": "Does this crossing has rainbow paintings?"
|
||||
},
|
||||
"condition": "highway=crossing",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "crossing:marking=rainbow",
|
||||
"then": {
|
||||
"en": "This crossing has rainbow paintings"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/themes/rainbow_crossings/logo.svg",
|
||||
"class": "medium"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "not:crossing:marking=rainbow",
|
||||
"then": {
|
||||
"en": "No rainbow paintings here"
|
||||
},
|
||||
"icon": "./assets/themes/rainbow_crossings/crossing.svg"
|
||||
},
|
||||
{
|
||||
"if": "crossing:marking!=rainbow",
|
||||
"then": {
|
||||
"en": "No rainbow paintings here"
|
||||
},
|
||||
"icon": "./assets/themes/rainbow_crossings/crossing.svg",
|
||||
"hideInAnswer": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"mapRendering": [
|
||||
{
|
||||
"icon": {
|
||||
"render": "./assets/themes/rainbow_crossings/crossing.svg",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "crossing:marking=rainbow",
|
||||
"then": "./assets/themes/rainbow_crossings/logo.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"iconSize": "40,40,center",
|
||||
"location": [
|
||||
"point",
|
||||
"centroid"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,17 +21,9 @@
|
|||
"_is_enclosed=feat.properties._enclosing != '[]'"
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": {
|
||||
"and": [
|
||||
"building~*",
|
||||
"_is_enclosed=true"
|
||||
]
|
||||
},
|
||||
"then": "no"
|
||||
}
|
||||
"or": [
|
||||
"building=",
|
||||
"_is_enclosed!=true"
|
||||
]
|
||||
},
|
||||
"tagRenderings": [
|
||||
|
@ -304,76 +296,25 @@
|
|||
"phone",
|
||||
"email",
|
||||
{
|
||||
"id": "language",
|
||||
"question": {
|
||||
"en": "What is the main language of this school?<div class='subtle'>What language is spoken with the students in non-language related courses and with the administration?</div>",
|
||||
"nl": "Wat is de voertaal van deze school?<div class='subtle'>Welke taal wordt met de studenten gesproken in niet-taal-gerelateerde vakken en met de administratie?</div>",
|
||||
"de": "Was ist die Hauptsprache dieser Schule?<div class='subtle'>Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?</div>",
|
||||
"fr": "Quelle est la langue principale de cette école ?<div class='subtle'>Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?</div>"
|
||||
},
|
||||
"render": {
|
||||
"en": "{school:language} is the main language of {title()}",
|
||||
"nl": "{school:language} is de voertaal van {title()}",
|
||||
"de": "{school:language} ist die Hauptsprache von {title()}",
|
||||
"fr": "{school:language} est la langue principale de {title()}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "school:language",
|
||||
"inline": true,
|
||||
"placeholder": {
|
||||
"en": "Language in lowercase English",
|
||||
"nl": "Taal in lowercase Engel",
|
||||
"de": "Sprache in Englisch in Kleinbuchstaben"
|
||||
},
|
||||
"addExtraTags": [
|
||||
"fixme=Freeform tag `school:language` used, to be doublechecked"
|
||||
]
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "school:language=english",
|
||||
"then": {
|
||||
"en": "The main language of this school is unknown",
|
||||
"nl": "De voertaal van deze school is niet gekend",
|
||||
"de": "Die Hauptsprache dieser Schule ist unbekannt",
|
||||
"fr": "La langue principale de cette école est inconnue"
|
||||
"builtin": "wikidata.school-language",
|
||||
"override": {
|
||||
"+mappings": [
|
||||
{
|
||||
"if": "school:language=",
|
||||
"hideInAnswer": true,
|
||||
"then": {
|
||||
"en": "The main language of this school is unknown",
|
||||
"nl": "De voertaal van deze school is niet gekend"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "school:language=french",
|
||||
"then": {
|
||||
"en": "French is the main language of {name}",
|
||||
"nl": "Frans is de voertaal van {name}",
|
||||
"de": "Französisch ist die Hauptsprache von {name}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "school:language=dutch",
|
||||
"then": {
|
||||
"en": "Dutch is the main language of {name}",
|
||||
"nl": "Nederlands is de voertaal van {name}",
|
||||
"de": "Niederländisch ist die Hauptsprache von {name}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "school:language=german",
|
||||
"then": {
|
||||
"en": "German is the main language of {name}",
|
||||
"nl": "Duits is de voertaal van {name}",
|
||||
"de": "Deutsch ist die Hauptsprache von {name}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "school:language=",
|
||||
"then": {
|
||||
"en": "The main language of this school is unknown",
|
||||
"nl": "De voertaal van deze school is niet gekend",
|
||||
"de": "Die Hauptsprache dieser Schule ist unbekannt",
|
||||
"fr": "La langue principale de cette école est inconnue"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
],
|
||||
"question": {
|
||||
"en": "What is the main language of this school?<div class='subtle'>What language is spoken with the students in non-language related courses and with the administration?</div>",
|
||||
"nl": "Wat is de voertaal van deze school?<div class='subtle'>Welke taal wordt met de studenten gesproken in niet-taal-gerelateerde vakken en met de administratie?</div>",
|
||||
"de": "Was ist die Hauptsprache dieser Schule?<div class='subtle'>Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?</div>",
|
||||
"fr": "Quelle est la langue principale de cette école ?<div class='subtle'>Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?</div>"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"presets": [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"source": {
|
||||
"osmTags": "highway=street_lamp"
|
||||
},
|
||||
"minZoom": 16,
|
||||
"minzoom": 16,
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Street Lamp",
|
||||
|
|
|
@ -386,7 +386,8 @@
|
|||
},
|
||||
"condition": "changing_table=yes",
|
||||
"freeform": {
|
||||
"key": "changing_table:location"
|
||||
"key": "changing_table:location",
|
||||
"inline": true
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
|
12
assets/layers/walls_and_buildings/license_info.json
Normal file
12
assets/layers/walls_and_buildings/license_info.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
{
|
||||
"path": "walls_and_buildings.png",
|
||||
"license": "CC0",
|
||||
"authors": [
|
||||
"OSM"
|
||||
],
|
||||
"sources": [
|
||||
"https://wiki.openstreetmap.org/wiki/File:Barrier_fence_mapnik.png#file"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -43,5 +43,32 @@
|
|||
"render": "2"
|
||||
}
|
||||
}
|
||||
],
|
||||
"calculatedTags": [
|
||||
"_entrance_properties=feat.overlapWith('entrance')?.map(e => e.feat.properties).filter(p => p !== undefined).filter(p => p.width !== undefined)",
|
||||
"_entrance:id=feat.get('_entrance_properties')?.map(e => e.id)?.at(0)",
|
||||
"_entrance:width=feat.get('_entrance_properties')?.map(e => e.width)"
|
||||
],
|
||||
"tagRenderings": [
|
||||
{
|
||||
"id": "_entrance:width",
|
||||
"render": {
|
||||
"en": "<a href ='#{_entrance:id} '>This door has a width of {canonical(_entrance:width)} meters </a>",
|
||||
"nl": "<a href ='#{_entrance:id} '>Deze deur heeft een breedte van {canonical(_entrance:width)} meter </a>",
|
||||
"de": "<a href ='#{_entrance:id} '>Diese Tür hat eine Durchgangsbreite von {canonical(_entrance:width)} Meter </a>",
|
||||
"es": "<a href ='#{_entrance:id} '>Esta puerta tiene una ancho de {canonical(_entrance:width)} metros </a>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "_entrance:width"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_entrance:width=",
|
||||
"then": {
|
||||
"en": "This entrance has no width information"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
BIN
assets/layers/walls_and_buildings/walls_and_buildings.png
Normal file
BIN
assets/layers/walls_and_buildings/walls_and_buildings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 342 B |
27140
assets/layers/wikidata/wikidata.json
Normal file
27140
assets/layers/wikidata/wikidata.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -78,6 +78,52 @@
|
|||
"type": "array",
|
||||
"description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"if"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"if"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"if"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
|
@ -142,7 +188,12 @@
|
|||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||
"$ref": "#/definitions/AndTagConfigJson",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/OrTagConfigJson",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"type": [
|
||||
|
@ -153,6 +204,111 @@
|
|||
],
|
||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer",
|
||||
"and"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer",
|
||||
"and"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer",
|
||||
"or"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"hideInAnswer",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
|
@ -160,7 +316,12 @@
|
|||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||
"$ref": "#/definitions/AndTagConfigJson",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/OrTagConfigJson",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
|
@ -168,6 +329,111 @@
|
|||
],
|
||||
"description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot",
|
||||
"and"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot",
|
||||
"and"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot",
|
||||
"or"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"ifnot",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
|
@ -176,6 +442,131 @@
|
|||
"type": "array",
|
||||
"description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/OrTagConfigJson",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf",
|
||||
"and"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf",
|
||||
"and"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf",
|
||||
"or"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"priorityIf",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"id"
|
||||
|
@ -210,12 +601,115 @@
|
|||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||
"$ref": "#/definitions/AndTagConfigJson",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/OrTagConfigJson",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "Only show this tagrendering (or question) if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables..."
|
||||
"description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"and"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"and"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
}
|
||||
]
|
|
@ -38,13 +38,116 @@
|
|||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||
"$ref": "#/definitions/AndTagConfigJson",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"$ref": "#/definitions/OrTagConfigJson",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "Only show this tagrendering (or question) if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables..."
|
||||
"description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"and"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"and"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"condition",
|
||||
"or"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -75,13 +178,44 @@
|
|||
],
|
||||
"type": [
|
||||
{
|
||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||
"$ref": "#/definitions/AndTagConfigJson"
|
||||
},
|
||||
{
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"or": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/TagConfigJson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"or"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "If this condition is met, then the text under `then` will be shown.\nIf no value matches, and the user selects this mapping as an option, then these tags will be uploaded to OSM.\n\nFor example: {'if': 'diet:vegetarion=yes', 'then':'A vegetarian option is offered here'}\n\nThis can be an substituting-tag as well, e.g. {'if': 'addr:street:={_calculated_nearby_streetname}', 'then': '{_calculated_nearby_streetname}'}"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"if"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
"mappings",
|
||||
"if"
|
||||
],
|
||||
"type": "object",
|
||||
"description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
{
|
||||
"builtin": "bicycle_library",
|
||||
"override": {
|
||||
"minZoom": 0
|
||||
"minzoom": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -34,7 +34,9 @@
|
|||
"osmTags": {
|
||||
"or": [
|
||||
"leisure=nature_reserve",
|
||||
"boundary=protected_area"
|
||||
{
|
||||
"and": ["boundary=protected_area","protect_class!=22"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -149,15 +151,7 @@
|
|||
"_overlapWithUpperLayers=Math.max(...feat.overlapWith('nature_reserve_buurtnatuur').map(o => o.overlap))/feat.area",
|
||||
"_tooMuchOverlap=Number(feat.properties._overlapWithUpperLayers) > 0.1 ? 'yes' :'no'"
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_tooMuchOverlap=yes",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
},
|
||||
"isShown": "_tooMuchOverlap!=yes",
|
||||
"title": {
|
||||
"render": {
|
||||
"nl": "Park"
|
||||
|
@ -257,15 +251,7 @@
|
|||
"_overlapWithUpperLayers=Math.max(...feat.overlapWith('parks','nature_reserve_buurtnatuur').map(o => o.overlap))/feat.area",
|
||||
"_tooMuchOverlap=Number(feat.properties._overlapWithUpperLayers) > 0.1 ? 'yes' : 'no'"
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_tooMuchOverlap=yes",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
},
|
||||
"isShown": "_tooMuchOverlap!=yes",
|
||||
"title": {
|
||||
"render": {
|
||||
"nl": "Bos"
|
||||
|
|
|
@ -73,15 +73,7 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "id!~way/.*",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
},
|
||||
"isShown": "id~way/.*",
|
||||
"description": {
|
||||
"nl": "Een fietsstraat is een straat waar gemotoriseerd verkeer een fietser niet mag inhalen",
|
||||
"en": "A cyclestreet is a street where motorized traffic is not allowed to overtake a cyclist",
|
||||
|
|
|
@ -630,18 +630,10 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": {
|
||||
"and": [
|
||||
"_imported_osm_object_found=true",
|
||||
"_imported_osm_still_fresh=true"
|
||||
]
|
||||
},
|
||||
"then": "no"
|
||||
}
|
||||
"isShown":{
|
||||
"or": [
|
||||
"_imported_osm_object_found!=true",
|
||||
"_imported_osm_still_fresh!=true"
|
||||
]
|
||||
},
|
||||
"mapRendering": [
|
||||
|
|
|
@ -283,6 +283,10 @@
|
|||
"if": "theme=postboxes",
|
||||
"then": "./assets/themes/postboxes/postbox.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=rainbow_crossings",
|
||||
"then": "./assets/themes/rainbow_crossings/logo.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=shops",
|
||||
"then": "./assets/themes/shops/shop.svg"
|
||||
|
@ -331,6 +335,10 @@
|
|||
"if": "theme=uk_addresses",
|
||||
"then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
|
||||
},
|
||||
{
|
||||
"if": "theme=walls_and_buildings",
|
||||
"then": "./assets/layers/walls_and_buildings/walls_and_buildings.png"
|
||||
},
|
||||
{
|
||||
"if": "theme=waste",
|
||||
"then": "./assets/layers/recycling/recycling-14.svg"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"en": "OnWheels"
|
||||
},
|
||||
"description": {
|
||||
"en": "On this map, publicly weelchair accessible places are shown and can be easily added"
|
||||
"en": "On this map, publicly wheelchair accessible places are shown and can be easily added"
|
||||
},
|
||||
"maintainer": "MapComplete",
|
||||
"icon": "./assets/themes/onwheels/crest.svg",
|
||||
|
@ -27,12 +27,48 @@
|
|||
"shops",
|
||||
"toilet",
|
||||
"viewpoint",
|
||||
"doctors"
|
||||
"doctors",
|
||||
"walls_and_buildings"
|
||||
],
|
||||
"overrideAll": {
|
||||
<<<<<<< HEAD
|
||||
"minZoom": "15",
|
||||
"mapRendering": [
|
||||
{
|
||||
=======
|
||||
"+calculatedTags": [
|
||||
"_poi_walls_and_buildings_entrance_properties=feat.closestn('walls_and_buildings', 1, undefined, 1000).map(w => ({id: w.feat.properties.id, width: w.feat.properties['_entrance:width']}))[0]",
|
||||
"_poi_entrance:width=JSON.parse(feat.properties._poi_walls_and_buildings_entrance_properties)?.width"
|
||||
|
||||
],
|
||||
"+tagRenderings": [
|
||||
{
|
||||
"id": "_poi_entrance:width",
|
||||
"condition": "entrance=",
|
||||
"render": {
|
||||
"en": "This door has a width of {canonical(_poi_entrance:width)} meter",
|
||||
"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"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "_poi_entrance:width",
|
||||
"type": "distance"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_poi_entrance:width=",
|
||||
"then": {
|
||||
"en": "This entrance has no width information"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"minzoom": "15",
|
||||
"mapRendering": [
|
||||
{
|
||||
>>>>>>> develop
|
||||
"label": null
|
||||
}
|
||||
]
|
||||
|
|
|
@ -117,15 +117,7 @@
|
|||
"dashArray": "8 8"
|
||||
}
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_country!=be",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
}
|
||||
"isShown": "_country=be"
|
||||
},
|
||||
{
|
||||
"id": "wrong_postal_code",
|
||||
|
@ -196,15 +188,7 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_country!=be",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
}
|
||||
"isShown": "_country=be"
|
||||
}
|
||||
]
|
||||
}
|
68
assets/themes/rainbow_crossings/crossing.svg
Normal file
68
assets/themes/rainbow_crossings/crossing.svg
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 600 600"
|
||||
width="600"
|
||||
height="600"
|
||||
version="1.1"
|
||||
id="svg20"
|
||||
sodipodi:docname="crossing.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs24" />
|
||||
<sodipodi:namedview
|
||||
id="namedview22"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#111111"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.75881737"
|
||||
inkscape:cx="-111.35749"
|
||||
inkscape:cy="312.32812"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1007"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg20" />
|
||||
<rect
|
||||
style="fill:#959a99;fill-opacity:1;stroke-linecap:round"
|
||||
id="rect845"
|
||||
width="602.2915"
|
||||
height="602.07373"
|
||||
x="-1.5249536"
|
||||
y="-1.9649721" />
|
||||
<rect
|
||||
x="51.805016"
|
||||
y="120.82925"
|
||||
width="100"
|
||||
height="400"
|
||||
fill="#ffffff"
|
||||
stroke-width="2"
|
||||
stroke="#000000"
|
||||
id="rect14" />
|
||||
<rect
|
||||
x="251.80501"
|
||||
y="120.82925"
|
||||
width="100"
|
||||
height="400"
|
||||
fill="#ffffff"
|
||||
stroke-width="2"
|
||||
stroke="#000000"
|
||||
id="rect16" />
|
||||
<rect
|
||||
x="451.80502"
|
||||
y="120.82925"
|
||||
width="100"
|
||||
height="400"
|
||||
fill="#ffffff"
|
||||
stroke-width="2"
|
||||
stroke="#000000"
|
||||
id="rect18" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
18
assets/themes/rainbow_crossings/license_info.json
Normal file
18
assets/themes/rainbow_crossings/license_info.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
[
|
||||
{
|
||||
"path": "crossing.svg",
|
||||
"license": "CC0",
|
||||
"authors": [
|
||||
"bxl-forever"
|
||||
],
|
||||
"sources": []
|
||||
},
|
||||
{
|
||||
"path": "logo.svg",
|
||||
"license": "CC0",
|
||||
"authors": [
|
||||
"bxl-forever"
|
||||
],
|
||||
"sources": []
|
||||
}
|
||||
]
|
12
assets/themes/rainbow_crossings/logo.svg
Normal file
12
assets/themes/rainbow_crossings/logo.svg
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="600" viewBox="0 0 600 600">
|
||||
<rect fill="#750787" width="600" height="600" />
|
||||
<rect fill="#004dff" width="500" height="600" />
|
||||
<rect fill="#008026" width="400" height="600" />
|
||||
<rect fill="#ffed00" width="300" height="600" />
|
||||
<rect fill="#ff8c00" width="200" height="600" />
|
||||
<rect fill="#e40303" width="100" height="600" />
|
||||
<rect x="50" y="100" width="100" height="400" fill="#ffffff" stroke-width="2" stroke="#000000"></rect>
|
||||
<rect x="250" y="100" width="100" height="400" fill="#ffffff" stroke-width="2" stroke="#000000"></rect>
|
||||
<rect x="450" y="100" width="100" height="400" fill="#ffffff" stroke-width="2" stroke="#000000"></rect>
|
||||
</svg>
|
After Width: | Height: | Size: 758 B |
43
assets/themes/rainbow_crossings/rainbow_crossings.json
Normal file
43
assets/themes/rainbow_crossings/rainbow_crossings.json
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"id": "rainbow_crossings",
|
||||
"title": {
|
||||
"en": "Rainbow pedestrian crossings"
|
||||
},
|
||||
"description": {
|
||||
"en": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/themes/rainbow_crossings/logo.svg",
|
||||
"version": "0",
|
||||
"startLat": 50.8465573,
|
||||
"defaultBackgroundId": "CartoDB.Voyager",
|
||||
"startLon": 4.351697,
|
||||
"startZoom": 16,
|
||||
"widenFactor": 2,
|
||||
"layers": [
|
||||
{
|
||||
"builtin": "rainbow_crossings",
|
||||
"override": {
|
||||
"minzoom": 10,
|
||||
"id": "rainbow_crossing_high_zoom",
|
||||
"name": null,
|
||||
"=presets": [],
|
||||
"source": {
|
||||
"osmTags": {
|
||||
"and+": [
|
||||
"crossing:marking=rainbow"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rainbow_crossings",
|
||||
{
|
||||
"builtin": "cycleways_and_roads",
|
||||
"override": {
|
||||
"minzoom": 18,
|
||||
"name": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -288,14 +288,6 @@
|
|||
"then": "./assets/themes/speelplekken/youtube.svg"
|
||||
}
|
||||
],
|
||||
"isShown": {
|
||||
"render": "yes",
|
||||
"mappings": [
|
||||
{
|
||||
"if": "_is_shadowed=yes",
|
||||
"then": "no"
|
||||
}
|
||||
]
|
||||
}
|
||||
"isShown":"_is_shadowed!=yes"
|
||||
}
|
||||
}
|
|
@ -51,7 +51,7 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"minZoom": 16,
|
||||
"minzoom": 16,
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Lit street",
|
||||
|
@ -171,7 +171,7 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"minZoom": 19,
|
||||
"minzoom": 19,
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Street",
|
||||
|
|
21
assets/themes/walls_and_buildings/walls_and_buildings.json
Normal file
21
assets/themes/walls_and_buildings/walls_and_buildings.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"id": "walls_and_buildings",
|
||||
"title": {
|
||||
"en": "Walls and buildings"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"maintainer": "MapComplete",
|
||||
"icon": "./assets/layers/walls_and_buildings/walls_and_buildings.png",
|
||||
"version": "0",
|
||||
"startLat": 50.8465573,
|
||||
"defaultBackgroundId": "CartoDB.Voyager",
|
||||
"startLon": 4.351697,
|
||||
"startZoom": 16,
|
||||
"widenFactor": 2,
|
||||
"layers": [
|
||||
"walls_and_buildings",
|
||||
"entrance"
|
||||
]
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue