First version of the cyclenodes theme based on Seppe Santes' one

This commit is contained in:
Sebastian Kürten 2021-07-11 11:30:15 +02:00
parent 9c172647b3
commit 1aeb1fdb5b
3 changed files with 265 additions and 0 deletions

View file

@ -0,0 +1,10 @@
This is a theme for mapping cycle node networks.
The intention is to make it easy to map the cycle nodes itself while riding
the bike and then continue mapping at home and add the routes itself
and connecting the nodes.
This theme is based on a version first developed by Seppe Santes here:
https://github.com/seppesantens/MapComplete-Themes/blob/main/cyclenodenetworks/cyclenodenetworks.json
A description on how to map cycle node networks in OSM can be found
[on the OSM wiki](https://wiki.openstreetmap.org/wiki/Cycle_Node_Network_Tagging).

View file

@ -0,0 +1,135 @@
{
"id": "cyclenodes",
"title": {
"en": "Cycle Node Networks",
"de": "Fahrrad-Knotenpunktnetzwerke"
},
"description": {
"en": "This map shows cycle node networks and allows you to add new nodes easily",
"de": "Diese Karte zeigt Knotenpunktnetzwerke für Radfahrer und erlaubt auch neue Knoten zu mappen"
},
"language": [
"en",
"de"
],
"maintainer": "Sebastian Kürten",
"icon": "./assets/themes/cyclenodes/logo.svg",
"version": "0",
"startLat": 51.755515,
"startLon": 14.327545,
"startZoom": 11,
"widenFactor": 0.05,
"roamingRenderings": [],
"layers": [
{
"id": "node2node",
"name": {
"en": "node to node links"
},
"source": {
"osmTags": {
"and": [
"network=rcn",
"network:type=node_network"
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "node to node link"
},
"mappings": [
{
"if": "ref~*",
"then": {
"en": "node to node link <strong>{ref}</strong>"
}
}
]
},
"width": {
"render": "4"
},
"color": {
"render": "#00a703"
},
"tagRenderings": [
{
"question": {
"en": "When was this node to node link last surveyed?"
},
"render": {
"en": "This node to node link was last surveyed on {survey:date}"
},
"freeform": {
"key": "survey:date",
"type": "date"
},
"mappings": [
{
"if": "survey:date:={_now:date}",
"then": "Surveyed today!"
}
]
}
]
},
{
"id": "node",
"name": {
"en": "nodes"
},
"source": {
"osmTags": "rcn_ref~*"
},
"minzoom": 12,
"title": {
"render": {
"en": "cycle node <strong>{rcn_ref}</strong>"
}
},
"label": {
"mappings": [
{
"if": "rcn_ref~*",
"then": "<div style='position: absolute; top: 10px; right: 10px; color: white; background-color: #00a703; width: 20px; height: 20px; border-radius: 100%'>{rcn_ref}</div>"
}
]
},
"tagRenderings": [
{
"question": {
"en": "When was this cycle node last surveyed?"
},
"render": {
"en": "This cycle node was last surveyed on {survey:date}"
},
"freeform": {
"key": "survey:date",
"type": "date"
},
"mappings": [
{
"if": "survey:date:={_now:date}",
"then": "Surveyed today!"
}
]
},
{
"question": {
"en": "How many other cycle nodes does this node link to?"
},
"render": {
"en": "This node links to {expected_rcn_route_relations} other cycle nodes."
},
"freeform": {
"key": "expected_rcn_route_relations",
"type": "int"
}
},
"images"
]
}
]
}

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="500"
viewBox="0 0 132.29166 132.29167"
version="1.1"
id="svg8"
sodipodi:docname="logo.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.569"
inkscape:cx="-196.08654"
inkscape:cy="261.47827"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
units="px"
inkscape:window-width="1680"
inkscape:window-height="993"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-bbox="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-paths="true"
inkscape:snap-page="true" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Pin">
<rect
style="opacity:1;vector-effect:none;fill:#aaaaaa;fill-opacity:1;stroke:none;stroke-width:2.11666656;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect871"
width="11.492589"
height="47.045895"
x="60.399536"
y="85.245773" />
<path
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#aa0000;stroke-width:2.64583325;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 55.107867,115.30538 -42.756693,0.17248 -6.4523616,-9.40542 6.3992456,-9.444341 42.756693,-0.172484 z"
id="rect890-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#aa0000;stroke-width:2.64583325;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 77.183794,96.628102 42.756736,-0.172484 6.45236,9.405422 -6.39925,9.44434 -42.756726,0.17248 z"
id="rect890-8-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Arrows" />
<g
inkscape:label="Number"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-164.70831)">
<g
id="g869"
transform="matrix(1.6101695,0,0,1.6101695,-32.98414,-127.23614)"
style="stroke-width:0.62105262">
<rect
rx="3.96875"
y="186.94827"
x="37.922958"
height="47.306705"
width="47.283943"
id="rect857"
style="opacity:1;vector-effect:none;fill:#aa0000;fill-opacity:1;stroke:none;stroke-width:0.41080043;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<circle
r="17.907059"
cy="210.60162"
cx="61.56493"
id="path859"
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#f1f1f1;stroke-width:1.31456137;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text863"
y="217.9334"
x="50.124737"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.75391769px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.16432019"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.75391769px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.16432019"
y="217.9334"
x="50.124737"
id="tspan861"
sodipodi:role="line">25</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB