Anforderungen an einen kartographischen Viewer für ... - Carto:net
Anforderungen an einen kartographischen Viewer für ... - Carto:net
Anforderungen an einen kartographischen Viewer für ... - Carto:net
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3 Technologien<br />
Graphiken zur internen Bilddefinition können eingebunden werden. Rastergraphiken können intern<br />
oder extern eingebunden werden.<br />
Zusätzliche Daten, wie beispielsweise Metadaten, können durch das Element oder<br />
durch die Deklarierung eines individuellen Namensraumes <strong>an</strong> den SVG Baum <strong>an</strong>gehängt werden<br />
(vgl. FERRAIOLO et al 2001, Chapter 21+23).<br />
Optimierungsmöglichkeiten:<br />
Wie bei jeder Anwendung, bedarf es auch bei dem Einsatz von SVG einer Optimierung. Im<br />
Folgenden sind die wichtigsten Optimierungsmöglichkeiten besonders auf kartographische<br />
Anwendungen bezogen dargestellt. Viele gelten auch <strong>für</strong> <strong>an</strong>dere Anwendungszwecke. Sie<br />
resultieren überwiegend aus praktischen Erfahrungen mit dem ASV3 und ergeben meistens eine<br />
Datenreduzierung<br />
Optimierung der Pfaddefinition: Besonders effektive Optimierungsmöglichkeiten bietet das<br />
pathData Attribut. Dieses nimmt bei <strong>kartographischen</strong> Anwendungen die größte Datenmenge ein<br />
und be<strong>an</strong>sprucht deswegen auch am meisten Renderingzeit. Eine besonders wirkungsvolle, nicht<br />
aufwendige und verlustfreie Möglichkeit Pfaddefinitionen zu optimieren ist die Verwendung<br />
relativer Koordinaten, sowie das Entfernen unnötiger Separatoren zwischen den Werten. Ist das<br />
Komm<strong>an</strong>do einheitlich, so k<strong>an</strong>n dieses weggelassen werden. Mit einem zu in Kauf nehmenden<br />
Verlust <strong>an</strong> Lagegenauigkeit lassen sich Werte auch auf g<strong>an</strong>ze Zahlen runden. Weiter ist die<br />
Verwendung von Bezierkurven, am besten der quadratischen, verkürzende Komm<strong>an</strong>dos, wie h und<br />
v, zu erwähnen. Optimierte Pfaddefinitionen verkürzen natürlich auch die Downloadzeit. Derartige<br />
Optimierung muss in den <strong>für</strong> die Geometrieerzeugung ver<strong>an</strong>twortlichen Anwendungen, wie<br />
beispielsweise Servlets, vorgenommen werden.<br />
Wiederverwendbarkeit der graphischen Elemente: Alle Elemente eines Knoten werden nicht<br />
gerendert und können über eine Verlinkung im Element inst<strong>an</strong>ziert werden. Das <br />
Element verhält sich äquivalent. Beispielsweise werden sich wiederholende Objekte, wie im<br />
Prototypen dass bei Geoobjekten der Fall ist, einmal definiert und können demzufolge beliebig oft<br />
mit dem "schl<strong>an</strong>kem" Element inst<strong>an</strong>ziert werden. Die Datenmenge reduziert sich dadurch<br />
erheblich, die Optimierung ist direkt in der SVG Syntax vorzunehmen.<br />
Wiederverwendbarkeit von Formatvorlagen: Damit "styles" nicht in jedem Element neu definiert<br />
werden, sollten diese in CSS oder Entities festgelegt werden. Dabei ist es sinnvoll möglichst<br />
einheitliche Styledefinitionen festzulegen. Der jeweilige Stil wird durch seine Inst<strong>an</strong>z im zu<br />
formatierenden Element zugewiesen. Weiter ermöglicht die Vererbung der Zeicheneigenschaften,<br />
dass beispielsweise nicht <strong>für</strong> jedes Element einer Gruppe eine Formatvorlage inst<strong>an</strong>ziert werden<br />
muss, sondern dies über das entsprechende Containerelement geschehen k<strong>an</strong>n. Diese<br />
Optimierungsmöglichkeit hat den schönen Nebeneffekt, dass Veränderungen nicht <strong>für</strong> jedes<br />
einzelne Element getätigt werden müssen (vgl. FERRAIOLO J. et al 2001, Chapter 11.8).<br />
Streaming: Aufgrund dessen, dass SVG keine Streaming Möglichkeiten vorsieht, muss nach<br />
<strong>an</strong>deren Wegen gesucht werden. Generell ist das Nachladen von beispielsweise SVG Fragmenten,<br />
die nicht primär benötigt werden, durch die ASV3 spezifische getURL() Methode möglich. Diese<br />
Tatsache k<strong>an</strong>n Streaming vortäuschen und somit l<strong>an</strong>ge und unnötige Downloads vermeiden.<br />
Komprimierung: bei der Datenübertragung macht sich die gzip Komprimierung der Dateien<br />
erheblich bemerkbar. Wie bei FERRAIOLO et al zu sehen ist, erzielt diese Komprimierungsquoten<br />
von rund 80% (vgl. FERRAIOLO J. et al 2001, Appendix J).<br />
Antialiasing: Rendereigenschaften, wie Antialiasing, können bei überflüssigem Gebrauch zu<br />
zeitaufwendigen Renderungen führen. Durch die ASV3 spezifische setDefaultAntialias()<br />
Methode k<strong>an</strong>n Antialiasing unterdrückt und dadurch die Renderingzeit erheblich verkürzt werden.<br />
Jedoch ist damit Qualitätsverlust verbunden. Weiter stellt auch die SVG Spezifikation durch<br />
58