diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 12b9494f4..4795462f8 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "bradlc.vscode-tailwindcss", "editorconfig.editorconfig", "dbaeumer.vscode-eslint", - "robin-van-der-linde.mapcompletevscode" + "robin-van-der-linde.mapcompletevscode", + "vitest.explorer" ] } diff --git a/assets/layers/pipeline/pipeline.json b/assets/layers/pipeline/pipeline.json new file mode 100644 index 000000000..38e73e592 --- /dev/null +++ b/assets/layers/pipeline/pipeline.json @@ -0,0 +1,152 @@ +{ + "id": "pipeline", + "name": { + "en": "Pipelines", + "nl": "Pijpleidingen" + }, + "description": { + "en": "Layer showing pipelines for transport of various substances.", + "nl": "Laag die pijpleidingen toont voor het transport van verschillende stoffen." + }, + "source": { + "osmTags": "man_made=pipeline" + }, + "minzoom": 13, + "title": { + "render": { + "en": "Pipeline", + "nl": "Pijpleiding" + } + }, + "pointRendering": [ + { + "location": [ + "point" + ], + "marker": [ + { + "icon": "circle", + "color": "black" + } + ] + } + ], + "lineRendering": [ + { + "width": 4, + "color": { + "render": "black", + "mappings": [ + { + "if": "location=underground", + "then": "gray" + } + ] + } + } + ], + "tagRenderings": [ + "images", + { + "id": "location", + "question": { + "en": "Where is this pipeline located?", + "nl": "Waar is deze pijpleiding gelegen?" + }, + "mappings": [ + { + "if": "location=underground", + "then": { + "en": "This pipeline is located underground.", + "nl": "Deze pijpleiding is ondergronds gelegen." + } + }, + { + "if": "location=overground", + "then": { + "en": "This pipeline is located above ground.", + "nl": "Deze pijpleiding is bovengronds gelegen." + } + }, + { + "if": "location=overhead", + "then": { + "en": "This pipeline is located overhead.", + "nl": "Deze pijpleiding ligt enkele meters boven de grond." + } + }, + { + "if": "location=underwater", + "then": { + "en": "This pipeline is located underwater.", + "nl": "Deze pijpleiding ligt onder water." + } + } + ] + }, + { + "id": "substance", + "question": { + "en": "What substance is transported in this pipeline?", + "nl": "Welke stof wordt in deze pijpleiding getransporteerd?" + }, + "render": { + "en": "This pipeline transports {substance}", + "nl": "Deze pijpleiding transporteert {substance}" + }, + "freeform": { + "key": "substance", + "type": "string", + "placeholder": { + "en": "Substance name", + "nl": "Naam van de stof" + } + }, + "mappings": [ + { + "if": "substance=gas", + "then": { + "en": "This pipeline transports gas.", + "nl": "Deze pijpleiding transporteert gas." + } + }, + { + "if": "substance=oil", + "then": { + "en": "This pipeline transports oil.", + "nl": "Deze pijpleiding transporteert olie." + } + }, + { + "if": "substance=water", + "then": { + "en": "This pipeline transports water.", + "nl": "Deze pijpleiding transporteert water." + } + }, + { + "if": "substance=hot_water", + "then": { + "en": "This pipeline transports hot water.", + "nl": "Deze pijpleiding transporteert heet water." + } + }, + { + "if": "substance=sewage", + "then": { + "en": "This pipeline transports sewage.", + "nl": "Deze pijpleiding transporteert rioolwater." + } + }, + { + "if": "substance=rainwater", + "then": { + "en": "This pipeline transports rainwater.", + "nl": "Deze pijpleiding transporteert regenwater." + } + } + ] + } + ], + "allowMove": false +} \ No newline at end of file diff --git a/assets/layers/power_cable/power_cable.json b/assets/layers/power_cable/power_cable.json new file mode 100644 index 000000000..c524cfe9a --- /dev/null +++ b/assets/layers/power_cable/power_cable.json @@ -0,0 +1,118 @@ +{ + "id": "power_cable", + "name": { + "en": "Power Cables", + "nl": "Kabels" + }, + "description": { + "en": "Power cables", + "nl": "Kabels" + }, + "source": { + "osmTags": "power=cable" + }, + "minzoom": 15, + "title": { + "render": { + "en": "Power Cable" + } + }, + "pointRendering": [ + { + "marker": [ + { + "icon": "lightning", + "color": "#ffcc00" + } + ], + "location": [ + "point" + ] + } + ], + "lineRendering": [ + { + "color": "#ffcc00", + "width": 5, + "dashArray": "1 1" + } + ], + "tagRenderings": [ + { + "builtin": "power_line.operator", + "override": { + "question": { + "en": "Who is the operator of this power cable?" + }, + "render": { + "en": "The operator of this power cable is {operator}." + } + } + }, + { + "builtin": "power_line.voltage", + "override": { + "question": { + "en": "What is the voltage of this power cable?" + }, + "render": { + "en": "This power cable operates at {voltage} volts." + }, + "=mappings": [ + { + "if": "voltage=20000", + "then": { + "en": "The voltage of this power cable is 20 kV." + } + }, + { + "if": "voltage=11000", + "then": { + "en": "The voltage of this power cable is 11 kV." + } + }, + { + "if": "voltage=15000", + "then": { + "en": "The voltage of this power cable is 15 kV." + } + } + ] + } + }, + { + "builtin": "power_line.cables", + "override": { + "question": { + "en": "How many cables are there in this power cable?" + }, + "render": { + "en": "This power cable has {cables} cables." + } + } + }, + { + "builtin": "power_line.frequency", + "override": { + "question": { + "en": "What is the frequency of this power cable?" + }, + "render": { + "en": "This power cable operates at {frequency} Hz." + } + } + }, + { + "builtin": "power_line.circuits", + "override": { + "question": { + "en": "How many circuits are there in this power cable?" + }, + "render": { + "en": "This power cable has {circuits} circuits." + } + } + } + ], + "allowMove": false +} \ No newline at end of file diff --git a/assets/layers/power_generator/battery.svg b/assets/layers/power_generator/battery.svg new file mode 100644 index 000000000..162376eda --- /dev/null +++ b/assets/layers/power_generator/battery.svg @@ -0,0 +1,46 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + +