Add more ID-s to the layer configs

This commit is contained in:
pietervdvn 2021-09-26 19:56:40 +02:00
parent 0efd83c9b6
commit 01d80ef4e8
24 changed files with 112 additions and 12 deletions

View file

@ -135,6 +135,7 @@
"tagRenderings": [
"images",
{
"id": "bike_repair_station-available-services",
"question": {
"en": "Which services are available at this bike station?",
"nl": "Welke functies biedt dit fietspunt?",
@ -294,6 +295,7 @@
"id": "bike_repair_station-opening_hours"
},
{
"id": "bike_repair_station-bike-chain-tool",
"question": {
"en": "Does this bike repair station have a special tool to repair your bike chain?",
"nl": "Heeft dit herstelpunt een speciale reparatieset voor je ketting?",
@ -331,6 +333,7 @@
]
},
{
"id": "bike_repair_station-bike-stand",
"question": {
"en": "Does this bike station have a hook to hang your bike on or a stand to raise it?",
"nl": "Heeft dit herstelpunt een haak of standaard om je fiets op te hangen/zetten?",
@ -488,7 +491,8 @@
],
"id": "bike_repair_station-valves"
},
{
{ "id": "bike_repair_station-electrical_pump",
"question": {
"en": "Is this an electric bike pump?",
"nl": "Is dit een electrische fietspomp?",
@ -531,7 +535,7 @@
}
]
},
{
{ "id": "bike_repair_station-manometer",
"question": {
"en": "Does the pump have a pressure indicator or manometer?",
"nl": "Heeft deze pomp een luchtdrukmeter?",

View file

@ -187,6 +187,7 @@
"tagRenderings": [
"images",
{
"id": "bike_shop-is-bicycle_shop",
"condition": {
"and": [
"shop~*",
@ -301,6 +302,7 @@
"id": "bike_shop-access"
},
{
"id": "bike_repair_sells-bikes",
"question": {
"en": "Does this shop sell bikes?",
"nl": "Verkoopt deze fietszaak fietsen?",
@ -341,6 +343,7 @@
]
},
{
"id": "bike_repair_repairs-bikes",
"question": {
"en": "Does this shop repair bikes?",
"nl": "Herstelt deze winkel fietsen?",
@ -407,6 +410,7 @@
]
},
{
"id": "bike_repair_rents-bikes",
"question": {
"en": "Does this shop rent out bikes?",
"nl": "Verhuurt deze winkel fietsen?",
@ -447,6 +451,7 @@
]
},
{
"id": "bike_repair_second-hand-bikes",
"question": {
"en": "Does this shop sell second-hand bikes?",
"nl": "Verkoopt deze winkel tweedehands fietsen?",
@ -496,6 +501,7 @@
]
},
{
"id": "bike_repair_bike-pump-service",
"question": {
"en": "Does this shop offer a bike pump for use by anyone?",
"nl": "Biedt deze winkel een fietspomp aan voor iedereen?",
@ -542,6 +548,7 @@
]
},
{
"id": "bike_repair_tools-service",
"question": {
"en": "Are there tools here to repair your own bike?",
"nl": "Biedt deze winkel gereedschap aan om je fiets zelf te herstellen?",
@ -588,6 +595,7 @@
]
},
{
"id": "bike_repair_bike-wash",
"question": {
"en": "Are bicycles washed here?",
"nl": "Biedt deze winkel een fietsschoonmaak aan?",

View file

@ -60,6 +60,7 @@
"tagRenderings": [
"images",
{
"id": "bird-hide-shelter-or-wall",
"question": {
"nl": "Is dit een kijkwand of kijkhut?"
},
@ -115,6 +116,7 @@
]
},
{
"id": "bird-hide-wheelchair",
"question": {
"nl": "Is deze vogelkijkplaats rolstoeltoegankelijk?"
},

View file

@ -98,6 +98,7 @@
],
"tagRenderings": [
{
"id": "crossing-type",
"question": {
"en": "What kind of crossing is this?",
"nl": "Wat voor oversteekplaats is dit?"
@ -129,6 +130,7 @@
]
},
{
"id": "crossing-is-zebra",
"question": {
"en": "Is this is a zebra crossing?",
"nl": "Is dit een zebrapad?"
@ -152,6 +154,7 @@
]
},
{
"id": "crossing-bicycle-allowed",
"question": {
"en": "Is this crossing also for bicycles?",
"nl": "Is deze oversteekplaats ook voor fietsers"
@ -175,6 +178,7 @@
]
},
{
"id": "crossing-has-island",
"question": {
"en": "Does this crossing have an island in the middle?",
"nl": "Heeft deze oversteekplaats een verkeerseiland in het midden?"
@ -198,6 +202,7 @@
]
},
{
"id": "crossing-tactile",
"question": {
"en": "Does this crossing have tactile paving?",
"nl": "Heeft deze oversteekplaats een geleidelijn?"
@ -229,6 +234,7 @@
]
},
{
"id": "crossing-button",
"question": {
"en": "Does this traffic light have a button to request green light?",
"nl": "Heeft dit verkeerslicht een knop voor groen licht?"
@ -257,6 +263,7 @@
]
},
{
"id": "crossing-right-turn-through-red",
"question": {
"en": "Can a cyclist turn right when the light is red?",
"nl": "Mag een fietser rechtsaf slaan als het licht rood is?"
@ -289,6 +296,7 @@
]
},
{
"id": "crossing-continue-through-red",
"question": {
"en": "Can a cyclist go straight on when the light is red?",
"nl": "Mag een fietser rechtdoor gaan als het licht rood is?"

View file

@ -672,6 +672,7 @@
"id": "width:carriageway"
},
{
"id": "cycleway-lane-track-traffic-signs",
"question": {
"en": "What traffic sign does this cycleway have?",
"nl": "Welk verkeersbord heeft dit fietspad?"
@ -733,6 +734,7 @@
]
},
{
"id": "cycleway-traffic-signs",
"question": {
"en": "What traffic sign does this cycleway have?",
"nl": "Welk verkeersbord heeft dit fietspad?"
@ -808,6 +810,7 @@
]
},
{
"id": "cycleway-traffic-signs-supplementary",
"question": {
"en": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?",
"nl": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?"
@ -897,6 +900,7 @@
]
},
{
"id": "cycleway-traffic-signs-D7-supplementary",
"question": {
"en": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?",
"nl": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?"
@ -1011,6 +1015,7 @@
"id": "cycleways_and_roads-cycleway:buffer"
},
{
"id": "cyclelan-segregation",
"question": {
"en": "How is this cycleway separated from the road?",
"nl": "Hoe is dit fietspad gescheiden van de weg?"
@ -1053,6 +1058,7 @@
]
},
{
"id": "cycleway-segregation",
"question": {
"en": "How is this cycleway separated from the road?",
"nl": "Hoe is dit fietspad gescheiden van de weg?"

View file

@ -68,6 +68,7 @@
"tagRenderings": [
"images",
{
"id": "defibrillator-indoors",
"question": {
"en": "Is this defibrillator located indoors?",
"ca": "Està el desfibril·lador a l'interior?",

View file

@ -155,6 +155,7 @@
"id": "Bottle refill"
},
{
"id": "render-closest-drinking-water",
"render": {
"en": "<a href='#{_closest_other_drinking_water_id}'>There is another drinking water fountain at {_closest_other_drinking_water_distance} meter</a>",
"nl": "<a href='#{_closest_other_drinking_water_id}'>Er bevindt zich een ander drinkwaterpunt op {_closest_other_drinking_water_distance} meter</a>",

View file

@ -430,6 +430,7 @@
"id": "halal (no friture)"
},
{
"id": "friture-vegetarian",
"question": {
"nl": "Heeft deze frituur vegetarische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétariens ?"
@ -460,6 +461,7 @@
"condition": "cuisine=friture"
},
{
"id": "friture-vegan",
"question": {
"nl": "Heeft deze frituur veganistische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétaliens ?"
@ -490,6 +492,7 @@
"condition": "cuisine=friture"
},
{
"id": "friture-oil",
"question": {
"nl": "Bakt deze frituur met dierlijk vet of met plantaardige olie?",
"fr": "Cette friteuse fonctionne-t-elle avec de la graisse animale ou végétale ?"
@ -513,6 +516,7 @@
"condition": "cuisine=friture"
},
{
"id": "friture-take-your-container",
"question": {
"nl": "Als je je eigen container (bv. kookpot of kleine potjes voor saus) meeneemt, gebruikt de frituur deze dan om je bestelling in te doen?",
"fr": "Est-il proposé dutiliser ses propres contenants pour sa commande ?<br/>",

View file

@ -78,6 +78,7 @@
],
"tagRenderings": [
{
"id": "ghost-bike-explanation",
"render": {
"en": "A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.",
"nl": "Een Witte Fiets (of Spookfiets) is een aandenken aan een fietser die bij een verkeersongeval om het leven kwam. Het gaat over een witgeschilderde fiets die geplaatst werd in de buurt van het ongeval.",

View file

@ -44,9 +44,11 @@
"tagRenderings": [
"images",
{
"id": "explanation",
"render": "Op dit grasveld in het park mag je spelen, picnicken, zitten, ..."
},
{
"id": "grass-in-parks-reviews",
"render": "{reviews(name, landuse=grass )}"
}
]

View file

@ -75,6 +75,7 @@
"id": "map-map_source"
},
{
"id": "map-attribution",
"question": {
"en": "Is the OpenStreetMap-attribution given?",
"nl": "Is de attributie voor OpenStreetMap aanwezig?",

View file

@ -55,6 +55,7 @@
"id": "play_forest-operator"
},
{
"id": "play_forest-opening_hours",
"question": "Wanneer is deze speelzone toegankelijk?",
"mappings": [
{
@ -87,6 +88,7 @@
},
"questions",
{
"id": "play_forest-reviews",
"render": "{reviews(name, play_forest)}"
}
],

View file

@ -165,6 +165,7 @@
"id": "playground-surface"
},
{
"id": "playground-lit",
"question": {
"nl": "Is deze speeltuin 's nachts verlicht?",
"en": "Is this playground lit at night?",
@ -260,6 +261,7 @@
"id": "playground-operator"
},
{
"id": "playground-access",
"question": {
"nl": "Is deze speeltuin vrij toegankelijk voor het publiek?",
"en": "Is this playground accessible to the general public?",
@ -370,6 +372,7 @@
"id": "playground-phone"
},
{
"id": "Playground-wheelchair",
"question": {
"nl": "Is deze speeltuin toegankelijk voor rolstoelgebruikers?",
"en": "Is this playground accessible to wheelchair users?",
@ -464,6 +467,7 @@
},
"questions",
{
"id": "playground-reviews",
"render": "{reviews(name, playground)}"
}
],

View file

@ -82,6 +82,7 @@
"tagRenderings": [
"images",
{
"id": "minimap",
"render": "{minimap():height: 9rem; border-radius: 2.5rem; overflow:hidden;border:1px solid gray}"
},
{
@ -149,6 +150,7 @@
"id": "public_bookcase-capacity"
},
{
"id": "bookcase-booktypes",
"question": {
"en": "What kind of books can be found in this public bookcase?",
"nl": "Voor welke doelgroep zijn de meeste boeken in dit boekenruilkastje?",
@ -194,6 +196,7 @@
]
},
{
"id": "bookcase-is-indoors",
"question": {
"en": "Is this bookcase located outdoors?",
"nl": "Staat dit boekenruilkastje binnen of buiten?",
@ -236,6 +239,7 @@
]
},
{
"id": "bookcase-is-accessible",
"question": {
"en": "Is this public bookcase freely accessible?",
"nl": "Is dit boekenruilkastje publiek toegankelijk?",

View file

@ -67,6 +67,7 @@
"tagRenderings": [
"images",
{
"id": "explanation",
"mappings": [
{
"if": "highway=living_street",
@ -205,6 +206,7 @@
"id": "slow_roads-surface"
},
{
"id": "slow_road_is_lit",
"question": "Is deze weg 's nachts verlicht?",
"mappings": [
{

View file

@ -216,6 +216,7 @@
"id": "sport_pitch-surface"
},
{
"id": "sport-pitch-access",
"question": {
"nl": "Is dit sportterrein publiek toegankelijk?",
"fr": "Est-ce que ce terrain de sport est accessible au public ?",
@ -266,6 +267,7 @@
]
},
{
"id": "sport-pitch-reservation",
"question": {
"nl": "Moet men reserveren om gebruik te maken van dit sportveld?",
"fr": "Doit-on réserver pour utiliser ce terrain de sport ?",
@ -384,7 +386,8 @@
"id": "sport_pitch-opening_hours"
},
"questions",
{
{ "id": "sport-pitch-reviews",
"render": "{reviews(name, sportpitch)}"
}
],

View file

@ -171,6 +171,7 @@
"id": "toilet-access"
},
{
"id": "toilets-fee",
"question": {
"en": "Are these toilets free to use?",
"de": "Können diese Toiletten kostenlos benutzt werden?",
@ -227,6 +228,7 @@
"id": "toilet-charge"
},
{
"id": "toilets-wheelchair",
"question": {
"en": "Is there a dedicated toilet for wheelchair users",
"de": "Gibt es eine Toilette für Rollstuhlfahrer?",
@ -259,6 +261,7 @@
]
},
{
"id": "toilets-type",
"question": {
"en": "Which kind of toilets are this?",
"de": "Welche Art von Toiletten sind das?",
@ -311,6 +314,7 @@
]
},
{
"id": "toilets-changing-table",
"question": {
"en": "Is a changing table (to change diapers) available?",
"de": "Ist ein Wickeltisch (zum Wechseln der Windeln) vorhanden?",

View file

@ -33,6 +33,7 @@
"tagRenderings": [
"images",
{
"id": "trail-length",
"render": {
"en": "The trail is {_length:km} kilometers long",
"nl": "Deze wandeling is {_length:km} kilometer lang"

View file

@ -42,6 +42,7 @@
"tagRenderings": [
"images",
{
"id": "tree-height",
"render": {
"nl": "Hoogte: {height}",
"en": "Height: {height}",
@ -72,6 +73,7 @@
]
},
{
"id": "tree-leaf_type",
"question": {
"nl": "Is dit een naald- of loofboom?",
"en": "Is this a broadleaved or needleleaved tree?",
@ -122,6 +124,7 @@
]
},
{
"id": "tree-denotation",
"question": {
"nl": "Hoe significant is deze boom? Kies het eerste antwoord dat van toepassing is.",
"en": "How significant is this tree? Choose the first answer that applies.",
@ -235,7 +238,7 @@
}
]
},
{
{ "id": "tree-decidouous",
"question": {
"nl": "Is deze boom groenblijvend of bladverliezend?",
"en": "Is this tree evergreen or deciduous?",
@ -328,6 +331,7 @@
"id": "tree_node-name"
},
{
"id": "tree-heritage",
"question": {
"nl": "Is deze boom erkend als erfgoed?",
"en": "Is this tree registered heritage?",

View file

@ -28,9 +28,11 @@
"tagRenderings": [
"images",
{
"id": "village_green-explanation",
"render": "Dit is een klein stukje openbaar groen waar je mag spelen, picnicken, zitten, ..."
},
{
"id": "village_green-reviews",
"render": "{reviews(name, landuse=village_green )}"
}
]

View file

@ -24,6 +24,7 @@
},
"tagRenderings": [
{
"id": "waste-basket-waste-types",
"question": {
"en": "What kind of waste basket is this?",
"nl": "Wat voor soort vuilnisbak is dit?"

View file

@ -61,6 +61,7 @@
},
"tagRenderings": [
{
"id": "grb-housenumber",
"render": {
"nl": "Het huisnummer is <b>{addr:housenumber}</b>"
},
@ -112,6 +113,7 @@
]
},
{
"id": "grb-unit",
"question": "Wat is de wooneenheid-aanduiding?",
"render": {
"nl": "De wooneenheid-aanduiding is <b>{addr:unit}</b> "
@ -127,6 +129,7 @@
]
},
{
"id": "grb-street",
"render": {
"nl": "De straat is <b>{addr:street}</b>"
},
@ -138,6 +141,7 @@
}
},
{
"id": "grb-fixme",
"render": {
"nl": "De fixme is <b>{fixme}</b>"
},
@ -161,6 +165,7 @@
]
},
{
"id": "grb-min-level",
"render": {
"nl": "Dit gebouw begint maar op de {building:min_level} verdieping"
},

View file

@ -76,6 +76,7 @@
},
"tagRenderings": [
{
"id": "hydrant-color",
"question": {
"en": "What color is the hydrant?",
"ja": "消火栓の色は何色ですか?",
@ -138,6 +139,7 @@
]
},
{
"id": "hydrant-type",
"question": {
"en": "What type of hydrant is it?",
"ja": "どんな消火栓なんですか?",
@ -224,6 +226,7 @@
]
},
{
"id": "hydrant-state",
"question": {
"en": "Update the lifecycle status of the hydrant.",
"ja": "消火栓のライフサイクルステータスを更新します。",
@ -351,6 +354,7 @@
},
"tagRenderings": [
{
"id": "extinguisher-location",
"render": {
"en": "Location: {location}",
"ja": "場所:{location}",
@ -469,6 +473,7 @@
},
"tagRenderings": [
{
"id": "station-name",
"freeform": {
"key": "name"
},
@ -488,6 +493,7 @@
}
},
{
"id": "station-street",
"freeform": {
"key": "addr:street"
},
@ -506,6 +512,7 @@
}
},
{
"id": "station-place",
"question": {
"en": "Where is the station located? (e.g. name of neighborhood, villlage, or town)",
"ja": "このステーションの住所は?(例: 地区、村、または町の名称)",
@ -523,6 +530,7 @@
}
},
{
"id": "station-agency",
"question": {
"en": "What agency operates this station?",
"ja": "このステーションを運営しているのはどこですか?",
@ -553,6 +561,7 @@
]
},
{
"id": "station-operator",
"question": {
"en": "How is the station operator classified?",
"ja": "ステーションの運営の分類は?",
@ -681,6 +690,7 @@
},
"tagRenderings": [
{
"id": "ambulance-name",
"freeform": {
"key": "name"
},
@ -698,6 +708,7 @@
}
},
{
"id": "ambulance-street",
"freeform": {
"key": "addr:street"
},
@ -715,6 +726,7 @@
}
},
{
"id": "ambulance-place",
"question": {
"en": "Where is the station located? (e.g. name of neighborhood, villlage, or town)",
"ja": "このステーションの住所は?(例: 地区、村、または町の名称)",
@ -731,6 +743,7 @@
}
},
{
"id": "ambulance-agency",
"question": {
"en": "What agency operates this station?",
"ja": "このステーションを運営しているのはどこですか?",
@ -747,6 +760,7 @@
"mappings": []
},
{
"id": "ambulance-operator-type",
"question": {
"en": "How is the station operator classified?",
"ja": "ステーションの運営の分類は?",

View file

@ -8,23 +8,39 @@
import ScriptUtils from "./ScriptUtils";
import {readFileSync, writeFileSync} from "fs";
import {tag} from "@turf/turf";
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
const layerFiles = ScriptUtils.getLayerFiles();
for (const layerFile of layerFiles) {
console.log("Handling ", layerFile.path)
for (const tagRendering of layerFile.parsed.tagRenderings) {
/**
* In place fix
*/
function fixLayerConfig(config: LayerConfigJson) : void{
for (const tagRendering of config.tagRenderings) {
if(tagRendering["#"] !== undefined){
tagRendering["id"] = tagRendering["#"]
delete tagRendering["#"]
}
if(tagRendering["id"] === undefined){
if(tagRendering["freeform"]?.key !== undefined ) {
tagRendering["id"] = layerFile.parsed.id+"-"+tagRendering["freeform"]["key"]
tagRendering["id"] = config.id+"-"+tagRendering["freeform"]["key"]
}
}
}
}
const layerFiles = ScriptUtils.getLayerFiles();
for (const layerFile of layerFiles) {
fixLayerConfig(layerFile.parsed)
writeFileSync(layerFile.path, JSON.stringify(layerFile.parsed, null, " "))
}
const themeFiles = ScriptUtils.getThemeFiles()
for (const themeFile of themeFiles) {
for (const layerConfig of themeFile.parsed.layers) {
if(typeof layerConfig === "string" || layerConfig["builtin"]!== undefined){
continue
}
// @ts-ignore
fixLayerConfig(layerConfig)
}
writeFileSync(themeFile.path, JSON.stringify(themeFile.parsed, null, " "))
}