Merge branch 'develop' into feature/pharmacy

This commit is contained in:
Pieter Vander Vennet 2022-07-19 09:12:12 +02:00 committed by GitHub
commit 5c0ff4e1b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
336 changed files with 794096 additions and 40220 deletions

View file

@ -84,7 +84,8 @@
"id": "Beragam karya seni",
"pt": "Diversas obras de arte",
"hu": "Szobrok, mellszobrok, graffitik és egyéb műalkotások nyílt világtérképe",
"da": "Forskellige kunstværker"
"da": "Forskellige kunstværker",
"ca": "Un mapa obert d'estàtues, busts, grafitis i altres obres d'art del tot el món"
},
"minzoom": 12,
"presets": [

View file

@ -711,7 +711,7 @@
}
],
"description": {
"nl": "Deze laag toont zitbanken en enkele vragen over deze zitbanken",
"nl": "Een zitbank is een houten, metalen, stenen, … oppervlak waar een mens kan zitten. Deze laag toont ze en stelt er enkele vragen over.",
"en": "A bench is a wooden, metal, stone, … surface where a human can sit. This layers visualises them and asks a few questions about them.",
"fr": "Un banc est une surface en bois, métal, pierre… sur laquelle un humain peut s'asseoir. Cette couche permet de les visualiser et pose des questions à leur sujet.",
"de": "Diese Karte stellt Sitzbänke aus Holz, Metall, Stein, … dar und stellt ein paar Fragen, um weitere Informationen zu ergänzen.",

View file

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

View file

@ -141,7 +141,8 @@
"en": "<h3>Contains {_contained_climbing_routes_count} routes</h3> <ul>{_contained_climbing_routes}</ul>",
"fr": "<h3>Contient {_contained_climbing_routes_count} voies</h3> <ul>{_contained_climbing_routes}</ul>",
"it": "<h3>Contiene {_contained_climbing_routes_count} vie</h3> <ul>{_contained_climbing_routes}</ul>",
"de": "<h3> Enthält {_contained_climbing_routes_count} Routen</h3> <ul>{_contained_climbing_routes}</ul>"
"de": "<h3> Enthält {_contained_climbing_routes_count} Routen</h3> <ul>{_contained_climbing_routes}</ul>",
"nl": "<h3>Bevat {_contained_climbing_routes_count} routes</h3> <ul>{_contained_climbing_routes}</ul>"
},
"condition": "_contained_climbing_routes~*",
"id": "Contained_climbing_routes"

View file

@ -66,7 +66,8 @@
"ja": "ここで登坂はできますか?",
"nb_NO": "Er klatring mulig her?",
"fr": "Est-il possible descalader ici ?",
"it": "È possibile arrampicarsi qua?"
"it": "È possibile arrampicarsi qua?",
"nl": "Is klimmen hier mogelijk?"
},
"mappings": [
{

View file

@ -40,7 +40,8 @@
"title": {
"render": {
"en": "Way",
"nl": "Weg"
"nl": "Weg",
"de": "Weg"
},
"mappings": [
{
@ -83,7 +84,8 @@
},
"then": {
"nl": "Weg met fietssugestiestrook {name}",
"en": "Road with shared lane {name}"
"en": "Road with shared lane {name}",
"de": "Straße mit gemeinsam genutzter Fahrspur {name}"
}
},
{
@ -106,7 +108,8 @@
},
"then": {
"nl": "Weg met fietsstrook {name}",
"en": "Road with bike lane {name}"
"en": "Road with bike lane {name}",
"de": "Straße mit Fahrradstreifen {name}"
}
},
{
@ -129,7 +132,8 @@
},
"then": {
"nl": "Weg met fietspad naast de weg {name}",
"en": "Road with cycleway next to the road {name}"
"en": "Road with cycleway next to the road {name}",
"de": "Straße mit Radweg neben der Straße {name}"
}
},
{

View file

@ -0,0 +1,20 @@
<?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="14"
height="14"
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 7,8 c 2,0 2,1 2,3 0,1 -1.009121,3 0,3 1,0 1.751359,-1.142963 2,-3 C 11.248641,9.142963 11,8 11,7 11,5 12,3 12,2 12,1 11.599761,0.21742 11,0 9,0 9,1 7,1 5,1 5,0 3,0 2.400799,0.21742 2,1 2,2 2,3 3,5 3,7 3,8 2.87761,9.57334 3,11 3.12239,12.42666 4,14 5,14 6.008702,14 5,12 5,11 5,9 5,8 7,8 z"
id="dentist" style="fill:#BF0000"/>
</svg>

After

Width:  |  Height:  |  Size: 739 B

View file

@ -1,76 +1,147 @@
{
"id": "doctors",
"name": {
"en": "doctors"
"id": "doctors",
"name": {
"en": "doctors"
},
"description": {
"en": "This layer shows doctor offices, dentists and other healthcare facilities"
},
"source": {
"osmTags": {
"or": [
"amenity=doctors",
"amenity=dentist",
"healthcare=physiotherapist"
]
}
},
"title": {
"render": {
"en": "Doctors Office {name}"
},
"title": {
"render": {
"en": "Doctors Office {name}"
}
},
"source": {
"osmTags": {
"and": [
"amenity=doctors"
]
}
},
"minzoom": 13,
"tagRenderings": [
"images",
"opening_hours",
"phone",
"email",
"website",
{
"id": "specialty",
"render": {
"en": "This doctor is specialized in {healthcare:speciality}"
},
"question": {
"en": "What is this doctor specialized in?"
},
"freeform": {
"key": "healthcare:speciality"
},
"mappings": [
{
"if": "healthcare:speciality=general",
"then": {
"en": "This is a general practitioner"
}
},
{
"if": "healthcare:speciality=gynaecology",
"then": {
"en": "This is a gynaecologist"
}
},
{
"if": "healthcare:speciality=psychiatry",
"then": {
"en": "This is a psychiatrist"
}
},
{
"if": "healthcare:speciality=paediatrics",
"then": {
"en": "This is a paediatrician"
}
}
]
}
],
"mapRendering": [
{
"icon": {
"render": "pin:#6BC4F7;./assets/layers/doctors/doctors.svg"
},
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
}
"mappings": [
{
"if": "amenity=doctors",
"then": "Doctors Office {name}"
},
{
"if": "amenity=dentist",
"then": "Dentists office {name}"
},
{
"if": "healthcare=physiotherapist",
"then": "Physiotherapists office {name}"
}
]
},
"minzoom": 13,
"tagRenderings": [
"images",
"opening_hours",
"phone",
"email",
"website",
{
"question": {
"en": "What is the name of this doctors place?"
},
"render": {
"en": "This doctors place is called {name}"
},
"freeform": {
"key": "name"
},
"id": "name"
},
{
"condition": "amenity=doctors",
"id": "specialty",
"render": {
"en": "This doctor is specialized in {healthcare:speciality}"
},
"question": {
"en": "What is this doctor specialized in?"
},
"freeform": {
"key": "healthcare:speciality"
},
"mappings": [
{
"if": "healthcare:speciality=general",
"then": {
"en": "This is a general practitioner"
}
},
{
"if": "healthcare:speciality=gynaecology",
"then": {
"en": "This is a gynaecologist"
}
},
{
"if": "healthcare:speciality=psychiatry",
"then": {
"en": "This is a psychiatrist"
}
},
{
"if": "healthcare:speciality=paediatrics",
"then": {
"en": "This is a paediatrician"
}
}
]
}
],
"presets": [
{
"title": {
"en": "a doctors office"
},
"tags": [
"amenity=doctors"
]
},
{
"title": {
"en": "a dentists office"
},
"tags": [
"amenity=dentist"
]
},
{
"title": {
"en": "a physiotherapists office"
},
"tags": [
"healthcare=physiotherapist"
]
}
],
"filter": [
{
"id": "opened-now",
"options": [
{
"question": {
"en": "Opened now"
},
"osmTags": "_isOpen=yes"
}
]
}
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/doctors/doctors.svg"
},
"iconSize": "40,40,center",
"location": [
"point",
"centroid"
]
}
]
}

View file

@ -1,4 +1,14 @@
[
{
"path": "dentist.svg",
"license": "CC0",
"authors": [
"OSM Carto"
],
"sources": [
"https://wiki.openstreetmap.org/wiki/File:Dentist-14.svg"
]
},
{
"path": "doctors.svg",
"license": "cc0",

View file

@ -792,7 +792,8 @@
"question": {
"en": "Accepts cash",
"de": "Akzeptiert Bargeld",
"es": "Acepta efectivo"
"es": "Acepta efectivo",
"nl": "Accepteert cash"
}
}
]
@ -805,7 +806,8 @@
"question": {
"en": "Accepts payment cards",
"de": "Akzeptiert Kartenzahlung",
"es": "Acepta tarjetas de pago"
"es": "Acepta tarjetas de pago",
"nl": "Accepteert betaalkaarten"
}
}
]
@ -814,10 +816,16 @@
"deletion": {
"nonDeleteMappings": [
{
"if": "amenity=cafe",
"if": "amenity=pub",
"then": {
"en": "This is actually a pub"
}
},
{
"if": "amenity=cafe",
"then": {
"en": "This is actually a cafe"
}
}
],
"softDeletionTags": {

View file

@ -0,0 +1,44 @@
{
"id": "hospital",
"name": {
"en": "Hospital"
},
"title": {
"render": {
"en": "Hospital"
}
},
"minzoom": 12,
"source": {
"osmTags": "amenity=hospital"
},
"tagRenderings": [
{
"id": "name",
"render": {
"en": "Name of the hospital name is {name}"
},
"question": {
"en": "What does the of the hospital ?"
},
"freeform": {
"key": "name"
}
},
"phone",
"email",
"website"
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/hospital/hospital.svg"
},
"iconSize": "40,40,center",
"location": [
"point",
"centroid"
]
}
]
}

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg
width="14"
height="14"
version="1.1"
viewBox="0 0 3.7042 3.7042"
xmlns="http://www.w3.org/2000/svg">
<g transform="translate(0 -293.3)">
<path transform="matrix(.26458 0 0 .26458 0 293.3)"
d="m7 0a7 7 0 0 0-7 7 7 7 0 0 0 7 7 7 7 0 0 0 7-7 7 7 0 0 0-7-7zm-1 3h2v3h3v2h-3v3h-2v-3h-3v-2h3v-3z"
fill="#BF0000"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 397 B

View file

@ -0,0 +1,12 @@
[
{
"path": "hospital.svg",
"license": "CC-0",
"authors": [
"osmcarto"
],
"sources": [
"https://wiki.openstreetmap.org/wiki/File:Hospital-14.svg"
]
}
]

View file

@ -3,9 +3,7 @@
"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>",
"#dont-translate": "*",
"source": {
"osmTags": {
"and": []
}
"osmTags": "id~*"
},
"mapRendering": null,
"tagRenderings": [

View file

@ -0,0 +1,81 @@
{
"id": "indoors",
"name": {
"en": "indoors"
},
"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

@ -2,11 +2,13 @@
"id": "kerbs",
"name": {
"en": "Kerbs",
"nl": "Stoepranden"
"nl": "Stoepranden",
"de": "Bordsteine"
},
"description": {
"en": "A layer showing kerbs.",
"nl": "Een laag met stoepranden."
"nl": "Een laag met stoepranden.",
"de": "Eine Ebene, die Bordsteine zeigt."
},
"source": {
"osmTags": "barrier=kerb"
@ -15,7 +17,8 @@
"title": {
"render": {
"en": "Kerb",
"nl": "Stoeprand"
"nl": "Stoeprand",
"de": "Bordstein"
}
},
"mapRendering": [
@ -56,14 +59,16 @@
"id": "kerb-type",
"question": {
"en": "What is the height of this kerb?",
"nl": "Hoe hoog is deze stoeprand?"
"nl": "Hoe hoog is deze stoeprand?",
"de": "Wie hoch ist der Bordstein?"
},
"mappings": [
{
"if": "kerb=raised",
"then": {
"en": "This kerb is raised (>3 cm)",
"nl": "Deze stoeprand is hoog (>3 cm)"
"nl": "Deze stoeprand is hoog (>3 cm)",
"de": "Der Bordstein ist erhöht (>3 cm)"
},
"icon": {
"path": "./assets/layers/kerbs/raised.svg",
@ -74,7 +79,8 @@
"if": "kerb=lowered",
"then": {
"en": "This kerb is lowered (~3 cm)",
"nl": "Deze stoeprand is verlaagd (~3 cm)"
"nl": "Deze stoeprand is verlaagd (~3 cm)",
"de": "Der Bordstein ist abgesenkt (~3 cm)"
},
"icon": {
"path": "./assets/layers/kerbs/lowered.svg",
@ -85,7 +91,8 @@
"if": "kerb=flush",
"then": {
"en": "This kerb is flush (~0cm)",
"nl": "Deze stoeprand is vlak (~0cm)"
"nl": "Deze stoeprand is vlak (~0cm)",
"de": "Der Bordstein ist bündig (~0cm)"
},
"icon": {
"path": "./assets/layers/kerbs/flush.svg",
@ -96,7 +103,8 @@
"if": "kerb=no",
"then": {
"en": "There is no kerb here",
"nl": "Er is hier geen stoeprand"
"nl": "Er is hier geen stoeprand",
"de": "Hier gibt es keinen Bordstein"
},
"hideInAnswer": true,
"icon": {
@ -108,7 +116,8 @@
"if": "kerb=yes",
"then": {
"en": "There is a kerb of unknown height",
"nl": "Er is een stoeprand met onbekende hoogte"
"nl": "Er is een stoeprand met onbekende hoogte",
"de": "Es gibt einen Bordstein mit unbekannter Höhe"
},
"hideInAnswer": true
}
@ -118,25 +127,29 @@
{
"id": "tactile-paving",
"question": {
"en": "Is there tactile paving at this kerb?"
"en": "Is there tactile paving at this kerb?",
"de": "Gibt es am Bordstein ein taktiles Pflaster?"
},
"mappings": [
{
"if": "tactile_paving=yes",
"then": {
"en": "This kerb has tactile paving."
"en": "This kerb has tactile paving.",
"de": "Der Bordstein hat ein taktiles Pflaster."
}
},
{
"if": "tactile_paving=no",
"then": {
"en": "This kerb does not have tactile paving."
"en": "This kerb does not have tactile paving.",
"de": "Der Bordstein hat kein taktiles Pflaster."
}
},
{
"if": "tactile_paving=incorrect",
"then": {
"en": "This kerb has tactile paving, but it is incorrect"
"en": "This kerb has tactile paving, but it is incorrect",
"de": "Der Bordstein hat ein taktiles Pflaster, das aber falsch ist"
},
"hideInAnswer": true
}
@ -147,17 +160,20 @@
"id": "kerb-height",
"question": {
"en": "What is the height of this kerb?",
"nl": "Hoe hoog is deze stoeprand?"
"nl": "Hoe hoog is deze stoeprand?",
"de": "Wie hoch ist der Bordstein?"
},
"render": {
"en": "Kerb height: {{kerb:height}}",
"nl": "Stoeprandhoogte: {{kerb:height}}"
"en": "Kerb height: {kerb:height}",
"nl": "Stoeprandhoogte: {kerb:height}",
"de": "Bordsteinhöhe: {kerb:height}"
},
"freeform": {
"key": "kerb:height",
"placeholder": {
"en": "Height of the kerb",
"nl": "Hoogte van de stoeprand"
"nl": "Hoogte van de stoeprand",
"de": "Höhe des Bordsteins"
},
"type": "pnat"
}
@ -167,14 +183,16 @@
{
"title": {
"en": "a kerb",
"nl": "een stoeprand"
"nl": "een stoeprand",
"de": "einen Bordstein"
},
"tags": [
"barrier=kerb"
],
"description": {
"en": "Kerb in a footway",
"nl": "Stoeprand in een voetpad"
"nl": "Stoeprand in een voetpad",
"de": "Bordstein in einem Fußweg"
},
"preciseInput": {
"maxSnapDistance": 10,
@ -193,42 +211,48 @@
{
"question": {
"en": "All types of kerbs",
"nl": "Alle typen stoepranden"
"nl": "Alle typen stoepranden",
"de": "Alle Arten von Bordsteinen"
}
},
{
"osmTags": "kerb=raised",
"question": {
"en": "Raised kerb (>3 cm)",
"nl": "Hoge stoeprand (>3 cm)"
"nl": "Hoge stoeprand (>3 cm)",
"de": "Erhöhter Bordstein (>3 cm)"
}
},
{
"osmTags": "kerb=lowered",
"question": {
"en": "Lowered kerb (~3 cm)",
"nl": "Verlaagde stoeprand (~3 cm)"
"nl": "Verlaagde stoeprand (~3 cm)",
"de": "Abgesenkter Bordstein (~3 cm)"
}
},
{
"osmTags": "kerb=flush",
"question": {
"en": "Flush kerb (~0cm)",
"nl": "Vlakke stoeprand (~0cm)"
"nl": "Vlakke stoeprand (~0cm)",
"de": "Bündiger Bordstein (~0cm)"
}
},
{
"osmTags": "kerb=no",
"question": {
"en": "No kerb",
"nl": "Geen stoeprand"
"nl": "Geen stoeprand",
"de": "Kein Bordstein"
}
},
{
"osmTags": "kerb=",
"question": {
"en": "Kerb with unknown height",
"nl": "Stoeprand met onbekende hoogte"
"nl": "Stoeprand met onbekende hoogte",
"de": "Bordstein mit unbekannter Höhe"
}
}
]
@ -238,25 +262,29 @@
"options": [
{
"question": {
"en": "Kerbs with or without tactile paving"
"en": "Kerbs with or without tactile paving",
"de": "Bordsteine mit oder ohne taktilem Pflaster"
}
},
{
"osmTags": "tactile_paving=yes",
"question": {
"en": "Kerb with tactile paving"
"en": "Kerb with tactile paving",
"de": "Bordstein mit taktilem Pflaster"
}
},
{
"osmTags": "tactile_paving=no",
"question": {
"en": "Kerb without tactile paving"
"en": "Kerb without tactile paving",
"de": "Bordstein ohne taktilem Pflaster"
}
},
{
"osmTags": "tactile_paving=",
"question": {
"en": "Kerb wihout information about tactile paving"
"en": "Kerb wihout information about tactile paving",
"de": "Bordstein ohne Informationen über taktiles Pflaster"
}
}
]
@ -273,11 +301,13 @@
],
"human": {
"en": "centimeters",
"nl": "centimeter"
"nl": "centimeter",
"de": "Zentimeter"
},
"humanSingular": {
"en": "centimeter",
"nl": "centimeter"
"nl": "centimeter",
"de": "Zentimeter"
},
"default": true
},
@ -289,11 +319,13 @@
],
"human": {
"en": "meters",
"nl": "meter"
"nl": "meter",
"de": "Meter"
},
"humanSingular": {
"en": "meter",
"nl": "meter"
"nl": "meter",
"de": "Meter"
}
}
],

View file

@ -42,20 +42,23 @@
"if": "name=",
"then": {
"en": "Road without a name",
"de": "Straße ohne Namen"
"de": "Straße ohne Namen",
"nl": "Weg zonder een naam"
}
}
]
},
"description": {
"en": "Shows the allowed speed for every road",
"de": "Zeigt die zulässige Geschwindigkeit für jede Straße an"
"de": "Zeigt die zulässige Geschwindigkeit für jede Straße an",
"nl": "Toont de toegestane snelheid voor elke weg"
},
"tagRenderings": [
{
"render": {
"en": "The maximum allowed speed on this road is {maxspeed}",
"de": "Die zulässige Höchstgeschwindigkeit auf dieser Straße ist {maxspeed}"
"de": "Die zulässige Höchstgeschwindigkeit auf dieser Straße ist {maxspeed}",
"nl": "De maximum toegestane snelheid op deze weg is {maxspeed}"
},
"question": {
"es": "Qué velocidad tiene",
@ -68,6 +71,24 @@
"type": "pnat"
},
"mappings": [
{
"if": {
"and": [
"highway=living_street",
"_country!=be"
]
},
"then": {
"en": "This is a living street, which has a maxspeed of 20km/h",
"de": "Dies ist eine Wohnstraße, auf der eine Höchstgeschwindigkeit von 20 km/h gilt",
"nl": "Dit is een woonerf en heeft dus een maximale snelheid van 20km/h"
},
"icon": {
"path": "./assets/layers/maxspeed/living_street_be.svg",
"class": "large"
},
"hideInAnswer": true
},
{
"if": "highway=living_street",
"then": {

View file

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

View file

@ -1,90 +1,75 @@
{
"id": "pharmacy",
"name": {
"en": "pharmacy"
"id": "pharmacy",
"name": {
"en": "pharmacy"
},
"title": {
"render": {
"en": "{name}"
},
"title": {
"render": {
"en": "{name}"
"mappings": [
{
"if": "name=",
"then": {
"en": "Pharmacy"
}
},
"source": {
"osmTags": {
"and": [
"amenity=pharmacy"
]
}
},
"minzoom":13,
"tagRenderings": [
"images",
"opening_hours",
"phone",
"email",
"website",
"dispensing",
}
]
},
"source": {
"osmTags": {
"and": [
"amenity=pharmacy"
]
}
},
"minzoom": 13,
"tagRenderings": [
"images",
"opening_hours",
"phone",
"email",
"website",
{
"id": "wheelchair",
"question": {
"en": "Is this pharmacy easy to access on a wheelchair?"
},
"mappings": [
{
"id": "wheelchair",
"render": {
"en": "Easily accessible for wheelchair users: {wheelchair}"
},
"question": {
"en": "Is this pharmacy easy to access on a wheelchair?"
},
"freeform": {
"key": "wheelchair"
},
"mappings": [
{
"if": "wheelchair=yes",
"then": {
"en": "Yes, this pharmacy is easy to access on a wheelchair"
}
},
{
"if": "wheelchair=no",
"then": {
"en": "No, this pharmacy is hard to access on a wheelchair"
}
},
{
"if": "wheelchair=limited",
"then": {
"en": "This pharmacy has limited access for wheelchair users"
}
}
]
"if": "wheelchair=yes",
"then": {
"en": "This pharmacy is easy to access on a wheelchair"
}
},
{
"id": "drive_through",
"render": {
"en": "Pharmacy drive through: {drive_through}"
},
"question": {
"en": "Does this pharmacy have a drive through?"
},
"freeform": {
"key": "drive_through"
},
"mappings": [
{
"if": "drive_through=yes",
"then": {
"en": "Yes, this pharmacy has a drive through"
}
},
{
"if": "drive_through=no",
"then": {
"en": "No, this pharmacy does not have a drive through"
}
}
]
"if": "wheelchair=no",
"then": {
"en": "This pharmacy is hard to access on a wheelchair"
}
},
{
"if": "wheelchair=limited",
"then": {
"en": "This pharmacy has limited access for wheelchair users"
}
}
],
"filter": [
]
}
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/pharmacy/pharmacy.svg"
},
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
}
],
"filter": [
{
"id": "drive-through",
"options": [
@ -108,16 +93,4 @@
]
}
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/pharmacy/pharmacy.svg"
},
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
}
]
}

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

View file

@ -469,7 +469,8 @@
"nl": "Dit is een recyclingcontainer",
"de": "Dies ist ein Recycling-Container",
"es": "Esto es un contenedor de reciclaje",
"it": "Questo è un contenitore per il riciclo di rifiuti"
"it": "Questo è un contenitore per il riciclo di rifiuti",
"ca": "Açò és un contenidor de reciclatge"
}
},
{
@ -479,7 +480,8 @@
"nl": "Dit is een recyclingcentrum",
"de": "Dies ist ein Wertstoffhof",
"es": "Esto es un centro de reciclaje",
"it": "Questo è un centro per la raccola e riciclo di rifiuti"
"it": "Questo è un centro per la raccola e riciclo di rifiuti",
"ca": "Açò és un centre de reciclatge"
}
},
{
@ -529,7 +531,8 @@
"nl": "Dit recyclagecentrum heet <b>{name}</b>",
"de": "Dieser Wertstoffhof heißt <b>{name}</b>",
"es": "Este centro de reciclaje se llama <b>{name}</b>",
"it": "Questo centro raccolta e riciclo rifiuti si chiama <b>{name}</b>"
"it": "Questo centro raccolta e riciclo rifiuti si chiama <b>{name}</b>",
"ca": "Aquest centre de reciclatge s'anomena <b>{name}</b>"
},
"freeform": {
"key": "name"
@ -586,7 +589,8 @@
"nl": "Deze container is buiten",
"de": "Der Container befindet sich im Freien",
"es": "Este contenedor se sitúa en el exterior",
"it": "Questo contenitore è all'aperto"
"it": "Questo contenitore è all'aperto",
"ca": "Aquest contenidor està situat a l'aire lliure"
}
}
]
@ -624,7 +628,8 @@
"en": "Beverage cartons can be recycled here",
"nl": "Drankpakken kunnen hier gerecycled worden",
"de": "Getränkekartons können hier recycelt werden",
"it": "Cartoni per bevande"
"it": "Cartoni per bevande",
"ca": "Ací es poden reciclar els cartons de begudes"
},
"icon": {
"path": "./assets/layers/recycling/beverage_cartons.svg",
@ -639,7 +644,8 @@
"nl": "Blikken kunnen hier gerecycled worden",
"de": "Dosen können hier recycelt werden",
"es": "Aquí se pueden reciclar latas",
"it": "Lattine"
"it": "Lattine",
"ca": "Ací es poden reciclar llaunes"
},
"icon": {
"path": "./assets/layers/recycling/cans.svg",
@ -713,7 +719,8 @@
"nl": "Organisch afval kan hier gerecycled worden",
"de": "Bio-Abfall kann hier recycelt werden",
"es": "Aquí se pueden reciclar residuos orgánicos",
"it": "Umido"
"it": "Umido",
"ca": "Ací es poden reciclar residus orgànics"
},
"hideInAnswer": true,
"icon": {
@ -729,7 +736,8 @@
"nl": "Glazen flessen kunnen hier gerecycled worden",
"de": "Glasflaschen können hier recycelt werden",
"es": "Aquí se pueden reciclar botellas de cristal",
"it": "Bottiglie di vetro"
"it": "Bottiglie di vetro",
"ca": "Ací es poden reciclar ampolles de vidre"
},
"icon": {
"path": "./assets/layers/recycling/glass_bottles.svg",
@ -744,7 +752,8 @@
"nl": "Glas kan hier gerecycled worden",
"de": "Glas kann hier recycelt werden",
"es": "Aquí se puede reciclar cristal",
"it": "Vetro"
"it": "Vetro",
"ca": "Ací es pot reciclar vidre"
},
"icon": {
"path": "./assets/layers/recycling/glass.svg",
@ -759,7 +768,8 @@
"nl": "Kranten kunnen hier gerecycled worden",
"de": "Zeitungen können hier recycelt werden",
"es": "Aquí se pueden reciclar periódicos",
"it": "Giornali"
"it": "Giornali",
"ca": "Ací es poden reciclar diaris"
},
"icon": {
"path": "./assets/layers/recycling/newspaper.svg",
@ -774,7 +784,8 @@
"nl": "Papier kan hier gerecycled worden",
"de": "Papier kann hier recycelt werden",
"es": "Aquí se puede reciclar papel",
"it": "Carta"
"it": "Carta",
"ca": "Ací es pot reciclar paper"
},
"icon": {
"path": "./assets/layers/recycling/paper.svg",
@ -789,7 +800,8 @@
"nl": "Plastic flessen kunnen hier gerecycled worden",
"de": "Plastikflaschen können hier recycelt werden",
"es": "Aquí se pueden reciclar botellas de plástico",
"it": "Bottiglie di platica"
"it": "Bottiglie di platica",
"ca": "Ací es poden reciclar ampolles de plàstic"
},
"icon": {
"path": "./assets/layers/recycling/plastic_bottles.svg",
@ -804,7 +816,8 @@
"nl": "Plastic verpakking kan hier gerecycled worden",
"de": "Kunststoffverpackungen können hier recycelt werden",
"es": "Aquí se pueden reciclar embalajes plásticos",
"it": "Confezioni di plastica"
"it": "Confezioni di plastica",
"ca": "Ací es poden reciclar envasos de plàstic"
},
"icon": {
"path": "./assets/layers/recycling/plastic_packaging.svg",
@ -819,7 +832,8 @@
"nl": "Plastic kan hier gerecycled worden",
"de": "Kunststoff kann hier recycelt werden",
"es": "Aquí se puede reciclar plástico",
"it": "Plastica"
"it": "Plastica",
"ca": "Ací es pot reciclar plàstic"
},
"icon": {
"path": "./assets/layers/recycling/plastic.svg",
@ -902,7 +916,8 @@
"en": "Residual waste can be recycled here",
"nl": "Restafval kan hier gerecycled worden",
"de": "Restmüll kann hier recycelt werden",
"it": "Secco"
"it": "Secco",
"ca": "Ací es pot reciclar el rebuig"
},
"icon": {
"path": "./assets/layers/waste_disposal/waste_disposal.svg",
@ -918,8 +933,9 @@
"en": "This recycling facility is operated by {operator}",
"nl": "Deze recyclingfaciliteit wordt beheerd door {operator}",
"de": "Diese Recyclinganlage wird betrieben von {operator}",
"es": "Esta facilidad de reciclado la opera {operator}",
"it": "Questa struttura di raccola e riciclo è gestita da {operator}"
"es": "Esta infraestructura de reciclado la opera {operator}",
"it": "Questa struttura di raccola e riciclo è gestita da {operator}",
"ca": "Aquesta infraestuctura de reciclatge està operada per {operator}"
},
"question": {
"en": "What company operates this recycling facility?",

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,72 +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"
},
"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}"
}
},
{
"if": "school:language=dutch",
"then": {
"en": "Dutch is the main language of {name}",
"nl": "Nederlands is de voertaal van {name}"
}
},
{
"if": "school:language=german",
"then": {
"en": "German is the main language of {name}",
"nl": "Duits is de voertaal van {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

@ -105,6 +105,15 @@
"question": {
"en": "What kind of shop is this?",
"nl": "Wat voor soort winkel is dit?"
},
"render": {
"en": "This is a {shop}"
},
"freeform": {
"key": "shop",
"addExtraTags": [
"fixme=freeform shop key used, to be reviewed"
]
}
}
},
@ -113,6 +122,57 @@
"email",
"phone",
"payment-options",
{
"id": "copyshop-print-sizes",
"condition": {
"or": [
"shop~.*copyshop.*",
"shop~.*stationary.*",
"service:print=yes"
]
},
"question": {
"en": "What paper formats does this shop offer?"
},
"multiAnswer": true,
"mappings": [
{
"if": "service:print:A4=yes",
"then": {
"en": "This shop can print on papers of size A4"
},
"ifnot": "service:print:A4=no"
},
{
"if": "service:print:A3=yes",
"then": {
"en": "This shop can print on papers of size A3"
},
"ifnot": "service:print:A3=no"
},
{
"if": "service:print:A2=yes",
"then": {
"en": "This shop can print on papers of size A2"
},
"ifnot": "service:print:A2=no"
},
{
"if": "service:print:A1=yes",
"then": {
"en": "This shop can print on papers of size A1"
},
"ifnot": "service:print:A1=no"
},
{
"if": "service:print:A0=yes",
"then": {
"en": "This shop can print on papers of size A0"
},
"ifnot": "service:print:A0=no"
}
]
},
"questions",
"reviews"
],

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(48.627451%,72.156864%,18.431373%);fill-opacity:1;" d="m 240,270 c -10.51214,0 -17.06362,5.31218 -21.09208,8.22243 L 200,295 l -13.40899,9.13092 4.81906,-4.41221 c -2.45204,1.98626 -8.43462,9.4328 -9.5545,12.00606 -0.80851,1.8688 -2.80916,16.5391 -2.8094,18.50388 L 180,345 h 100.00002 v -28.12499 l 0.95383,-24.02418 C 279.36417,275.26526 275,275 260,275 Z"/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 224.78416,27.867714 C 207.83633,20.892181 205,30 201.4908,33.483328 c -3.13355,3.110444 -4.18514,6.793339 -4.92975,13.162944 C 195,60 200,60 212.17552,64.021358 c 8.42757,2.783478 13.09879,0.933943 17.36376,-3.873285 3.30497,-3.725168 5.40227,-4.73171 6.11084,-11.873509 0.8525,-8.592508 0.044,-15.916436 -10.86596,-20.40685 z M 190,65 c -9.52441,-0.917061 -12.07747,2.762778 -15,5 l -5,10 -10,20 c -5,5 -7.02649,20.45319 0,25 l 11.46579,6.14143 c -13.95723,6.14722 -25.90358,8.69174 -40.41254,12.50155 -8.92858,2.34449 -19.88001,3.37632 -28.56099,7.76485 -9.014982,4.55739 -14.786174,10.31022 -19.927371,17.45223 -9.072982,1.05932 -32.906871,14.0154 -42.052984,31.2902 -3.839032,7.65623 -19.072351,74.0743 -3.955093,80.72348 5.708983,1.27809 15.640201,-0.70601 15.599701,-13.86338 -0.108001,-35.02595 0.339952,-65.14068 25.79507,-79.45023 C 78.825248,201.92336 80.834978,208.68765 90,225 l -20,40 -16.32953,39.88548 c -2.522365,5.62883 -3.243613,13.4183 5.077871,19.11488 C 64.372524,326.54946 73.614821,320.68296 75,315 L 98.669339,262.36113 117.54355,243.09234 141.10638,216.635 c 28.64298,4.09511 70.89542,-1.80723 100.97701,-26.39969 h 28.16814 l -11.82569,23.9346 C 250,220 255.27742,230.99587 260.8042,233.88839 270,240 277.18878,230.56171 280,225 l 18.46458,-40.05047 c 0.90355,-11.60271 -2.04845,-13.5154 -9.80084,-17.04381 -11.12002,-1.78157 1.65674,0.0402 0,0 v -0.1326 c -13.56808,-2.82951 -25.38466,-1.28029 -37.30881,0 7.75126,-22.2122 23.68226,-38.18561 43.3733,-36.63364 13.04658,10.51921 29.18544,30.02218 28.45642,28.99055 -1.37763,-1.9495 0.55254,2.10376 2.17266,3.91304 2.13859,2.37925 5.19256,3.73586 8.39458,3.73005 6.21306,0 11.24811,-5.02833 11.24811,-11.23109 -0.002,-1.19274 -1.78451,-15.41319 -2.16003,-16.5454 l -8.47284,-29.82576 -0.30859,0.0877 c -1.75045,-4.985 -5.20489,-9.19557 -9.75592,-11.890135 L 332,85 c 1.14686,-1.622582 2,-3 1,-5 -2,-2 -6,-1 -9,1 l -14,9 c -12.49469,-3.56121 -33.58022,-3.171563 -55.22958,6.252257 -3.15809,1.41264 -18.18315,7.408833 -28.06798,12.733063 -0.14174,-0.36321 -0.13182,-0.62598 -0.30664,-1.00807 L 216.9494,91.939125 210,75 c -1.75586,-3.835199 -2.84028,-5.186845 -7.17863,-6.731979 -0.50012,-0.05264 -5.7694,-2.017607 -6.27893,-2.020137 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -43,6 +43,17 @@
"https://www.provincieantwerpen.be/"
]
},
{
"path": "equestrian.svg",
"license": "CC0",
"authors": [
"Hufkratzer"
],
"sources": [
"https://github.com/pietervdvn/MapComplete/issues/920",
" https://gist.githubusercontent.com/Hufkratzer/81abcfe749ce8f99257e38f58633dd72/raw/8fa614a983807724f7110793b57344cc70dc34bc/equestrian.svg"
]
},
{
"path": "lock.svg",
"license": "CC-BY-SA 4.0",

View file

@ -506,7 +506,8 @@
"sport=soccer",
"sport=table_tennis",
"sport=tennis",
"sport=volleyball"
"sport=volleyball",
"sport=equestrian"
]
},
"then": "circle:white;./assets/layers/sport_pitch/{sport}.svg"

View file

@ -9,7 +9,7 @@
"source": {
"osmTags": "highway=street_lamp"
},
"minZoom": 16,
"minzoom": 16,
"title": {
"render": {
"en": "Street Lamp",

View file

@ -386,7 +386,8 @@
},
"condition": "changing_table=yes",
"freeform": {
"key": "changing_table:location"
"key": "changing_table:location",
"inline": true
},
"mappings": [
{

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)"
],
"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