*English see below*
Hallo,
wie ich vor etwa zwei Wochen auf GitHub geschrieben habe, habe ich das
OpenRailwayMap-Projekt von Alexander Matheisen kürzlich als neuer
Maintainer übernommen, dem ich für seine bisherige Arbeit in den letzten
sechs Jahren danken möchte.
Weil der alte Tileserver nicht mehr die gewünschte Performance hat (es
ist eine Mischung aus Last und einer möglicherweise nicht performant
genugen Renderingengine), habe ich die Kartenstile Infrastruktur,
Signale und Höchstgeschwindigkeit auf CartoCSS portiert, um für das
Rendering Mapnik und Tirex einsetzen zu können. Die bisherige
Renderingengine wird meines Wissens nach sonst nirgendwo mehr
eingesetzt. Die Zeit, die man in die Pflege eines auf
KothicJS/node-tileserver basierenden Stacks steckt, kann man auch in
andere Dinge stecken. Zudem ist es durch die Verwendung von Mapnik
möglich, die Karten künftig auch einfacher in höheren Auflösungen (300
dpi für den Druck) zu rendern und dafür auf etablierte
Open-Source-Software wie Nik4 zurückgreifen.
Die neuen Kartenstile habe ich auf einem neuen Tileservers installiert,
der den alten demnächst ersetzen wird. Der Rest der Website wird
demnächst auch noch dorthin umziehen. Auf
http://openrailwaymap2019.michreichert.de/index.html#osm.org/10/48.887649...
könnt ihr euch schon einmal die neuen Kartenstile anschauen.
(Die URL wird nicht für längere Zeit stabil sein)
Die neuen CartoCSS-Stile sind Neuimplementierungen, versuchen aber, das
alte Erscheinungsbild weitestgehend zu bewahren. Wo es jedoch angemessen
erschien, habe ich einige Änderungen vorgenommen. Geändert wurde:
- Alle Gleise haben ein weißes Halo, um die Erkennbarkeit auf der
Hintergrundkarte zu verbessern.
- Schmalspurbahnen haben keine Querstriche mehr, weil diese schwer zu
erkennen sind und in niedrigen Zoomstufen unschön aussahen
(überlappende Querstriche paralleler Gleise). Stattdessen haben alle
Schmalspurbahnen unabhängig von ihrem usage=*-Tag eine neue gelbliche
Farbe.
- Das Brückenrendering wurde 1:1 von OSM Carto übernommen.
- Kurze Brücken werden nur noch auf hohen Zoomstufen gerendert, um ein
ruhigeres Kartenbild zu erreichen.
- Die Symbole für Zugfunkmasten und -antennen haben eine höhere
Priorität als die Beschriftungen für Hektometertafeln und
Streckennummern/-namen.
- Hektometertafeln, die keine ganzzahligen Kilometerangaben haben,
werden nur noch auf hohen Zoomstufen dargestellt.
- Betriebsstellen mit Personenverkehr werden mithilfe einiger SQL-
Statements anhand ihrer Relevanz sortiert, bevor sie gerendert werden.
Die Relevanz basiert auf der Anzahl der Routenrelationen, die sie
referenzieren. Stop-Area-Relationen werden nicht berücksichtigt, da
sie von Osm2pgsql nicht wirklich unterstützt werden. Die Relevanz ist
vorberechnet und wird in einem Materialized View gespeichert, da die
Live-Berechnung nicht performant ist, weil dafür auf die Array-Spalten
in der Tabelle planet_osm_rels zugegriffen werden muss.
- Stellwerke, die als Nodes gemappt sind, sowie als Flächen gemappte
Stellwerke auf mittleren Zoomstufen werden als grüne Punkte mit einem
weißen Halo gerendert.
- Alle Stile nutzen die Schrift Noto Sans (Rückfallebene: Unifont). Noto
Sans unterstützt eine besonders große Zahl an Schriftsystemen.
- Die Darstellung der Höchstgeschwindigkeiten auf Gleisen, die für beide
Fahrtrichtungen unterschiedliche Höchstgeschwindigkeiten haben, ist
neu implementiert worden. Die Beschriftungen geben die
Vorzugsfahrtrichtung auf Basis des Tags railway:preferred_direction=*
an. Diese Richtung beeinflusst auch die Einfärbung. Die Beschriftung
sehen in solchen Fällen wie folgt aus:
140/100: 140 km/h in die eine, 100 km/h in die andere Richtung,
keine
Vorzugsfahrtrichtung erfasst/vorhanden)
140 (100): dto., aber 140 km/h in Vorzugsfahrtrichtung
140 (–): 140 km/h in Vorzugsfahrtrichtung, keine Angabe in die
Gegenrichtung
- railway=razed/abandoned/disused/construction/proposed werden auf
niedrigen Zoomstufen nur gerendert, wenn mit den üblichen
Lebenszyklus-Tags (razed:railway=*, abandoned:railway=* usw.) getaggt
sind. Andernfalls erhöht sich ab sofort die niedrigste Zoomstufe, auf
der sie dargestellt werden. Damit ist es möglich,
stillgelegte/abgebaute Straßenbahngleise wegzufiltern und abgebaute
Bahnstrecken deutlich früher anzuzeigen, ohne das Kartenbild zu
überfrachten.
- LZB-Blockkennzeichen werden jetzt mit ihrer Nummer dargestellt.
Der Quellcode des Kartenstils ist auf GitHub unter
https://github.com/OpenRailwayMap/OpenRailwayMap-CartoCSS
verfügbar.
Da es sich um Neuimplementierungen handelt, gibt es noch ein paar
Differenzen zu den bestehenden Kartenstilen. Wenn ihr welche findet,
meldet sie mir bitte per E-Mail oder als GitHub-Issues.
Viele Grüße
Michael
-------------------------
Hi,
as I wrote on GitHub about two weeks ago, I took over the OpenRailwayMap
as new maintainer from Alexander Matheisen whom I would like to thank
for his work in the past six years.
Because the old tile server was not as performant as expected (a mix of
too much load and a possible not very performant rendering engine), I
ported the MapCSS map styles infrastructure, speed limits and signalling
to CartoCSS in order to replace the rendering stack by Mapnik and Tirex.
The time invested in a KothicJS/node-tileserver based stack can be used
for other tasks as well. In addition, the usage of Mapnik enables us to
render map images in high resolutions (300 dpi for print) using
established open source software such as Nik4.
I set up the new map styles on a new tile server. The website will be
moved onto this server soon. You can have a first look at the new map
styles at
http://openrailwaymap2019.michreichert.de/index.html#osm.org/10/48.887649...
(The URL will not be stable for a longer time.)
The new CartoCSS styles are reimplementations but I tried to preserve
the old appearance as good as possible. Howerver, I changed a few things
where I considered it appropriate. A list of the changes can be found at
https://github.com/OpenRailwayMap/OpenRailwayMap/issues/663#issue-518110741
The source code of the map style is available at GitHub.
https://github.com/OpenRailwayMap/OpenRailwayMap-CartoCSS
There are a few unintended differences compared to the old map style
because it is a reimplementation. Please get in touch (email or GitHub
tickets) if you find any of them.
Best regards
Michael