01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
Heute habe ich entdeckt, dass die U5 einen
Tunnelabschnitt zwischen Kaulsdorf-Nord und Wuhletal. Das habe ich zum
Anlass genommen, das bereits geplante Projekt "U-Bahn-Tunnelabschnitte
markieren" durchzuführen. Das erweiterte Projekt würde noch Einschnitt-
und Dammstrecken umfassen, aber das habe ich für später aufgeschoben.
Dabei habe ich gemerkt, dass U-Bahnlinien und Autobahnen die gleiche
Kartensignatur haben. Um das zu verbessern, werden die Autobahnen-Linien
nun mit einer dünnen Linie in der Mitte gezeichnet, so dass man einen
"Zwei-Bahnen"-Effekt hat. Leider gibt es einige Stellen im Programmcode,
die man bei Kartensignaturänderungen anpassen muss: die eigentliche
Funktion zum Zeichnen (generate_plot_functions) und das Zeichnen der
Legende (in BBBikePrint.pm). Da die dünne Linie bei großen Maßstäben
nicht gezeichnet werden darf (die Autobahn-Linien sind dann zu dünn
dafür), muss diese bei einigen Zoomstufen ausgeblendet werden --- dass
muss in change_category_visibility() passieren, aber auch beim initialen
Zeichnen.
Für große GPX-Dateien (so um die 1.5 MB) war das Skript bei
Verwendung des XML::LibXML-Moduls unheimlich langsam: über zwei Minuten
auf einem Athlon 64 3500+. Mit XML::Twig war es erträglich: etwa 8
Sekunden. Nachdem ich das Skript mit Devel::NYTProf durchlaufen habe,
war der Übeltäter schnell gefunden: ich habe statt
$xmlnode->find('./@...')
das schnellere
$xmlnode->getAttribute('...')
verwendet. Danach brauchte das Skript nur noch eine Sekunde, also über
120x so schnell!
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
Letztes Update: 2026-06-05 20:13