6 .361 long>
po int>
. . .
area>
po in t s>
Quelltext 4.3: Beispiel des Geo-Objekts: Fläche.
4.2 Integration in MediaWiki-Umgebung
In diesem Kapitel werden technische Details zur Implementierung der Extension
und der Spezialseite beschrieben.
4.2.1 Wiki-Extension
Das Wiki ruft die Callback-Funktion renderPoints() bei Auftreten eines points-
Elements auf. Diese Funktion wird beim Laden der Extension (Point.php) über den
Event Handler registriert, siehe Quelltext 4.4. Dabei wird als erster Parameter der
Name des Elements (points) angegeben, siehe Codezeile 3.
64
4 Implementierung des technischen Systems
f unc t i on wfPoints ( ) {
g l oba l $wgParser ;
$wgParser−>setHook ( ” po in t s ” , ” renderPo int s ” ) ;
}
Quelltext 4.4: Registrierung der Callback-Funktion.
Die Funktion renderPoints() ist für die HTML-Ausgabe verantwortlich. Dieser
werden drei Argumente übergeben [31], siehe Quelltext 4.5:
$input: Der Inhalt, der zwischen und definiert wurde bzw.
NULL, wenn das Element geschlossen ist ().
$argv: Array der Attribute des Elements points: from und until.
$parser: Wikitext Parser, dieser verfügt über Informationen über den gesamten
Artikel. Der Parser wird verwendet um den Titel und den Wikitext zu er-
halten.
In renderPoints() wird überprüft, ob die Attribute from und until defi-
niert sind, siehe Codezeile 8 und 13. Trifft dies zu, werden zusätzlich zur X3D-
Ausgabe die Navigationselemente eingeblendet. Dafür wird eine weitere Funktion
(createEmbedded()) aufgerufen, siehe Codezeile 25. Neben den Attributen from,
until und dem Status ob ein Slider eingeblendet wird oder nicht, wird auch der
Name des Artikels mit übergeben.
65
4 Implementierung des technischen Systems
1 f unc t i on renderPo int s ( $input , $argv , $par se r ) {
2 // ge t t i t l e o f page
3 $ t i t l e = $parser−>mTitle−>getText ( ) ;
4
5 $showSl ider = true ;
6
7 // check i f from and u n t i l are se t , when not , show no
s l i d e r
8 i f ( ! i s set ( $argv [ ” from” ] ) && ! i s set ( $argv [ ” un t i l ” ] ) ) {
9 // show no s l i d e r
10 $showSl ider = fa l se ;
11 $un t i l = ”0” ;
12 $from = ”0” ;
13 } else i f ( ! i s set ( $argv [ ” un t i l ” ] ) ) {
14 // i f u n t i l i s not se t , s e t u n t i l to curren t year
15 $un t i l = date ( ”Y” ) ;
16 $from = $argv [ ” from” ] ;
17 } else {
18 $from = $argv [ ” from” ] ;
19 $un t i l = $argv [ ” un t i l ” ] ;
20 }
21
22 $ s i t e=’ / wik i / index . php/ Spe c i a l : GeoExtension/
23 ’ . $ t i t l e . ’ ’ ;
24 // embed X3D p lug in in t o w ik i a r t i c l e
25 $output=createEmbedded ( $from , $unt i l , $showSl ider ,
26 $ s i t e ) ;
27
28 r e turn $output ;
29 }
Quelltext 4.5: Funktion renderPoints().
66
4 Implementierung des technischen Systems
Die Funktion createEmbedded() ist für die Einbindung des X3D-Plug-ins ver-
antwortlich. Wobei als X3D-Dokument ein Verweis auf die Spezialseite mit dem
Namen des Artikels als Parameter übergeben wird, siehe Quelltext 4.6 (Codezeile
7 und 10 ).
1 f unc t i on createEmbedded ( $from , $unt i l , $showSl ider , $ s i t e )
2 {
3 $output = ’
4 ’ ;
16
17 r e turn $output ;
18 }
Quelltext 4.6: Integration des X3D-Plug-ins.
In Quelltext 4.7 wird die Integration der Navigationselemente (Slider und But-
tons) und die Ausgabe der Jahreszahlen dargestellt. Der Slider wird in Codzeile
10 bis 13 definiert, wobei für die Umsetzung die Yahoo! UI Library eingesetzt
wurde; für nähere Details siehe Kapitel 4.4.2. Als zusätzliche Möglichkeit für die
Navigation können auch Buttons verwendet werden, die in Codezeile 6-8, 15-18
und 22-27 definiert werden. Die aktuelle Jahreszahl (Codezeile 20 ) wird durch
JavaScript angepasst.
67
4 Implementierung des technischen Systems
1 f unc t i on createEmbedded ( $from , $unt i l , $showSl ider , $ s i t e )
2 {
3 . . .
4 i f ( $showSl ider ){
5 $output .= ’ . . .
6
9 . . .
10
11 . . . // De f i n i t i o n des S l i d e r s
12 s l i d e r I n i t ( ’ . $from . ’
, ’ . $ un t i l . ’ ) ; s c r i p t >
13
14 . . .
15
19 . . .
20 Year : ’ . $from . ’
21 . . .
22 . . . ’ ;
28 } . . .
29 r e turn $output ;
30 }
Quelltext 4.7: Definition der Navigation mittels Slider und Buttons.
68
4 Implementierung des technischen Systems
4.2.2 Wiki-Spezialseite
Die Spezialseite (Geo extension body.php) ist für das Generieren der X3D-Ausgabe
zuständig, siehe Quelltext 4.8. Als Erstes wird durch den übergebenen Seitenna-
men der Inhalt des entsprechenden Artikels geholt (Codezeile 3 ). Da diese Spe-
zialseite nur für Geo-Definitions- oder Geo-Containerseiten aufgerufen wird, ist
ein points-Element vorhanden. Dieses Element wird durch Codezeile 5 extra-
hiert (parse points). Alle Links des übergebenen Artikels werden aus dem Wi-
kitext ausgelesen (Codezeile 7 ). Anschließend werden diese Links rekursiv abge-
arbeitet (Codezeile 8 ) und die jeweiligen Geo-Objekte verwendet. Dabei erfolgt
die Durchführung anhand des Algorithmus, wie in Kapitel 3.2.3 beschrieben. Die
Funktion collectLinks() retourniert die aneinander gefügten points-Elemente
aller verlinkten Artikel.
Die Geo-Objekte der Verlinkungen sowie des aktuellen Artikels werden kom-
biniert (Codezeile 10 ). Um eine vollständige XML-Struktur zu erhalten, werden
zusätzlich der XML-Header und das Wurzel-Element geoinformation hinzugefügt
(Codezeile 12-16 ).
Auf das erhaltene XML-Dokument wird eine XSL-Transformation angewendet
(Codezeile 18 ). Details zur Transformation werden im nachfolgenden Kapitel 4.3
behandelt. Die daraus resultierende X3D-Ausgabe wird an das Plug-in zurückge-
geben (Codezeile 20 ).
69
4 Implementierung des technischen Systems
1 f unc t i on execute ( $par ) {
2 . . .
3 $content = g e t c o n t e n t o f a r t i c l e (NS MAIN, $par ) ;
4
5 $output1 = pa r s e po i n t s ( $content , ”” ) ;
6
7 $ l i n k l i s t = pa r s e va l u e s ( $content , ” [ [ ” , ” ] ] ” ) ;
8 $output = s e l f : : c o l l e c t L i n k s ( $ l i n k l i s t ) ;
9
10 $output = $output1 . $output ;
11 . . .
12 $xml doc = ”
14
16 ” . $output . ”” ;
17
18 $x3d doc = xs l t r an s f o rma t i on ( $xml doc ) ;
19 . . .
20 echo $x3d doc ;
21 }
Quelltext 4.8: Spezialseite GeoExtension body.php.
4.3 XSL-Transformation
Nachdem die Eingabedaten in eine XML-Struktur gebracht wurden, wird aus dieser
mittels XSL-Transformation ein X3D-Dokument generiert. Nachfolgend wird die
Transformierung der Daten näher erläutert.
Bei der Transformation eines Punktes werden die eingegebenen Werte für Längen-
und Breitengrad in kartesische Koordinaten umgerechnet, siehe Quelltext 4.9. Die-
se dienen zur Darstellung des Punktes auf einer Kugel. Das Bogenmaß (rad) von
Längen- und Breitengrad muss noch jeweils berechnet werden, dies erfolgt durch
70
4 Implementierung des technischen Systems
folgende Formel: Winkel (in rad) = 2 π lat/360.
1
2 . . .
3
4 . . .
5
6
7 x s l : t e x t>
8
9 x s l : t e x t>
10
11 x s l : a t t r i b u t e>
12 . . .
13
14 x s l : t emp l a t e>
Quelltext 4.9: Berechnung der kartesischen Koordinaten eines Punkts.
Des Weiteren werden die vom Benutzer definierten Attribute in die dafür zuständi-
gen X3D-Attribute geschrieben, siehe Quelltext 4.10.
Jedem X3D-Element eines Geo-Objekts wird eine ID vergeben, siehe Quell-
text 4.11 (Codezeile 8 und 18 ). Damit können Objekte explizit angesprochen wer-
den und so aus- und eingeblendet werden, wie zum Beispiel der Titel oder die
Geometrie eines Objekts.
71
4 Implementierung des technischen Systems
1
2 . . .
3
4
5
6 x s l : a t t r i b u t e>
7
8 . . .
9 x s l : t emp l a t e>
Quelltext 4.10: Transformation der eingegebenen Attribute.
1
2
3
4 x s l : v a r i a b l e>
5 . . .
6
7
8
9
10
11 x s l : a t t r i b u t e>
12 . . .
13 Mater ia l>
14
15
16
17 . . .
18 x s l : t emp l a t e>
Quelltext 4.11: Vergabe von IDs.
72
4 Implementierung des technischen Systems
4.3.1 Punkt
Ist point ein direktes Sub-Element von points wird das Template points/point
verwendet, siehe Quelltext 4.12. Diese führt die Transformation eines Punktes
durch. Die Darstellung erfolgt anhand der Geometrie Sphere (Codezeile 16 ).
1
2 . . .
3
4 . . .
5
6
7
8
9
10 x s l : a t t r i b u t e>
11
12
13 x s l : a t t r i b u t e>
14 Mater ia l>
15
16
17
18 . . .
19
20 . . .
21 B i l l boa rd>
22 . . .
23
24 x s l : t emp l a t e>
Quelltext 4.12: Transformation eines Punkts.
73
4 Implementierung des technischen Systems
4.3.2 Linie
Die Transformation von Linien erfolgt nach dem gleichen Prinzip wie zuvor bei den
Punkten. Anstatt des geometrischen Elements Sphere wird ein IndexedLineSet
verwendet, das sich aus einer Menge von Punkten zusammensetzt, siehe Quell-
text 4.13. In Codezeile 13-17 werden die Koordinaten der einzelnen Punkte defi-
niert. Die Indizes aus dem Attribut coordIndex Codezeile 7-12 werden verwendet,
um die einzelnen Punkte miteinander zu verknüpfen und damit eine Linie zu bil-
den.
74
4 Implementierung des technischen Systems
1
2 . . .
3
4 . . .
5
6
7
8
9
10 x s l : f o r −each>
11 −1 x s l : t e x t>
12 x s l : a t t r i b u t e>
13
14
15
16 x s l : a t t r i b u t e>
17
18 . . .
19 IndexedLineSet>
20
21 . . .
22
23
24 . . .
25
26 . . .
27 x s l : t emp l a t e>
Quelltext 4.13: Transformation einer Linie.
Für jeden Punkt der Linie werden die Koordinaten durch das Template
points/line/point berechnet, siehe Quelltext 4.14.
75
4 Implementierung des technischen Systems
x s l : t e x t>
x s l : t e x t>
x s l : t emp l a t e>
Quelltext 4.14: Berechnung der einzelnen Punkte einer Linie.
4.3.3 Fläche
Eine Fläche besteht aus einer Menge von Punkten, die zu einer Fläche zusam-
mengefügt werden. Als Geometrie wird hier kein IndexedLineSet sondern ein
IndexedFaceSet verwendet. Ansonsten erfolgt die Verarbeitung wie bei der Linie.
4.3.4 Level of Detail
Bei der Transformation der Benutzereingaben wird unterschieden, ob ein Level
of Detail Element (nachfolgend als LOD-Element bezeichnet) angegeben wurde
oder nicht. Definiert der Benutzer kein LOD-Element, wird von der Spezialseite
ein nolod-Element in das XML-Dokument eingefügt. Dies ist notwendig, um im
Stylesheet die Textur der Erdoberfläche einzufügen, siehe Quelltext 4.15.
76
4 Implementierung des technischen Systems
< x s l : i f t e s t=”count (// po in t s / lod ) = 0”>
x s l : i f>
x s l : t emp l a t e
Quelltext 4.15: Verarbeitung bei nicht Definition des LOD-Elements.
Wird ein LOD-Element definiert, werden die kartesischen Koordinaten der vier
Eckpunkte der detaillierten Karte berechnet. Wie in Kapitel 2.1.6 beschrieben,
werden unterschiedlich detaillierte Geometrien eingeblendet. Die Unterscheidung
erfolgt durch das Attribut range, siehe Quelltext 4.16 (Codezeile 3 ). Dabei wird
außerhalb dieses Bereichs die gesamte Textur der Erde angezeigt (Codezeile 20-22 ).
Zoomt der Benutzer jedoch innerhalb dieses Bereichs, blendet das detailliertere
Kartenmaterial (Codezeile 5-17 ) und die gesamte Textur der Erdoberfläche ein
(Codezeile 18 ).
77
4 Implementierung des technischen Systems
1
2
3
4
5
6
7 . . .
8 IndexedFaceSet>
9
10
12
13
14 x s l : a t t r i b u t e>
15 ImageTexture>
16
17
18
19
20
21
22
23
24
25 x s l : t emp l a t e>
Quelltext 4.16: XSL-Transformation des LOD-Elements.
4.4 Navigation
Die Applikation bietet verschiedene Navigationsmöglichkeiten: Navigation inner-
halb des Plug-ins, Interaktionselemente (Slider, Buttons) oder durch eine erwei-
terte Suche nach Zeitperioden.
78
4 Implementierung des technischen Systems
4.4.1 X3D-Plug-in
Ein X3D-Plug-in bietet eine Vielzahl von Interaktionsmöglichkeiten mit der X3D-
Welt. Es besteht die Möglichkeit die Art der Bewegung zu definieren (gehen, glei-
ten, betrachten, fliegen, etc.) und die gewünschte Geschwindigkeit festzulegen.
Durch definierte Viewpoints kann die X3D-Szene aus verschiedenen Positionen
betrachtet werden. Innerhalb der XSL-Transformation werden diese Viewpoints
eingefügt, wie in Quelltext 4.17 dargestellt.
. . .
. . .
Quelltext 4.17: Definition von Viewpoints im XSL-Dokument.
4.4.2 Navigationselemente
Um die historische Entwicklung der Welt verfolgen zu können, muss den einzelnen
Geo-Objekten eine zeitliche Komponente hinzugefügt werden. Dies erfolgt durch
das Verwenden des Attributs time. In Quelltext 4.18 wird die Integration des
Zeitattributs dargestellt (Codezeile 3 ).
79
4 Implementierung des technischen Systems
1
2
4 < l a t> . . . l a t>
5 . . . long>
6 po int>
7 po in t s>
Quelltext 4.18: Geo-Objekt mit dem Attribut time.
Durch die Angabe der Zeit ist es möglich die Geo-Objekte zeitlich zu sortie-
ren. Diese chronologische Sortierung dient als Basis für die Visualisierung des
zeitlichen Verlaufs. Durch die Definition der Attribute from und until bei Geo-
Containerseiten werden nur jene Geo-Objekte der verlinkten Seiten angezeigt, de-
ren time-Attribut innerhalb des Intervalls liegt, siehe Quelltext 4.19.
po in t s>
[ [ Graz ] ]
[ [ Innsbruck ] ]
Quelltext 4.19: Geo-Containerseite mit den Attributen from und until.
Werden die beiden Attribute from und until angegeben, fügt die Extension die
Navigationselemente (Slider und Buttons) ein. Für die Implementierung des Sliders
wurde die Yahoo! UI Library [58] eingesetzt, da HTML keine Slider-Funktionalität
anbietet. Beim Aufruf des Sliders werden die Werte der beiden Attribute from und
until übergeben, siehe Quelltext 4.20 (Codezeile 7 und 8 ).
80
4 Implementierung des technischen Systems
1
2
3
4
5
6
7
s l i d e r I n i t ( ’ . $from . ’ ,
8 ’ . $ un t i l . ’ ) ; s c r i p t >
9
Quelltext 4.20: Aufruf der Slider-Funktion.
Beim Initialisieren des Sliders werden diese für den Minimal- und Maximalwert
herangezogen, wie in Quelltext 4.21 dargestellt. Die Skalierung des Sliders erfolgt
je nach Zeitspanne. Das heißt, je größer diese Spanne ist, desto größer ist auch
die Schrittweite beim Navigieren. Bei jeder Zustandsänderung des Sliders wird die
Funktion changeEvent() aufgerufen (Codezeile 11 ).
1 f unc t i on s l i d e r I n i t (min , max) {
2 minYear = min ;
3 maxYear = max ;
4 var d i f f = max − min ;
5 var bgWidth = Dom. get ( bg ) ;
6 f a c t o r = 400/ d i f f ;
7
8 bgWidth . s t y l e . width=””+(Math . c e i l ( d i f f ∗ f a c t o r )+17)+”px” ;
9 s l i d e r = YAHOO. widget . S l i d e r . g e tHo r i z S l i d e r (bg , ” s l i d e r−
thumb” , 0 , Math . c e i l ( d i f f ∗ f a c t o r ) , Math . c e i l ( f a c t o r ) ) ;
10 u s eS l i d e r = true ;
11 s l i d e r . s ub s c r i b e ( ” change” , changeEvent ) ;
12 }
Quelltext 4.21: Funktion sliderInit().
81
4 Implementierung des technischen Systems
In dieser Funktion wird das neue Jahr berechnet und im Browser angezeigt,
siehe Quelltext 4.22 (Codezeile 8-9 ). Des Weiteren wird das Jahr der Funktion
showYear() als Parameter übergeben (Codezeile 7 ).
1 f unc t i on changeEvent ( o f f s e tFromStar t ) {
2 i f ( o f f s e tFromStar t > Math . c e i l ( d i f f ∗ f a c t o r ) )
3 s l i d e r . setValue (Math . c e i l ( d i f f ∗ f a c t o r ) ) ;
4
5 var year = Math . c e i l (minYear + ( o f f s e tFromStar t / f a c t o r ) ) ;
6
7 showYear ( year ) ;
8 var valnode = Dom. get ( va luearea ) ;
9 valnode . innerHTML = year ;
10 }
Quelltext 4.22: Funktion changeEvent().
Für die Änderung der X3D-Szene ist die Funktion showYear() zuständig, die
sich aufgrund der veränderten Slider-Position ergibt. Wird also der Slider verscho-
ben, werden die entsprechenden Geo-Objekte aus- bwz. eingeblendet. Durch die
erfolgte Vergabe von IDs bei der XSL-Transformation (siehe Kapitel 4.3) ist jedes
Objekt eindeutig ansprechbar.
Die JavaScript Funktionen getNodeEventOut(nodeName, eventOutName) und
setNodeEventIn(nodeName, eventInName, value) ermöglichen das Auslesen und
Verändern einzelner Elemente der X3D-Szene.
4.4.3 Suche nach Zeitperioden
Durch eine erweiterte Suche ist es möglich, sich nur jene historische Ereignisse
(Geo-Objekte) anzeigen zu lassen, die der eingegebenen Zeitperiode entsprechen.
Diese erweiterte Suchmöglichkeit wurde durch zwei Spezialseiten implementiert. In
der ersten (SearchTimePeriodExtension body.php) wird zunächst die Eingabemas-
ke definiert. Die Verarbeitung der Formulardaten wird von der zweiten Spezialseite
82
4 Implementierung des technischen Systems
(GeoSearchTimePeriodExtension body.php) übernommen. Diese ist von der Funk-
tionalität ähnlich der Spezialseite in Kapitel 4.2.2. Der Unterschied besteht darin,
dass bei dieser Seite sämtliche im Wiki vorhandene Artikel betrachtet werden und
nicht nur die verlinkten. Es werden jedoch nur jene Geo-Objekte angezeigt, die sich
innerhalb des Intervalls befinden, das der Benutzer über die Suchmaske definiert
hat.
83
5 Anwendungsbeschreibung
Dieses Kapitel beschreibt die Verwendung der Applikation aus Benutzersicht. Es
werden mögliche Anwendungen der Geo-Objekte innerhalb der verschiedenen Sei-
tentypen (Geo-Definitionsseite, Geo-Containerseite) dargestellt. Des Weiteren wer-
den unterschiedliche Navigationsmöglichkeiten gezeigt. Abschließend werden tech-
nische Voraussetzungen für die Inbetriebnahme der Applikation angeführt.
5.1 Erstellung von Artikeln
Nachfolgend wird das Erstellen von historischen Artikeln mithilfe von Geo-Objekten,
anhand eines konkreten Beispiels, diskutiert. Dabei werden die in Kapitel 3.2.2
vorgestellten Seitentypen im praktischen Zusammenhang behandelt.
In Quelltext 5.1 wird ein Artikel (Austria) gezeigt, in dem verschiedene Seiten-
typen zum Einsatz kommen. Zuerst werden die Landesgrenzen von Austria durch
das Geo-Objekt line definiert (Codezeile 2-18 ). Danach wird zu anderen Artikeln
verlinkt: Salzburg, Mozart und Cities of Austria.
Anhand der Abbildung 5.1 ist ersichtlich, dass es sich bei Salzburg um eine Geo-
Definitionsseite, bei Cities of Austria um eine Geo-Containerseite und bei Mozart
um eine nicht geografische Seite handelt. Aus der Skizzierung ist weiters ersichtlich,
dass City of Austria auf die Geo-Definitionsseiten Graz und Innsbruck verlinkt.
Die verstärkte durchgezogene Linie markiert, welche Artikel auf dem Weltatlas
dargestellt werden.
Abbildung 5.2 zeigt die dazugehörige grafische Darstellung in X3D. Wobei Mo-
zart nicht dargestellt wird, da es sich um eine nicht geografische Seite handelt.
In den nachfolgenden Kapiteln wird näher auf die einzelnen Artikel eingegangen.
84
5 Anwendungsbeschreibung
1
2 < l i n e de f=” Austr ia ” c o l o r=”0 1 1” t rans=” 0 .3 ”
3 desc=” borders o f Austr ia ” u r l=” ht tp : //www. o e s t e r r e i c h . at ”
4 time=”2007”>
5
6 < l a t>48.718 l a t>
7 16.901 long>
8 po int>
9
10 < l a t>48.814 l a t>
11 16.540 long>
12 po int>
13 . . .
14
15 < l a t>48.718 l a t>
16 16.901 long>
17 po int>
18 l i n e>
19 po in t s>
20
21 A beau t i f u l c i t y o f Austr ia i s [ [ Sa lzburg ] ] , which i s
22 known f o r the famous composer [ [ Mozart ] ] .
23 Further c i t i e s can be found under [ [ C i t i e s o f Austr ia ] ] .
Quelltext 5.1: Artikel mit geografischem Inhalt (Geo-Objekt) und Verlinkungen
auf weitere Artikel.
5.1.1 Geo-Definitionsseite
Der Wikitext zum Artikel Salzburg wird in Quelltext 5.2 aufgelistet. Dieser bein-
haltet für die Darstellung der Stadt das Geo-Objekt point. Mittels der Definition
des Attributs time wird den geografischen Daten eine zeitliche Information hinzu-
gefügt. Dadurch ist es möglich die einzelnen Geo-Objekte zeitlich anzusprechen.
Das ist für zeitliche Verläufe und der Suche nach Zeitperioden erforderlich.
85
5 Anwendungsbeschreibung
Abbildung 5.1: Verlinkungsbaums für die grafische Darstellung von Austria.
Abbildung 5.2: Grafische Darstellung des Artikels Austria.
86
5 Anwendungsbeschreibung
< l a t>47.8001839 l a t>
13.0427455 long>
po int>
po in t s>
Quelltext 5.2: Wikitext der Geo-Definitionsseite Salzburg.
5.1.2 Geo-Containerseite
In Quelltext 5.3 wird die Darstellung der Geo-Containerseite Cities of Austria
aufgelistet. Die dreidimensionale Darstellung wird hier aus den verlinkten Seiten
(Graz und Innsbruck) generiert. Dabei wird jede verlinkte Seite, wie in Kapi-
tel 3.2.3 beschrieben, verarbeitet und die darin definierten Geo-Objekte angezeigt.
Die beiden Geo-Definitionsseiten Graz und Innsbruck beinhalten jeweils das Geo-
Objekt point, siehe Abbildung 5.3.
[ [ Graz ] ]
[ [ Innsbruck ] ]
Quelltext 5.3: Wikitext der Geo-Containerseite Cities of Austria.
Zeitlicher Verlauf
Durch die Verwendung einer Geo-Containerseite ist es möglich, bestehende Artikel
für einen zeitlichen Verlauf heranzuziehen. In Quelltext 5.4 wird ein Beispiel (His-
tory of Austria) dazu dargestellt. Dieser beinhaltet Links auf die Artikel Austria,
Austria-Hungary 1911, Austria 1935 und Austria 1885.
Abbildung 5.4 zeigt den Verlinkungsbaum für die grafische Darstellung. Durch
das Hinzufügen der beiden Attribute from und until wird ein Zeitintervall defi-
87
5 Anwendungsbeschreibung
Abbildung 5.3: Grafische Darstellung des Artikels Cities of Austria.
niert, siehe Quelltext 5.4 (Codezeile 1 ). Es werden nur jene Geo-Objekte der ver-
linkten Artikel auf dem Weltatlas dargestellt, die sich innerhalb dieses Intervalls
befinden, diese sind Austria, Austria 1911 und Austria 1935. Der Artikel Austria
1885 wird nicht dargestellt, da das Attribut time nicht innerhalb des Zeitbereichs
liegt, siehe Quelltext 5.5 (Codezeile 2 ).
Die Visualisierung des Artikels History of Austria wird in Abbildung 5.5 darge-
stellt.
1 po in t s>
2
3 [ [ Austr ia ] ]
4 [ [ Austr ia−Hungary 1911 ] ]
5 [ [ Austr ia 1 9 3 5 ] ]
6 [ [ Austr ia 1 8 8 5 ] ]
Quelltext 5.4: Artikel History of Austria mit zeitlichem Verlauf.
88
5 Anwendungsbeschreibung
Abbildung 5.4: Verlinkungsbaum für die grafische Darstellung von History of Aus-
tria.
1
2 < l i n e de f=” Austr ia 1885” c o l o r=”1 1 0” t rans=” 0 .3 ” desc=”
Austr ia 1885 borders ” u r l=”” time=”1885”>
3
4 < l a t>48.718 l a t>
5 16.901 long>
6 po int>
7 . . .
8
9 < l a t>47.739 l a t>
10 12.255 long>
11 po int>
12 l i n e>
13 po in t s>
Quelltext 5.5: Wikitext des Artikels Austria 1885.
89
5 Anwendungsbeschreibung
Abbildung 5.5: Visualisierung des Artikels History of Austria.
5.1.3 Nicht geografische Seite
Auf einer nicht geografischen Seite befinden sich textuelle Informationen mit even-
tuell hinzugefügten zweidimensionalen Abbildungen, wie der Artikel Mozart von
Quelltext 5.1. Dieser beinhaltet kein points-Element und damit auch keine Infor-
mationen für die dreidimensionale Darstellung.
5.2 Navigation
Dieses Kapitel beschreibt die einzelnen Navigationsmöglichkeiten innerhalb der
Benutzerschnittstelle.
5.2.1 X3D-Plug-in
Die Funktionalitäten von X3D-Plug-ins sind je nach Anbieter unterschiedlich. Die
nachfolgende Beschreibung erfolgt anhand des Plug-ins BS Contact VRML/X3D.
90
5 Anwendungsbeschreibung
Abbildung 5.6: Mit dem Kontextmenü eines X3D-Plug-ins können Einstellungen
für die Navigation vorgenommen werden.
[4] Dieses Plug-in wurde bei der Erstellung der Applikation verwendet.
Beim Klick mit der rechten Maustaste ins Plug-in öffnet sich ein Kontextmenü,
siehe Abbildung 5.6. Dieses bietet verschiedene Auswahlmöglichkeiten für den Be-
nutzer an. So kann zwischen unterschiedlichen Viewpoints ausgewählt werden. Da-
bei ist es möglich, diese mittels Viewpoint Tour aufeinander folgend abzuspielen
und zwischen den einzelnen Viewpoints nach vor und zurück zu navigieren (Prev
Viewpoint, Next Viewpoint). Des Weiteren werden verschiedene Darstellungswei-
sen der X3D-Szene (Drahtmodel, Knotenmodel, Festkörper, ...) und eine Auswahl
von unterschiedlichen Bewegungsarten (Movement) angeboten.
5.2.2 Navigationselemente
Durch Slider und Buttons ist ein Navigieren zwischen den einzelnen Geo-Objekten
möglich. Mit den Vorwärts- und Rückwärtsbuttons wird der zeitliche Verlauf schritt-
weise verändert, siehe Abbildung 5.7. Die Anzeige von allen Geo-Objekten ist durch
den Button Show all umgesetzt, mittels des Buttons Animation werden die ein-
zelnen Objekte automatisch in chronologischer Reihenfolge durchlaufen.
91
5 Anwendungsbeschreibung
Abbildung 5.7: Interaktionselemente: Slider und Buttons.
5.2.3 Suche nach Zeitperioden
Durch die Angabe von Zeitperioden kann nach geografischen Objekten mit zeitli-
chem Hintergrund gesucht werden. Dazu ist es erforderlich die beiden Eingabefel-
der from und until auszufüllen. Die Applikation durchsucht alle Artikel um jene
anzuzeigen, die sich innerhalb dieser Zeitspanne befinden. Die Navigation erfolgt,
wie zuvor beschrieben, durch den Slider bzw. den Buttons. In Abbildung 5.8 wird
die Darstellung eines Suchergebnisses gezeigt.
5.2.4 Level of Detail
Durch die Verwendung des LOD-Elements kann detaillierteres Kartenmaterial inte-
griert werden. Dabei wird neben der Definition eines Geo-Objekts zusätzlich das
LOD-Element eingebunden, siehe Quelltext 5.6 (Codezeile 2-19 ). Durch das Attri-
but urlLOD (Codezeile 2 ) wird der Pfad zur einzublendenden Textur definiert. Der
Benutzer muss zuvor das Kartenmaterial über die MediaWiki-Funktionalität Datei
hochladen auf den Server laden. Durch die Angabe von den Koordinaten der vier
Eckpunkte der Karte (Codezeile 3-18 ) ist die Applikation imstande das neue Bild
auf der Weltkugel einzufügen. In Abbildung 5.9 wird dazu ein Beispiel dargestellt.
Das linke Bild zeigt eine X3D-Szene ohne Level of Detail. Im rechten Bild wird der-
selbe Ausschnitt nochmals dargestellt, jedoch mit detaillierterem Kartenmaterial.
Dies wird erreicht, indem der Benutzer eine bestimmte Zoomtiefe erreicht.
92
5 Anwendungsbeschreibung
Abbildung 5.8: Darstellung des Suchergebnisses nach einer Zeitperiode.
Abbildung 5.9: Beispiel einer Verwendung von Level of Detail in einer X3D-Szene.
93
5 Anwendungsbeschreibung
1
2
3
4 < l a t>46 .10 l a t>
5 9 .35 long>
6 po int>
7
8 < l a t>46 .10 l a t>
9 17 .35 long>
10 po int>
11
12 < l a t>49 .10 l a t>
13 17 .35 long>
14 po int>
15
16 < l a t>49 .10 l a t>
17 9 .35 long>
18 po int>
19 lod>
20 < l i n e de f=” Austr ia ” c o l o r=”0 1 1” t rans=” 0 .3 ”
21 desc=” borders ” u r l=” ht tp : //www. o e s t e r r e i c h . at ”
22 time=”2007”>
23
24 < l a t>48.718 l a t>
25 16.901 long>
26 po int>
27 . . .
28 l i n e>
29 po in t s>
Quelltext 5.6: Artikel mit integriertem Level of Detail (LOD).
94
5 Anwendungsbeschreibung
5.3 Technische Voraussetzungen
Die Voraussetzungen zur Installation und Benutzung der Applikation auf Server-
und Clientseite werden in diesem Kapitel näher erläutert.
5.3.1 Anforderungen an die Inbetriebnahme der Applikation
am Server
Installation von MediaWiki
Die Applikation basiert auf MediaWiki Version 1.10.0. Um MediaWiki erfolgreich
zu installieren sind folgende Anforderungen gegeben: [28]
- MediaWiki ist in PHP programmiert, für diese Version ist die Verwendung
von PHP 5 erforderlich.
- Apache oder ISS kann als Webserver eingesetzt werden. Für die Entwicklung
wurde Apache 2 (Version 2.2.3) verwendet.
- Als Datenbank kann MySQL oder PostgreSQL zum Einsatz kommen. Für
die Applikation wurde mit MySQL 5 (Version 5.0.27) gearbeitet.
Nähere Details zur Installation sind unter [29] zu finden.
Erweiterungen
Um die Extension und die Spezialseiten in MediaWiki zu installieren, müssen diese
in der Datei LocalSettings.php, zu finden im Wurzelverzeichnis, angegeben werden,
siehe Quelltext 5.7.
95
5 Anwendungsbeschreibung
r e qu i r e on c e ( ”$IP/ ex t en s i on s /GeoExtension/Point . php” ) ;
r e qu i r e on c e ( ”$IP/ ex t en s i on s /GeoExtension/
GeoExtension . php” ) ;
r e qu i r e on c e ( ”$IP/ ex t en s i on s /GeoExtension/
SearchTimePeriodExtension . php” ) ;
r e qu i r e on c e ( ”$IP/ ex t en s i on s /GeoExtension/
GeoSearchTimePeriodExtension . php” ) ;
Quelltext 5.7: Installation der Erweiterungen: Extension und Spezialseiten.
Bilder hochladen
Das Laden von Bildern in MediaWiki ist standardmäßig deaktiviert. Durch Ände-
rungen in den Konfigurationen kann diese Funktionalität jedoch aktiviert werden.
Nähere Details zu den Einstellungen und zur Verwendung der hoch geladenen
Bilder im Wiki sind unter [26] und [27] zu finden.
5.3.2 Anforderungen an den Client
Betriebssystem
Die Applikation ist unabhängig vom Betriebssystem, da das System als Web-
Applikation konzipiert wurde. Als Entwicklungsumgebung wurde Windows XP
verwendet.
Browser
Der 3D-Atlas kann in allen gängigen Browsern benutzt werden, sofern ein X3D-
Plug-in installiert wird. Für die Entwicklung kam Internet Explorer 7 zum Einsatz.
X3D-Plug-in
Für die Darstellung des X3D-Dokuments ist ein X3D-Plug-in erforderlich. In Ka-
pitel 2.1.5 werden verschiedene Plug-ins vorgestellt. Für die Entwicklung der Ap-
plikation wurde das Plug-in BS Contact VRML/X3D [4] verwendet.
96
6 Schlussfolgerungen
Im Laufe der Arbeit hat sich die Komplexität und Vielseitigkeit dieses Themen-
gebiets herausgestellt, vor allem durch die Kombination unterschiedlicher Tech-
nologien und das Beachten verschiedener Aspekte, die bei der Erstellung eines
historischen Weltatlasses erforderlich sind. Dabei waren Kenntnisse in Web 2.0, in
der Visualisierung von Objekten in X3D und in der Verarbeitung von geografischen
Informationen erforderlich.
Die Herausforderungen lagen unter anderem in der Darstellung der Geo-Objekte
auf einer dreidimensionalen Kugel. Die X3D-Spezifikation bietet spezielle Funktio-
nalitäten (Geospatial-Komponente) für die Visualisierung von geografischen Da-
ten, jedoch gibt es keine Plug-ins, die diese auch in einem Webbrowser unterstützen.
Bei der Weiterentwicklung von X3D-Plug-ins besteht ein großer Nachholbedarf, ob-
wohl Intentionen für eine Implementierung dieser X3D-Funktionalitäten bestehen,
siehe BS Contact Geo.
Die Applikation wurde in ein bestehendes Wiki (MediaWiki) integriert. Dabei
war ein weiteres Kriterium die Generierung einer Struktur für die Darstellung
in X3D aus den Wiki-Daten. Die Verwendung einer Extension ermöglichte das
Einbetten der Daten innerhalb des Wikitexts. Zum Konstruieren komplexer geo-
grafischer Darstellungen wurde auf das Grundprinzip von Wikis, dem Verlinken,
zurückgegriffen. Dabei wird die Visualisierung aus den Inhalten der verlinkten Ar-
tikel generiert.
Eine zukünftige Erweiterung der Applikation besteht in der Erhöhung der Ge-
nauigkeit bei der Darstellung von Geo-Objekten sowie bei der Integration von
detaillierterem Kartenmaterial. Bei ausreichender Unterstützung der X3D-Spezi-
fikation seitens der X3D-Plug-ins, würde eine Restrukturierung des Systems auf
die Geospatial-Komponente höhere Flexibilität bringen. Eine sehr hilfreiche Funk-
tionalität wäre das Integrieren einer Benutzerschnittstelle, die es ermöglicht, die
97
6 Schlussfolgerungen
Koordinaten für Geo-Objekte per Mausklick auf den 3D-Globus einzugeben, an-
statt diese direkt in den Wikitext eintragen zu müssen.
Der X3D-Standard hat sich noch nicht etabliert. Jedoch lassen die unterschiedli-
chen Arbeitsgruppen des Web3D-Konsortiums und den daraus resultierenden Spe-
zifikationen für unterschiedlichen Einsatzgebiete auf eine interessante Zukunft hof-
fen. Projekte wie Wikipedia haben gezeigt, dass durch die Einbeziehung vieler Be-
nutzer eine große Datensammlung geschaffen werden kann. Durch die Verwendung
ähnlicher Technologien kann dieses Potenzial für diese Applikation ausgeschöpft
werden, um eine umfangreiche historische Datenbasis, verknüpft mit geografischen
Informationen, zu erhalten.
98
Abbildungsverzeichnis
2.1 Visualisierung zu den Codebeispielen in VRML und X3D. . . . . . . 7
2.2 Szenegraph zu den Codebeispielen in VRML und X3D. . . . . . . . 11
2.3 X3D-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 X3D-Basis-Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Visualisierung einer Box . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Visualisierung eines Kegels . . . . . . . . . . . . . . . . . . . . . . . 18
2.7 Visualisierung eines Zylinders . . . . . . . . . . . . . . . . . . . . . 20
2.8 Visualisierung einer Kugel . . . . . . . . . . . . . . . . . . . . . . . 21
2.9 Visualisierung eines Material-Knotens . . . . . . . . . . . . . . . . . 23
2.10 Visualisierung eines ImageTexture-Knotens . . . . . . . . . . . . . . 24
2.11 Visualisierung eines Transform-Knotens . . . . . . . . . . . . . . . . 26
2.12 Web 2.0 Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.13 Topologische Beziehungen . . . . . . . . . . . . . . . . . . . . . . . 40
2.14 Kartesische Koordinaten im Vergleich zu Polarkoordinaten . . . . . 41
2.15 Geografisches Koordinatensystem . . . . . . . . . . . . . . . . . . . 42
2.16 Referenzellipsoide nach regionalem Bezug . . . . . . . . . . . . . . . 43
2.17 Google Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.18 NASA World Wind . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1 Ablauf des Visualisierungsprozesses . . . . . . . . . . . . . . . . . . 51
3.2 Architektur von MediaWiki . . . . . . . . . . . . . . . . . . . . . . 52
3.3 Mögliche Verlinkungen ausgehend von einem Artikel . . . . . . . . . 54
3.4 Architektur des technischen Systems mit Integration in MediaWiki. 56
3.5 Ablaufdiagramm für die Abarbeitung der Spezialseite . . . . . . . . 57
3.6 Ablaufdiagramm für die Anzeige einer Wiki-Seite . . . . . . . . . . 60
99
Abbildungsverzeichnis
5.1 Verlinkungsbaums für die grafische Darstellung von Austria. . . . . 86
5.2 Grafische Darstellung des Artikels Austria. . . . . . . . . . . . . . . 86
5.3 Grafische Darstellung des Artikels Cities of Austria. . . . . . . . . . 88
5.4 Verlinkungsbaum für die grafische Darstellung von History of Austria. 89
5.5 Visualisierung des Artikels mit zeitlichem Verlauf . . . . . . . . . . 90
5.6 Kontextmenü des X3D-Plug-ins BS Contact VRML/X3D . . . . . . 91
5.7 Interaktionselemente: Slider und Buttons . . . . . . . . . . . . . . . 92
5.8 Darstellung des Suchergebnisses nach einer Zeitperiode. . . . . . . . 93
5.9 Beispiel einer Verwendung von Level of Detail in einer X3D-Szene. . 93
100
Quelltextverzeichnis
2.1 VRML-Codebeispiel. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 X3D-Codebeispiel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Spezifikation des Knotens Box mit Beispiel. . . . . . . . . . . . . . 17
2.4 Spezifikation des Knotens Cone mit Beispiel. . . . . . . . . . . . . . 18
2.5 Spezifikation des Knotens Cylinder mit Beispiel. . . . . . . . . . . . 19
2.6 Spezifikation des Knotens Sphere mit Beispiel. . . . . . . . . . . . . 20
2.7 Spezifikation des Knotens Material mit Beispiel. . . . . . . . . . . . 22
2.8 Spezifikation des Knotens ImageTexture mit Beispiel. . . . . . . . . 23
2.9 Spezifikation des Knotens Transform mit Beispiel. . . . . . . . . . . 26
2.10 Spezifikation des Knotens LOD. . . . . . . . . . . . . . . . . . . . . 27
2.11 Spezifikation von ROUTE. . . . . . . . . . . . . . . . . . . . . . . . 28
2.12 Beispiel eines XML-Dokuments. . . . . . . . . . . . . . . . . . . . . 30
2.13 Beispiel eines XSL-Dokuments. . . . . . . . . . . . . . . . . . . . . 32
2.14 Transformiertes X3D-Dokument. . . . . . . . . . . . . . . . . . . . 33
2.15 Beispiel eines GML-Dokuments. . . . . . . . . . . . . . . . . . . . . 44
2.16 Beispiel eines KML-Dokuments. . . . . . . . . . . . . . . . . . . . . 46
3.1 Zeitlicher Verlauf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Beispiel einer Wikiseite mit geografischen und historischen Daten. . 58
4.1 Beispiel des Geo-Objekts: Punkt. . . . . . . . . . . . . . . . . . . . 62
4.2 Beispiel des Geo-Objekts: Linie. . . . . . . . . . . . . . . . . . . . . 63
4.3 Beispiel des Geo-Objekts: Fläche. . . . . . . . . . . . . . . . . . . . 64
4.4 Registrierung der Callback-Funktion. . . . . . . . . . . . . . . . . . 65
4.5 Funktion renderPoints(). . . . . . . . . . . . . . . . . . . . . . . . . 66
4.6 Integration des X3D-Plug-ins. . . . . . . . . . . . . . . . . . . . . . 67
101
Quelltextverzeichnis
4.7 Definition der Navigation mittels Slider und Buttons. . . . . . . . . 68
4.8 Spezialseite GeoExtension body.php. . . . . . . . . . . . . . . . . . . 70
4.9 Berechnung der kartesischen Koordinaten eines Punkts. . . . . . . . 71
4.10 Transformation der eingegebenen Attribute. . . . . . . . . . . . . . 72
4.11 Vergabe von IDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.12 Transformation eines Punkts. . . . . . . . . . . . . . . . . . . . . . 73
4.13 Transformation einer Linie. . . . . . . . . . . . . . . . . . . . . . . . 75
4.14 Berechnung der einzelnen Punkte einer Linie. . . . . . . . . . . . . 76
4.15 Verarbeitung bei nicht Definition des LOD-Elements. . . . . . . . . 77
4.16 XSL-Transformation des LOD-Elements. . . . . . . . . . . . . . . . 78
4.17 Definition von Viewpoints im XSL-Dokument. . . . . . . . . . . . . 79
4.18 Geo-Objekt mit dem Attribut time. . . . . . . . . . . . . . . . . . . 80
4.19 Geo-Containerseite mit den Attributen from und until. . . . . . . . 80
4.20 Aufruf der Slider-Funktion. . . . . . . . . . . . . . . . . . . . . . . . 81
4.21 Funktion sliderInit(). . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.22 Funktion changeEvent(). . . . . . . . . . . . . . . . . . . . . . . . . 82
5.1 Artikel mit geografischem Inhalt (Geo-Objekt) und Verlinkungen
auf weitere Artikel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Wikitext der Geo-Definitionsseite Salzburg. . . . . . . . . . . . . . . 87
5.3 Wikitext der Geo-Containerseite Cities of Austria. . . . . . . . . . . 87
5.4 Artikel History of Austria mit zeitlichem Verlauf. . . . . . . . . . . 88
5.5 Wikitext des Artikels Austria 1885. . . . . . . . . . . . . . . . . . . 89
5.6 Artikel mit integriertem Level of Detail (LOD). . . . . . . . . . . . 94
5.7 Installation der Erweiterungen: Extension und Spezialseiten. . . . . 96
102
Literaturverzeichnis
[1] Asbeck, Axel und Sebastian Beyl: Stereoskopische Visualisierung des
VRML Subsets von X3D auf der Basis einer DirectX Architektur. Diplomar-
beit, Universität Köln, 2006.
[2] Bartelme, Norbert: Geoinformatik : Modelle, Strukturen, Funktionen.
Springer, Berlin ; Heidelberg [u.a.], 4., vollst. überarb. Auflage, 2005.
[3] Behme, Henning: Das letzte Siebtel - Interaktivität und Anwendungsfelder.
iX Special, (1):6–7, 2007.
[4] Bitmanagement Software GmbH: BS Contact VRML / X3D, BS Con-
tact Geo. http://www.bitmanagement.com/index.de.html, Stand vom
10.02.2008.
[5] Bullard, Len: Extensible 3D: XML Meets VRML, 2003. Online Version:
http://www.xml.com/pub/a/2003/08/06/x3d.html, Stand vom 10.02.2008.
[6] Carey, Rikk: The Virtual Reality Modeling Language Explained. IEEE Mul-
tiMedia, 5(3):84–93, 1998.
[7] Carey, Rikk und Gavin Bell: The annotated VRML 2.0 reference manual.
Addison-Wesley Longman Ltd., Essex, UK, 1997.
[8] de Lange, Norbert: Geoinformatik in Theorie und Praxis. Springer, Ber-
lin; Heidelberg [u.a.], 2., aktualisierte u. erw. Auflage, 2006.
[9] Däßler, Rolf: Das Einsteigerseminar VRML. BHV Verlag, Kaarst, 1999.
[10] Ebersbach, Anja, Markus Glaser und Richard Heigl: Wiki-Tools:
Kooperation im Web. Springer, Berlin, 2005.
103
Literaturverzeichnis
[11] Eibl, Maximilian: X3D-Standard: 3D im Internet. tecChannel, 2001.
http://www.tecchannel.de/entwicklung/programmierung/401713, Stand
vom 10.02.2008.
[12] Elza, Dethe: XML Matters: The Web ain’t just for 2D any mo-
re. 2005. http://www-128.ibm.com/developerworks/web/library/
x-matters43, Stand vom 10.02.2008.
[13] Geroimenko, Vladimir und Chaomei Chen: Visualizing Information
Using SVG and X3D. Springer-Verlag New York, Inc., Secaucus, NJ, USA,
2004.
[14] Google Earth: Erforschen, suchen und entdecken. http://earth.google.
com, Stand vom 10.02.2008.
[15] Google Earth: What is KML? http://earth.google.com/kml/
whatiskml.html, Stand vom 10.02.2008.
[16] Kiehle, Christian: Lokales abstrakt - Geodaten standardisiert integrieren.
iX Magazin für profenssionelle Informationstechnik, Seiten 50–55, Dezember
2006.
[17] Kloss, Jörg, Robert Rockwell, Kornél Szabó und Martin Duch-
row: VRML97 - Der neue Standard fuer interaktive 3D-Welten im World Wi-
de Web. Addison Wesley Longman Verlag GmbH, Bonn, Screen-Multimedia
Auflage, 1998.
[18] Krone, Oliver: Webfähige interaktive 3D-Visualisierung von Proteinstruk-
turen. Diplomarbeit, Universität Osnabrück, 2003.
[19] Kunze, Michael: Verflochtenes Leben Web 2.0 - der nächste Schritt. c´t
Magazin für Computer Technik, (1):174–178, 2006.
[20] Lake, Ron: Introduction to GML Geography Markup Language.
http://www.w3.org/Mobile/posdep/GMLIntroduction.html, Stand
vom 10.02.2008.
104
Literaturverzeichnis
[21] Lange, Christoph: Wikis und Blogs. Planen. Einrichten. Verwalten. C &
L Computer- U. Literaturverlag, 2007.
[22] Löhr, Stefan: Thematische 3D-Kartographie unter Verwendung von Com-
monGIS und Google Earth. Diplomarbeit, Fachhochschule Mainz Fachbereich
Geoinformatik, 2006.
[23] Matsuba, Stephen N. und Alan Hudson: The Xj3D Toolkit:
A Position Paper. http://w3-mmt.inf.tu-dresden.de/web3d2003/
Yumetech-X3D-Tool-PositionPaper.pdf, Stand vom 10.02.2008.
[24] Mayer, Katja: Extended 3D (X3D) - Untersuchung der vom Web3D-
Konsortium vorgelegten Spezifikation zur Erstellung von 3D-Welten in XML.
Diplomarbeit, Fachhochschule Karlsruhe, 2002.
[25] Media Machines: Flux Player. http://www.mediamachines.com, Stand
vom 10.02.2008.
[26] MediaWiki: Manual:Configuring file uploads. http://www.mediawiki.org/
wiki/Manual:Configuring_file_uploads, Stand vom 10.02.2008.
[27] MediaWiki: Manual:Image Administration. http://www.mediawiki.org/
wiki/Manual:Image_Administration, Stand vom 10.02.2008.
[28] MediaWiki: Manual:Installation requirements. http://www.mediawiki.
org/wiki/Manual:Installation_requirements, Stand vom 10.02.2008.
[29] MediaWiki: Manual:Installing MediaWiki. http://www.mediawiki.org/
wiki/Manual:Installing_MediaWiki, Stand vom 10.02.2008.
[30] MediaWiki: Manual:Special pages. http://www.mediawiki.org/wiki/
Manual:Special_pages, Stand vom 10.02.2008.
[31] MediaWiki: Manual:Tag extensions. http://www.mediawiki.org/wiki/
Manual:Tag_extensions, Stand vom 10.02.2008.
[32] MediaWiki: MediaWiki. http://www.mediawiki.org, Stand vom
10.02.2008.
105
Literaturverzeichnis
[33] Microsoft Corporation: IIS Internet Information Services. http://www.
iis.net, Stand vom 22.02.2008.
[34] MySQL AB: MySQL. http://www.mysql.com, Stand vom 22.02.2008.
[35] NIST (National Institute of Standards and Technology): VRML
Plugin and Browser Detector. http://cic.nist.gov/vrml/vbdetect.html,
Stand vom 10.02.2008.
[36] OGC Open Geospatial Consortium: Geography Markup Language.
http://www.opengeospatial.org/standards/gml, Stand vom 10.02.2008.
[37] OIO - Orientation in Objects: XSLT Prozessoren im Überblick. http:
//www.postgresql.org, Stand vom 22.02.2008.
[38] O’Reilly, Tim: What Is Web 2.0, Design Patterns and Business Models
for the Next Generation of Software. http://www.oreillynet.com/pub/
a/oreilly/tim/news/2005/09/30/what-is-web-20.html?page=1, Stand
vom 10.02.2008.
[39] PostgreSQL Global Development Group: PostgreSQL. http://www.
postgresql.org, Stand vom 22.02.2008.
[40] Steinmann, Harald: 3D-Online-Visualisierungen von Geodaten für digitale
Schulatlanten (mit Beispielanwendungen für die geplante interaktive Version
des Schweizer Weltatlas). Diplomarbeit, Hochschule Karlsruhe - Technik und
Wirtschaft Fakultät Geomatik - Studiengang Kartographie und Geomatik,
2006.
[41] The Apache Software Foundation: Apache. http://httpd.apache.
org, Stand vom 22.02.2008.
[42] W3C: Cascading Style Sheets. http://www.w3.org/Style/CSS/, Stand vom
22.02.2008.
[43] W3C: XSL Transformations (XSLT) Version 1.0 W3C Recommendation 16
November 1999. http://www.w3.org/TR/xslt, Stand vom 22.02.2008.
106
Literaturverzeichnis
[44] W3Schools: XSL Language. http://www.w3schools.com/xsl/xsl_
languages.asp, Stand vom 10.02.2008.
[45] Web3D Consortium: VRML97 Functional specification and VRML97
External Authoring Interface (EAI), ISO/IEC 14772-1:1997 and ISO/IEC
14772-2:2004 - Virtual Reality Modeling Language (VRML). http:
//www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97,
Stand vom 10.02.2008.
[46] Web3D Consortium: Web3D Consortium Working Groups. http://www.
web3d.org/x3d/workgroups, Stand vom 10.02.2008.
[47] Web3D Consortium: What is X3D? http://www.web3d.org/about/
overview, Stand vom 10.02.2008.
[48] Web3D Consortium: X3D and Related Specifications. http://www.web3d.
org/x3d/specifications, Stand vom 10.02.2008.
[49] Web3D Consortium: X3D-Edit for Extensible 3D (X3D) Graphics -
README. http://www.web3d.org/x3d/content/README.X3D-Edit.html,
Stand vom 10.02.2008.
[50] Web3D Consortium: X3D Specifications, Encodings and Language Bin-
dings, ISO/IEC 19775:2004/FDAM Am1:2006 - X3D Architecture and
base components with Amendment 1, Part 2. http://www.web3d.org/
x3d/specifications/ISO-IEC-19775-X3DAbstractSpecification_+_
Amendment1_to_Part1, Stand vom 10.02.2008.
[51] Web3D Consortium: X3D Specifications, Encodings and Language
Bindings, ISO/IEC CD 19775-1r1:200x - X3D Architecture and base
components Revision 1. http://www.web3d.org/x3d/specifications/
ISO-IEC-19775-X3DAbstractSpecification_Revision1_to_Part1, Stand
vom 10.02.2008.
[52] Web3D Consortium: X3D Tools and Applications. http://www.web3d.
org/tools, Stand vom 10.02.2008.
107
Literaturverzeichnis
[53] Web3D Consortium: Xj3D. http://www.xj3d.org, Stand vom 10.02.2008.
[54] Wikimedia: Help:MediaWiki architecture. http://meta.wikimedia.org/
wiki/Help:MediaWiki_architecture, Stand vom 10.02.2008.
[55] Wilk, Christian: Überlagert - Mit KML Google Earth erweitern. iX Ma-
gazin für profenssionelle Informationstechnik, (12):58–63, Dezember 2006.
[56] Wilk, Christian: Komplexe Nische - GML: geografischer Markup-Standard.
iX Magazin für profenssionelle Informationstechnik, (12):66–68, Dezember
2006.
[57] Wilk, Christian: Welt in Händen - Arbeiten mit Google Earth und World
Wind. iX SPECIAL, (1):69–76, 2007.
[58] Yahoo: Yahoo! UI Library: Slider. http://developer.yahoo.com/yui/
slider, Stand vom 10.02.2008.
108