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
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue