mapcomplete/assets/layers/charging_station/charging_station.proto.json
2024-04-30 13:50:10 +02:00

1052 lines
No EOL
30 KiB
JSON

{
"id": "charging_station",
"name": {
"en": "Charging stations",
"nl": "Oplaadpunten"
},
"minzoom": 10,
"source": {
"osmTags": {
"and": [
{
"or": [
"amenity=charging_station",
"disused:amenity=charging_station",
"planned:amenity=charging_station",
"construction:amenity=charging_station"
]
}
]
}
},
"title": {
"render": {
"en": "Charging station",
"nl": "Oplaadpunt"
},
"mappings": [
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=",
"motorcar=no"
]
}
]
},
"then": {
"en": "Charging station for electrical bicycles",
"nl": "Oplaadpunt voor elektrische fietsen"
}
},
{
"if": {
"and": [
"motorcar=yes",
{
"or": [
"bicycle=",
"bicycle=no"
]
}
]
},
"then": {
"en": "Charging station for cars",
"nl": "Oplaadpunt voor elektrische auto's"
}
}
]
},
"description": {
"en": "A charging station",
"nl": "Oplaadpunten"
},
"#": "no-question-hint-check",
"tagRenderings": [
"images",
{
"id": "Type",
"#": "Allowed vehicle types",
"question": {
"en": "Which vehicles are allowed to charge here?",
"nl": "Welke voertuigen kunnen hier opgeladen worden?"
},
"multiAnswer": true,
"mappings": [
{
"if": "bicycle=yes",
"ifnot": "bicycle=no",
"then": {
"en": "<b>Bicycles</b> can be charged here",
"nl": "<b>Elektrische fietsen</b> kunnen hier opgeladen worden"
}
},
{
"if": "motorcar=yes",
"ifnot": "motorcar=no",
"then": {
"en": "<b>Cars</b> can be charged here",
"nl": "<b>Elektrische auto's</b> kunnen hier opgeladen worden"
}
},
{
"if": "scooter=yes",
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here",
"nl": "<b>Elektrische scooters</b> (snorfiets of bromfiets) kunnen hier opgeladen worden"
}
},
{
"if": "hgv=yes",
"ifnot": "hgv=no",
"then": {
"en": "<b>Heavy good vehicles</b> (such as trucks) can be charged here",
"nl": "<b>Vrachtwagens</b> kunnen hier opgeladen worden"
}
},
{
"if": "bus=yes",
"ifnot": "bus=no",
"then": {
"en": "<b>Buses</b> can be charged here",
"nl": "<b>Bussen</b> kunnen hier opgeladen worden"
}
}
]
},
{
"id": "access",
"question": {
"en": "Who is allowed to use this charging station?",
"nl": "Wie mag er dit oplaadpunt gebruiken?"
},
"render": {
"en": "Access is {access}",
"nl": "Toegang voor {access}"
},
"freeform": {
"key": "access",
"addExtraTags": [
"fixme=Freeform field used for access - doublecheck the value"
]
},
"mappings": [
{
"if": "access=yes",
"then": {
"en": "Anyone can use this charging station (payment might be needed)",
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)"
}
},
{
"if": "access=public",
"then": {
"en": "Anyone can use this charging station (payment might be needed)",
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)"
},
"hideInAnswer": true
},
{
"if": "access=customers",
"then": {
"en": "Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span>",
"nl": "Enkel <b>klanten van de bijhorende plaats</b> mogen dit oplaadpunt gebruiken<br/><span class='subtle'>Bv. op de parking van een hotel en enkel toegankelijk voor klanten van dit hotel</span>"
}
},
{
"if": "access=key",
"then": {
"en": "A <b>key</b> must be requested to access this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station</span>",
"nl": "Een <b>sleutel</b> is nodig om dit oplaadpunt te gebruiken<br/><span class='subtle'>Bv. voor klanten van een hotel of een bar, die de sleutel aan de receptie kunnen krijgen</span>"
}
},
{
"if": "access=private",
"then": {
"en": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)",
"nl": "Niet toegankelijk voor het publiek <br/><span class='subtle'>Bv. enkel toegankelijk voor de eigenaar, medewerkers ,...</span> "
}
},
{
"if": "access=permissive",
"then": {
"en": "This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.",
"nl": "Dit oplaadstation is publiek toegankelijk onder voorwaarden (bv. enkel tijdens bepaalde uren). "
}
}
]
},
{
"id": "capacity",
"render": {
"en": "{capacity} vehicles can be charged here at the same time",
"nl": "{capacity} voertuigen kunnen hier op hetzelfde moment opgeladen worden"
},
"question": {
"en": "How much vehicles can be charged here at the same time?",
"nl": "Hoeveel voertuigen kunnen hier opgeladen worden?"
},
"freeform": {
"key": "capacity",
"type": "pnat"
}
},
{
"id": "$$$"
},
{
"id": "rewritten-questions",
"rewrite": {
"sourceString": [
"{{id}}",
"{{key}}",
"{{description}}",
"{{image}}",
"{{commonVoltages}}",
"{{commonCurrent}}",
"{{commonOutput}}"
]
},
"subexpand": {
"mappings": [
"{{commonVoltages}}",
"{{commonCurrent}}",
"{{commonOutput}}"
]
},
"renderings": [
{
"id": "plugs-amount-{{id}}",
"question": {
"en": "How much plugs of type {{description}} are available here?",
"nl": "Hoeveel stekkers van type {{description}} heeft dit oplaadpunt?",
"ca": "Quants connectors del tipus {{description}} hi han disponibles aquí?",
"cs": "Kolik zástrček typu {{description}} je k dispozici?",
"da": "Hvor mange stik af typen {{description}} er tilgængelige her?",
"de": "Wie viele Stecker vom Typ {{description}} sind hier vorhanden?"
},
"render": {
"en": "There are <b class='text-xl'>{{{key}}}</b> plugs of type {{description}} available here",
"nl": "Hier zijn <b class='text-xl'>{{{key}}}</b> stekkers van het type {{description}}"
},
"icon": "./assets/layers/charging_station/{{image}}",
"freeform": {
"key": "{{key}}",
"type": "pnat"
},
"condition": {
"and": [
"{{key}}~*",
"{{key}}!=0"
]
}
},
{
"id": "voltage-{{id}}",
"labels": [
"technical"
],
"question": {
"en": "What voltage do the plugs with {{description}} offer?",
"nl": "Welke spanning levert de stekker van type {{description}}",
"cs": "Jaké napětí mají zástrčky s {{description}} ?",
"de": "Welche Spannung liefern die {{description}}?"
},
"render": {
"en": "{{description}} outputs {canonical({{key}}:voltage)}",
"nl": "{{description}} heeft een spanning van {canonical({{key}}:voltage)}"
},
"freeform": {
"key": "{{key}}:voltage",
"type": "pfloat"
},
"mappings": {
"if": "{{key}}:voltage={{commonVoltages}} V",
"then": {
"en": "{{description}} outputs {{commonVoltages}} volt",
"nl": "{{description}} heeft een spanning van {{commonVoltages}} volt",
"cs": "{{description}} výstup {{commonVoltages}} voltů",
"de": "{{description}} liefert {{commonVoltages}} Volt"
}
},
"condition": {
"and": [
"{{key}}~*",
"{{key}}!=0"
]
}
},
{
"id": "current-{{id}}",
"labels": [
"technical"
],
"question": {
"en": "What current do the plugs with {{description}} offer?",
"nl": "Welke stroom levert de stekker van type {{description}}?"
},
"render": {
"en": "{{description}} outputs at most {canonical({{key}}:current)}",
"nl": "{{description}} levert een stroom van maximaal {canonical({{key}}:current)}"
},
"freeform": {
"key": "{{key}}:current",
"type": "pfloat"
},
"mappings": {
"if": "{{key}}:current={{commonCurrent}} A",
"then": {
"en": "{{description}} outputs at most {{commonCurrent}} A",
"nl": "{{description}} levert een stroom van maximaal {{commonCurrent}} A"
}
},
"condition": {
"and": [
"{{key}}~*",
"{{key}}!=0"
]
}
},
{
"id": "power-output-{{id}}",
"labels": [
"technical"
],
"question": {
"en": "What power output does a single plug of type {{description}} offer?",
"nl": "Welk vermogen levert een enkele stekker van type {{description}}?"
},
"render": {
"en": "{{description}} outputs at most {canonical({{key}}:output)}",
"nl": "{{description}} levert een vermogen van maximaal {canonical({{key}}:output)}"
},
"freeform": {
"key": "{{key}}:output",
"type": "pfloat"
},
"mappings": {
"if": "{{key}}:output={{commonOutput}}",
"then": {
"en": "{{description}} outputs at most {{commonOutput}} A",
"nl": "{{description}} levert een vermogen van maximaal {{commonOutput}} A"
}
},
"condition": {
"and": [
"{{key}}~*",
"{{key}}!=0"
]
}
}
]
},
{
"builtin": "opening_hours_24_7",
"override": {
"question": {
"en": "When is this charging station opened?",
"nl": "Wanneer is dit oplaadpunt beschikbaar??"
}
},
"id": "OH"
},
{
"id": "fee",
"question": {
"en": "Does one have to pay to use this charging station?",
"nl": "Moet men betalen om dit oplaadpunt te gebruiken?"
},
"mappings": [
{
"if": {
"and": [
"fee=no",
"fee:conditional=",
"charge=",
"authentication:none=yes"
]
},
"then": {
"nl": "Gratis te gebruiken (zonder aan te melden)",
"en": "Free to use (without authenticating)"
}
},
{
"if": {
"and": [
"fee=no",
"fee:conditional=",
"charge=",
"authentication:none=no"
]
},
"then": {
"nl": "Gratis te gebruiken, maar aanmelden met een applicatie is verplicht",
"en": "Free to use, but one has to authenticate"
}
},
{
"if": {
"and": [
"fee=no"
]
},
"then": {
"nl": "Gratis te gebruiken",
"en": "Free to use"
},
"hideInAnswer": true
},
{
"if": {
"and": [
"fee=yes",
"fee:conditional=no @ customers"
]
},
"then": {
"nl": "Betalend te gebruiken, maar gratis voor klanten van het bijhorende hotel/café/ziekenhuis/...",
"en": "Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station"
}
},
{
"if": {
"and": [
"fee=yes",
"fee:conditional="
]
},
"then": {
"nl": "Betalend",
"en": "Paid use"
}
}
]
},
{
"id": "charge",
"question": {
"en": "How much does one have to pay to use this charging station?",
"nl": "Hoeveel moet men betalen om dit oplaadpunt te gebruiken?"
},
"render": {
"en": "Using this charging station costs <b>{charge}</b>",
"nl": "Dit oplaadpunt gebruiken kost <b>{charge}</b>"
},
"freeform": {
"key": "charge"
},
"condition": "fee=yes"
},
{
"id": "payment-options",
"builtin": "payment-options-advanced",
"override": {
"condition": {
"or": [
"fee=yes",
"charge~*"
]
}
}
},
{
"id": "Authentication",
"#": "In some cases, charging is free but one has to be authenticated. We only ask for authentication if fee is no (or unset). By default one sees the questions for either the payment options or the authentication options, but normally not both",
"question": {
"en": "What kind of authentication is available at the charging station?",
"nl": "Hoe kan men zich aanmelden aan dit oplaadstation?"
},
"multiAnswer": true,
"mappings": [
{
"if": "authentication:membership_card=yes",
"ifnot": "authentication:membership_card=no",
"then": {
"en": "Authentication by a membership card",
"nl": "Aanmelden met een lidkaart is mogelijk"
}
},
{
"if": "authentication:app=yes",
"ifnot": "authentication:app=no",
"then": {
"en": "Authentication by an app",
"nl": "Aanmelden via een applicatie is mogelijk"
}
},
{
"if": "authentication:phone_call=yes",
"ifnot": "authentication:phone_call=no",
"then": {
"en": "Authentication via phone call is available",
"nl": "Aanmelden door te bellen naar een telefoonnummer is mogelijk"
}
},
{
"if": "authentication:short_message=yes",
"ifnot": "authentication:short_message=no",
"then": {
"en": "Authentication via SMS is available",
"nl": "Aanmelden via SMS is mogelijk"
}
},
{
"if": "authentication:nfc=yes",
"ifnot": "authentication:nfc=no",
"then": {
"en": "Authentication via NFC is available",
"nl": "Aanmelden via NFC is mogelijk"
}
},
{
"if": "authentication:money_card=yes",
"ifnot": "authentication:money_card=no",
"then": {
"en": "Authentication via Money Card is available",
"nl": "Aanmelden met Money Card is mogelijk"
}
},
{
"if": "authentication:debit_card=yes",
"ifnot": "authentication:debit_card=no",
"then": {
"en": "Authentication via debit card is available",
"nl": "Aanmelden met een betaalkaart is mogelijk"
}
},
{
"if": "authentication:none=yes",
"ifnot": "authentication:none=no",
"then": {
"en": "Charging here is (also) possible without authentication",
"nl": "Hier opladen is (ook) mogelijk zonder aan te melden"
}
}
],
"condition": {
"or": [
"fee=no",
"fee="
]
}
},
{
"id": "Auth phone",
"render": {
"en": "Authenticate by calling or SMS'ing to <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
"nl": "Aanmelden door te bellen of te SMS'en naar <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>"
},
"question": {
"en": "What's the phone number for authentication call or SMS?",
"nl": "Wat is het telefoonnummer dat men moet bellen of SMS'en om zich aan te melden?"
},
"freeform": {
"key": "authentication:phone_call:number",
"type": "phone"
},
"condition": {
"or": [
"authentication:phone_call=yes",
"authentication:short_message=yes"
]
}
},
{
"id": "maxstay",
"question": {
"en": "What is the maximum amount of time one is allowed to stay here?",
"nl": "Hoelang mag een voertuig hier blijven staan?"
},
"freeform": {
"key": "maxstay"
},
"render": {
"en": "One can stay at most <b>{canonical(maxstay)}</b>",
"nl": "De maximale parkeertijd hier is <b>{canonical(maxstay)}</b>"
},
"mappings": [
{
"if": "maxstay=unlimited",
"then": {
"en": "No timelimit on leaving your vehicle here",
"nl": "Geen maximum parkeertijd"
}
}
],
"condition": {
"or": [
"maxstay~*",
"motorcar=yes",
"hgv=yes",
"bus=yes"
]
}
},
{
"id": "Network",
"render": {
"en": "Part of the network <b>{network}</b>",
"nl": "Maakt deel uit van het <b>{network}</b>-netwerk"
},
"question": {
"en": "Is this charging station part of a network?",
"nl": "Is dit oplaadpunt deel van een groter netwerk?"
},
"freeform": {
"key": "network"
},
"mappings": [
{
"if": "no:network=yes",
"then": {
"en": "Not part of a bigger network, e.g. because the charging station is maintained by a local business",
"nl": "Maakt geen deel uit van een groter netwerk, een lokale zaak of organisatie beheert dit oplaadpunt"
}
},
{
"if": "network=none",
"then": {
"en": "Not part of a bigger network",
"nl": "Maakt geen deel uit van een groter netwerk"
},
"hideInAnswer": true
},
{
"if": "network=AeroVironment",
"then": "AeroVironment"
},
{
"if": "network=Blink",
"then": "Blink"
},
{
"if": "network=EVgo",
"then": "EVgo",
"addExtraTags": [
"brand:wikidata=Q61803820"
]
},
{
"if": "network=Allego",
"then": "Allego",
"addExtraTags": [
"brand:wikidata=Q75560554"
]
},
{
"if": "network=Blue Corner",
"then": "Blue Corner",
"addExtraTags": [
"brand:wikidata=Q106902344"
]
},
{
"if": "network=Tesla",
"then": "Tesla",
"addExtraTags": [
"brand:wikidata=Q478214"
]
}
]
},
{
"id": "Operator",
"question": {
"en": "Who is the operator of this charging station?",
"nl": "Wie beheert dit oplaadpunt?"
},
"render": {
"en": "This charging station is operated by {operator}",
"nl": "Wordt beheerd door {operator}"
},
"freeform": {
"key": "operator"
},
"mappings": [
{
"if": {
"and": [
"network:={operator}"
]
},
"then": {
"en": "Actually, {operator} is the network",
"nl": "Eigenlijk is {operator} het netwerk waarvan het deel uitmaakt"
},
"addExtraTags": [
"operator="
],
"hideInAnswer": "operator="
}
],
"condition": "network="
},
{
"id": "phone",
"question": {
"en": "What number can one call if there is a problem with this charging station?",
"nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?"
},
"render": {
"en": "In case of problems, call <a href='tel:{phone}'>{phone}</a>",
"nl": "Bij problemen, bel naar <a href='tel:{phone}'>{phone}</a>"
},
"freeform": {
"key": "phone",
"type": "phone"
}
},
{
"id": "email",
"question": {
"en": "What is the email address of the operator?",
"nl": "Wat is het email-adres van de operator?"
},
"render": {
"en": "In case of problems, send an email to <a href='mailto:{email}'>{email}</a>",
"nl": "Bij problemen, email naar <a href='mailto:{email}'>{email}</a>"
},
"freeform": {
"key": "email",
"type": "email"
}
},
{
"id": "website",
"question": {
"en": "What is the website where one can find more information about this charging station?",
"nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?"
},
"render": {
"en": "More info on <a href='{website}'>{website}</a>",
"nl": "Meer informatie op <a href='{website}'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url"
}
},
"level",
{
"id": "ref",
"question": {
"en": "What is the reference number of this charging station?",
"nl": "Wat is het referentienummer van dit oplaadstation?"
},
"render": {
"en": "Reference number is <b>{ref}</b>",
"nl": "Het referentienummer van dit oplaadpunt is <b>{ref}</b>"
},
"freeform": {
"key": "ref"
},
"#": "Only asked if part of a bigger network. Small operators typically don't have a reference number",
"condition": "network!="
},
{
"id": "Operational status",
"question": {
"en": "Is this charging point in use?",
"nl": "Is dit oplaadpunt operationeel?"
},
"mappings": [
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=",
"operational_status=",
"amenity=charging_station"
]
},
"then": {
"en": "This charging station works",
"nl": "Dit oplaadpunt werkt"
}
},
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=",
"operational_status=broken",
"amenity=charging_station"
]
},
"then": {
"en": "This charging station is broken",
"nl": "Dit oplaadpunt is kapot"
}
},
{
"if": {
"and": [
"planned:amenity=charging_station",
"construction:amenity=",
"disused:amenity=",
"operational_status=",
"amenity="
]
},
"then": {
"en": "A charging station is planned here",
"nl": "Hier zal binnenkort een oplaadpunt gebouwd worden"
}
},
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=charging_station",
"disused:amenity=",
"operational_status=",
"amenity="
]
},
"then": {
"en": "A charging station is constructed here",
"nl": "Hier wordt op dit moment een oplaadpunt gebouwd"
}
},
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=charging_station",
"operational_status=",
"amenity="
]
},
"then": {
"en": "This charging station has beed permanently disabled and is not in use anymore but is still visible",
"nl": "Dit oplaadpunt is niet meer in gebruik maar is wel nog aanwezig"
}
}
]
},
{
"id": "Parking:fee",
"question": {
"en": "Does one have to pay a parking fee while charging?",
"nl": "Moet men parkeergeld betalen tijdens het opladen?"
},
"mappings": [
{
"if": "parking:fee=no",
"then": {
"en": "No additional parking cost while charging",
"nl": "Geen extra parkeerkost tijdens het opladen"
}
},
{
"if": "parking:fee=yes",
"then": {
"en": "An additional parking fee should be paid while charging",
"nl": "Tijdens het opladen moet er parkeergeld betaald worden"
}
}
],
"condition": {
"or": [
"motor_vehicle=yes",
"hgv=yes",
"bus=yes",
"bicycle=no",
"bicycle="
]
}
},
"questions",
{
"id": "questions-technical",
"render": {
"en": "<h3>Technical questions</h3>The questions below are very technical. Feel free to ignore them<br/>{questions(technical)}",
"nl": "<h3>Technische vragen</h3>De vragen hieronder zijn erg technisch - sla deze over indien je hier geen tijd voor hebt<br/>{questions(technical)}"
}
}
],
"lineRendering": [
{
"color": "black",
"width": 2,
"fillColor": "#80808080"
}
],
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "pin",
"color": "#fff"
},
{
"icon": {
"render": "./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "./assets/themes/charging_stations/car.svg"
}
]
}
}
],
"iconBadges": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "close:#c22;"
},
{
"if": {
"or": [
"proposed:amenity=charging_station",
"planned:amenity=charging_station"
]
},
"then": "./assets/layers/charging_station/under_construction.svg"
},
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg"
}
],
"anchor": "bottom",
"iconSize": "50,50"
}
],
"presets": [
{
"tags": [
"amenity=charging_station",
"motorcar=no",
"bicycle=yes"
],
"title": {
"en": "charging station for electrical bikes",
"nl": "oplaadpunt voor elektrische fietsen"
}
},
{
"tags": [
"amenity=charging_station",
"motorcar=yes",
"bicycle=no"
],
"title": {
"en": "charging station for cars",
"nl": "oplaadstation voor elektrische auto's"
}
}
],
"filter": [
{
"id": "vehicle-type",
"options": [
{
"question": {
"en": "All vehicle types",
"nl": "Alle voertuigen"
}
},
{
"question": {
"en": "Charging station for bicycles",
"nl": "Oplaadpunten voor fietsen"
},
"osmTags": "bicycle=yes"
},
{
"question": {
"en": "Charging station for cars",
"nl": "Oplaadpunten voor auto's"
},
"osmTags": {
"or": [
"car=yes",
"motorcar=yes"
]
}
}
]
},
{
"id": "working",
"options": [
{
"question": {
"en": "Only working charging stations",
"nl": "Enkel werkende oplaadpunten"
},
"osmTags": {
"and": [
"operational_status!=broken",
"amenity=charging_station"
]
}
}
]
}
],
"units": [
{
"maxstay": {
"quantity": "duration",
"denominations": [
"minutes",
"hours",
"days"
]
}
}
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"deletion": {
"softDeletionTags": {
"and": [
"amenity=",
"disused:amenity=charging_station"
]
},
"neededChangesets": 10
}
}