Themes(historic_rolling_stock): create rolling stock theme

This commit is contained in:
Pieter Vander Vennet 2025-05-23 18:03:23 +02:00
parent 567f77fb2b
commit a591a44c1a
9 changed files with 412 additions and 0 deletions

View file

@ -0,0 +1,192 @@
{
"id": "historic_rolling_stock",
"name": {
"en": "Historic rolling stock"
},
"description": {
"en": "Historic rolling stock (such as locomotives, railway cars and wagons) which are permanently placed at a location"
},
"source": {
"osmTags": {
"or": [
"historic=locomotive",
"memorial=locomotive",
"historic=railway_car",
"memorial=railway_car",
"historic=minecart",
"memorial=mincart"
]
}
},
"minzoom": 5,
"title": {
"render": {
"en": "Historic rolling stock"
},
"mappings": [
{
"if": {
"or": [
"historic=locomotive",
"memorial=locomotive"
]
},
"then": {
"en": "Historic locomotive"
}
},
{
"if": {
"or": [
"historic=railway_car",
"memorial=railway_car"
]
},
"then": {
"en": "Historic railway car"
}
},
{
"if": {
"or": [
"historic=minecart",
"memorial=minecart"
]
},
"then": {
"en": "Historic minecart"
}
}
]
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "circle",
"color": "white"
},
{
"icon": {
"mappings": [
{
"if": {
"or": [
"historic=locomotive",
"memorial=locomotive"
]
},
"then": "./assets/layers/historic_rolling_stock/steam_locomotive.svg"
},
{
"if": {
"or": [
"historic=minecart",
"memorial=minecart"
]
},
"then": "./assets/layers/historic_rolling_stock/minecart.svg"
},
{
"if": {
"or": [
"historic=railway_car",
"memorial=railway_car"
]
},
"then": "./assets/layers/historic_rolling_stock/railway_car.svg"
}
]
}
}
]
}
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"presets": [
{
"title": {
"en": "a locomotive on a permanent location"
},
"description": {
"en": "A (historic) locomotive permanently installed on a location, e.g. in a museum, as artwork or as memorial."
},
"tags": [
"historic=locomotive"
]
},
{
"title": {
"en": "a railway car on a permanent location"
},
"description": {
"en": "A decommissioned railway car permanently installed on a location, e.g. in a museum, as artwork or as memorial."
},
"tags": [
"historic=railway_car"
]
},
{
"title": {
"en": "a minecart on a permanent location"
},
"description": {
"en": "A (historic) minecart permanently installed on a location, e.g. in a museum, as artwork or as memorial."
},
"tags": [
"historic=minecart"
]
}
],
"tagRenderings": [
"images",
{
"id": "is_memorial",
"question": {
"en": "Does this also serve as a memorial?"
},
"mappings": [
{
"if": "memorial:={historic}",
"alsoShowIf": "memorial~*",
"then": {
"en": "Serves as a memorial"
}
},
{
"if": "not:memorial=yes",
"alsoShowIf": "memorial=",
"then": {
"en": "Does not serve as a memorial"
}
}
]
},
{
"builtin": "memorial.memorial-questions",
"override": {
"condition": {
"and+": [
"memorial~*"
]
}
}
}
],
"deletion": true,
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": false
},
"credits": "Pieter Vander Vennet",
"credits:uid": 3818858
}

View file

@ -0,0 +1,32 @@
[
{
"path": "minecart.svg",
"license": "MIT License",
"authors": [
"Bootstrap UI Icons"
],
"sources": [
"https://www.svgrepo.com/svg/345008/minecart-loaded"
]
},
{
"path": "railway_car.svg",
"license": "Public Domain",
"authors": [
"Pixabay"
],
"sources": [
"https://svgsilh.com/image/159763.html"
]
},
{
"path": "steam_locomotive.svg",
"license": "Public Domain",
"authors": [
" Icooon Mono"
],
"sources": [
"https://www.svgrepo.com/svg/480876/steam-locomotive"
]
}
]

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="#000000" class="bi bi-minecart-loaded">
<path d="M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z"/>
<path fill-rule="evenodd" d="M6 1a2.498 2.498 0 0 1 4 0c.818 0 1.545.394 2 1 .67 0 1.552.57 2 1h-2c-.314 0-.611-.15-.8-.4-.274-.365-.71-.6-1.2-.6-.314 0-.611-.15-.8-.4a1.497 1.497 0 0 0-2.4 0c-.189.25-.486.4-.8.4-.507 0-.955.251-1.228.638-.09.13-.194.25-.308.362H3c.13-.147.401-.432.562-.545a1.63 1.63 0 0 0 .393-.393A2.498 2.498 0 0 1 6 1z"/>
</svg>

After

Width:  |  Height:  |  Size: 916 B

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Bootstrap UI Icons
SPDX-License-Identifier: MIT License

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.0"
width="1280.000000pt"
height="640.000000pt"
viewBox="0 0 1280.000000 640.000000"
preserveAspectRatio="xMidYMid meet"
id="svg1"
sodipodi:docname="railway_car.svg"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
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="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"
showguides="true"
inkscape:zoom="0.34506157"
inkscape:cx="828.83759"
inkscape:cy="441.95011"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1">
<sodipodi:guide
position="272.96067,447.86751"
orientation="0,-1"
id="guide1"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata1">
Created by potrace 1.15, written by Peter Selinger 2001-2017
</metadata>
<g
transform="translate(0.000000,640.000000) scale(0.100000,-0.100000)"
fill="#000000"
stroke="none"
id="g1">
<path
d="M665 5419 c-168 -13 -285 -40 -319 -74 -15 -15 -16 -129 -16 -1473 l0 -1457 -90 -3 -90 -3 0 -40 0 -40 -48 3 c-47 3 -47 3 -50 41 -3 32 -7 37 -28 37 l-24 0 0 -240 0 -240 25 0 c23 0 25 4 25 40 l0 40 50 0 50 0 0 -40 0 -40 90 0 c69 0 92 -3 96 -14 18 -48 219 -83 538 -94 l210 -7 59 -137 59 -138 137 0 136 0 13 -77 c34 -213 206 -399 413 -448 191 -45 385 12 522 153 91 95 157 237 157 339 0 32 1 33 43 33 l42 0 17 -86 c23 -122 67 -204 152 -290 204 -204 512 -219 742 -37 96 77 176 223 192 352 l7 56 133 5 134 5 64 135 64 135 2262 3 2263 2 90 -140 90 -139 86 -1 87 0 11 -74 c28 -193 126 -333 293 -421 161 -85 346 -85 507 0 166 88 264 229 292 421 l12 75 41 -3 41 -3 6 -65 c33 -322 352 -549 668 -475 209 50 372 216 416 422 8 37 15 80 15 95 l0 27 106 3 106 3 78 135 78 135 208 7 c319 11 520 46 538 94 4 11 27 14 96 14 l90 0 0 40 0 40 50 0 50 0 0 -40 c0 -36 3 -40 25 -40 l25 0 0 240 0 240 -24 0 c-21 0 -25 -5 -28 -37 -3 -38 -3 -38 -50 -41 l-48 -3 0 40 0 40 -90 3 -90 3 0 1457 c0 1344 -1 1458 -16 1473 -36 36 -145 60 -339 74 -171 13 -11281 13 -11450 0z"
id="path1" />
</g>
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1-1"
width="110.84368"
height="113.04864"
x="267.08954"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1-1-3"
width="110.84368"
height="113.04864"
x="398.12292"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect2"
width="110.84368"
height="113.04864"
x="529.15631"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect3"
width="110.84368"
height="113.04864"
x="660.18964"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect4"
width="110.84368"
height="113.04864"
x="791.22296"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:9.47052;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect5"
width="110.84368"
height="113.04864"
x="922.25629"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:13.3933;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect6"
width="110.84368"
height="226.09727"
x="1083.4221"
y="192.13251"
rx="2.6067157" />
<rect
style="fill:#eff9ff;fill-opacity:1;stroke:none;stroke-width:13.3933;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect7"
width="110.84368"
height="226.09727"
x="107.03387"
y="192.13251"
rx="2.6067157" />
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Pixabay
SPDX-License-Identifier: Public Domain

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<style type="text/css">
.st0{fill:#000000;}
</style>
<g>
<path class="st0" d="M461.799,424.698V324.182c0-23.442-19.006-42.456-42.456-42.456h-4.689V241.04l22.175-51.532H364.73
l22.183,51.549v40.669h-43.667v-24.263h-31.902v24.263H280.84v-66.834c0-18.234-14.781-33.015-33.023-33.015H71.636H54.385H27.066
c-9.925,0-17.969,8.044-17.969,17.974c0,9.921,8.044,17.965,17.969,17.965h1.374V444.11c0,9.125,7.394,16.512,16.512,16.512h3.396
v-0.073c0-35.704,29.058-64.753,64.769-64.753c32.137,0,58.814,23.564,63.828,54.303c5.022-30.739,31.707-54.303,63.868-54.303
c32.145,0,58.83,23.572,63.836,54.336c5.006-30.764,31.69-54.336,63.843-54.336c35.712,0,64.762,29.049,64.762,64.753l-0.008,0.073
h0.008V492.4h69.65v-26.603L461.799,424.698z M158.792,301.837H64.176v-75.911c0-2.389,1.966-4.331,4.388-4.331h90.227V301.837z
M243.706,301.837h-62.032v-80.242h51.623c5.737,0,10.409,4.607,10.409,10.271V301.837z"/>
<rect x="471.859" y="323.33" class="st0" width="19.762" height="95.688"/>
<path class="st0" d="M323.134,223.481c-6.508,0-11.79,5.282-11.79,11.791v12.481h31.902v-12.481c0-6.509-5.282-11.791-11.79-11.791
H323.134z"/>
<path class="st0" d="M322.045,149.854h33.235c14.098,0.016,25.506,11.433,25.53,25.53v5.81h14.976v-5.81
c0-22.378-18.128-40.506-40.506-40.514h-33.235c-11.636,0-22.101-4.697-29.732-12.319c-7.622-7.622-12.31-18.088-12.319-29.724
v-1.088c0-1.974-0.796-3.901-2.186-5.298c-1.398-1.398-3.323-2.194-5.298-2.194H81.825v14.984h183.576
C268.595,127.704,292.72,149.846,322.045,149.854z"/>
<path class="st0" d="M301.942,26.604c7.192,7.199,11.62,17.08,11.62,28.066v0.796c0.008,13.262,10.742,23.987,24.004,24.004h6.33
c17.121-0.017,32.86,8.077,44.488,20.866c11.612,12.758,18.802,30.098,18.778,47.6v30.48h14.984v-30.48
c-0.024-21.582-8.678-42.229-22.671-57.676c-13.984-15.415-33.624-25.766-55.58-25.775h-6.33c-4.982-0.008-9.012-4.046-9.028-9.02
V54.67c0-30.195-24.466-54.67-54.654-54.67H81.825v14.984h192.059C284.862,14.984,294.735,19.404,301.942,26.604z"/>
<path class="st0" d="M368.491,409.104c-26.57,0-48.416,20.135-51.151,45.967h-25.385c-2.734-25.832-24.588-45.967-51.143-45.967
c-26.57,0-48.438,20.135-51.176,45.967H164.26c-2.734-25.832-24.588-45.967-51.143-45.967c-28.424,0-51.459,23.036-51.459,51.444
c0,28.424,23.036,51.452,51.459,51.452c25.544,0,46.687-18.64,50.701-43.058h26.262C194.099,493.36,215.253,512,240.813,512
c25.543,0,46.687-18.64,50.7-43.058h26.27C321.797,493.36,342.933,512,368.491,512c28.408,0,51.452-23.028,51.452-51.452
C419.943,432.14,396.899,409.104,368.491,409.104z M113.109,475.109c4.912,0,9.23-2.445,11.867-6.167h13.132
c-3.531,10.482-13.339,18.096-24.991,18.096c-14.61,0-26.497-11.88-26.497-26.49c0-14.602,11.888-26.482,26.497-26.482
c12.725,0,23.366,9.028,25.897,21.005h-12.428c-2.169-5.314-7.374-9.084-13.476-9.084c-8.044,0-14.561,6.534-14.561,14.561
C98.548,468.592,105.065,475.109,113.109,475.109z M240.813,487.038c-11.664,0-21.484-7.614-25.019-18.096h13.135
c2.637,3.722,6.955,6.167,11.868,6.167c4.912,0,9.23-2.445,11.867-6.167h13.139C262.273,479.424,252.465,487.038,240.813,487.038z
M254.273,455.071c-2.169-5.314-7.374-9.084-13.476-9.084s-11.307,3.77-13.473,9.084h-12.44
c2.536-11.977,13.193-21.005,25.929-21.005c12.725,0,23.365,9.028,25.896,21.005H254.273z M368.491,487.038
c-11.66,0-21.468-7.614-24.998-18.096h13.131c2.637,3.722,6.956,6.167,11.867,6.167c8.044,0,14.561-6.517,14.561-14.561
c0-8.028-6.517-14.561-14.561-14.561c-6.102,0-11.306,3.77-13.472,9.084h-12.432c2.531-11.977,13.176-21.005,25.904-21.005
c14.61,0,26.49,11.88,26.49,26.482C394.981,475.158,383.102,487.038,368.491,487.038z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Icooon Mono
SPDX-License-Identifier: Public Domain

View file

@ -0,0 +1,13 @@
{
"id": "historic_rolling_stock",
"title": {
"en": "Historic rolling stock"
},
"description": {
"en": "A map showing all historic, permanently installed rolling stock, such as locomitives and railway carriages, e.g. in a museum, an artwork or a memorial."
},
"icon": "./assets/layers/historic_rolling_stock/historic_rolling_stock.svg",
"layers": [
"historic_rolling_stock"
]
}