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
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3 Technologien<br />
- ECMA 262 Spezifikation (vgl. ECMA 1999)<br />
- ECMAScript L<strong>an</strong>guage Binding for DOM2 Core (vgl. LE HORS A. et al 2000, Anh<strong>an</strong>g E)<br />
- ECMAScript L<strong>an</strong>guage Binding for SVG1 (vgl. FERRAIOLO J. et al 2001, Anh<strong>an</strong>g E)<br />
- Current Support for SVG – Adobe SVG <strong>Viewer</strong> (vgl. ADOBE 2001)<br />
Die Referenzen sind aufgrund der fehlenden Entwicklungsumgebung besonders hilfreich. Sie<br />
unterstützen den Entwickler in großem Maße.<br />
Um Skripte verwenden zu können, müssen diese in den SVG Baum eingebunden werden. Das<br />
Element erlaubt interne sowie externe Scriptdefinition. Dabei muss zusätzlich die<br />
Scriptsprache sowie der einzusetzende Scriptinterpreter <strong>an</strong>gegeben werden.<br />
Sind Scripte eingebunden, können diese durch Events aufgerufen werden. SVG unterstützt<br />
verschiedene Events, die das Ausführen bzw. Starten von Scriptroutinen auslösen. FERRAIOLO et<br />
al geben eine ausführliche Übersicht aller unterstützen Events sowie deren Eventh<strong>an</strong>dler (vgl.<br />
FERRAIOLO J. et al 2001, 16.2 Complete list of supported events). Die Wichtigsten sind User<br />
Interface Events, die beispielsweise durch das Betätigen einer Taste oder der Maus, ausgelöst<br />
werden. SVG lässt das Deklarieren von Events als Attribut direkt in einem Element zu.<br />
Treten bei der Interpretation der Funktionen Syntaxfehler auf, ersch<strong>einen</strong> diese in einer<br />
Nachrichtbox. Aufgrund der fehlenden Entwicklungsumgebung gestaltet sich das Auffinden von<br />
Fehlermeldungen äußerst schwierig.<br />
Die Implementierung des Prototypen nutzt das Grundkonzept der Objektorientierung. Diese ist in<br />
JavaScript, im Vergleich zu dem Konzept der Klassen und dem der Objekte höherer<br />
Programmiersprachen (z.B. in C++ oder Java), durch das Konzept der Prototypen implementiert.<br />
Es dient also nicht eine Klasse als Vorlage <strong>für</strong> ein Objekt, sondern ein prototypisches Objekt. Jedes<br />
Objekt k<strong>an</strong>n zur Laufzeit durch Attribute und Methoden erweitert werden. Eine derartige<br />
Erweiterung betrifft aber ausschließlich das referenzierte Objekt. Soll die Veränderung alle<br />
Inst<strong>an</strong>zen modifizieren, so erfordert dies eine Erweiterung des Prototypen durch die Eigenschaft<br />
prototype. Diese Eigenschaft k<strong>an</strong>n genutzt werden, die Vererbung von Methoden und<br />
Eigenschaften, die im Sprachumf<strong>an</strong>g von Javascript nicht unmittelbar vorgesehen ist,<br />
nachzuempfinden (vgl. ZIEGLER C. 2001; LINDSEY K. 2002).<br />
3.2.2.6 Animationsmöglichkeiten<br />
Für zeitgemäßes Design ist es wichtig, auch dynamische Vorgänge beschreiben zu können. Da<strong>für</strong><br />
sind Elemente der W3C Empfehlung <strong>für</strong> Multimedia SMIL in SVG implementiert. Weitere SVGinterne<br />
Animationselemente erweitern die Möglichkeit, Bewegungen darzustellen.<br />
Animationselemente werden als Kinder des zu <strong>an</strong>imierenden Elementes deklariert. Dabei werden<br />
fast alle Elemente und Attribute unterstützt. SVG definiert echte zeitbasierte Animation. Daher ist<br />
alleine der User Agent <strong>für</strong> die Renderingzeit ver<strong>an</strong>twortlich.<br />
Eine Vielzahl von Animationsmöglichkeiten mit zugehörigen Beispielen beschreibt QUINT (vgl.<br />
QUINT A. 2002a). Teilweise k<strong>an</strong>n durch geschickt programmierte Animation auf Scripting<br />
verzichtet werden. Ein beeindruckendes Beispiel zeigt HIRTZLER. Dabei ist eine Drop-Down<br />
Liste nur mit Elementen der Animation realisiert worden. Auf Scripting konnte deswegen komplett<br />
verzichtet werden (vgl. HIRTZLER M. 2002).<br />
3.2.2.7 Sonstiges<br />
Rastergraphiken werden mit dem Element in den SVG Baum eingebunden. Viele der<br />
gängigen Graphikformate (dazu zählt auch SVG selbst) werden unterstützt. Auch base64 kodierte<br />
57