Vor Kurzem habe ich über die Darstellung von Fuß- und Radwegen in Karten auf OpenStreetMap-Basis geschrieben. Dabei deutete ich an, dass es auch noch eine Menge weitere Änderungen gibt, die ich im alternative-colors-Stil umgesetzt habe und welche etwas mehr Erklärungen verdienen. Hier stelle ich ein paar davon vor, welche die Darstellung von Gewässern betreffen.
Gewässer werden im Standardstil (und ähnlich in fast allen andere Karten auf OSM-Basis) seit jeher in einer recht einfachen, um nicht zu sagen primitiven Art und Weise dargestellet. Alle Wasser-Objekte werden in der selben Farbe gezeichnet, Wasserflächen traditionell ab z6, Fluss-Linien ab z8 und Bäche sowie kleine künstliche Wasserläufe ab z13. Die Grenzen bei z8 und z13 sind so fest verankert, dass Mapper oft die waterway-Attribute danach auswählen, was in Bezug auf diese Grenzen als darstellungswert erachtet wird. Da kleine künstliche Wasserläufe (ditch und drain) etwas dünner dargestellt werden als Bäche (stream), werden die Attribute dafür recht oft für kleinere natürliche Wasserläufe zweckentfremdet. Die einzige Besonderheit in dieser traditionellen Darstellungsform ist, dass die kleineren Wasserläufe, welche ab z13 gezeigt werden, mit einer hellen Umrahmung gezeichnet werden, wodurch sie auf dunklem Hintergrund besser zu sehen sind.
Vor einiger Zeit wurde eine differenzierte Darstellung von nicht permanenten Wasserläufen mit gestrichelten Linien eingeführt. Obwohl dies im Grunde eine sinnvolle Gestaltungs-Entscheidung zu sein scheint, hat sich herausgestellt, dass dies im Grunde nur recht schlecht funktioniert, denn bei der Kombination von gestrichelten Linien mit detaillierten Linien-Geometrien ergeben sich genau die Probleme, die ich im Zusammenhang mit den Fußwegen schon erläutert habe.
Das ist die Situation, die den Hintergrund für meine hier zu besprechenden Änderungen liefert.
Unterscheidung von Gewässern nach Typen
Wie oben erläutert stellt der OSM-Standardstil alle Wasser-Elemente einheitlich in der selben Farbe dar. Diese Farbe ist vor einiger Zeit geändert worden, aber es ist immer noch eine einheitliche Farbe für alle Wasser-Bezogenen Elemente – egal ob der Ozean oder ein kleiner Bach oder Graben.
Dieses „Alles eine Farbe“-Schema erfordert vom Mapper nicht viel Nachdenken, wie die Gewässer im Detail zu erfassen sind, Er kann einfach sozusagen die Karte blau anmalen. Insbesondere bei Wasserflächen hat dies zu recht viel Willkür bei den Attributen geführt und zu recht schlechter Daten-Qualität bei den spezifischeren Attributen. Wie ich im Zusammenhang mit den Gewässer-Daten schon oft erwähnt habe, kann man diese Daten kaum für etwas anderes verwenden, als die Gewässer einheitlich einfarbig darzustellen. Gleichzeitig ist das Ganze natürlich für den Kartengestalter recht einfach, denn er muss sich nicht viele Gedanken über die Reihenfolge der Darstellung und andere Probleme machen.
Detailliertere Informationen über Gewässer wären jedoch für Datennutzer oft recht nützlich, so dass es eigentlich Sinn macht, die darzustellen und so den Mappern einen Anreiz zu bieten, diese Dinge gewissenhaften zu erfassen. Und zwischen verschiedenen Gewässer-Typen zu differenzieren kann auch sehr helfen, dine besser lesbare Karte zu produzieren, denn was für eine Gestaltung am besten funktioniert hängt oft recht stark davon ab, um was für ein Gewässer es sich handelt. Und da blaue Farben sowieso weitgehend für Objekte mit Wasser-Bezug reserviert sind, ist eine Differenzierung über die Farbe kein so großes Problem.
Die drei Haupttypen von Gewässern, die ich differenziere sind:
- der Ozean
- stehende Binnen-Gewässer (hauptsächlich Seen)
- Fließgewässer (sowohl Linien- als auch Flächen-Objekte)
Dieses Farbschema konnte man auch in der Demonstration für die niedrigen Zoomstufen sehen, welche ich vor kurzem vorgestellt habe.
Flüsse verwenden die kräftigste und dunkelste Farbe, so dass sie auch vor kräftigem und stark strukturiertem Hintergrund gut zu sehen sind wähernd der Ozean in einer helleren Farbe gehalten ist, um im Kontrast mit Landflächen nicht zu sehr zu dominieren.
Außer der Unterscheidung in Abhängigkeit von der physikalischen Natur des Gewässers hab ich bei Linien-Elementen auch eine Unterscheidung zwischen natürlichen und künstlichen Wasserläufen in Form einer subtil helleren Mittellinie bei den höheren Zoomstufen eingeführt.
Subtilität in der Darstellung ist ein wichtiges Element, wenn man eine reichhaltige Karte produzieren möchte, die trotzdem noch gut lesbar sein soll. Diese Unterscheidung zwischen natürlichen und künstlichen Wasserläufen ist deutlich genug, dass der aufmerksame Betrachter sie klar erkennen kann, gleichzeitig aber nicht zu auffällig, so dass sie stört und die Lesbarkeit der Karte ansonsten einschränkt.
Zeitweilig trockene Gewässer
Wie weiter oben erwähnt unterscheidet der Standardstil bereits zwischen permanenten und nicht permanenten Gewässern – jedoch nicht in einer besonders gut lesbaren Form. Ich hab verschiedene andere Möglichkeiten hierfür ausprobiert und bin am Ende zu folgendem Ansatz gekommen
- Zeitweilig trockene Wasserläufe werden eine Zoomstufe später dargestellt und bei den ersten Zoomstufen etwas dünner als permanente Wasserläufe.
- Bei z12-z13 erhalten zeitweilig trockene Flüsse eine helle Mittellinie. Dies ist recht gut sichtbar und funktioniert bei detaillierten Geometrien besser als eine Strichelung. Von z14 aufwärts verwende ich dann eine Gestrichelte Linie, aber mit sehr schmalen Lücken zwischen den Strichen so dass die Linie als durchgehende Geometrie besser erkennbar bleibt. Bäche und Gräben werden von z13 aufwärts mit einer ähnlichen Strichelung gezeichnet.
- Zeitweilig trockene Seen bekommen ein strukturierten Punktmuster mit blauen Punkten und einem transparenten Hintergrund so dass darunter liegende Landbedeckungen sichtbar bleiben.
- Zeitweilig trockene Fließgewässer-Flächen werden von z14 aufwärts mit einem hellen Punktmuster vor einer blauen Hintergrund-Farbe dargestellt. Dies stellt sicher, dass die Umrisse der Geometrie gut erkennbar bleiben, was bei der Wasserfläche von Flüssen für die Lesbarkeit der Karte recht wichtig ist.
Des weiteren werden Salzwasser-Flächen (salt=yes) in der Ozean-Farbe mit zusätzlich einem schwachen hellen Muster dargestellt. Eine abstrakte Demonstration von allem Zusammen findet sich hier:
Andere Änderungen
Abgesehen von den grundsätzlichen Änderungen, die ich oben beschrieben habe, hab ich auch eine ganze Reihe von kleineren Anpassungen bei Linienbreiten und sonstigen Parametern durchgeführt, um ein ausgeglicheneres Verhältnis zwischen den verschiedenen Objekt-Typen und einen kontinuierlicheren Übergang zwischen den verschiedenen Zoomstufen zu erreichen.
Furten
Nicht direkt mit den Änderungen bei den Gewässern verbunden, aber doch irgendwie im Zusammenhang dazu, habe ich eine Darstellung von Furten eingeführt. Diese werden im Standardstil von z16 an als Punkte mit einem Symbol dargestellt – was eine recht unglückliche Darstellung ist, denn:
- Das Symbol verdeckt im Allgemeinen den wichtigsten Teil der Kreuzung zwischen Weg und Wasserlauf.
- Das Symbol wird für jeden Node mit dem Attribut ford=yes dargestellt – egal ob dies eine große Straße oder ein kleiner Fußweg ist und daneben auch bei Dingen, wo das Attribut eventuell überhaupt keinen Sinn macht.
- z16 ist in vielen Fällen viel zu spät, um für den Kartennutzer hilfreich zu sein.
Mit anderen Worten: Diese Art der Darstellung verbessert in vielen Fällen die Karte nicht wirklich.
Ich hab einen anderen Ansatz gewählt und stelle die Furten ähnlich wie Brücken dar – schließlich ist eine Furt ja im Grunde die Kreuzung eines Weges mit einem Fluss ohne Brücke. Die Schwierigkeit ist, dass Furten als Punkte erfasst werden können während Brücken per Konvention immer als Linien erfasst sind. Die Darstellung von Furt-Punkten im Stol einer Brücke ist nicht so einfach und ich fürchte, dass ich damit den sowieso schon recht komplexen Straßen-Darstellungs-Code noch ein ganzes Stück komplizierter gemacht habe. Aber ich denke, dass das Ergebnis den Aufwand Wert ist.
Wie man sehen kann ist das Ganze meist recht intuitiv als Furt erkennbar und die Konfiguration der Kreuzung wird nicht durch ein großes Symbol verdeckt.