Merge develop

This commit is contained in:
Pieter Vander Vennet 2022-07-21 19:23:05 +02:00
commit 15e6fde194
275 changed files with 786405 additions and 39150 deletions

View file

@ -1,11 +1,11 @@
{
"contributors": [
{
"commits": 4109,
"commits": 4165,
"contributor": "Pieter Vander Vennet"
},
{
"commits": 112,
"commits": 119,
"contributor": "Robin van der Linde"
},
{
@ -64,6 +64,10 @@
"commits": 17,
"contributor": "pgm-chardelv1"
},
{
"commits": 15,
"contributor": "Andrews Leruth"
},
{
"commits": 15,
"contributor": "ToastHawaii"
@ -81,13 +85,17 @@
"contributor": "Bavo Vanderghote"
},
{
"commits": 10,
"commits": 11,
"contributor": "dependabot[bot]"
},
{
"commits": 10,
"contributor": "LiamSimons"
},
{
"commits": 9,
"contributor": "AlexanderRebai"
},
{
"commits": 9,
"contributor": "RobJN"
@ -124,10 +132,6 @@
"commits": 5,
"contributor": "David Haberthür"
},
{
"commits": 4,
"contributor": "AlexanderRebai"
},
{
"commits": 4,
"contributor": "OliNau"
@ -152,10 +156,6 @@
"commits": 3,
"contributor": "Léo Villeveygoux"
},
{
"commits": 2,
"contributor": "Andrews Leruth"
},
{
"commits": 2,
"contributor": "pdassori"
@ -196,6 +196,10 @@
"commits": 2,
"contributor": "Stanislas Gueniffey"
},
{
"commits": 1,
"contributor": "bxl-forever"
},
{
"commits": 1,
"contributor": "loviuz"

View file

@ -323,5 +323,6 @@
"render": "1"
}
}
]
],
"deletion": true
}

View file

@ -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": "<a href='{website}' target='_blank'>{website}</a>",
"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": "<a href='tel:{phone}'>{phone}</a>",
"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 è lindirizzo 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": "<a href='mailto:{email}' target='_blank'>{email}</a>",
"freeform": {
"key": "email",
"type": "email"
},
"id": "bike_shop-email"
},
"website",
"phone",
"email",
"opening_hours",
{
"render": {

View file

@ -0,0 +1,159 @@
{
"id": "elevator",
"name": {
"en": "elevator"
},
"source": {
"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",
{
"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 <span class='subtle'>e.g. because renovation works are going on</span>"
},
"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)}"
},
"question": {
"en": "What is the width of this elevator's entrance?"
},
"freeform": {
"key": "door:width",
"type": "pfloat"
}
},
{
"id": "elevator-width",
"render": {
"en": "This elevator has a width of {canonical(elevator:width)}"
},
"question": {
"en": "What is the width of this elevator?"
},
"freeform": {
"key": "elevator:width",
"type": "pfloat"
}
},
{
"id": "elevator-depth",
"render": {
"en": "This elevator has a depth of {canonical(elevator:depth)}"
},
"question": {
"en": "What is the depth of this elevator?"
},
"freeform": {
"key": "elevator:depth",
"type": "pfloat"
}
},
"induction-loop"
],
"mapRendering": [
{
"icon": {
"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"
}
]
}
],
"presets": [
{
"title": {
"en": "an elevator",
"nl": "een lift"
},
"tags": [
"highway=elevator"
]
}
],
"units": [
{
"appliesToKey": [
"door:width",
"elevator:width",
"elevator:depth"
],
"applicableUnits": [
{
"canonicalDenomination": "m",
"alternativeDenomination": [
"meter"
],
"human": {
"en": "meter"
}
},
{
"default": true,
"canonicalDenomination": "cm",
"alternativeDenomination": [
"centimeter",
"cms"
],
"human": {
"en": "centimeter"
}
}
]
}
]
}

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="Layer_1"
data-name="Layer 1"
viewBox="0 0 228.57 239.29"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs4">
<style
id="style2">.cls-1{fill:#1d1d1b;}</style>
</defs>
<path
class="cls-1"
d="M208.18,119.08V11.93c0-5.24,0-5.24,5.15-5.24,2.43,0,4.87,0,7.31,0,2.05,0,3.12.76,3,2.92-.07,1.13,0,2.27,0,3.4q0,106.5,0,213c0,.69-.06,1.39,0,2.09.13,1.9-.73,2.68-2.62,2.64-3.39-.05-6.79,0-10.19,0-1.84,0-2.73-.76-2.66-2.67s0-4,0-6Z"
id="path6" />
<path
class="cls-1"
d="M20,119.06V226.75c0,3.9,0,3.92-3.91,4-3,0-5.93-.05-8.89,0-1.76,0-2.58-.7-2.55-2.47s0-3.31,0-5q0-106.12,0-212.25c0-4.17.22-4.39,4.45-4.36,2.52,0,5.05.08,7.58,0,2.26-.09,3.47.67,3.32,3.13-.1,1.47,0,3,0,4.44q0,52.41,0,104.82Z"
id="path8" />
<path
class="cls-1"
d="M135.46,156.52a4.35,4.35,0,0,0-4.86-3.21,12.64,12.64,0,0,0-2.44.73c-2.07.72-4.13,1.47-6.22,2.21l-.26-.54q-1.94-4.52-3.88-9c-1.77-4.11-3.53-8.22-5.32-12.31a4.21,4.21,0,0,0-4.06-2.71c-4.84-.06-9.68-.07-14.52-.11L81,131.46c-.18,0-.5-.09-.52-.19-.16-.78-.27-1.58-.4-2.42H99.2c.35,0,.69,0,1,0a4.41,4.41,0,0,0,3.41-6.75,4.58,4.58,0,0,0-4.22-2.1q-10,0-20,0h-.72c-.52-3.24-1-6.39-1.54-9.56h-9c.55,3.45,1.11,6.9,1.66,10.35.83,5.11,1.71,10.2,2.47,15.32a4.76,4.76,0,0,0,4.92,4.29c9.22,0,18.45.11,27.68.15a.86.86,0,0,1,.91.61q4.72,11.05,9.48,22.08a4.49,4.49,0,0,0,6.12,2.69c3.69-1.31,7.39-2.61,11.07-3.95a6.74,6.74,0,0,0,1.67-1,4.71,4.71,0,0,0,1.49-2.56v-1.48C135.55,156.8,135.5,156.66,135.46,156.52Z"
id="path10" />
<path
class="cls-1"
d="M53.61,145.09c.2-1.23.33-2.47.59-3.69a26.58,26.58,0,0,1,6.42-12.56,4.42,4.42,0,0,1,6.63,5.85,18.7,18.7,0,0,0-4.46,8.95,18.32,18.32,0,0,0,34.75,10.84,4.62,4.62,0,0,1,3.67-3,4.41,4.41,0,0,1,4.76,5.84,23.53,23.53,0,0,1-3.45,6.12,26.77,26.77,0,0,1-14.83,10c-1.46.38-3,.53-4.47.79l-.56.11H78.9c-.14,0-.29-.08-.43-.1a34.79,34.79,0,0,1-3.7-.6c-11-2.89-17.86-9.91-20.58-20.95-.29-1.19-.39-2.43-.58-3.64Z"
id="path12" />
<ellipse
class="cls-1"
cx="72.62"
cy="109.74"
rx="4.51"
ry="3.94"
id="ellipse14" />
<circle
class="cls-1"
cx="71.76"
cy="95.49"
r="8.93"
id="circle16" />
<path
class="cls-1"
d="M157.33,131.79H154v1.75q0,18,0,36c0,2.4-1,3.89-2.94,4.52a4.17,4.17,0,0,1-5.43-3.17,10.86,10.86,0,0,1-.13-2q0-31,0-61.93v-2.49h-2c0,.48-.07,1-.07,1.47,0,7.32,0,14.65,0,22,0,2.28-1.42,3.66-3.4,3.39a3,3,0,0,1-2.63-3.33c0-5.24,0-10.47,0-15.7,0-4.38,0-8.75,0-13.13,0-5.09,2.76-7.89,7.83-7.92q10.48-.06,21,0c4.89,0,7.67,2.88,7.67,7.77q0,14.49,0,29c0,2.3-1.56,3.7-3.6,3.31-1.57-.3-2.41-1.44-2.41-3.35q0-10.84,0-21.69v-1.76h-2v1.76q0,31.32,0,62.64a10.81,10.81,0,0,1-.17,2.13,4.23,4.23,0,0,1-4.41,3.27,4.18,4.18,0,0,1-3.9-4c0-2.95,0-5.9,0-8.84V131.79Z"
id="path18" />
<path
class="cls-1"
d="M155.74,89.56a9,9,0,0,1-9.1-9,9,9,0,0,1,18,0A9,9,0,0,1,155.74,89.56Z"
id="path20" />
<path
class="cls-1"
d="M191.93,36.94h-71V24.12h10l-17-17-17,17h10V36.94h-71a5.83,5.83,0,0,0-5.83,5.83V197.05a5.83,5.83,0,0,0,5.83,5.83h71V215.7h-10l17,17,17-17h-10V202.88h71a5.83,5.83,0,0,0,5.83-5.83V42.77A5.83,5.83,0,0,0,191.93,36.94Zm-7.5,147a5.83,5.83,0,0,1-5.83,5.84H49.22a5.83,5.83,0,0,1-5.83-5.84V56a5.83,5.83,0,0,1,5.83-5.83H178.6A5.83,5.83,0,0,1,184.43,56Z"
id="path22" />
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -0,0 +1,12 @@
[
{
"path": "elevator_wheelchair.svg",
"license": "CC-BY-SA",
"authors": [
"https://www.ctsteward.com/"
],
"sources": [
"https://www.ctsteward.com/"
]
}
]

View file

@ -337,9 +337,33 @@
"es": "¿Cual es el ancho de esta puerta/entrada?"
},
"freeform": {
"key": "width",
"type": "distance"
"key": "width"
}
},
{
"id": "kerb-height",
"question": {
"en": "What is the height of this kerb?"
},
"render": {
"en": "The kerb height of this door is {kerb:height}"
},
"freeform": {
"key": "kerb:height",
"placeholder": {
"en": "Height of the door kerb"
},
"type": "pnat"
},
"mappings": [
{
"if": "kerb:height=0",
"then": {
"en": "This door does not have a kerb",
"nl": "Deze deur heeft geen drempel"
}
}
]
}
],
"mapRendering": [
@ -375,5 +399,34 @@
"entrance=yes"
]
}
],
"units": [
{
"appliesToKey": [
"kerb:height"
],
"applicableUnits": [
{
"canonicalDenomination": "m",
"alternativeDenomination": [
"meter"
],
"human": {
"en": "meter"
}
},
{
"default": true,
"canonicalDenomination": "cm",
"alternativeDenomination": [
"centimeter",
"cms"
],
"human": {
"en": "centimeter"
}
}
]
}
]
}

View file

@ -3,6 +3,9 @@
"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": [

View file

@ -8,6 +8,9 @@
"en": "Hospital"
}
},
"description": {
"en": "A layer showing hospital grounds"
},
"minzoom": 12,
"source": {
"osmTags": "amenity=hospital"
@ -39,6 +42,10 @@
"point",
"centroid"
]
},
{
"color": "#fcd862",
"width": 1
}
]
}

View file

@ -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.<tagrendering>",
"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.<tagrendering>"
},
"#dont-translate": "*",
"source": {
"osmTags": "id~*"
},
"title": null,
"mapRendering": null,
"tagRenderings": [
{

View file

@ -0,0 +1,84 @@
{
"id": "indoors",
"name": {
"en": "indoors"
},
"description": {
"en": "Basic indoor mapping: shows room outlines"
},
"source": {
"osmTags": {
"or": [
"indoor=room",
"indoor=area",
"indoor=wall",
"indoor=door",
"indoor=level"
]
}
},
"title": {
"render": {
"en": "Indoor area {name}"
},
"mappings": [
{
"if": "indoor=room",
"then": "Indoor Room {name}"
},
{
"if": "indoor=area",
"then": "Indoor Area {name}"
},
{
"if": "indoor=wall",
"then": "Indoor Wall {name}"
},
{
"if": "indoor=corridor",
"then": "Indoor Corridor {name}"
},
{
"if": "indoor=door",
"then": "Indoor Door {name}"
},
{
"if": "indoor=level",
"then": "Indoor Level {name}"
}
]
},
"minzoom": 13,
"tagRenderings": [
"images"
],
"mapRendering": [
{
"color": {
"render": "#bb004488"
},
"width": {
"render": "8"
},
"offset": {
"render": "-4"
},
"fill": "no"
},
{
"color": "red",
"fill": "no",
"width": "2"
},
{
"label": {
"render": "<div style='margin-top: -20px; color:#013220; background:white' class='rounded-full p-1 font-bold'>{name}</div>",
"condition": "name~*"
},
"location": [
"point",
"centroid"
]
}
]
}

View file

@ -140,7 +140,7 @@
},
"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"
}
},
{

View file

@ -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",

View file

@ -3,10 +3,21 @@
"name": {
"en": "pharmacy"
},
"description": {
"en": "A layer showing pharmacies, which (probably) dispense prescription drugs"
},
"title": {
"render": {
"en": "{name}"
}
},
"mappings": [
{
"if": "name=",
"then": {
"en": "Pharmacy"
}
}
]
},
"source": {
"osmTags": {
@ -18,6 +29,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",
@ -58,6 +85,44 @@
"location": [
"point",
"centroid"
],
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
}
],
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
}
}
],
"filter": [
{
"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"
}
]
}
]

View file

@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="500" viewBox="0 0 14 14">
<rect width="14" height="14" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/>
<path d="m 4,4 -2,2 0,8 10,0 0,-8 -2,-2.0000003 z m 2,2 2,0 0,2 2,0 0,2 -2,0 0,2 -2,0 0,-2 -2,0 0,-2 2,0 z M 4,0 4,3 10,3 10,0 z" id="pharmacy" style="fill:#BF0000"/>
</svg>

Before

Width:  |  Height:  |  Size: 493 B

After

Width:  |  Height:  |  Size: 330 B

Before After
Before After

View file

@ -0,0 +1,12 @@
[
{
"path": "reception_desk.svg",
"license": "CC-BY-SA",
"authors": [
"Robin Julien"
],
"sources": [
"https://www.ctsteward.com/"
]
}
]

View file

@ -0,0 +1,82 @@
{
"id": "reception_desk",
"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"
}
},
"source": {
"osmTags": "amenity=reception_desk"
},
"mapRendering": [
{
"location": [
"point",
"centroid"
],
"icon": "circle:white;./assets/layers/reception_desk/reception_desk.svg",
"iconSize": "40,40,center"
}
],
"tagRenderings": [
"images",
{
"id": "desk-height",
"question": {
"en": "What is the height of the reception desk? <div class='subtle'>This is measured from the floor to the lowest usable part of the desk</div>"
},
"render": {
"en": "The height of the desk is <b>{canonical(desk:height)}</b>"
},
"freeform": {
"key": "desk:height",
"type": "pfloat"
}
},
"induction-loop"
],
"presets": [
{
"tags": [
"amenity=reception_desk"
],
"title": {
"en": "a reception desk"
}
}
],
"units": [
{
"appliesToKey": [
"desk:height"
],
"applicableUnits": [
{
"canonicalDenomination": "m",
"alternativeDenomination": [
"meter"
],
"human": {
"en": "meter"
}
},
{
"canonicalDenomination": "cm",
"alternativeDenomination": [
"centimeter",
"cms"
],
"human": {
"en": "centimeter"
}
}
]
}
]
}

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 228.57 239.29" style="enable-background:new 0 0 228.57 239.29;" xml:space="preserve">
<g>
<path d="M141.39,116.97c0-10.11,0-19.87,0-29.92c-0.48,0.65-0.95,1.18-1.29,1.79c-3.57,6.27-7.17,12.53-10.64,18.86
c-0.87,1.58-1.82,2.31-3.68,2.22c-3.26-0.15-6.53-0.04-10.24-0.04c0.57-1.21,0.98-2.16,1.45-3.07
c6.34-12.19,12.76-24.33,18.99-36.58c1.7-3.33,4.04-4.79,7.75-4.75c9.31,0.11,18.62,0.01,27.93,0.05c4.85,0.02,6.15,1,7.79,5.65
c5.09,14.44,10.21,28.87,15.19,43.35c0.67,1.94,1.53,2.57,3.55,2.51c4.85-0.16,9.71-0.07,14.56-0.04c4.37,0.02,7.04,2.26,7.08,5.88
c0.04,3.67-2.58,5.96-6.92,6c-2.87,0.03-5.75,0.04-8.62,0c-2.7-0.04-5.11-0.27-7.12,2.6c-1.95,2.78-6.12,1.88-8.43-1
c-0.62-0.77-1.77-1.47-2.72-1.52c-3.24-0.19-6.49-0.07-10.08-0.07c1.23,7.39,2.39,14.4,3.58,21.4c2.86,16.86,5.76,33.71,8.59,50.58
c0.8,4.79-2.03,8.61-6.78,9.43c-5.26,0.91-9.67-1.87-10.46-6.65c-3.38-20.48-6.73-40.97-10.1-61.46c-0.19-1.16-0.47-2.3-0.71-3.41
c-2.7-0.9-3.68-0.11-4.11,2.72c-3.21,20.71-6.61,41.39-9.97,62.08c-0.69,4.24-5.04,6.87-10.01,6.14c-4.32-0.63-7.76-4.73-7.12-8.75
c3.2-20.01,6.47-40.01,9.71-60.02c0.63-3.89,1.23-7.79,1.9-12.06c-1.39,0-2.55,0-3.71,0c-40.02,0-80.03,0-120.05,0
c-0.99,0-1.98,0.04-2.97-0.02c-3.32-0.22-5.67-2.5-5.81-5.6c-0.14-3.26,2.1-5.83,5.5-6.22c0.98-0.11,1.98-0.05,2.97-0.05
c40.31,0,80.63,0,120.94,0C138.49,116.97,139.67,116.97,141.39,116.97z M175.12,116.73c3.09,0,5.95,0,9.1,0
c-2.95-9.24-5.81-18.16-8.67-27.09c-0.14,0.03-0.29,0.06-0.43,0.1C175.12,98.66,175.12,107.58,175.12,116.73z"/>
<path d="M71.07,112.07c-11.24,0-22.02,0-33.73,0c6.69-9.91,2.34-19.74,0.66-29.65c-2.85,8.77-5.81,17.5-8.49,26.32
c-0.79,2.59-1.79,3.81-4.66,3.48c-2.53-0.3-5.13-0.06-8.11-0.06c1.51-4.48,2.92-8.67,4.32-12.85c3.58-10.67,7.15-21.35,10.75-32.01
c1.62-4.79,4.25-6.73,9.23-6.75c8.91-0.04,17.82-0.01,26.74-0.01c4.33,0,7.28,1.92,8.91,6.03c2.49,6.31,5.14,12.55,7.9,19.24
c3.82-4.07,7.36-7.89,10.97-11.64c2.5-2.6,6.21-2.49,8.25,0.21c1.3,1.72,1.83,3.7,0.21,5.42c-7.8,8.27-15.68,16.45-23.77,24.9
c-3.12-7.72-6.11-15.08-9.09-22.44c-0.19,0.02-0.38,0.04-0.57,0.06c-0.72,5-1.14,10.07-2.23,14.99
C67.17,102.65,70.54,106.99,71.07,112.07z"/>
<path d="M54.91,30.68c7.85,0.02,14.12,5.97,14.13,13.41c0.01,7.54-6.39,13.52-14.39,13.47c-7.81-0.06-13.98-6.07-13.93-13.58
C40.77,36.52,47.02,30.67,54.91,30.68z"/>
<path d="M157.7,35.86c7.85,0.04,14.05,5.98,14.05,13.48c0,7.56-6.42,13.61-14.35,13.51c-7.79-0.1-13.94-6.14-13.89-13.65
C143.57,41.75,149.87,35.83,157.7,35.86z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -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": [

View file

@ -277,6 +277,21 @@
}
]
},
{
"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": {
@ -386,7 +401,8 @@
},
"condition": "changing_table=yes",
"freeform": {
"key": "changing_table:location"
"key": "changing_table:location",
"inline": true
},
"mappings": [
{
@ -624,5 +640,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"
}
}
]
}
]
}

View 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"
]
}
]

View 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)?.at(0)"
],
"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"
}
}
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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"
}
]

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
x="0px"
y="0px"
viewBox="0 0 109.8 109.8"
xml:space="preserve"
id="svg12"
sodipodi:docname="audio_induction_loop.svg"
width="109.8"
height="109.8"
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="defs16" /><sodipodi:namedview
id="namedview14"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
inkscape:zoom="2.8764657"
inkscape:cx="55.102343"
inkscape:cy="84.478671"
inkscape:window-width="1920"
inkscape:window-height="1007"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg12" /><g
id="g10"
transform="translate(-34.4,-29.3)"><path
d="M 90,46 C 74.9,46 62.7,58.3 62.7,73.3 V 79 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 V 73.3 C 66.6,60.5 77.1,50 90,50 c 12.9,0 23.3,10.5 23.3,23.3 0,10.1 -4.9,14.6 -9.2,18.7 -3.4,3.2 -6.6,6.2 -6.6,11 0,8.5 -6.9,15.4 -15.4,15.4 -3.4,0 -6.5,-1.1 -9.2,-3.1 -0.9,-0.7 -2.1,-0.5 -2.8,0.4 -0.7,0.9 -0.5,2.1 0.4,2.8 3.4,2.5 7.4,3.9 11.6,3.9 10.7,0 19.4,-8.7 19.4,-19.4 0,-3.1 2.4,-5.3 5.3,-8.1 4.7,-4.4 10.5,-9.8 10.5,-21.6 C 117.3,58.3 105,46 90,46 Z"
id="path2" /><path
d="m 84.4,81.7 c -0.3,-0.3 -0.7,-0.7 -1,-1 -2.9,-2.9 -6,-5.8 -6,-9.7 0,-7 5.7,-12.6 12.6,-12.6 8.4,0 15.3,6.9 15.3,15.3 0,6.6 -2.7,9.1 -6.5,12.7 -0.8,0.8 -0.9,2 -0.1,2.8 0.4,0.4 0.9,0.6 1.5,0.6 0.5,0 1,-0.2 1.4,-0.5 4,-3.8 7.8,-7.3 7.8,-15.6 0,-10.6 -8.6,-19.3 -19.3,-19.3 -9.2,0 -16.6,7.5 -16.6,16.6 0,5.5 4,9.4 7.2,12.5 0.3,0.3 0.7,0.6 1,1 0.4,0.4 0.9,0.6 1.4,0.6 0.5,0 1,-0.2 1.4,-0.6 0.7,-0.7 0.7,-2 -0.1,-2.8 z"
id="path4" /><path
d="M 130.2,29.3 H 48.4 c -7.7,0 -14,6.3 -14,14 v 81.8 c 0,7.7 6.3,14 14,14 h 81.8 c 7.7,0 14,-6.3 14,-14 V 43.3 c 0,-7.7 -6.2,-14 -14,-14 z m 10,95.9 c 0,5.5 -4.5,10 -10,10 H 48.4 c -0.5,0 -0.9,0 -1.4,-0.1 L 83.9,98.2 c 0.4,-0.4 0.6,-0.9 0.6,-1.4 v -5.7 c 0,-1.1 -0.9,-2 -2,-2 h -5.7 c -0.5,0 -1,0.2 -1.4,0.6 l -36.9,36.9 c -0.1,-0.5 -0.1,-0.9 -0.1,-1.4 V 43.3 c 0,-5.5 4.5,-10 10,-10 h 81.8 c 0.5,0 0.9,0 1.4,0.1 l -17,17 c -0.7,0.7 -0.8,1.9 -0.1,2.7 1.6,2 3,4.2 4.1,6.5 0.3,0.6 0.8,1 1.5,1.1 0.1,0 0.2,0 0.3,0 0.5,0 1,-0.2 1.4,-0.6 L 140,41.9 c 0.1,0.5 0.1,0.9 0.1,1.4 v 81.9 z"
id="path6" /><path
d="m 131.6,105 h -15.3 c -1.1,0 -2,0.9 -2,2 0,1.1 0.9,2 2,2 h 5.7 v 16.5 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 V 109 h 5.7 c 1.1,0 2,-0.9 2,-2 0,-1.1 -1,-2 -2.1,-2 z"
id="path8" /></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
x="0px"
y="0px"
viewBox="0 0 109.8 109.8"
xml:space="preserve"
id="svg12"
sodipodi:docname="audio_induction_loop.svg"
width="109.8"
height="109.8"
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="defs16" /><sodipodi:namedview
id="namedview14"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
inkscape:zoom="2.8764657"
inkscape:cx="55.102343"
inkscape:cy="84.478671"
inkscape:window-width="1920"
inkscape:window-height="1007"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg12" /><g
id="g10"
transform="translate(-34.4,-29.3)"><path
d="M 90,46 C 74.9,46 62.7,58.3 62.7,73.3 V 79 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 V 73.3 C 66.6,60.5 77.1,50 90,50 c 12.9,0 23.3,10.5 23.3,23.3 0,10.1 -4.9,14.6 -9.2,18.7 -3.4,3.2 -6.6,6.2 -6.6,11 0,8.5 -6.9,15.4 -15.4,15.4 -3.4,0 -6.5,-1.1 -9.2,-3.1 -0.9,-0.7 -2.1,-0.5 -2.8,0.4 -0.7,0.9 -0.5,2.1 0.4,2.8 3.4,2.5 7.4,3.9 11.6,3.9 10.7,0 19.4,-8.7 19.4,-19.4 0,-3.1 2.4,-5.3 5.3,-8.1 4.7,-4.4 10.5,-9.8 10.5,-21.6 C 117.3,58.3 105,46 90,46 Z"
id="path2" /><path
d="m 84.4,81.7 c -0.3,-0.3 -0.7,-0.7 -1,-1 -2.9,-2.9 -6,-5.8 -6,-9.7 0,-7 5.7,-12.6 12.6,-12.6 8.4,0 15.3,6.9 15.3,15.3 0,6.6 -2.7,9.1 -6.5,12.7 -0.8,0.8 -0.9,2 -0.1,2.8 0.4,0.4 0.9,0.6 1.5,0.6 0.5,0 1,-0.2 1.4,-0.5 4,-3.8 7.8,-7.3 7.8,-15.6 0,-10.6 -8.6,-19.3 -19.3,-19.3 -9.2,0 -16.6,7.5 -16.6,16.6 0,5.5 4,9.4 7.2,12.5 0.3,0.3 0.7,0.6 1,1 0.4,0.4 0.9,0.6 1.4,0.6 0.5,0 1,-0.2 1.4,-0.6 0.7,-0.7 0.7,-2 -0.1,-2.8 z"
id="path4" /><path
d="M 130.2,29.3 H 48.4 c -7.7,0 -14,6.3 -14,14 v 81.8 c 0,7.7 6.3,14 14,14 h 81.8 c 7.7,0 14,-6.3 14,-14 V 43.3 c 0,-7.7 -6.2,-14 -14,-14 z m 10,95.9 c 0,5.5 -4.5,10 -10,10 H 48.4 c -0.5,0 -0.9,0 -1.4,-0.1 L 83.9,98.2 c 0.4,-0.4 0.6,-0.9 0.6,-1.4 v -5.7 c 0,-1.1 -0.9,-2 -2,-2 h -5.7 c -0.5,0 -1,0.2 -1.4,0.6 l -36.9,36.9 c -0.1,-0.5 -0.1,-0.9 -0.1,-1.4 V 43.3 c 0,-5.5 4.5,-10 10,-10 h 81.8 c 0.5,0 0.9,0 1.4,0.1 l -17,17 c -0.7,0.7 -0.8,1.9 -0.1,2.7 1.6,2 3,4.2 4.1,6.5 0.3,0.6 0.8,1 1.5,1.1 0.1,0 0.2,0 0.3,0 0.5,0 1,-0.2 1.4,-0.6 L 140,41.9 c 0.1,0.5 0.1,0.9 0.1,1.4 v 81.9 z"
id="path6" /><path
d="m 131.6,105 h -15.3 c -1.1,0 -2,0.9 -2,2 0,1.1 0.9,2 2,2 h 5.7 v 16.5 c 0,1.1 0.9,2 2,2 1.1,0 2,-0.9 2,-2 V 109 h 5.7 c 1.1,0 2,-0.9 2,-2 0,-1.1 -1,-2 -2.1,-2 z"
id="path8" /></g><g
id="surface1-3"
transform="matrix(0.42416547,0,0,0.42416547,-57.159082,-108.73882)"
style="fill:#ff0000;fill-opacity:1"><path
style="fill:#ff0000;fill-opacity:1;stroke:#b40000;stroke-width:34.2679;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="M 364.47831,491.73933 252.63509,379.89612"
id="path826" /><path
style="fill:#ff0000;fill-opacity:1;stroke:#b40000;stroke-width:34.2684;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="M 364.64638,379.35739 252.80473,491.199"
id="path828" /></g></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -1,4 +1,24 @@
[
{
"path": "audio_induction_loop.svg",
"license": "CC-BY 4.0",
"authors": [
"Carl Holderness"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Noun_telecoil_audio_induction_hearing_loop_symbol_2011213.svg"
]
},
{
"path": "audio_induction_loop_missing.svg",
"license": "CC-BY 4.0",
"authors": [
"Carl Holderness"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Noun_telecoil_audio_induction_hearing_loop_symbol_2011213.svg"
]
},
{
"path": "cash.svg",
"license": "CC-BY 3.0",

View file

@ -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,12 @@
}
},
"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,7 +864,7 @@
"render": "<div class='subtle' style='font-size: small; margin-top: 2em; margin-bottom: 0.5em;'><a href='https://www.openStreetMap.org/changeset/{_last_edit:changeset}' target='_blank'>Last edited on {_last_edit:timestamp}</a> by <a href='https://www.openStreetMap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a></div>"
},
"all_tags": {
"#": "Prints all the tags",
"description": "Shows a table with all the tags of the feature",
"render": "{all_tags()}"
},
"level": {
@ -1086,5 +1095,33 @@
}
}
]
},
"induction-loop": {
"description": "An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver.",
"question": {
"en": "Does this place have an audio induction loop for people with reduced hearing?"
},
"mappings": [
{
"if": "hearing_loop=yes",
"then": {
"en": "This place has an audio induction loop"
},
"icon": {
"path": "./assets/tagRenderings/audio_induction_loop.svg",
"class": "medium"
}
},
{
"if": "hearing_loop=no",
"then": {
"en": "This place <b>does not</b> has an audio induction loop"
},
"icon": {
"path": "./assets/tagRenderings/audio_induction_loop_missing.svg",
"class": "medium"
}
}
]
}
}

View file

@ -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": [

View file

@ -1,4 +1,5 @@
{
"#dont-translate": "*",
"id": "buurtnatuur",
"title": {
"nl": "Breng jouw buurtnatuur in kaart"
@ -34,7 +35,12 @@
"osmTags": {
"or": [
"leisure=nature_reserve",
"boundary=protected_area"
{
"and": [
"boundary=protected_area",
"protect_class!=22"
]
}
]
}
},
@ -149,15 +155,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 +255,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"

View file

@ -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",

View file

@ -39,6 +39,54 @@
"socialImage": "./assets/themes/cyclofix/logo.svg",
"layers": [
"bike_cafe",
{
"builtin": [
"bicycle_rental"
],
"override": {
"id": "bicycle_rental_non_docking",
"minzoom": 14,
"=presets": [],
"=mapRendering": [
{
"icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg",
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
}
],
"source": {
"osmTags": {
"and+": [
"bicycle_rental!=docking_station"
]
}
}
}
},
{
"#": "All bicycle rental at a high zoom level, to avoid duplicates",
"builtin": "bicycle_rental",
"override": {
"name": null,
"filter": {
"sameAs": "bicycle_rental_non_docking"
},
"minzoom": 18,
"=mapRendering": [
{
"icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg",
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
}
]
}
},
"bike_shop",
{
"builtin": "bicycle_library",

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="svg4"
sodipodi:docname="key.svg"
width="700"
height="700"
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="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
inkscape:zoom="0.71100982"
inkscape:cx="377.63192"
inkscape:cy="257.38041"
inkscape:window-width="1920"
inkscape:window-height="1007"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
path-name="at"
unicode="@"
horiz-adv-x="781"
d="m 624.87034,232.70553 c 7.07188,7.07269 6.85147,12.10694 0.66125,18.2939 -6.18861,6.18861 -53.87293,54.13999 -53.87293,54.13999 l -31.15861,-31.96703 -32.48592,31.96703 -31.59866,-33.29361 -33.14723,33.29361 -31.82148,-31.96703 -44.19549,40.36627 -50.59645,0.012 c -21.88498,45.06826 -66.91541,71.13715 -115.58239,71.13715 -72.49023,0 -131.257572,-58.76718 -131.257572,-131.25758 0,-72.48941 58.767172,-131.25758 131.257572,-131.25758 47.23711,0 88.65144,24.95312 111.76923,62.40487 h 263.90236 c 0,0 41.0541,41.05567 48.12675,48.12759 z m -483.9061,56.97898 c 20.01942,0 36.25237,-16.23296 36.25237,-36.25237 0,-20.02189 -16.23295,-36.25154 -36.25237,-36.25154 -20.01942,0 -36.25236,16.22965 -36.25236,36.25154 0,20.02106 16.23294,36.25237 36.25236,36.25237 z"
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.823753" />
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -19,6 +19,16 @@
"https://fietsambassade.gent.be"
]
},
{
"path": "key.svg",
"license": "CC-BY-SA",
"authors": [
"Stijn Wens"
],
"sources": [
"https://wens.be/free-antwerpenize-bicycle-font"
]
},
{
"path": "logo.svg",
"license": "CC-BY-SA",

View file

@ -25,6 +25,5 @@
"tertiary_education",
"school",
"kindergarten_childcare"
],
"hideFromOverview": true
]
}

View file

@ -631,17 +631,9 @@
}
],
"isShown": {
"render": "yes",
"mappings": [
{
"if": {
"and": [
"_imported_osm_object_found=true",
"_imported_osm_still_fresh=true"
]
},
"then": "no"
}
"or": [
"_imported_osm_object_found!=true",
"_imported_osm_still_fresh!=true"
]
},
"mapRendering": [

View file

@ -0,0 +1,11 @@
<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M397 200C397 308.8 308.8 397 200 397C91.1999 397 3 308.8 3 200C3 91.1999 91.1999 3 200 3C308.8 3 397 91.1999 397 200Z" fill="#22CA60" stroke="#E62222" stroke-width="6"/>
<path d="M242.105 240.241L137.282 291.429L155.338 312.97L167.374 327.329L185.428 348.868L254.141 254.6L242.105 240.241Z" fill="#ECF0F1"/>
<path d="M138.93 283.603L122.535 283.627L190.077 364.206L192.964 348.067L138.93 283.603Z" fill="#FE5757"/>
<path d="M242.105 240.241L224.633 248.772L242.689 270.312L254.141 254.6L242.105 240.241ZM201.309 260.11L177.983 271.447L212.214 312.285L227.45 291.296L201.309 260.11ZM154.752 282.898L137.282 291.429L155.338 312.97L167.374 327.329L185.428 348.868L196.88 333.157L154.754 282.9L154.752 282.898Z" fill="#E62222"/>
<path d="M122.535 283.627L190.077 364.206L185.257 368.246L117.714 287.667L122.535 283.627Z" fill="#E62222"/>
<path d="M243.871 187.187C241.2 193.219 236.746 198.533 230.685 202.228C214.87 211.87 194.229 206.866 184.586 191.05C180.892 184.991 179.363 178.227 179.755 171.642L162.087 167.358C160.538 178.79 162.721 190.803 169.195 201.422C184.17 225.982 216.219 233.753 240.777 218.78C251.396 212.306 258.87 202.636 262.73 191.761L243.871 187.187Z" fill="#FCFCFF"/>
<path d="M220.03 69.1601C228.136 64.2175 230.701 53.639 225.759 45.5323C220.816 37.4256 210.237 34.8606 202.131 39.8032C194.024 44.7458 191.459 55.3243 196.402 63.431C201.344 71.5377 211.923 74.1027 220.03 69.1601Z" fill="#FCFCFF"/>
<path d="M250.824 98.9454L218.518 118.642L225.708 88.9832C225.995 88.2028 226.192 87.3988 226.294 86.5735L226.353 86.3324L226.329 86.3268C226.556 84.0714 226.115 81.7309 224.844 79.6478C222.814 76.3168 219.268 74.5145 215.635 74.5114L215.635 74.5081L159.854 75.8435L159.857 75.9264C158.38 76.1088 156.92 76.5767 155.568 77.4013C153.203 78.8428 151.63 81.0604 150.891 83.5185L150.871 83.5137L150.823 83.7119C150.755 83.956 150.696 84.1972 150.645 84.4453L143.544 113.732L143.57 113.739C143.012 116.342 143.389 119.153 144.885 121.608C147.987 126.696 154.623 128.303 159.709 125.202C162.164 123.706 163.786 121.379 164.482 118.809L164.509 118.816L164.574 118.548L164.58 118.522L169.753 97.19L185.053 96.8249L174.632 139.811C170.442 144.547 167.246 149.967 165.048 155.739L182.58 159.99C185.251 153.959 189.705 148.644 195.764 144.951C211.581 135.307 232.221 140.313 241.863 156.128C245.557 162.187 247.086 168.952 246.694 175.536L265.414 180.077C266.655 169.003 264.383 157.449 258.132 147.197C253.744 140 247.883 134.257 241.182 130.094L252.845 122.983L275.833 160.687C278.935 165.775 285.572 167.384 290.66 164.282C295.748 161.18 297.356 154.541 294.255 149.455L265.65 102.538C262.549 97.4527 255.91 95.8446 250.824 98.9454Z" fill="#FCFCFF"/>
<path d="M104.007 155.511C105.121 154.899 105.528 153.5 104.917 152.386C104.305 151.272 102.905 150.865 101.791 151.476L95.7395 154.8C91.283 157.248 89.6546 162.845 92.1022 167.301C94.5498 171.758 100.147 173.386 104.603 170.938L130.828 156.535C131.942 155.923 132.349 154.524 131.737 153.41C131.125 152.296 129.726 151.889 128.612 152.501L102.387 166.904C100.159 168.128 97.3605 167.313 96.1367 165.085C94.9129 162.857 95.7272 160.059 97.9554 158.835L104.007 155.511ZM79.7999 168.806C80.914 168.194 81.3211 166.795 80.7092 165.681C80.0973 164.567 78.6981 164.16 77.584 164.772L73.5495 166.988C65.7507 171.271 62.9009 181.066 67.1842 188.864C71.4675 196.663 81.262 199.513 89.0608 195.23L145.544 164.207C146.659 163.595 147.066 162.196 146.454 161.082C145.842 159.968 144.443 159.56 143.329 160.172L86.8449 191.195C81.2743 194.255 74.2783 192.219 71.2187 186.648C68.1592 181.078 70.1948 174.082 75.7654 171.022L79.7999 168.806ZM136.054 185.174C137.168 184.562 137.575 183.163 136.963 182.049C136.351 180.935 134.952 180.528 133.838 181.14L103.579 197.759C99.1225 200.207 97.494 205.803 99.9417 210.26C102.389 214.716 107.986 216.345 112.443 213.897L118.494 210.573C119.608 209.961 120.016 208.562 119.404 207.448C118.792 206.334 117.393 205.927 116.278 206.539L110.227 209.863C107.998 211.086 105.2 210.272 103.976 208.044C102.752 205.816 103.567 203.017 105.795 201.793L136.054 185.174Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,20 @@
{
"id": "indoors",
"title": {
"en": "Indoors"
},
"description": {
"en": "On this map, publicly accessible indoor places are shown"
},
"maintainer": "MapComplete",
"icon": "./assets/themes/onwheels/crest.svg",
"version": "0",
"startLat": 51.17181,
"defaultBackgroundId": "CartoDB.Voyager",
"startLon": 4.144383,
"startZoom": 14,
"widenFactor": 2,
"layers": [
"indoors"
]
}

View file

@ -0,0 +1,10 @@
[
{
"path": "crest.svg",
"license": "CC0",
"authors": [
"Free Wheelies"
],
"sources": []
}
]

View file

@ -1,19 +1,13 @@
{
"id": "mapcomplete-changes",
"title": {
"en": "Changes made with MapComplete",
"nl": "Wijzigingen gemaakt met MapComplete",
"de": "Mit MapComplete vorgenommene Änderungen"
"en": "Changes made with MapComplete"
},
"shortDescription": {
"en": "Shows changes made by MapComplete",
"nl": "Toont wijzigingen gemaakt met MapComplete",
"de": "Zeigt die mit MapComplete vorgenommenen Änderungen"
"en": "Shows changes made by MapComplete"
},
"description": {
"en": "This maps shows all the changes made with MapComplete",
"nl": "Deze kaart toont alle wijzigingen die met MapComplete werden gemaakt",
"de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen"
"en": "This maps shows all the changes made with MapComplete"
},
"maintainer": "",
"icon": "./assets/svg/logo.svg",
@ -28,8 +22,7 @@
{
"id": "mapcomplete-changes",
"name": {
"en": "Changeset centers",
"de": "Zentrum der Änderungssätze"
"en": "Changeset centers"
},
"minzoom": 0,
"source": {
@ -43,47 +36,35 @@
],
"title": {
"render": {
"en": "Changeset for {theme}",
"nl": "Wijzigingset voor {theme}",
"de": "Änderungssatz für {theme}"
"en": "Changeset for {theme}"
}
},
"description": {
"en": "Shows all MapComplete changes",
"nl": "Toont alle wijzigingen met MapComplete",
"de": "Zeigt alle MapComplete Änderungen"
"en": "Shows all MapComplete changes"
},
"tagRenderings": [
{
"id": "render_id",
"render": {
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
"nl": "Wijzigingset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
"de": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
}
},
{
"id": "contributor",
"render": {
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>",
"nl": "Wijziging gemaakt door <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>",
"de": "Geändert von <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
}
},
{
"id": "theme",
"render": {
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
"nl": "Wijziging met thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
"de": "Änderung mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
},
"mappings": [
{
"if": "theme~http.*",
"then": {
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>",
"nl": "Wijziging met <b>officieus</b> thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>",
"de": "Änderung mit <b>inoffiziellem</b> Thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
}
}
]
@ -206,6 +187,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"
@ -230,6 +215,10 @@
"if": "theme=healthcare",
"then": "./assets/layers/doctors/doctors.svg"
},
{
"if": "theme=indoors",
"then": "./assets/themes/onwheels/crest.svg"
},
{
"if": "theme=kerbs_and_crossings",
"then": "./assets/layers/kerbs/KerbIcon.svg"
@ -350,6 +339,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"
@ -379,9 +372,7 @@
}
],
"question": {
"en": "Themename contains {search}",
"nl": "Themanaam bevat {search}",
"de": "Themenname enthält {search}"
"en": "Themename contains {search}"
}
}
]
@ -397,9 +388,7 @@
}
],
"question": {
"en": "Made by contributor {search}",
"nl": "Gemaakt door bijdrager {search}",
"de": "Erstellt von {search}"
"en": "Made by contributor {search}"
}
}
]
@ -415,9 +404,7 @@
}
],
"question": {
"en": "<b>Not</b> made by contributor {search}",
"nl": "<b>Niet</b> gemaakt door bijdrager {search}",
"de": "<b>Nicht</b> erstellt von {search}"
"en": "<b>Not</b> made by contributor {search}"
}
}
]
@ -432,9 +419,7 @@
{
"id": "link_to_more",
"render": {
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>",
"nl": "Meer statistieken kunnen <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a> gevonden worden",
"de": "Weitere Statistiken finden Sie <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>"
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
}
},
{

View file

@ -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",
@ -14,6 +14,7 @@
"startLon": 4.351697,
"startZoom": 16,
"widenFactor": 2,
"hideFromOverview": true,
"layers": [
"bike_repair_station",
"bike_shop",
@ -27,9 +28,46 @@
"shops",
"toilet",
"viewpoint",
"doctors"
"doctors",
"reception_desk",
"walls_and_buildings",
"elevator"
],
"overrideAll": {
"+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:id=JSON.parce(feat.properties._poi_walls_and_buildings_entrance_properteis)?.id",
"_poi_entrance:width=JSON.parse(feat.properties._poi_walls_and_buildings_entrance_properties)?.width"
],
"+tagRenderings": [
{
"id": "_poi_entrance:width",
"condition": {
"and": [
"entrance=",
"kerb="
]
},
"render": {
"en": "<a href='#{_poi_entrance:id}'>This door has a width of {canonical(_poi_entrance:width)} meters</a>",
"nl": "<a href='#{_poi_entrance:id}'>Deze deur heeft een breedte van {canonical(_poi_entrance:width)} meter</a>",
"de": "<a href='#{_poi_entrance:id}'>Diese Tür hat eine Durchgangsbreite von {canonical(_poi_entrance:width)} Meter</a>",
"es": "<a href='#{_poi_entrance:id}'>Esta puerta tiene una ancho de {canonical(_poi_entrance:width)} metros</a>"
},
"freeform": {
"key": "_poi_entrance:width",
"type": "distance"
},
"mappings": [
{
"if": "_poi_entrance:width=",
"then": {
"en": "This entrance has no width information"
}
}
]
}
],
"minzoom": "15",
"mapRendering": [
{

View file

@ -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"
}
]
}

View file

@ -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"
}
]
},
@ -224,4 +228,4 @@
"allowSplit": true
}
]
}
}

View file

@ -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",
@ -288,14 +289,6 @@
"then": "./assets/themes/speelplekken/youtube.svg"
}
],
"isShown": {
"render": "yes",
"mappings": [
{
"if": "_is_shadowed=yes",
"then": "no"
}
]
}
"isShown": "_is_shadowed!=yes"
}
}

View file

@ -208,7 +208,7 @@
"bicycle_rental"
],
"override": {
"id": "charging_station_non_docking",
"id": "bicycle_rental_non_docking",
"minzoom": 14,
"source": {
"osmTags": {
@ -225,7 +225,7 @@
"override": {
"name": null,
"filter": {
"sameAs": "charging_station_non_docking"
"sameAs": "bicycle_rental_non_docking"
},
"minzoom": 18,
"=presets": []

View 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"
]
}

View file

@ -1,11 +1,11 @@
{
"contributors": [
{
"commits": 175,
"commits": 177,
"contributor": "Pieter Vander Vennet"
},
{
"commits": 138,
"commits": 139,
"contributor": "kjon"
},
{
@ -17,12 +17,12 @@
"contributor": "Allan Nordhøy"
},
{
"commits": 30,
"contributor": "Babos Gábor"
"commits": 31,
"contributor": "Iago"
},
{
"commits": 30,
"contributor": "Iago"
"contributor": "Babos Gábor"
},
{
"commits": 29,
@ -288,6 +288,10 @@
"commits": 2,
"contributor": "Leo Alcaraz"
},
{
"commits": 1,
"contributor": "Hungarian_user"
},
{
"commits": 1,
"contributor": "Stéphane De Greef"