14.11.2012 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!