Merge branch 'develop'

This commit is contained in:
Pieter Vander Vennet 2025-04-17 00:32:32 +02:00
commit 77af14e9c6
18 changed files with 597 additions and 4 deletions

View file

@ -47,7 +47,6 @@ jobs:
vitest --run test && npm run clean:tests
shell: bash
- name: Build files
run: npm run build
@ -92,5 +91,3 @@ jobs:
fi
env:
FORGEJO_TOKEN: ${{ secrets.FORGEJO_TOKEN }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Michael Glotz-Richter, Referatsleitung nachhaltige Mobilität, Senator für Umwelt, Bau und Verkehr Bremen
SPDX-License-Identifier: CC-BY-SA-3.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: SPQRobin
SPDX-License-Identifier: CC-BY-SA-4.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Robin van der Linde
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="275"
height="275"
viewBox="0 0 275 275"
role="img"
version="1.1"
id="svg4"
sodipodi:docname="hub-gd.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
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="defs4" />
<sodipodi:namedview
id="namedview4"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="2.7018182"
inkscape:cx="137.68506"
inkscape:cy="137.5"
inkscape:window-width="1704"
inkscape:window-height="996"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M275 137.5c0-45.833-41.25-50.417-64.167-73.333C187.917 41.25 183.333 0 137.5 0S87.084 41.25 64.166 64.167C41.25 87.083 0 91.667 0 137.5s41.25 50.417 64.166 73.333C87.084 233.75 91.666 275 137.5 275c45.833 0 50.417-41.25 73.333-64.167C233.75 187.917 275 183.333 275 137.5z"
class="base"
id="path1"
style="fill:#0078dc;fill-opacity:1" />
<g
class="txt"
id="g4"
style="fill:#ffffff">
<path
d="M108.479 137.215v29.596h-8.781v-26.994c0-3.469.217-8.022-.976-11.383-1.626-4.553-5.637-6.722-10.3-6.722-2.167 0-8.021.65-11.382 6.397-2.494 4.445-2.385 9.215-2.385 13.876v24.826h-8.673V99.687h8.706l.075 21.159c5.855-6.288 11.817-6.722 15.394-6.722 6.83 0 10.842 2.385 13.01 4.337.434.433 1.192 1.192 2.168 2.601 3.36 4.879 3.144 10.408 3.144 16.153z"
class="h"
id="path2"
style="fill:#ffffff" />
<path
d="M158.705 166.811h-8.456l-.108-7.805c-.434.65-.976 1.41-2.169 2.602-4.12 4.12-9.323 6.504-15.177 6.504-1.843 0-9.757-.325-13.66-6.721-2.927-4.879-2.601-10.407-2.601-15.72V115.75h8.564v29.054c0 5.42 0 7.805 1.192 10.3 1.084 2.167 3.795 4.878 9.324 4.878 1.951 0 8.456-.434 12.142-5.855 2.601-3.794 2.493-8.456 2.493-12.792V115.75h8.456v51.061z"
class="u"
id="path3"
style="fill:#ffffff" />
<path
d="M217.268 141.226c0 2.82 0 11.492-5.529 18.756-3.035 4.01-6.288 5.745-8.022 6.504-1.735.759-5.096 1.952-10.083 1.952-6.07 0-9.431-1.735-11.708-3.036-2.385-1.41-4.12-2.927-5.746-5.204v6.613h-8.672V99.687h8.672v23.11c.434-.65 1.084-1.735 2.385-2.927 4.012-4.011 9.649-5.746 15.178-5.746 3.469 0 11.058.542 17.237 7.697 2.927 3.47 6.288 9.106 6.288 19.405zm-9.215-.325c0-1.626.108-6.504-2.385-10.95-1.518-2.601-5.42-7.913-13.443-7.913-6.179 0-9.648 2.927-11.275 4.661-2.602 2.711-4.878 6.722-4.987 14.744 0 5.638 1.193 9.107 2.385 11.275 1.41 2.819 5.313 8.348 13.877 8.348 2.927 0 5.854-.65 8.24-2.277 3.577-2.385 7.588-7.914 7.588-17.888z"
class="b"
id="path4"
style="fill:#ffffff" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: OV-Bureau Groningen Drenthe
SPDX-License-Identifier: LicenseRef-ALL-RIGHTS-RESERVED

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Robin van der Linde
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,70 @@
[
{
"path": "Mobil.punkt.jpg",
"license": "CC-BY-SA-3.0",
"authors": [
"Michael Glotz-Richter, Referatsleitung nachhaltige Mobilität, Senator für Umwelt, Bau und Verkehr Bremen"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Mobil.punkt_in_Bremen.jpg"
]
},
{
"path": "hoppin.jpg",
"license": "CC-BY-SA-4.0",
"authors": [
"SPQRobin"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Hoppinzuil_station_Kapelle-op-den-Bos.jpg"
]
},
{
"path": "hub-gd-sign.jpg",
"license": "CC0-1.0",
"authors": [
"Robin van der Linde"
],
"sources": []
},
{
"path": "hub-gd.svg",
"license": "ALL-RIGHTS-RESERVED",
"authors": [
"OV-Bureau Groningen Drenthe"
],
"sources": [
"https://www.reisviahub.nl/",
"https://ovbureau.nl/"
]
},
{
"path": "hub.svg",
"license": "CC0-1.0",
"authors": [
"Robin van der Linde"
],
"sources": []
},
{
"path": "logo-hoppin.svg",
"license": "CC0-1.0",
"authors": [
"original unknown; traced by M!dgard"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Hoppin_logo.svg"
]
},
{
"path": "logo-hub.svg",
"license": "ALL-RIGHTS-RESERVED",
"authors": [
"Mijksenaar"
],
"sources": [
"https://www.mobiliteitshubs.nl/documenten/211-de-identiteit-voor-hubs",
"https://www.zeeland.nl/sites/default/files/2022-07/2022-07-11%20Handboek%20identiteit%20hubs%20V1.pdf"
]
}
]

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg:svg
width="500"
height="500"
version="1.1"
viewBox="0 0 500 500"
id="svg15"
sodipodi:docname="logo-hoppin.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:svg="http://www.w3.org/2000/svg">
<svg:defs
id="defs15" />
<sodipodi:namedview
id="namedview15"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.3701474"
inkscape:cx="386.45476"
inkscape:cy="127.35856"
inkscape:window-width="1704"
inkscape:window-height="996"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g15" />
<svg:g
id="g15">
<svg:g
id="g16"
transform="translate(67.183734,-7.4705025)">
<svg:path
d="M 44.762672,463.94124 V 50.999765"
fill="none"
stroke="#59bba2"
stroke-linecap="round"
stroke-width="87.0585"
id="path1" />
<svg:path
d="M 321.14908,463.94124 V 50.999765"
fill="none"
stroke="#59bba2"
stroke-linecap="round"
stroke-width="87.0585"
id="path2" />
<svg:g
fill="#59bba2"
id="g8"
transform="matrix(8.3493362,0,0,8.3493362,-3.7486416,-54.903216)">
<svg:path
d="m 0.59673,35.253 c 0,0 -0.5714,1.8115 1.2202,6.1124 0.17452,0.41895 0.39508,0.88394 0.67069,1.3794 1.005,1.8066 2.6202,3.797 5.0639,5.5141 1.976,1.3884 4.3031,2.462 6.8912,3.138 2.6284,0.68648 5.3249,0.91162 7.9522,0.7798 3.429,-0.17004 6.1851,-1.3915 7.8699,-2.2698 0.09218,-0.04805 0.18173,-0.09539 0.26855,-0.14182 1.5778,-0.84364 3.9568,-2.2181 6.4305,-4.7138 2.0165,-2.0345 3.7256,-4.4525 4.9593,-7.1323 1.3225,-2.873 1.8339,-5.48 1.9655,-7.2929 0.04145,-0.57083 0.06191,-1.1392 0.06191,-1.7042 v -15.371 a 5.089,5.089 90 0 0 -10.178,0 v 15.371 c 0,0.31932 -0.01156,0.64182 -0.03518,0.96713 -0.07504,1.0334 -0.19142,2.5493 -0.77964,4.4119 -0.55022,1.7422 -1.405,3.4252 -2.5321,4.914 -1.3618,1.7989 -2.7973,2.8834 -3.7264,3.3802 -0.0524,0.02802 -0.10644,0.05617 -0.16205,0.08433 -1.0783,0.5461 -2.6112,1.0314 -4.2605,0.9275 -1.8261,-0.07105 -3.5638,-0.42086 -5.1167,-1.0243 -1.5258,-0.59288 -2.7132,-1.3674 -3.5919,-2.1686 -1.064,-0.97014 -1.5995,-1.9047 -1.9061,-2.5566 -0.08756,-0.18619 -0.15954,-0.35603 -0.22012,-0.50147 -0.60748,-1.4583 -0.41846,-2.103 -0.41846,-2.103 a 5.2135,5.2135 90 0 0 -10.427,0 z"
id="path4" />
</svg:g>
<svg:g
fill="#614496"
id="g14"
transform="matrix(8.3493362,0,0,8.3493362,-3.7486416,-54.903216)">
<svg:path
d="m 5.8105,7.4707 a 5.2135,5.2135 0 0 0 -5.2129,5.2129 v 24.504 c 0.13162,0.9816 0.45331,2.3402 1.2187,4.1777 0.17452,0.41895 0.39627,0.88349 0.67188,1.3789 1.005,1.8066 2.6188,3.7966 5.0625,5.5137 1.0598,0.74468 2.2247,1.3946 3.4727,1.9453 v -9.4883 c 0.0292,-0.0599 0.05366,-0.11735 0.08398,-0.17774 0.62918,-1.2528 1.6188,-2.8236 3.0156,-4.3633 1.3092,-1.4429 2.891,-2.7596 4.6055,-3.6191 0.77724,-0.38966 1.5474,-0.66769 2.2969,-0.82813 0.72642,-0.15549 1.4198,-0.19898 2.0938,-0.13672 1.8181,0.15584 3.4434,0.72881 4.834,1.5547 l 0.44727,-10.471 c -1.6575,-0.38264 -3.3855,-0.56491 -5.1523,-0.51953 -1.6923,0.02989 -3.2933,0.3342 -4.7773,0.82422 -1.5204,0.502 -2.9119,1.1974 -4.1641,1.9902 -1.2062,0.76374 -2.2968,1.6325 -3.2832,2.543 V 12.6835 A 5.2135,5.2135 0 0 0 5.81063,7.4706 Z"
id="path9" />
<svg:path
d="m 23.119,31.59 c 3.0518,0.26158 5.5751,1.6785 7.3223,3.541 0.8611,0.91794 1.6557,2.0739 2.2266,3.5117 0.52981,1.3344 0.87354,2.9301 0.875,4.8066 0.0056,5.9286 0.10547,11.83 0.10547,14.746 v 3.6855 c 7.97e-4,2.879 2.3349,5.2124 5.2139,5.2124 2.879,0 5.2131,-2.3334 5.2139,-5.2124 v -3.6855 c 0,-2.9158 0.09792,-8.8175 0.10352,-14.746 0.0015,-3.225 -0.60962,-6.1912 -1.7012,-8.8203 -1.1737,-2.827 -2.8402,-5.1171 -4.6816,-6.8887 -3.7606,-3.6179 -8.9665,-5.7293 -14.549,-5.5859 z"
id="path10" />
</svg:g>
</svg:g>
</svg:g>
<div
id="divScriptsUsed"
style="display: none" />
<script
id="globalVarsDetection"
src="moz-extension://191fb6fc-6816-4a50-b97f-142979bf7e1e/js/wrs_env.js" />
</svg:svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: original unknown; traced by M!dgard
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1"
width="500"
height="500"
viewBox="0 0 500 500"
sodipodi:docname="logo-hub.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
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="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.68921927"
inkscape:cx="263.34145"
inkscape:cy="171.93367"
inkscape:window-width="1704"
inkscape:window-height="996"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g2" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g1">
<g
id="g2"
transform="matrix(0.95907346,0,0,0.95907346,-181.59777,-157.86425)">
<path
style="fill:#00b26b;fill-opacity:1;stroke:none;stroke-width:0.99"
d="m 436.5236,681.36291 c -6.74741,-2.13918 -14.9843,-7.26966 -34.32508,-21.37991 -68.5756,-50.02998 -120.91693,-107.10242 -149.04086,-162.51261 -17.0909,-33.67273 -25.59741,-65.40593 -26.628,-99.33465 -1.15068,-37.88281 6.06308,-71.70048 22.46148,-105.29805 30.02816,-61.52265 86.3781,-106.04268 152.70885,-120.6497 17.43029,-3.83841 28.50629,-4.98052 48.30017,-4.98052 19.79387,0 30.86987,1.14211 48.30016,4.98052 94.21933,20.7485 164.51505,100.20844 174.54536,197.3003 1.58552,15.34767 0.64021,42.86331 -1.97525,57.4944 -13.20508,73.87025 -65.11208,147.83867 -152.43593,217.22396 -13.05291,10.37151 -39.96705,29.70314 -46.65434,33.51044 -10.2471,5.83402 -23.90103,7.24594 -35.25656,3.64582 z"
id="path1"
sodipodi:nodetypes="sssssssssssss" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:177.423px;font-family:MnSymbol;-inkscape-font-specification:MnSymbol;text-align:start;letter-spacing:1px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:5.41727;stroke-dasharray:none;paint-order:fill markers stroke"
x="295.55676"
y="457.04883"
id="text1"><tspan
sodipodi:role="line"
id="tspan1"
x="295.55676"
y="457.04883"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:177.423px;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:1px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:5.41727;stroke-dasharray:none">hub</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Mijksenaar
SPDX-License-Identifier: LicenseRef-ALL-RIGHTS-RESERVED

View file

@ -0,0 +1,256 @@
{
"credits": "Robin van der Linde",
"minzoom": 8,
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": {
"mappings": [
{
"if": "network=Hoppin",
"then": "square_rounded"
}
]
},
"color": "white"
},
{
"icon": {
"mappings": [
{
"if": {
"and": [
"_country=nl",
"network!=Groningen-Drenthe"
]
},
"then": "./assets/layers/mobility_hub/logo-hub.svg"
},
{
"if": "network=Groningen-Drenthe",
"then": "./assets/layers/mobility_hub/hub-gd.svg"
},
{
"if": "network=Hoppin",
"then": "./assets/layers/mobility_hub/logo-hoppin.svg"
}
],
"render": "./assets/layers/mobility_hub/hub.svg"
}
}
],
"anchor": {
"render": "bottom",
"mappings": [
{
"if": "network=Groningen-Drenthe",
"then": "center"
}
]
}
}
],
"tagRenderings": [
"images",
{
"question": {
"en": "What is the name of this mobility hub?",
"nl": "Wat is de naam van deze mobiliteitshub?"
},
"id": "name",
"render": {
"en": "This mobility hub is called {name}",
"nl": "Deze mobiliteitshub heet {name}"
},
"freeform": {
"key": "name",
"type": "string",
"placeholder": {
"en": "Name of the mobility hub",
"nl": "Naam van de mobiliteitshub"
}
}
},
{
"question": {
"en": "To which network does this mobility hub belong to?",
"nl": "Bij welk netwerk hoort deze mobiliteitshub?"
},
"id": "network",
"freeform": {
"key": "network",
"type": "string",
"placeholder": {
"en": "Network for this mobility hub",
"nl": "Netwerk van deze mobiliteitshub"
},
"addExtraTags": [
"network:wikidata="
]
},
"render": {
"en": "This mobility hub belongs to the network {network}",
"nl": "Deze mobiliteitshub hoort bij het netwerk {network}"
},
"mappings": [
{
"if": "network=Groningen-Drenthe",
"then": {
"en": "This mobility hub belongs to the Groningen-Drenthe network",
"nl": "Deze mobiliteitshub hoort bij het netwerk Groningen-Drenthe"
},
"hideInAnswer": "_country!=nl",
"icon": "./assets/layers/mobility_hub/hub-gd.svg",
"addExtraTags": [
"network:wikidata=Q108742233"
]
},
{
"if": "network=Hoppin",
"then": {
"en": "This mobility hub belongs to the Hoppin network",
"nl": "Deze mobiliteitshub hoort bij het Hoppin netwerk"
},
"hideInAnswer": "_country!=be",
"icon": "./assets/layers/mobility_hub/logo-hoppin.svg",
"addExtraTags": [
"network:wikidata=Q124310711"
]
},
{
"if": "network=Jelbi",
"then": {
"en": "This mobility hub belongs to the Jelbi network",
"nl": "Deze mobiliteitshub hoort bij het Jelbi netwerk"
},
"hideInAnswer": "_country!=de",
"addExtraTags": [
"network:wikidata=Q110948933"
]
}
]
},
"website",
{
"id": "physical_marker",
"question": {
"en": "What kind of physical marker is used to mark this mobility hub?",
"nl": "Wat voor fysieke markering is er voor deze mobiliteitshub?"
},
"mappings": [
{
"if": {
"and": [
"tourism=information",
"information=board"
]
},
"then": {
"en": "This mobility hub is marked by a board, containing information about the hub",
"nl": "Deze mobiliteitshub is gemarkeerd door een bord, met informatie over de hub"
}
},
{
"if": {
"and": [
"tourism=information",
"information=terminal"
]
},
"then": {
"en": "This mobility hub is marked by a sign with an electronic display",
"nl": "Deze mobiliteitshub is gemarkeerd door een bord met een elektronisch display"
}
},
{
"if": {
"and": [
"tourism=information",
"information=sign"
]
},
"then": {
"en": "This mobility hub is marked by a simple sign showing only basic information like the logo or name",
"nl": "Deze mobiliteitshub is gemarkeerd door een eenvoudig bord met alleen simpele informatie zoals het logo of de naam"
}
}
]
}
],
"lineRendering": [
{
"width": 1,
"color": {
"render": "#00b26b",
"mappings": [
{
"if": "network=Groningen-Drenthe",
"then": "#0077db"
},
{
"if": "network=Jelbi",
"then": "#f0d722"
}
]
}
}
],
"credits:uid": 5093765,
"id": "mobility_hub",
"name": {
"en": "Mobility Hubs",
"nl": "Mobiliteitshubs"
},
"source": {
"osmTags": "amenity=mobility_hub"
},
"description": {
"en": "Mobility hubs are places where different kinds of transit meet, making it easy to switch between them. These places are usually part of a larger network or system.",
"nl": "Mobiliteitshubs zijn plaatsen waar verschillende soorten vervoer bij elkaar komen, waardoor het makkelijk is om te wisselen van vervoer. Deze plaatsen maken meestal deel uit van een groter netwerk of systeem."
},
"title": {
"render": {
"en": "Mobility hub",
"nl": "Mobiliteitshub"
},
"mappings": [
{
"if": "name~.*",
"then": {
"en": "Mobility hub {name}",
"nl": "Mobiliteitshub {name}"
}
}
]
},
"presets": [
{
"title": {
"en": "a mobility hub",
"nl": "een mobiliteitshub"
},
"tags": [
"amenity=mobility_hub",
"tourism=information"
],
"description": {
"en": "A mobility hub which is marked by a physical sign, usually with a logo.",
"nl": "Een mobiliteitshub die gemarkeerd is door een fysiek bord, meestal met een logo."
},
"exampleImages": [
"./assets/layers/mobility_hub/hub-gd-sign.jpg",
"./assets/layers/mobility_hub/hoppin.jpg",
"./assets/layers/mobility_hub/Mobil.punkt.jpg"
]
}
],
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": false
}
}

View file

@ -41,6 +41,7 @@
"Robin van der Linde"
],
"layers": [
"mobility_hub",
"transit_stops",
"transit_routes",
{
@ -74,4 +75,4 @@
]
}
]
}
}