Autobahn in der Basemap-Legende blau statt grau (#98)
Der Legendenkatalog nannte für die Autobahn nur Kontur und Decker der getrennten Fahrbahn, die basemap.de nur bis Zoom 13 zeichnet. Bei den üblichen Druckmaßstäben (Zoom 14 und mehr) griff deshalb der Rückfall auf den ersten getroffenen Style, die graue Kontur. Jetzt stehen die Styles für alle Zoombereiche in symbol_stile; inaktive werden wie bisher übergangen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
from sn_basis.modules import basemap_legende_layout as bll
|
||||
from sn_basis.modules.basemap_legende import LegendenEintrag
|
||||
from sn_basis.modules.basemap_legende import Katalog, LegendenEintrag, bilde_eintraege
|
||||
|
||||
|
||||
def _wert(objekt, name):
|
||||
@@ -108,6 +108,46 @@ class TestSymbolwahl(unittest.TestCase):
|
||||
self.assertEqual(bll.waehle_symbolnamen(eintrag, aktive), ["Bruecke_Kreisstr_Decker"])
|
||||
|
||||
|
||||
class TestAutobahnSymbol(unittest.TestCase):
|
||||
"""Autobahn-Symbol aus dem ausgelieferten Katalog (Basis #98).
|
||||
|
||||
Zoombereiche und Renderer-Reihenfolge nach basemap.de ``bm_web_col`` Version 8: Die Styles
|
||||
``*_Autobahn_getrennt`` gelten nur bis Zoom 13, ab Zoom 14 ``*_Autobahn_getrennt_Fahrbahnachse``,
|
||||
unter Zoom 11 nur ``Decker_Autobahn_getrennt_ohne_Tunnel_Bruecke``.
|
||||
"""
|
||||
|
||||
REIHENFOLGE = {
|
||||
"Staumauer_Staudamm_Autobahn": 140, "Kontur_Autobahn_Abfahrt": 152, "Kontur_Autobahn_getrennt": 169,
|
||||
"Kontur_Autobahn_getrennt_Fahrbahnachse": 170, "Decker_Autobahn_Abfahrt_einblenden": 177,
|
||||
"Decker_Autobahn_Abfahrt": 183, "Decker_Autobahn_getrennt_ohne_Tunnel_Bruecke": 203,
|
||||
"Decker_Autobahn_getrennt": 204, "Decker_Autobahn_getrennt_Fahrbahnachse": 205,
|
||||
"Mittellinie_Autobahn": 206,
|
||||
}
|
||||
|
||||
def _symbolnamen(self, aktiv: list[str]) -> list[str]:
|
||||
katalog = Katalog.laden()
|
||||
eintrag, = bilde_eintraege(aktiv, katalog)
|
||||
return bll.waehle_symbolnamen(eintrag, {name: self.REIHENFOLGE[name] for name in aktiv})
|
||||
|
||||
def test_druckmassstab_ab_zoom_14_blauer_decker_auf_grauer_kontur(self):
|
||||
"""Prüft, dass das Autobahn-Symbol ab Zoom 14 aus grauer Kontur und blauem Decker der Fahrbahnachse besteht statt nur aus einem grauen Style."""
|
||||
aktiv = ["Staumauer_Staudamm_Autobahn", "Kontur_Autobahn_Abfahrt", "Kontur_Autobahn_getrennt_Fahrbahnachse",
|
||||
"Decker_Autobahn_Abfahrt", "Decker_Autobahn_getrennt_Fahrbahnachse", "Mittellinie_Autobahn"]
|
||||
self.assertEqual(self._symbolnamen(aktiv),
|
||||
["Kontur_Autobahn_getrennt_Fahrbahnachse", "Decker_Autobahn_getrennt_Fahrbahnachse"])
|
||||
|
||||
def test_zoom_11_bis_13_bisherige_kontur_und_decker(self):
|
||||
"""Prüft, dass das Autobahn-Symbol bei Zoom 11 bis 13 weiterhin aus Kontur und Decker der getrennten Fahrbahn besteht."""
|
||||
aktiv = ["Staumauer_Staudamm_Autobahn", "Kontur_Autobahn_Abfahrt", "Kontur_Autobahn_getrennt",
|
||||
"Decker_Autobahn_Abfahrt", "Decker_Autobahn_getrennt", "Mittellinie_Autobahn"]
|
||||
self.assertEqual(self._symbolnamen(aktiv), ["Kontur_Autobahn_getrennt", "Decker_Autobahn_getrennt"])
|
||||
|
||||
def test_unter_zoom_11_blauer_decker(self):
|
||||
"""Prüft, dass das Autobahn-Symbol unter Zoom 11 den blauen Decker der Übersichtsdarstellung nutzt."""
|
||||
aktiv = ["Decker_Autobahn_Abfahrt_einblenden", "Decker_Autobahn_getrennt_ohne_Tunnel_Bruecke"]
|
||||
self.assertEqual(self._symbolnamen(aktiv), ["Decker_Autobahn_getrennt_ohne_Tunnel_Bruecke"])
|
||||
|
||||
|
||||
class _Symbol:
|
||||
def __init__(self, typ): self._typ = typ
|
||||
def type(self): return self._typ
|
||||
|
||||
Reference in New Issue
Block a user