Guten Morgen!
was ich möchte ist nicht eine Skalierung der Objekte an sich, sondern nur der Darstelluzngsdimensionen “Strichstärke” (geht), “Seitenlänge bei Pixelbildern” (geht bei icons), “Textgröße” (geht, bis auf Relationen) und “Strich- und Leerraumlänge bei Strichelung”. Der Maßstab der Karte soll absolut unangetastet bleiben, wie es auch gedacht ist!
Das Problem mit den Linienenden ist mir bewusst, es führt dazu, daß bei steigender Strichstärke einer in Zeicheneinheiten gleich langen Linie (Maßstab bleibt gleich) der Leerraum zwischen den Strichen zunehmend “aufgefressen” wird (siehe die Bilder von gestern).
Ich habe zum Vergleich mal geschaut, wie inkscape das handhabt, also dort eine Linie gezeichnet, eine Strichelung ausgewählt und 2x kopiert. Dann habe ich die Strichstärke der beiden Kopien von den ursprünglichen 2,5px auf 5px und 10px heraufgesetzt.
Hier ein Screenshot:
Inkscape skaliert dabei die Länge der einzelnen Striche und der Leerräume dazwischen mit, was im Quelltext so aussieht:
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10, 10;stroke-dashoffset:0"
d="M 239.83707,651.65354 311.34129,438.63055"
id="path2818" />
<path
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:20, 20;stroke-dashoffset:0"
d="M 278.56852,651.65354 350.07274,438.63055"
id="path2818-1" />
<path
style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:40, 40;stroke-dashoffset:0"
d="M 317.29997,651.65354 388.80419,438.63055"
id="path2818-4" />
Der interessante Teil ist hier das Verhältnis von “stroke-width” und “stroke-dasharray”, das bei diesem Strichelungstyp in inkscape immer 1 : 4, 4 ist.
Ich denke mapgen.pl verwendet für die einzelnen Strichelungstypen feste Werte, die dann je nach Strichstärke in einem günstigen oder ungünstigen Verhältnis zu dieser stehen.
Mir persönlich wäre es am liebsten, ich könnte in der style-datei so etwas wie “4,4”, “1.5,2” oder “0.2,0.2” als Verhältnis zur Linienbreite für die Strichelung angeben, dann könnte man die Strichelung vollkommen frei wählen.
Wenn das nicht geht, wäre es toll, wenn die momentan vorgegebenen Strichelungstypen mit dem Faktor 300/basedpi skaliert würden, das würde sicherstellen, daß ein stil unabhängig von basedpi immer gleich aussieht(basedpi soll ja alle angaben im stil “übersetzen”).
So, bevor ich jetzt auch noch wählbare linecaps oder strichelung für Linienränder vorschlage (ich hätte für beides Anwendungen ) und du in den Anfragen ertrinkst, gehe ich mal wieder an die Klausurvorbereitung für morgen ;-).
Gruß & danke für das stetige weiterentwickeln von mapgen,
Martin