map: Indicate WAN uplink with white center in dots

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Adrian Schmutzler 2018-07-03 14:48:05 +02:00
parent 79bada38bb
commit 4bfe42bb67
11 changed files with 535 additions and 3 deletions

View File

@ -21,6 +21,22 @@
<Filter>([status] = 'orphaned')</Filter>
<PointSymbolizer file="static/img/router_grey.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'online_wan')</Filter>
<PointSymbolizer file="static/img/router_green_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'offline_wan')</Filter>
<PointSymbolizer file="static/img/router_red_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'unknown_wan')</Filter>
<PointSymbolizer file="static/img/router_yellow_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'orphaned_wan')</Filter>
<PointSymbolizer file="static/img/router_grey_white.svg" allow-overlap="true" />
</Rule>
</Style>
<Style name="color" filter-mode="first">
<Rule>

View File

@ -21,6 +21,22 @@
<Filter>([status] = 'orphaned')</Filter>
<PointSymbolizer file="static/img/router_grey.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'online_wan')</Filter>
<PointSymbolizer file="static/img/router_green_v2_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'offline_wan')</Filter>
<PointSymbolizer file="static/img/router_red_v2_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'unknown_wan')</Filter>
<PointSymbolizer file="static/img/router_yellow_white.svg" allow-overlap="true" />
</Rule>
<Rule>
<Filter>([status] = 'orphaned_wan')</Filter>
<PointSymbolizer file="static/img/router_grey_white.svg" allow-overlap="true" />
</Rule>
</Style>
<Style name="color" filter-mode="first">
<Rule>

View File

@ -70,7 +70,7 @@ def draw_voronoi_lines(csv, hoods):
def update_mapnik_csv(mysql):
routers = mysql.fetchall("""
SELECT router.status, router.lat, router.lng, hoods.name AS hood FROM router
SELECT router.status, router.lat, router.lng, hoods.name AS hood, router.wan_uplink FROM router
LEFT JOIN hoods ON router.hood = hoods.name
WHERE router.lat IS NOT NULL AND router.lng IS NOT NULL
""")
@ -79,10 +79,13 @@ def update_mapnik_csv(mysql):
rv2 = "lng,lat,status\n"
for router in routers:
tmpstatus = router["status"]
if router["wan_uplink"]:
tmpstatus += "_wan";
tmp = "%f,%f,%s\n" % (
router["lng"],
router["lat"],
router["status"]
tmpstatus
)
if router["hood"]:
rv1 += tmp

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_blue.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="45.254834"
inkscape:cx="6.1575261"
inkscape:cy="6.8281194"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#123cff;fill-opacity:1"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_green_v2.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="3.7021802"
inkscape:cy="7.5625001"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#2fbb34;fill-opacity:1"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_green.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="3.7021802"
inkscape:cy="7.5625001"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#0f7014;fill-opacity:1"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_grey.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="3.7021802"
inkscape:cy="7.5625001"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#999999;fill-opacity:1"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_red_v2.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="11.524549"
inkscape:cy="7.6508884"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#ff6666;fill-opacity:0.99607843"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_red.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="11.524549"
inkscape:cy="7.6508884"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#cc0c0c;fill-opacity:0.99607843"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,71 @@
<?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="14"
height="14"
viewBox="0 0 14 14"
id="svg4142"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="router_yellow.svg">
<defs
id="defs4144" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="3.7021802"
inkscape:cy="7.5625001"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1436"
inkscape:window-height="858"
inkscape:window-x="0"
inkscape:window-y="19"
inkscape:window-maximized="1"
width="14in" />
<metadata
id="metadata4147">
<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:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1038.3621)">
<circle
style="fill:#ffea12;fill-opacity:1"
id="path4690"
cx="7"
cy="1045.3621"
r="6.6121397" />
<circle
style="fill:#ffffff;fill-opacity:1"
id="path4134"
cx="7"
cy="1045.3621"
r="2.0780513" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -95,7 +95,7 @@
map.setView(router_pos, 18);
var marker = L.marker(router_pos, {
icon: L.icon({
iconUrl: "{{ url_for('static', filename='img/router_blue.svg') }}",
iconUrl: "{{ url_for('static', filename='img/router_blue_white.svg') if router.wan_uplink else url_for('static', filename='img/router_blue.svg') }}",
iconSize: [14, 14]
}),
clickable: false