Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...
Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...
Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Fachhochschul-Diplomstudiengänge Technik<br />
Performance- <strong>Analyse</strong><br />
<strong>und</strong> <strong>Optimierung</strong> <strong>von</strong><br />
<strong>UMN</strong>-<strong>Mapserversystemen</strong><br />
______Mai 2007____________ __________Johann Zettel______<br />
Datum Verfasser
Titel der Diplomarbeit:<br />
Eidesstattliche Erklärung:<br />
Performance- <strong>Analyse</strong> <strong>und</strong> <strong>Optimierung</strong> <strong>von</strong><br />
<strong>UMN</strong>- <strong>Mapserversystemen</strong><br />
Eingereicht <strong>von</strong>: Johann Zettel<br />
Diplomarbeit<br />
Fachhochschul-Diplomstudiengänge Technik<br />
am Fachhochschul-Diplomstudiengang<br />
Geoinformationstechnologie<br />
Begutachter: DI Brigitte Rudel<br />
Wiener Neustadt: Mai 2007<br />
_____________________________________________________<br />
Ich versichere,<br />
dass ich die Diplomarbeit selbständig verfasst, andere als die angegebenen Quellen<br />
<strong>und</strong> Hilfsmittel nicht benutzt <strong>und</strong> mich auch sonst keiner unerlaubten Hilfe<br />
bedient habe <strong>und</strong> diese Diplomarbeit bisher weder im In- <strong>und</strong> Ausland in irgendeiner<br />
Form als Prüfungsarbeit vorgelegt habe. Die <strong>von</strong> mir eingereichte schriftliche<br />
Version stimmt mit der digitalen Version der Arbeit überein.<br />
______________________________ _________________________<br />
Datum Unterschrift
Kurzzusammenfassung:<br />
Kurzzusammenfassung / Abstract:<br />
Fachhochschul-Diplomstudiengänge Technik<br />
Das World Wide Web erhält in den letzten Jahren stetig Zuwachs an neuen<br />
WebGIS-Applikationen. Der <strong>UMN</strong>-Mapserver ist eine Möglichkeit solche<br />
Anwendungen umzusetzen. Es handelt sich dabei um ein Open-Source-<br />
Projekt, das auf vielen anderen freien Bibliotheken aufbaut. Da die Software<br />
viele Einstellungen <strong>und</strong> mehrere Lösungswege offen lässt, ist die optimale<br />
Konfiguration schwer zu finden. Dieser Umstand äußert sich oft in<br />
Performance- oder Stabilitätsproblemen.<br />
Aufbauend auf dieser Problematik untersucht diese Diplomarbeit die Performance<br />
<strong>und</strong> Leistungsfähigkeit <strong>von</strong> <strong>UMN</strong>-<strong>Mapserversystemen</strong>. In einem<br />
Netzwerklabor wurden unterschiedliche Einstellungen <strong>und</strong> Systemvarianten<br />
getestet. Die analysierten Testbereiche gliedern sich in Datenhaltung,<br />
Mapfile Modifikationen, Datenzugriff, Hardware <strong>und</strong> Betriebssystem. Eine<br />
<strong>Analyse</strong> der Testergebnisse ergibt interessante Möglichkeiten <strong>UMN</strong>-<br />
Mapserversysteme zu verbessern.<br />
Schlagworte: <strong>UMN</strong>-Mapserver, PostGIS, Räumliche Daten, Performance, Web-<br />
GIS;<br />
Abstract:<br />
In the last few years, WebGIS-applications have been continuously increasing<br />
in the World Wide Web. The <strong>UMN</strong>-Mapserver is one option to develop<br />
this kind of applications. An Open-Source-Project is supervising this<br />
software package which is built on other free libraries. The <strong>UMN</strong>-<br />
Mapserver allows many system settings and offers many different solutions<br />
for the same problem. It is very difficult to find the best configuration.<br />
This is the reason why many applications have problems with performance<br />
and stability.<br />
Based on this problem, this thesis analyses the performance and efficiency<br />
of <strong>UMN</strong>-Mapserver systems. Many different settings and system compositions<br />
were tested in a network laboratory. The tested areas are divided<br />
into data management, mapfile modifications, data access, hardware and<br />
operating system. The analyses of the results of the tests show interesting<br />
options to improve the performance of <strong>UMN</strong>-Mapserver systems.<br />
Keywords: <strong>UMN</strong>-Mapserver, PostGIS, Spatial Data, Performance, WebGIS;
Diplomarbeit Johann Zettel<br />
Danksagung<br />
Mein aufrichtiger Dank geht an Frau Dipl. Ing. Brigitte Rudel <strong>und</strong> an Dipl. Ing. Walter<br />
Schneider für die Betreuung meiner Diplomarbeit sowie für die fachliche Unterstützung.<br />
Außerdem möchte ich mich bei den Referenten der Fachhochschule Wiener Neustadt Stu-<br />
diengang Geoinformationstechnologie <strong>und</strong> den Mitarbeitern des Unternehmens arsenal re-<br />
search für deren fachlichen Ratschläge bedanken.<br />
Ein weiteres herzliches Dankeschön geht an meine Eltern, die mich während des gesamten<br />
Studiums motiviert <strong>und</strong> finanziell unterstützt, <strong>und</strong> mir somit diese Ausbildung ermöglicht<br />
haben.<br />
Ein besonders liebes Dankeschön geht an Sabine Schneidhofer, die mich während der Stu-<br />
dienzeit immer motiviert <strong>und</strong> unterstützt hat.<br />
Dankeschön !<br />
4
Diplomarbeit Johann Zettel<br />
Inhaltsverzeichnis<br />
1. Einleitung......................................................................................................................... 7<br />
1.1. Problemstellung.......................................................................................................... 7<br />
1.2. Zielsetzung ................................................................................................................. 8<br />
1.3. Arbeitsablauf .............................................................................................................. 8<br />
1.4. Systemabgrenzung ................................................................................................... 10<br />
2. Formulierung der Hypothese.................................................................................... 11<br />
3. Stand der Technik ....................................................................................................... 12<br />
3.1. Begriffsbestimmung................................................................................................. 12<br />
3.2. Web Visualisierung.................................................................................................. 14<br />
3.2.1. Präsentationsformen ......................................................................................... 15<br />
3.2.2. Kartengenerierungstools................................................................................... 16<br />
3.2.3. Grafikformate ................................................................................................... 16<br />
3.2.4. Antialiasing ...................................................................................................... 21<br />
3.2.5. Web-Programmierung...................................................................................... 22<br />
3.3. Räumliche Daten ...................................................................................................... 24<br />
3.3.1. Räumliche Vektordaten.................................................................................... 25<br />
3.3.2. Räumliche Rasterdaten..................................................................................... 28<br />
3.3.3. Räumliche Indizes............................................................................................ 29<br />
3.3.4. Räumliche Abfragesprache .............................................................................. 31<br />
3.4. <strong>UMN</strong>-Mapserver Architektur................................................................................... 34<br />
4. Testanforderungen ...................................................................................................... 38<br />
4.1. Testbereiche ............................................................................................................. 38<br />
4.1.1. Datenhaltung .................................................................................................... 39<br />
4.1.2. Mapfile ............................................................................................................. 39<br />
4.1.3. Datenzugriff ..................................................................................................... 41<br />
4.1.4. Hardware .......................................................................................................... 43<br />
4.1.5. Betriebssystemplattform................................................................................... 44<br />
4.2. Testlabor................................................................................................................... 47<br />
4.3. Testdatensatz ............................................................................................................ 48<br />
4.4. Testapplikation......................................................................................................... 52<br />
5
Diplomarbeit Johann Zettel<br />
5. Messung.......................................................................................................................... 55<br />
5.1. Evaluierung .............................................................................................................. 55<br />
5.2. Messablauf ............................................................................................................... 57<br />
6. <strong>Analyse</strong> der Messreihen.............................................................................................. 58<br />
6.1. Plattform................................................................................................................... 58<br />
6.1.1. Windows Server 2003 ...................................................................................... 58<br />
6.1.2. Linux Debian.................................................................................................... 59<br />
6.2. Datenhaltung ............................................................................................................ 60<br />
6.3. Mapfile ..................................................................................................................... 63<br />
6.3.1. Antialiasing ...................................................................................................... 64<br />
6.3.2. Ausgabeformat ................................................................................................. 65<br />
6.3.3. Projektionsumrechnung.................................................................................... 68<br />
6.4. Datenzugriff ............................................................................................................. 69<br />
6.4.1. Datenorganisation............................................................................................. 69<br />
6.4.2. Indizes .............................................................................................................. 69<br />
6.5. Hardware .................................................................................................................. 71<br />
6.5.1. Arbeitsspeicher................................................................................................. 71<br />
6.5.2. CPU .................................................................................................................. 73<br />
6.6. Weitere mögliche <strong>Optimierung</strong>sschritte................................................................... 74<br />
7. Schlussfolgerung .......................................................................................................... 76<br />
Abkürzungsverzeichnis:........................................................................................................... 80<br />
Abbildungsverzeichnis:............................................................................................................ 81<br />
Quellcodeverzeichnis: .............................................................................................................. 83<br />
Literaturverzeichnis:................................................................................................................. 84<br />
6
Diplomarbeit Johann Zettel<br />
1. Einleitung<br />
Im Zuge des Diplomstudiums wurde ein Praktikumssemester im Unternehmen arsenal re-<br />
search in der Abteilung Verkehrstechnologien absolviert. Seit Jahren betreibt diese Abteilung<br />
Forschung in nationalen <strong>und</strong> internationalen Projekten mit dem Schwerpunkt „Verkehrstele-<br />
matik“. Ergebnisse dieser Forschung sind in der Regel Methoden zur Generierung <strong>von</strong> Ver-<br />
kehrsdaten, die räumlichen Bezug zur Erdoberfläche aufweisen. Diese müssen, um sie sinn-<br />
voll betrachten zu können, visualisiert werden.<br />
An diesem Punkt setzte die Praktikumsarbeit an. Verkehrsdaten, die bis dato nur unzurei-<br />
chend visualisiert worden waren, mussten analysiert, aufbereitet <strong>und</strong> in einer für die Allge-<br />
meinheit einsehbaren Form visualisiert werden. Die Praktikumsarbeit mit dem Titel: „Ent-<br />
wicklung <strong>und</strong> Umsetzung einer Anwendung zur Visualisierung <strong>von</strong> dynamischen Verkehrsin-<br />
formationen im Internet“[ZETTEL 2007] beschäftigte sich mit der <strong>Analyse</strong>, dem Design <strong>und</strong><br />
der Umsetzung eines Systems, welches eine Internet-Schnittstelle besitzt <strong>und</strong> die Anforderun-<br />
gen der Visualisierung erfüllt. Realisiert wurde diese Web-Gis-Applikation auf Basis des<br />
<strong>UMN</strong>-Mapservers als Kartengenerierungstool <strong>und</strong> einer PostgreSQL-Datenbank mit PostGIS<br />
Erweiterung für die Datenhaltung.<br />
Aufbauend auf den erarbeiteten Erkenntnissen der Praktikumsarbeit beschäftigt sich die Dip-<br />
lomarbeit mit der Leistungsfähigkeit <strong>und</strong> Performance <strong>von</strong> <strong>UMN</strong>-<strong>Mapserversystemen</strong>. In ei-<br />
nem Netzwerklabor werden mit Hilfe <strong>von</strong> Zeitmessungen verschiedene Einstellungen <strong>und</strong><br />
Varianten getestet <strong>und</strong> anschließend verglichen.<br />
1.1. Problemstellung<br />
Der <strong>UMN</strong>-Mapserver ist geeignet, Kartengrafiken auf Basis <strong>von</strong> räumlichen Daten zu gene-<br />
rieren. Seine Kompatibilität zu zahlreichen Datenformaten, Datenbanken, Programmierspra-<br />
chen <strong>und</strong> anderen Systemen ist sehr groß. Außerdem sind durch die offene Programmstruktur<br />
zahlreiche Möglichkeiten der manuellen Einstellung gegeben. Somit kann das System indivi-<br />
duell eingerichtet werden.<br />
7
Diplomarbeit Johann Zettel<br />
Diese Häufung <strong>von</strong> Vorteilen bringt einen wesentlichen Nachteil mit sich. Da das gesamte<br />
System sehr komplex ist, ist es schwer, alle Auswirkungen <strong>und</strong> Zusammenhänge in Bezug auf<br />
verschiedene Einstellungen zu erkennen <strong>und</strong> zu analysieren. Dieser Nachteil äußert sich in der<br />
<strong>Analyse</strong> folgendermaßen:<br />
Performance<br />
Unter Performance versteht man in diesem Bereich die Geschwindigkeit der Karten-<br />
renderung oder die Geschwindigkeit einer Datenabfrage. Lässt die Performance nach,<br />
verlängert sich die Dauer des Vorgangs. In der Praxis ist diese Performanceeinbuße<br />
beim Seitenaufbau im Webbrowser zu erkennen. Das bedeutet, die Dauer, in der die<br />
Seite vollständig geladen wird, verlängert sich <strong>und</strong> der Benutzer muss warten.<br />
Stabilität<br />
Hierbei handelt es sich um die Robustheit <strong>und</strong> Standfestigkeit eines Systems. Wenn<br />
das System durch äußere oder innere Einflüsse einen instabilen Zustand erreicht, funk-<br />
tioniert das System nicht mehr ordnungsgemäß.<br />
Diese Arbeit beschäftigt sich hauptsächlich mit dem ersten Punkt. Da aber eine Trennung<br />
dieser zwei Themengebiete nicht zielführend ist, wird auch in Teilbereichen die „Stabilität“<br />
analysiert.<br />
1.2. Zielsetzung<br />
Das Ziel dieser Arbeit ist die Entwicklung <strong>von</strong> Empfehlungen zur <strong>Optimierung</strong> der Perfor-<br />
mance in Bezug auf <strong>UMN</strong>-Mapserversysteme. Mit Hilfe eines Netzwerklabors sollen unbe-<br />
einflusst <strong>und</strong> objektiv verschiedene Einstellungen getestet werden. Die resultierenden Tester-<br />
gebnisse werden verglichen <strong>und</strong> analysiert. Daraus lassen sich danach Aussagen erarbeiten,<br />
wie das System in bestimmten Situationen optimiert werden kann. Es werden praxisbezogene<br />
Themenbereiche untersucht.<br />
1.3. Arbeitsablauf<br />
Die Umsetzung der vorhin beschriebenen Ziele der Arbeit kann in vier Hauptblöcke geglie-<br />
dert werden. Da die Ergebnisse der einzelnen Arbeitsblöcke in den darauf folgenden Block<br />
8
Diplomarbeit Johann Zettel<br />
einfließen, ist die Reihenfolge der einzelnen Schritte einzuhalten. In Abb. 1 ist der Arbeitsab-<br />
lauf grob skizziert.<br />
Abb. 1 – Arbeitsablauf des Projektes<br />
Planung<br />
Der erste Arbeitsblock beschäftigt sich mit der Planung der Tests <strong>und</strong> des Testlabors.<br />
Es werden die Anforderungen <strong>und</strong> Eigenschaften festgelegt, um objektive Tests durch-<br />
führen zu können.<br />
Entwicklung<br />
In der Entwicklung wird das Testlabor nach den Vorgaben der Planung eingerichtet.<br />
Der Server sowie der Client-Rechner werden installiert <strong>und</strong> vorbereitet. Außerdem<br />
wird die Testapplikation programmiert <strong>und</strong> der Testdatensatz ausgewählt <strong>und</strong> ange-<br />
passt.<br />
Durchführung<br />
Dieser Teil beinhaltet die Durchführung der Tests. Die Testapplikation wird gestartet<br />
<strong>und</strong> führt die Anfragen an den Server aus. Falls die Notwendigkeit besteht, werden zu-<br />
sätzlich Korrekturen, wie zum Beispiel ein Filter, vorgenommen.<br />
<strong>Analyse</strong><br />
Die gemessenen Geschwindigkeiten werden in der <strong>Analyse</strong> bearbeitet. Testergebnisse<br />
werden verglichen <strong>und</strong> Gründe für eventuelle Abweichungen werden analysiert. Da-<br />
nach werden Empfehlungen entwickelt, die die Performance in ausgewählten Situatio-<br />
nen erhöhen.<br />
9
Diplomarbeit Johann Zettel<br />
Iterativer Vorgang<br />
Nach Ablauf der <strong>Analyse</strong> <strong>und</strong> der daraus resultierenden <strong>Optimierung</strong>smöglichkeiten<br />
werden diese noch einmal getestet. Anschließend werden sie ausgewertet <strong>und</strong> vergli-<br />
chen, ob ein Performancezuwachs erkennbar ist.<br />
1.4. Systemabgrenzung<br />
Die größte Einschränkung dieser Arbeit ist der Umfang der zu testenden Bereiche. Diese Ar-<br />
beit erhebt keinen Anspruch auf Vollständigkeit. Es werden lediglich beispielhafte Standard-<br />
situationen gewählt. Nur diese werden gestestet <strong>und</strong> untersucht. Diese Abgrenzung ist not-<br />
wendig, um objektiv testen, vergleichen <strong>und</strong> analysieren zu können. Das bedeutet, dass nicht<br />
alle möglichen Kombinationen <strong>von</strong> Einstellungen <strong>und</strong> Systemkomponenten bearbeitet bzw.<br />
aufgezeigt werden.<br />
10
Diplomarbeit Johann Zettel<br />
2. Formulierung der Hypothese<br />
Die Performance eines <strong>UMN</strong>-Mapserversystems verändert sich, wenn Einstellungen oder die<br />
Systemumgebung variiert werden. Diese Annahme bietet die Basis der Hypothese. Daher<br />
muss es möglich sein, Einstellungen oder Systemumgebungen so zu wählen, dass die Perfor-<br />
mance optimiert werden kann. Dies bezieht sich allerdings immer auf konkrete Situationen.<br />
Nur wenige Einstellungen werden generell eine <strong>Optimierung</strong> bewirken. Weiters ist festzuhal-<br />
ten, dass jede Einstellung oder Veränderung, die die Performance steigert, auch wiederum<br />
eine nachteilige Wechselwirkung verursachen kann.<br />
Im konkreten können folgende Annahmen getroffen werden, die jeweils Teilbereiche des<br />
<strong>UMN</strong>-Mapserversystems betreffen.<br />
Das Mapfile des <strong>UMN</strong>-Mapservers beinhaltet eine Vielzahl an Einstellungsmöglichkeiten. Es<br />
wird angenommen, dass bestimmte Einstellungen Auswirkungen auf die Performance haben.<br />
Besonders viel Performancepotenzial wird in den Bereichen Antialiasing, Ausgabeformat <strong>und</strong><br />
Projektionsumrechnung angenommen.<br />
Die Wahl der Datenhaltung des Datenzugriffs betrifft auch die Leistungsfähigkeit. Räumliche<br />
Daten in Dateiform oder in Datenbankform haben unterschiedliche Eigenschaften. Daher wird<br />
angenommen dass damit die Performance des Gesamtsystems beeinflusst wird.<br />
11
Diplomarbeit Johann Zettel<br />
3. Stand der Technik<br />
Dieser Teil der Arbeit wird einen Überblick über die Technologien geben, die derzeit in aktu-<br />
ellen Systemen Anwendung finden. Vorwiegend werden <strong>UMN</strong>-Mapserver spezifische Ele-<br />
mente beschrieben <strong>und</strong> erklärt. Um den Überblick zu wahren, wird auch auf Allgemeines ein-<br />
gegangen.<br />
3.1. Begriffsbestimmung<br />
ASCII - American Standard Code for Information Interchange<br />
Dieser amerikanische Standard wurde in den Sechziger-Jahren entwickelt. Es handelt<br />
sich dabei um eine 7-Bit Zeichenkodierung, welche 33 nichtdruckbare sowie 95 druck-<br />
bare Zeichen enthält [BRODMÜLLER-SCHMITZ 2002].<br />
CGI - Common Gateway Interface<br />
Mit Hilfe einer CGI-Schnittstelle können Scripte oder Programme im Internet bereit-<br />
gestellt werden. Sie können zum Beispiel aus einem HTML-Dokument aufgerufen<br />
werden <strong>und</strong> selbst wieder HTML-Code ausgeben. CGI-Programme können in vielen<br />
Sprachen wie zum Beispiel Perl oder Python geschrieben werden.<br />
DBMS - Datenbank-Managementsystem<br />
Ein DBMS organisiert physisch eine zusammenhängende Menge <strong>von</strong> Daten - die Da-<br />
tenbank -, durch die den unterschiedlichen Informationsbedürfnissen eines Unterneh-<br />
mens Rechnung getragen werden soll. Es kombiniert einen Satz <strong>von</strong> Computerpro-<br />
grammen zur Organisation der Informationen. Mit einem DBMS wird die Sicherheit,<br />
Integrität <strong>und</strong> Konsistenz der Daten bei minimierter, kontrollierter Red<strong>und</strong>anz gewähr-<br />
leistet. Durch die Integration der Daten <strong>und</strong> die Kontrolle des Zugriffs auf die Daten<br />
durch ein DBMS können die Daten durch viele Benutzer gleichzeitig genutzt werden<br />
[ROSTOCK 1 2007].<br />
12
Diplomarbeit Johann Zettel<br />
GIS - Geographic Information System<br />
Ein GIS ist ein IT-System, welches aus Hardware, Software, Daten <strong>und</strong> einer Applika-<br />
tion besteht. Zur Aufgabe dieser Systeme zählt das Erfassen, das Reorganisieren, das<br />
Verwalten, das Verarbeiten, das Analysieren <strong>und</strong> das Aufbereiten bzw. Visualisieren<br />
<strong>von</strong> raumbezogenen Daten.<br />
HTTP - Hypertext Transfer Protocol<br />
HTTP ist ein Protokoll, welches die Übertragung <strong>von</strong> Daten über ein Netzwerk regelt.<br />
Im ISO/OSI-Schichtenmodell gehört dieses Protokoll der Anwendungsschicht<br />
(Schicht 7) an. Es wird hauptsächlich eingesetzt, um Webseiten <strong>und</strong> andere Daten aus<br />
dem Internet in einen Webbrowser zu laden.<br />
MBR - Minimum Bo<strong>und</strong>ing Rectangle<br />
Das MBR ist ein zu den Hauptachsen paralleles Rechteck, welches geometrische Ob-<br />
jekte umschließt. Dadurch können komplizierte Geometrien leichter angesprochen<br />
werden. Dies wirkt sich in einer Performancesteigerung in der Verarbeitung <strong>von</strong> die-<br />
sen Objekten aus.<br />
OGC - Open Geospatial Consortium<br />
Das Open Geospatial Consortium ist eine 1994 gegründete gemeinnützige Organisati-<br />
on, die sich zum Ziel gesetzt hat, die Entwicklung <strong>von</strong> raumbezogener Informations-<br />
verarbeitung (insbesondere Geodaten) auf Basis allgemeingültiger Standards zum<br />
Zweck der Interoperabilität festzulegen [WIKI 1 2007].<br />
Open-Source<br />
Open-Source wird Software bezeichnet, wenn ihr Quellcode der Öffentlichkeit zu-<br />
gänglich ist. Meistens steht diese Software unter einer Open-Source-Lizenz, die die<br />
Veröffentlichung <strong>und</strong> Weitergabe regelt.<br />
Koordinatentupel<br />
Der mathematische Begriff n-Tupel bezeichnet zusammengehörige Elemente. Ein 2-<br />
Tupel wird häufig auch einfach nur als Tupel bezeichnet. Weiters kann auch ein 3-<br />
Tupel ein Tripel genannt werden. Sind die zwei Elemente eines Tupels Koordinaten,<br />
13
Diplomarbeit Johann Zettel<br />
kann <strong>von</strong> einem Koordinatentupel gesprochen werden. In diesem Fall würde ein<br />
Koordinatentupel einen Punkt in der Ebene definieren.<br />
Quadratminute<br />
Eine Quadratminute ist ähnlich wie ein Quadratkilometer ein Flächenmaß. Dabei hat<br />
eine Seite des Quadrats die Länge einer Bogenminute auf einer Referenzfläche. Diese<br />
Referenzfläche kann eine Kugel, aber auch ein Ellipsoid sein.<br />
HTTP-Server<br />
Ein HTTP-Server oder auch Webserver genannt ist ein Server, der Informationen über<br />
das Hypertext Transfer Protocol (HTTP) einem Netzwerk zur Verfügung stellt.<br />
WMS - Web Map Service<br />
WMS ist ein Standard für das Veröffentlichen <strong>von</strong> Karten im Internet. Er ist Gr<strong>und</strong>la-<br />
ge für eine Geodateninfrastruktur. Ein WMS-Server implementiert folgende Funktio-<br />
nen:<br />
o GetCapabilities – Liefert die Fähigkeiten des Servers zurück. Zum Beispiel<br />
welcher Layer oder welcher Kartenausschnitt zur Verfügung steht.<br />
o GetMap – Liefert die Karte meist in Grafikform zurück.<br />
o GetFeatureInfo – Verarbeitet Anfragen bezüglich der Sachdaten <strong>von</strong> räumli-<br />
chen Objekten.<br />
XML - Extensible Markup Language<br />
Im Gegensatz zu HTML beschreibt XML nicht das Aussehen <strong>von</strong> Inhalten sondern die<br />
Inhalte selbst. Die Daten werden in einer Baumstruktur abgelegt. Das World Wide<br />
Web Consortium betreut diesen Standard<br />
3.2. Web Visualisierung<br />
Der folgende Teil der Arbeit handelt <strong>von</strong> den Möglichkeiten der Visualisierung <strong>von</strong> raumbe-<br />
zogenen Informationen im Internet. Zu Beginn werden unterschiedliche Typen der Umset-<br />
zung <strong>und</strong> in weiterer Folge genauer die einzelnen Technologien erklärt. Erwähnt werden vor-<br />
14
Diplomarbeit Johann Zettel<br />
wiegend Techniken, die sehr oft im Zusammenhang mit dem <strong>UMN</strong>-Mapserver Anwendung<br />
finden.<br />
3.2.1. Präsentationsformen<br />
Um raumbezogene Daten im Internet zu visualisieren, gibt es viele Varianten. Die Benutzer-<br />
schnittstellen unterscheiden sich vorwiegend in ihrer Funktionalität <strong>und</strong> Qualität der Karten.<br />
Das übrige System, welches einem User nicht sichtbar ist, kann sich in einer Vielzahl <strong>von</strong><br />
Eigenschaften unterscheiden. Unterschiedlichste Technologien <strong>und</strong> Architekturen kommen im<br />
heutigen System zum Einsatz. Folgende Unterteilung strukturiert die verschiedenen Arten:<br />
Statische Karten<br />
Eine rein statische Karte ist zum Beispiel ein eingescanntes analoges Bild. Die Grafik<br />
wurde einmal erstellt <strong>und</strong> hat sich seit diesem Zeitpunkt nicht mehr verändert. Es steht<br />
keine Interaktivität für den Benutzer zur Verfügung. Es gibt nur noch sehr wenige sta-<br />
tische Karten im Internet, da der direkte Mehrnutzen nur geringfügig ist.<br />
Dynamische Karten<br />
Eine im Internet sehr weit verbreitete Variante ist die dynamisch generierte Karte. Sie<br />
wird erst auf Anfrage des Users generiert. In der Praxis wählt der User die Karte mit-<br />
tels eines Webbrowsers an. Der Server generiert das Bild nach Wunsch der Anfrage<br />
<strong>und</strong> schickt es an den User zurück. Auf diese Weise sind Kartenfunktionalitäten wie<br />
zum Beispiel Zoom-Funktion, Pan-Funktion oder Layer-Funktionalitäten möglich.<br />
WebGIS-Applikation<br />
Eine um Gis-Funktionalität erweiterte Dynamische Karte kann als WebGIS bezeichnet<br />
werden. Sachdaten stehen mit räumlichen Daten in Verbindung <strong>und</strong> können abgefragt<br />
werden. In dieser Applikation können auch räumliche Funktionen wie zum Beispiel<br />
Verschneidungen, Buffer oder Selektionen integriert sein.<br />
Eine genauere Unterscheidung <strong>und</strong> weitere Untergliederung ist schwierig <strong>und</strong> auch nicht ziel-<br />
führend. Da sich diese Thematik sehr schnell entwickelt <strong>und</strong> in der Praxis meist Mischformen<br />
Anwendung finden, verändern sich die Kategorien sehr schnell.<br />
15
Diplomarbeit Johann Zettel<br />
3.2.2. Kartengenerierungstools<br />
Die Kartengenerierung ist Mittelpunkt <strong>von</strong> dynamischen Karten, WebGIS-Applikationen <strong>und</strong><br />
auch dieser Arbeit. Ein Mapserver kann Karten in Form <strong>von</strong> Grafiken generieren. Er benötigt<br />
jedoch dafür ein geeignetes Umfeld, wie zum Beispiel die richtige Plattform oder die benötig-<br />
ten räumlichen Daten. Im Folgenden werden einige relevante Mapserversysteme vorgestellt:<br />
<strong>UMN</strong>-Mapserver<br />
Der <strong>UMN</strong> (University of Minnesota) Mapserver ist ein Open-Source-Projekt <strong>und</strong> wird<br />
<strong>von</strong> der Open Source Geospatial Fo<strong>und</strong>ation weiterentwickelt. Diese Software ver-<br />
wendet weitere Open-Source- Module wie zum Beispiel Shapelib, FreeType, Proj.4,<br />
GDAL/OGR, um dynamische Karten zu generieren.<br />
ESRI ArcIMS<br />
Der Mapserver des Unternehmens ESRI ist eine proprietäre Software. Er ist eng mit<br />
der übrigen GIS-Software <strong>von</strong> ESRI verknüpft. Die Webseite, in der die Grafik einge-<br />
bettet wird, muss programmiert werden. Lediglich ein Framework mit Gr<strong>und</strong>funktio-<br />
nalitäten wird bereitgestellt.<br />
Geomedia WebMap<br />
Geomedia-WebMap vom Unternehemen Intergraph ist ein proprietärer Mapserver, der<br />
eine Kartengrafik bereitstellen kann. Wie bei den anderen erwähnten Produkten muss<br />
das Framework selbst gestaltet werden. Allerdings existieren auch für Geomedia ko-<br />
mmerzielle Frameworks, die mit dem Mapserver zusammenarbeiten können [INTER-<br />
GRAPH 2005].<br />
3.2.3. Grafikformate<br />
Eine Webapplikation benötigt Grafiken um Informationen zu visualisieren. In dieser Arbeit<br />
handelt es sich um Räumliche Informationen, die als Karten in die Webapplikation eingebun-<br />
den werden. Grafiken lassen sich in folgende zwei Typen unterteilen, die sich in ihrem Auf-<br />
bau <strong>und</strong> damit in der Dateigröße <strong>und</strong> Verwendung <strong>von</strong>einander unterscheiden.<br />
16
Diplomarbeit Johann Zettel<br />
Vektorgrafiken<br />
Vektorgrafiken sind aus Vektoren aufgebaut, das heißt, die einzelnen Elemente wer-<br />
den mathematisch beschrieben. Für eine Linie sind zum Beispiel ein Startpunkt, die<br />
Richtung <strong>und</strong> die Länge anzugeben, ein Kreis wird durch seinen definierten Mittel-<br />
punkt <strong>und</strong> seinen Radius beschrieben. Durch diese Art der Beschreibung eignen sich<br />
Vektorgrafiken besonders für Strichzeichnungen, nicht hingegen für komplexere Gra-<br />
fiken wie Fotos oder Bilder. Diese könnte man zwar auch mit Vektoren beschreiben,<br />
was jedoch nicht sinnvoll wäre, da die Anzahl der einzelnen Vektoren in einem sol-<br />
chen Fall extrem groß sein würde. Der Vorteil <strong>von</strong> Vektorgrafiken liegt darin, dass sie<br />
problemlos zu skalieren sind. Dabei werden die einzelnen Vektoren entsprechend der<br />
vorhandenen Größe neu errechnet <strong>und</strong> dargestellt. Ein weiterer Vorteil ist die Datei-<br />
größe. Ist die Grafik entsprechend aufgebaut, kann Speicherplatz im Vergleich zu ei-<br />
ner Rastergrafik gespart werden [BRODMÜLLER-SCHMITZ 2002].<br />
Ein großer Nachteil <strong>von</strong> Vektorgrafiken in Webapplikationen ist die Unterstützung in<br />
gängigen Browsern. Oft ist ein Plug-In notwendig um die Grafik darzustellen. Durch<br />
diese Eigenschaften wird die Nutzergruppe im praktischen Einsatz eingeschränkt. Es<br />
folgt eine Aufzählung <strong>von</strong> Vektorformaten, die im Internet gängig sind:<br />
PDF - Portable Document Format<br />
Das PDF-Format der Firma Adobe Inc. ist sowohl für Monitordarstellung als auch für<br />
den Papierausdruck entwickelt worden. Infolge seiner hohen Auflösung bei gleichzei-<br />
tig starker Datenkompression ist es hervorragend für die Kartendarstellung geeignet<br />
[DICKMANN 2001].<br />
In der Regel werden jedoch PDF-Grafiken nicht in die Webseite eingeb<strong>und</strong>en, sondern<br />
werden statisch in einem eigenen Programm geladen. Für WebGIS-Applikationen eig-<br />
net sich dieses Format nur eingeschränkt.<br />
SVG Scaleable Vector Graphics<br />
Scaleable Vector Graphics ist ein Grafikstandard, mit dem Scripte verfasst werden<br />
können, die Bilder exakt beschreiben [BADER 2004]. Dieses XML- basierende Datei-<br />
format wurde vom W3C veröffentlicht <strong>und</strong> eignet sich sehr gut für Kartendarstellun-<br />
17
Diplomarbeit Johann Zettel<br />
gen. Da es sich um ASCII-Textfiles handelt, können herkömmliche Komprimierungs-<br />
verfahren die Speichergröße stark reduzieren <strong>und</strong> somit die Dauer des Datentransfers<br />
verringern. Zusätzlich zu statischen Grafiken kann auch Animation <strong>und</strong> Logik mittels<br />
Scriptsprachen eingebaut werden. Es wird ein SVG- Plug-In <strong>von</strong> Adobe oder Corel<br />
benötigt, um SVG in einem Webbrowser zu betrachten. Nur der Webbrowser Firefox<br />
ab der Version 1.5 unterstützt nativ Teile der SVG- Funktionalität.<br />
SWF - Small Web Format<br />
Small Web Format ist ein proprietäres Vektorformat, welches <strong>von</strong> dem Unternehmen<br />
Adobe Systems weiterentwickelt wurde. Um SWF in einem Webbrowser betrachten<br />
zu können, ist wie bereits bei den vorhin erwähnten Vektorgrafiken ein Plug-In <strong>von</strong><br />
Adobe nötig.<br />
Viele mit Flash erstellte Karten fallen auch in die Kategorie der animierten Webkar-<br />
ten, da die Erstellung <strong>von</strong> Animationen mit Hilfe der vielen Funktionen <strong>von</strong> SWF sehr<br />
einfach zu gestalten ist [FÜRPASS 2001].<br />
Rastergrafiken<br />
Neben der Vektorgrafik existiert mit der Rastergrafik ein weiteres Grafikmodell, das<br />
auch unter den Bezeichnungen Bitmapgrafik oder Pixelgrafik bekannt ist. In einer<br />
Rastergrafik werden einzelne Informationen über jeden Bildpunkt (Pixel) definiert,<br />
<strong>und</strong> nicht wie bei der Vektorgrafik über ganze Elemente. Die Aufteilung in Bildpunkte<br />
ist für die Bildschirmanzeige sehr gut geeignet, da diese auch auf einem Raster basiert.<br />
Beim Skalieren verhält sich eine Rastergrafik anders als eine Vektorgrafik. Die Bild-<br />
punkte werden beim Vergrößern verdoppelt, was zu ungewollten Effekten führen<br />
kann. Eine Rastergrafik lässt sich also nicht ohne Qualitätsverlust skalieren.<br />
Um die Dateigröße <strong>von</strong> Rastergrafiken zu verringern, werden Komprimierungsverfah-<br />
ren eingesetzt, die auf unterschiedlichen Methoden beruhen. Dabei lassen sich verlust-<br />
freie <strong>und</strong> verlustbehaftete Kompressionen unterscheiden [BRODMÜLLER-SCHMITZ<br />
2002].<br />
18
Diplomarbeit Johann Zettel<br />
Die wichtigsten Rastergrafikformate sind folgende:<br />
GIF - Graphics Interchange Format<br />
Das <strong>von</strong> CompuServer 1987 entwickelte GIF ist ein Standard-Bildformat im Internet.<br />
Es kann im Gegensatz zu vielen anderen Bildformaten auf fast allen Plattformen ver-<br />
wendet werden. Es hat den Vorzug, nicht nur schnell heruntergeladen, sondern auf-<br />
gr<strong>und</strong> des Zeilensprungverfahrens (Interlacing) zudem beim Bildaufbau bereits wäh-<br />
rend dieses Vorgangs, grob zur Ansicht gebracht werden zu können [DICKMANN<br />
2001]. Ein weiterer Vorteil ist, dass die Möglichkeit besteht GIF-Bilder zu animieren.<br />
JPEG - Joint Photographic Experts Group<br />
JPEG Bilder erlauben eine Darstellung <strong>von</strong> 24 Bit. Daher können mehr als 16 Millio-<br />
nen Farben dargestellt werden [FÜRPASS 2001]. Im Gegensatz zum GIF setzt das<br />
JPEG eine verlustbehaftete Komprimierung ein, dies kann sich in der Verschlechte-<br />
rung der Qualität auswirken.<br />
PNG - Portable Network Graphics<br />
Das Portable Network Graphics Format wurde speziell für den Einsatz im Internet als<br />
patentfreies Datenformat entwickelt. Im Gegensatz zu GIF kann sein Quellcode abga-<br />
benfrei verwendet werden. Es vereinigt Vorteile <strong>von</strong> GIF <strong>und</strong> JPEG. PNG kompri-<br />
miert verlustfrei, kann progressiv aufgebaut werden <strong>und</strong> sein Farbumfang erstreckt<br />
sich über 48 Bit Farbtiefe [DICKMANN 2001].<br />
TIFF - Tagged Image File Format<br />
Das TIFF-Format wurde ursprünglich <strong>von</strong> Aldus <strong>und</strong> Microsoft für gescannte Raster-<br />
grafiken für die Farbseparation entwickelt. In einer Datei können mehrere Bilder abge-<br />
legt werden. Dies kann zum Beispiel beim Kacheln großer Bilder Verwendung finden.<br />
Größter Nachteil <strong>von</strong> TIFF ist seine Komplexität. Die Vielfalt möglicher gültiger<br />
TIFF-Dateien kann <strong>von</strong> keinem einzelnen Programm unterstützt werden [WIKI 2<br />
2007].<br />
19
Diplomarbeit Johann Zettel<br />
Im Folgenden wird die Speicherung zwischen Vektorgrafiken <strong>und</strong> Rastergrafiken verglichen:<br />
Abb. 2 - Vergleich Vektor-Rastergrafik<br />
Abb. 2 zeigt einen Vergleich zwischen Vektor- <strong>und</strong> Rastergrafik. Stark vereinfacht wird ein<br />
ähnliches Bild einmal mit Vektoren <strong>und</strong> einmal in einem Raster dargestellt. Auf der rechten<br />
Seite der Abbildung befinden sich vereinfacht die Daten, die notwendig sind, um eine solches<br />
Bild abzuspeichern. Bemerkenswert ist der Unterschied der Datenmenge beider Systeme. Die<br />
Vektorgrafik benötigt in diesem Fall um vieles weniger Daten als das Rastersystem. Wird die<br />
Grafik jedoch komplexer, vergrößert sich auch die Datenmenge einer Vektorgrafik. Die Da-<br />
tenmenge eines Rasterbildes ist hingegen <strong>von</strong> der Komplexität der Grafik unabhängig. Nur<br />
die Auflösung des Rasters beeinflusst die Datenmenge. Dies gilt jedoch nicht, wenn die Ras-<br />
tergrafik komprimiert wird, dabei ist diese Komplexität sehr wohl ein Faktor der Dateigröße.<br />
20
Diplomarbeit Johann Zettel<br />
3.2.4. Antialiasing<br />
Bei der Rasterung <strong>von</strong> Vektordaten tritt der Aliasing-Effekt auf. Es soll ein mathematisch<br />
unendlich genaues Objekt auf ein endlich genaues Raster abgebildet werden. Dieses Abtast-<br />
problem hat zur Folge, dass ein unerwünschter Treppeneffekt entstehen kann.<br />
In Abb. 3 ist eine schrägliegende Linie zu sehen, welche auf dem Raster abgebildet werden<br />
soll.<br />
Abb. 3 – Rasterung eines Vektors, Quelle: [3DCenter 2007]<br />
Wird wie in Abb. 4 zu sehen ohne Antialiasing gerastert, wird der Wert, der in einem Pixel<br />
am meisten Platz einnimmt, als neuer Pixelwert abgespeichert.<br />
Abb. 4 - Aliasing-Effekt, Quelle: [3DCenter 2007]<br />
Im Antialiasing-Prozess werden hingegen wie in Abb. 5 zu erkennen die Farben anteilsweise<br />
in den neuen Wert übernommen. Dies hat zur Folge, dass die Übergänge besser dargestellt<br />
werden. Dieser Prozess ist sehr rechenaufwändig. Durch geometrische Berechnungen muss<br />
die eingenommene Fläche jedes Polygons ermittelt werden.<br />
21
Diplomarbeit Johann Zettel<br />
Abb. 5 - Antialiasing, Quelle: [3DCenter 2007]<br />
Zusätzlich zur erhöhten Rechenleistung muss das Bild eine passende Farbskala aufweisen. Da<br />
Zwischenwerte <strong>von</strong> Farben benötigt werden, muss das Bildformat diese unterstützen. Das<br />
erhöht wiederum die Speichergröße des Bildes.<br />
3.2.5. Web-Programmierung<br />
In diesem Kapitel werden ausgewählte Technologien vorgestellt <strong>und</strong> erläutert, die verwendet<br />
werden, um Informationen im Internet bereitzustellen. Um Funktionen in WebGIS-<br />
Applikation zu implementieren, sind eine Reihe <strong>von</strong> Technologien notwendig. Diese hier be-<br />
schriebenen Techniken beziehen sich auf eine Umsetzung mit dem <strong>UMN</strong>-Mapserver.<br />
HTML - Hypertext Markup Language<br />
Die Hypertext Markup Language ist eine ASCII basierende Auszeichnungssprache,<br />
welche die Darstellung sowie die Inhalte <strong>von</strong> Text, Bildern, Hyperlinks <strong>und</strong> anderen<br />
Medien in Dokumenten regelt. HTML-Dokumente können in einem Webbrowser dar-<br />
gestellt werden <strong>und</strong> bilden die Basis des Internets.<br />
CSS - Cascading Style Sheets<br />
Mit Hilfe <strong>von</strong> Cascading Style Sheets wird das Erstellen <strong>von</strong> Formatvorlagen für ein-<br />
zelne Webseiten oder ganze Websites ermöglicht. Es können Angaben zur Gestaltung<br />
zentral verwaltet <strong>und</strong> gespeichert werden [BRODMÜLLER-SCHMITZ 2002].<br />
Javascript<br />
Javascript ist ein integrierter Bestandteil <strong>von</strong> HTML zur Gestaltung interaktiver Sei-<br />
ten. Es handelt sich dabei um eine Scriptsprache, die clientseitig interpretiert wird. Die<br />
22
Diplomarbeit Johann Zettel<br />
Befehle können entweder im HTML-Dokument selbst integriert werden oder in eine<br />
eigene Datei ausgelagert werden [BRODMÜLLER-SCHMITZ 2002]. In einer Web-<br />
GIS-Applikation werden so die Kartenfunktionalitäten implementiert.<br />
Serverseitige Dynamische Datengenerierung am Beispiel <strong>von</strong> PHP<br />
PHP ist eine Scriptsprache, die serverseitig interpretiert wird <strong>und</strong> frei als Open-<br />
Source-Projekt zur Verfügung steht. Mit ihr ist es möglich, Inhalte <strong>von</strong> Webseiten<br />
voll-dynamisch zu befüllen.<br />
Wie Abb. 6 zeigt, setzt der User zu Beginn mittels Webbrowser eine Anfrage an den<br />
Webserver ab. Dort wird das gewünschte PHP Script dem PHP Interpreter übergeben.<br />
Der Interpreter liefert ein Ergebnis, z.B. ein HTML, XML oder PDF Dokument, das<br />
vom Webserver wieder an den Browser zurück gesendet wird.<br />
Abb. 6 - PHP Interpretation<br />
Mapscript<br />
Diese Erweiterung greift auf die Programmierschnittstelle (API) des <strong>UMN</strong>-<br />
Mapservers zu. Es können mittels Mapscripts fast alle <strong>UMN</strong>- Mapserver- Fähigkeiten<br />
in eine Applikation integriert werden. Implementiert ist diese Erweiterung für mehrere<br />
Programmier- <strong>und</strong> Script- Sprachen, unter anderem für C#, Java, PHP, Python <strong>und</strong><br />
Ruby.<br />
Ein PHP- Script, welches ein vom <strong>UMN</strong>- Mapserver generiertes Bild einbindet, wird<br />
in Codebeispiel 1 gezeigt. In weiterer Folge können alle Einstellungen am Mapfile<br />
23
Diplomarbeit Johann Zettel<br />
verändert <strong>und</strong> beigefügt werden. Auf diese Weise kann die Karte dynamisch verändert<br />
<strong>und</strong> erzeugt werden. Außerdem können Daten jeglicher Art <strong>von</strong> Datenbanken abgeru-<br />
fen <strong>und</strong> ein-geb<strong>und</strong>en werden.<br />
// Einbindung der Mapscript Bibliothek<br />
dl('php_mapscript_48.dll');<br />
// Einbindung des Mapfiles<br />
$map = ms_newMapObj("test.map");<br />
// Erzeugen des Bildes<br />
$image=$map->draw();<br />
// Übergabe der Speicheradresse des Bildes an eine Variable<br />
$image_url=$image->saveWebImage();<br />
// Generierung des HTML Codes<br />
echo("");<br />
echo("");<br />
echo("");<br />
echo("");<br />
echo("");<br />
echo("");<br />
//Einbindung des vom Mapserver generierten Bildes<br />
echo("");<br />
Codebeispiel 1 - PHP Mapscript - Codebeispiel<br />
3.3. Räumliche Daten<br />
Im folgenden Kapitel werden einige unterschiedliche Formen der Abspeicherung <strong>von</strong> räumli-<br />
chen Daten erläutert. Es soll ein Überblick über die derzeit verwendeten Datentypen vermit-<br />
telt werden. Gr<strong>und</strong>sätzlich können sich räumliche Daten aus folgenden Teilmengen zusam-<br />
mensetzen:<br />
Geometriedaten<br />
„Die Geometrie <strong>von</strong> räumlichen Objekten wird durch die Form <strong>und</strong> relative Lage <strong>von</strong><br />
Punkten vollständig beschrieben. Für diese Beschreibung können zum Beispiel Dis-<br />
tanzen <strong>und</strong> Winkel verwendet werden, in der Regel wird allerdings auf Koordinaten<br />
24
Diplomarbeit Johann Zettel<br />
übergegangen, womit die Wahl eines Bezugssystems <strong>und</strong> die Metrik festliegt.“ [BILL<br />
1 1999]<br />
Topologiedaten<br />
Innerhalb der Topologie ist wichtig, dass Punkte <strong>und</strong> Linien in einer bestimmten ge-<br />
genseitigen Beziehung stehen, <strong>und</strong> nicht die geometrische Form dieser Beziehungen.<br />
Der Punkt ist Träger der geometrischen Information. Linien <strong>und</strong> Flächen können als<br />
Folge charakteristischer Punkte betrachtet werden. Der Unterschied zwischen Geomet-<br />
rie <strong>und</strong> Topologie liegt darin, dass sich die Topologie eines räumlichen Gebildes inva-<br />
riant gegenüber topologischen Transformationen verhält. Während sich die Geometrie<br />
verändert [BILL 1 1999]. Am Beispiel eines U-Bahn-Plans wird der Unterschied<br />
nochmals verdeutlicht. Vergleicht man einen Stadtplan <strong>und</strong> einen Schemaplan in Be-<br />
zug auf das U-Bahn-Netz wird deutlich, dass sich die Geometrien verändert haben a-<br />
ber die Topologie gleich geblieben ist.<br />
Sachdaten<br />
Als Sachdaten werden alle zusätzlichen Daten bezeichnet. Diese Daten stehen in enger<br />
Verbindung mit Geometrien <strong>und</strong> können unterschiedlichen Inhalt haben. Normal sind<br />
diese Art <strong>von</strong> Daten konventionelle, tabellarisch aufgelistete Werte, die ohne eine Ver-<br />
bindung zu Geometrien nur einen möglichen indirekten räumlichen Bezug aufweisen.<br />
Wie auch im Kapitel der verschiedenen Grafiktypen beschrieben, sind auch hier ein Raster-<br />
system <strong>und</strong> ein Vektorensystem als Abspeicherungsformen unterscheidbar. Zum Unterschied<br />
zu den Grafiktypen geht es bei diesen Formaten nicht um die Präsentation sondern um die<br />
Speicherung der Daten.<br />
3.3.1. Räumliche Vektordaten<br />
Unter Vektordaten wird die auf Punkten beruhende Beschreibung <strong>von</strong> raumbezogenen Objek-<br />
ten verstanden. Ihre Gr<strong>und</strong>elemente sind der Punkt, die Linie <strong>und</strong> die Fläche. Ferner werden<br />
noch Topologiebeziehungen angegeben, wie zum Beispiel Anfangs- <strong>und</strong> Endpunkt einer Li-<br />
nie sowie daran angrenzende Flächen [BILL 1 1999]. Zum Beispiel besteht eine Linie, sofern<br />
sie keine Zwischenpunkte besitzt, aus zwei Koordinatentupel. Um diese Koordinaten sinnvoll<br />
25
Diplomarbeit Johann Zettel<br />
verarbeiten zu können, sind Hintergr<strong>und</strong>informationen wie zum Beispiel das Bezugssystem<br />
zwingend notwendig.<br />
Vorteile <strong>von</strong> Vektordaten sind die hohe Genauigkeit, der geringe Speicherbedarf <strong>und</strong> die ein-<br />
fache topologische Abspeicherung. Im Gegenzug wären Nachteile die komplizierte Handha-<br />
bung, der große Rechenleistungsbedarf beim Verarbeiten <strong>und</strong> die schwierige Ersterzeugung<br />
<strong>von</strong> Daten [RUDEL 2003].<br />
In folgenden zwei Kapiteln werden unterschiedliche Vektordaten erläutert, die sich in ihrer<br />
Speicherform unterscheiden. Es wurden lediglich beispielhaft Formate gewählt, die im Mo-<br />
ment in der Praxis eingesetzt werden.<br />
Daten in Dateiform<br />
Räumliche Daten in Dateiform zu halten ist sehr gebräuchlich <strong>und</strong> einfacher als eine<br />
Datenbankspeicherweise. Da Dateien einfach zu handhaben sind, eignen sie sich sehr<br />
gut zum Datenaustausch. Nachteile <strong>von</strong> Dateien sind, dass es keine Zugriffs- <strong>und</strong><br />
Transaktionskontrolle gibt. Außerdem wird die Speicherung <strong>von</strong> großen Datenmengen<br />
unpraktisch <strong>und</strong> durch das Filesystem begrenzt. Im Folgenden werden wichtige Daten-<br />
formate beschrieben:<br />
o GML - Geography Markup Language<br />
GML wurde <strong>von</strong> OGC entwickelt. Das Fileformat wurde in der Version 2 bereits<br />
<strong>von</strong> ISO als Standard aufgenommen. Die Hauptaufgabe dieses Formats ist der Aus-<br />
tausch <strong>von</strong> räumlichen Daten. Da es auf XML beruht, ist es ideal dafür geeignet.<br />
Nachteil dabei ist, dass XML unkomprimierter, reiner Text ist, <strong>und</strong> somit die Spei-<br />
cherung großer Datenbestände sehr speicheraufwändig <strong>und</strong> beim Bearbeiten sehr<br />
leistungsaufwändig ist.<br />
o SHAPE<br />
Das Shapefile Format wurde <strong>von</strong> ESRI für ArcView entwickelt <strong>und</strong> hat sich in den<br />
letzten Jahren zu einem Standard im Geoinformatik-Markt etabliert. Es besteht aus<br />
mindestens drei Dateien, welche jeweils die Geometrien, den Räumlichen Index<br />
<strong>und</strong> die Sachdaten beinhalten. Weitere Dateien können zusätzliche Informationen<br />
26
Diplomarbeit Johann Zettel<br />
wie zum Beispiel die dazugehörige Projektion beinhalten. In jedem Shapefile kön-<br />
nen entweder Punkte, Linien oder Polygone abgespeichert werden [ESRI 1998].<br />
o DXF - Drawing Exchange Format<br />
Das Drawing Exchange Format wird als ASCII-Text abgespeichert <strong>und</strong> hat sich<br />
ähnlich wie das SHAPE-Format als ein Standard im CAD-Markt etabliert. Es wur-<br />
de <strong>von</strong> Autodesk für das Produkt AutoCAD entwickelt <strong>und</strong> wird ständig weiter-<br />
entwickelt. Da das Format sehr wenig Funktionalität implementiert, eignet es sich<br />
für GIS-Applikationen nur sehr eingeschränkt, aber ist für WebGIS-Applikationen<br />
meist ausreichend.<br />
o TAB, MIF/MID<br />
TAB ist das native, binäre Speicherformat <strong>von</strong> MapInfo. MIF <strong>und</strong> MID sind hin-<br />
gegen die nichtbinären Austauschformate <strong>von</strong> MapInfo zu anderen Programmen.<br />
Die MIF- Datei enthält sowohl die Metadaten <strong>und</strong> Feature Definitionen als auch<br />
die Koordinaten. Die MID Datei enthält die trennzeichenunterteilten Attribute.<br />
[GISWIKI 2006]<br />
Daten in Datenbankform<br />
Komplexere <strong>und</strong> größere räumliche Datenbestände werden in der Regel in Datenban-<br />
ken abgespeichert. Dazu benötigt die Datenbank erweiterte Funktionen, die sie <strong>von</strong><br />
herkömmlichen Systemen unterscheiden. Da die allgemeinen Vorzüge <strong>von</strong> Datenban-<br />
ken auch bei räumlichen Daten Verwendung finden, entwickeln immer mehr Daten-<br />
bankhersteller diese Erweiterungen, um diese Art <strong>von</strong> Daten verarbeiten zu können.<br />
Im Gegensatz zu einzelnen Dateien eignen sich Datenbanken nicht sehr gut zum Da-<br />
tenaustausch. Um einen Austausch durchführen zu können, müssen die Daten einer<br />
Datenbank erst exportiert werden <strong>und</strong> danach wieder in eine kompatible Datenbank<br />
importiert werden, während normale Dateien einfach kopiert werden.<br />
o PostGIS<br />
PostGIS wird <strong>von</strong> Refractions Research Inc. entwickelt <strong>und</strong> ist eine Erweiterung<br />
für die OpenSource-PostgreSQL Objektrelationale-Datenbank. Diese Erweiterung<br />
27
Diplomarbeit Johann Zettel<br />
erlaubt der Datenbank das Speichern räumlicher Daten in Form <strong>von</strong> Objekten.<br />
PostGIS unterstützt einen Gist <strong>und</strong> R-Tree als räumliche Indizes <strong>und</strong> inkludiert ei-<br />
ne Reihe <strong>von</strong> Funktionen <strong>und</strong> <strong>Analyse</strong>methoden für räumliche Daten.<br />
o Oracle Spatial<br />
Oracle Spatial ist eine sehr fortschrittliche <strong>und</strong> umfangreiche Erweiterung einer<br />
Oracle Datenbank, welche räumliche Funktionalitäten beinhaltet. Zusätzlich zu<br />
räumlichen Datentypen <strong>und</strong> Funktionen stehen auch weitere Module wie zum Bei-<br />
spiel Geocodierungs oder Routing Engines zur Verfügung [Oracle 2005]. Oracle<br />
ist ein kostenpflichtiges Produkt.<br />
o MySQL<br />
Wie PostgreSQL ist auch MySQL ein Open-Source-Projekt <strong>und</strong> wird vom Unter-<br />
nehmen MySQL AB betreut. Hauptanwendungsgebiet dieses DBMS sind Webser-<br />
ver, da sie einfach zu bedienen <strong>und</strong> zusätzlich sehr performant sind. In der Version<br />
5 stehen erstmalig zu dem eigentlich recht sparsamen Funktionsumfang <strong>von</strong><br />
MySQL auch räumliche Komponenten zur Verfügung. So können beispielsweise<br />
Punkte oder Linien abgelegt werden. Jedoch ist diese Erweiterung noch sehr einge-<br />
schränkt <strong>und</strong> ist nicht vergleichbar mit anderen räumlichen Datenbankerweiterun-<br />
gen wie zum Beispiel PostGIS. [MYSQL 2007]<br />
o ArcSDE<br />
ArcSDE ist eine sehr umfangreiche Erweiterung für die Datenbanken Oracle,<br />
Microsoft SQL Server, IBM DB2 <strong>und</strong> IBM Informix. Vorwiegend ermöglicht die-<br />
se Erweiterung ArcGis den Zugriff auf diese Datenbanken, um räumliche Daten<br />
abzuspeichern [ESRI 2007]. ArcSDE ist ein kostenpflichtiges Produkt.<br />
3.3.2. Räumliche Rasterdaten<br />
Im Gegensatz zu Vektordaten beziehen sich die Rasterdaten direkt auf Flächen statt auf Li-<br />
nien. Das geometrische Gr<strong>und</strong>element ist das Pixel, welches zeilen- <strong>und</strong> spaltenweise in einer<br />
Matrix gleichförmiger quadratischer oder rechteckiger Elemente angeordnet ist <strong>und</strong> einheitli-<br />
che Flächenfüllung aufweist. Rasterdaten kennen keinen Unterschied nach Punkt, Linie oder<br />
28
Diplomarbeit Johann Zettel<br />
Fläche, das heißt es existieren keine logischen Verbindungen zwischen den einzelnen Bild-<br />
elementen. Rasterdaten enthalten lediglich Werte über Eigenschaften der Pixel [BILL 1<br />
1999]. Die Abspeicherung <strong>von</strong> Rasterdaten erfolgt meist in Dateiform. Zum Unterschied zu<br />
Rastergrafiken werden in einem Pixel nicht zwingend Farben abgespeichert, sondern es kön-<br />
nen unterschiedliche Daten wie zum Beispiel Höheninformationen sein. Das häufigste An-<br />
wendungsgebiet sind dennoch Satelliten- bzw. Luftbilder <strong>und</strong> bestehende Karten.<br />
Die einfache Struktur <strong>und</strong> die einfache <strong>Analyse</strong> sind Vorteile <strong>von</strong> Rasterdaten. Im Gegenzug<br />
sind die niedrige Genauigkeit, die niedrige Auflösung <strong>und</strong> der hohe Speicherbedarf als<br />
Nachteile aufzuzeigen [RUDEL 2003].<br />
Folgende Formate werden in derzeitigen Geoinformationssystemen eingesetzt:<br />
GeoTIFF<br />
GeoTIFF ist ein Bildformat zur Speicherung georeferenzierter Bilddaten. Es beruht<br />
auf der Spezifikation <strong>von</strong> TIFF in der Version 6. In so genannten „Keys“ <strong>und</strong> zusätzli-<br />
chen Files werden die räumlichen Zusatzinformationen, die für eine Georeferenzie-<br />
rung benötigt werden, gespeichert [RITTER 2000].<br />
MrSID - Multi Resolution Seamless Image Database<br />
MrSID ist ein <strong>von</strong> der Firma LizardTech entwickeltes Komprimierungsformat für<br />
Bilddaten. Hier kommt ein sehr effektives Kompressionsverfahren auf der Gr<strong>und</strong>lage<br />
der Wavelet-Theorie zum Einsatz, das ohne große Qualitätseinbußen Kompressionsra-<br />
ten <strong>von</strong> 30:1 erreicht. Viele Bildverarbeitungsprogramme, aber auch GIS greifen auf<br />
das MrSID-Format zurück [ROSTOCK 2 2007].<br />
3.3.3. Räumliche Indizes<br />
Gr<strong>und</strong>sätzlich werden Indizes in Datenbanken benötigt, um Abfragen effektiver zu machen.<br />
Ohne Index müsste bei einer Abfrage, in der ein Vergleich gefordert wird, jeder Datensatz,<br />
also die ganze Tabelle geladen <strong>und</strong> verglichen werden (Fulltablescan). Ein Index soll die<br />
möglichen Kandidaten eingrenzen <strong>und</strong> somit nur noch die in Frage kommenden Datensätze<br />
laden. Somit wird der aufwändige Vergleich verringert <strong>und</strong> zusätzlich die Zugriffe auf die<br />
29
Diplomarbeit Johann Zettel<br />
Festplatte optimiert, da nicht mehr die ganze Tabelle in den Hauptspeicher geladen werden<br />
muss.<br />
Räumliche Indizes unterscheiden sich <strong>von</strong> herkömmlichen Indizes in ihrer Dimension. Sie<br />
können zwei- oder mehrdimensionale Räume indizieren, wo im Gegensatz herkömmliche nur<br />
eine Dimension indizieren können. Diese Eigenschaft schlägt sich vorwiegend in der Kom-<br />
plexität <strong>und</strong> im Rechenaufwand nieder [Meile 2007].<br />
Wichtige räumliche Indizes werden im Folgenden näher erläutert:<br />
R-TREE<br />
Ein R-TREE ist ein immer vollständig ausbalancierter Baum <strong>und</strong> ist eine Erweiterung<br />
des eindimensionalen B-Tree für mehrdimensionale Räume. Räumliche Objekte wer-<br />
den durch ein MBR repräsentiert [SHEKHAR 2003]. Die nachfolgende Abb. 7 veran-<br />
schaulicht diesen Indextyp.<br />
Abb. 7 - R-Tree Räumliche Objekte, Quelle:[SHEKHAR 2003]<br />
Die grau hinterlegten Rechtecke sind MBRs. Jedes da<strong>von</strong> beinhaltet Geometrien wie<br />
zum Bespiel Polygone, Linien oder Punkte. Die einzelnen MBRs werden in größere<br />
30
Diplomarbeit Johann Zettel<br />
Gruppen zusammengefasst. Wie in Abb. 8 zu sehen, werden diese Gruppen wiederum<br />
in Einheiten gegliedert.<br />
Abb. 8 - R-Tree Hierarchie, Quelle:[SHEKHAR 2003]<br />
Dieser Baum repräsentiert die Speicherstruktur, wie der Index abgelegt wird. Die<br />
Kleinbuchstaben deuten auf zusammengefasste Gruppen. Die Zahlen sind die einzel-<br />
nen MBRs, wie in Abb. 7 zu sehen die<br />
GIST - Generalized Search Tree<br />
Der GIST-Index verfolgt einen generischen Ansatz <strong>und</strong> wurde <strong>von</strong> Hellerstein,<br />
Naughton <strong>und</strong> Pfeffer entworfen [HELLERSTEIN 1995].Es handelt sich dabei um ein<br />
Framwork für beliebige Indizes. Beim Erstellen eines neuen Index muss zum Beispiel<br />
nicht auf Mehrbenutzerzugriff oder Recovery geachtet werden, da diese nur einmal<br />
umgesetzt werden. Nach Fertigstellung des GIST ist die Integration eines neuen Index-<br />
typs also sehr einfach. Der GIST benötigt eine umfangreiche Implementation für jedes<br />
zu unterstützende Betriebssystem <strong>und</strong> Datenbanksystem. Dieser Indextyp konnte sich<br />
bei kommerziellen Datenbankanbietern noch nicht durchsetzen <strong>und</strong> ist nur als Prototyp<br />
für diese verfügbar [SÖLLIG 2006]. In einer PostgreSQL-DB wird hingegen GIST als<br />
Standardindex sowohl für eindimensionale als auch für mehrdimensionale Räume ein-<br />
gesetzt.<br />
3.3.4. Räumliche Abfragesprache<br />
Eine Abfragesprache ist ein allgemeines Hilfsmittel, um Informationen über den Inhalt einer<br />
Datenbank zu erfragen. Die Abfragesprache ist die wesentliche Schnittstelle zwischen An-<br />
31
Diplomarbeit Johann Zettel<br />
wender <strong>und</strong> Maschine. Der Nutzer teilt mittels Abfragesprache dem Datenbanksystem mit,<br />
was er gerne aus dem Datenbestand erfahren möchte. Die Form der Ausgabe kann ebenfalls<br />
zu spezifizieren sein, sie ist allerdings bei den derzeit gängigen relationalen Datenbanken vor-<br />
gegeben <strong>und</strong> tabellenförmig.<br />
Als wichtigste Abfragesprache gilt heute SQL (Structured Query Language), andere Abfrage-<br />
sprachen wie SEQUEL (Structured Englisch Query Language), QUEL (Query Language)<br />
oder QBE (Query By Example) fanden weniger Akzeptanz. Der Rahmen für eine SQL-<br />
Abfrage sieht jeweils identisch aus, er hat die Form SELECT – FROM – WHERE <strong>und</strong> reflek-<br />
tiert die drei Operatoren der relationalen Algebra: Projektion, kartesisches Produkt <strong>und</strong> Selek-<br />
tion.<br />
Da Probleme mit raumbezogenen Daten bei bekannten Abfragesprachen entstehen, gibt es für<br />
jede der vorgenannten Abfragesprachen Weiterentwicklungen.<br />
GEO-QUEL erweitert QUEL um raumbezogene Abfrage- <strong>und</strong> Displaymöglichkeiten, Query-<br />
by-Pictorail-Example erweitern QBE um Funktionalitäten zur bildhaften Abfrage. Die we-<br />
sentlichen Zielsetzungen aller dieser Vorschläge sind die Einbettung raumbezogener Datenty-<br />
pen, raumbezogener Operatoren <strong>und</strong> graphischer Ausgabemöglichkeiten. Dennoch lehnt sich<br />
die klare Mehrheit an SQL an [BILL 2 1999].<br />
Die Entwicklung <strong>von</strong> SQL reicht bis in die 70 er Jahre zurück. Allgemeine Akzeptanz fand<br />
SQL durch die Verbreitung der Oracle-Datenbank zu Beginn der 80 er Jahre. SQL wurde<br />
1986 als ANSI- <strong>und</strong> 1987 als ISO- Standard normiert. SQL ist kein statisches Produkt, seine<br />
Entwicklung <strong>und</strong> Fortschreibung dauert an. Erst der Standard SQL 3, welcher <strong>von</strong> ISO 1999<br />
verabschiedet wurde, berücksichtigt eine Erweiterung SQL-MM für raumbezogene Daten<br />
[STOLZE 2003].<br />
In Abb. 9 ist das Objektmodell des Geometry-Datentyps ersichtlich. Dieses wurde vom Open-<br />
Gis-Consortium OGC Standard in den SQL-MM Standard übernommen. Außerdem wurden<br />
zahlreiche raumbezogene Operatoren definiert.<br />
32
Diplomarbeit Johann Zettel<br />
Abb. 9 - OGC Geometry Class Hierarchy [OGC 2005]<br />
Hat eine Datenbank diesen Standard implementiert, ist beispielhaft in Codebeispiel 2 ersicht-<br />
liches SQL-Statement möglich, welches die Nachbarländer Österreichs selektiert.<br />
Codebeispiel 2 - SQL- Codebeispiel<br />
Die räumliche Funktion „Touch“ gibt den Wert 1 zurück, wenn sich die zwei angegebenen<br />
Geometrien berühren. In diesem Fall handelt es sich um Geometrien des Typs Polygon, wel-<br />
che die einzelnen Länder repräsentieren. Die zweite WHERE-Bedingung ist wiederum eine<br />
normale, herkömmliche Attributabfrage.<br />
33
Diplomarbeit Johann Zettel<br />
3.4. <strong>UMN</strong>-Mapserver Architektur<br />
Gr<strong>und</strong>sätzlich werden <strong>UMN</strong>-Mapserversysteme im Internet eingesetzt. Das bedeutet, dass es<br />
sich meistens um bekannte Client –Server Architekturen handelt. Der Client fragt Informatio-<br />
nen vom Server ab. Der Server liefert diese in Form einer Webseite mit eingebetteter Karten-<br />
grafik zurück. Wie auch in anderen Bereichen dieser Arbeit gibt es unzählige Umsetzungsva-<br />
rianten dieser Systeme. Im folgenden Teil werden die Hauptbestandteile, wie in Abb. 10 zu<br />
sehen sind, vorgestellt <strong>und</strong> beschrieben.<br />
Abb. 10 - <strong>UMN</strong>-Mapserver Systemarchitektur<br />
Client<br />
In den meisten Fällen ist der Client ein normaler Webbrowser wie zum Beispiel der<br />
Mozilla-Firefox oder der Microsoft-Internet-Explorer. Mit diesen Webbrowsern wer-<br />
den vorwiegend HTML-Dokumente interpretiert <strong>und</strong> angezeigt. Auch können Script-<br />
sprachen wie zum Beispiel Javascript am Client ausgeführt werden.<br />
Weiters können auch Webbrowser <strong>von</strong> mobilen Endgeräten auf das System zugreifen.<br />
Hierbei muss die Benutzerschnittstelle, also der Output, den der Server liefert, dem-<br />
entsprechend angepasst werden. In der Praxis bedeutet dies, dass viele Funktionen<br />
nicht unterstützt werden. Jedoch befinden sich mobile Webbrowser gerade in starker<br />
Weiterentwicklung.<br />
Ein weiterer Client könnte eine Applikation wie z.B. ein weiterer <strong>UMN</strong>-Mapserver<br />
oder ein Desktop-Programm sein. Mit Hilfe <strong>von</strong> WMS (Web Map Service) können<br />
Karten standardisiert abgefragt, übertragen <strong>und</strong> in eine andere Applikation eingebun-<br />
den werden.<br />
34
Diplomarbeit Johann Zettel<br />
HTTP-Server<br />
Dieser Server hat die Aufgabe, mit dem Client über ein Netzwerk zu kommunizieren<br />
<strong>und</strong> die gewünschten Daten bereitzustellen. In dem Fall einer WebGIS- Applikation<br />
können dies zum Beispiel HTML-,CSS- <strong>und</strong> Javascript- Dokumente sein. Werden dy-<br />
namische Dokumente angefordert, leitet der Server die Daten zum Beispiel weiter an<br />
einen Interpreter oder ein CGI-Programm. Die neu generierten Daten übernimmt wie-<br />
der der Server <strong>und</strong> leitet sie an den Client weiter.<br />
<strong>UMN</strong>-Mapserverzugriff<br />
Der Zugriff auf den Mapserver kann einerseits über CGI oder andererseits über<br />
Mapscript erfolgen. Der Nachteil <strong>von</strong> CGI ist, dass es veraltet <strong>und</strong> recht langsam ist.<br />
Außerdem steht nicht die komplette Mapserver- Funktionalität zur Verfügung. Der<br />
Zugriff über Mapscript wurde bereits in Kapitel 3.2.5 beschrieben.<br />
<strong>UMN</strong>-Mapserver<br />
Wie bereits früher erwähnt hat der <strong>UMN</strong>-Mapserver die Aufgabe, eine Karte in Form<br />
einer Grafik zu generieren. Er erhält Anweisungen über CGI oder Mapscript, welches<br />
Mapfile verwendet werden soll. Auch werden zusätzliche Parameter, wie zum Beispiel<br />
ein Zoom oder eine Datenabfrage, übergeben. Der <strong>UMN</strong>-Mapserver ruft das angefor-<br />
derte Mapfile auf <strong>und</strong> interpretiert es. Danach bezieht er die nötigen Daten <strong>und</strong> rendert<br />
eine Grafik.<br />
Räumliche Daten<br />
Die Daten können in unterschiedlichsten Formen abgelegt werden. Es kann gr<strong>und</strong>sätz-<br />
lich zwischen dateibasierenden <strong>und</strong> datenbankbasierenden Daten unterschieden wer-<br />
den. Der <strong>UMN</strong>-Mapserver unterstützt eine Vielzahl an unterschiedlichen Formaten<br />
<strong>und</strong> bietet auch eine Möglichkeit, selbst Schnittstellen individuell einzurichten.<br />
Mapfile<br />
Das Mapfile ist eine Ascii- Textdatei, welche in einem vom Mapserver zugänglichen<br />
Ordner abgelegt ist. Es ist die Speicherstelle aller Einstellungen eines Mapserverpro-<br />
jekts. Um ein funktionierendes Mapfile zu erzeugen, ist es notwendig, eine vorge-<br />
35
Diplomarbeit Johann Zettel<br />
schriebene Struktur einzuhalten. Die Struktur ist modular aufgebaut, wobei nicht jedes<br />
Modul zwingend vorhanden sein muss. Mittels Layer können räumliche Daten<br />
schichtweise eingebettet werden.<br />
Die Inhalte beziehen sich beispielsweise auf Speicheradressen <strong>und</strong> Zugangsdaten der<br />
räumlichen Daten, auf das Ausgabeformat des zu rendernden Bildes, auf Projektions-<br />
einstellungen, auf Ausgabeeigenschaften der einzelnen Layer <strong>und</strong> Geodaten, auf Ei-<br />
genschaften der Maßstabsleiste, Keymap <strong>und</strong> Legende <strong>und</strong> auf viele zusätzliche Ein-<br />
stellungen wie zum Beispiel : WMS Service, Labels, Filter, usw.<br />
Abb. 11 zeigt die Struktur eines Mapfiles mit den möglichen Objekten, wobei Layer-<br />
<strong>und</strong> Class- Elemente öfters integriert werden können.<br />
Abb. 11 - Mapfile Struktur vereinfacht<br />
36
Diplomarbeit Johann Zettel<br />
Ein einfaches Mapfile, welches Daten einer PostgreSQL- Datenbank einbindet, ist in<br />
Codebeispiel 3 ersichtlich. Dieses Beispiel beinhaltet eine Map, einen Layer, eine<br />
Class <strong>und</strong> ein Style Objekt:<br />
Codebeispiel 3 - Mapfile- Codebeispiel<br />
An diesem Beispiel wird deutlich, dass sich dieses File bei mehreren Layern <strong>und</strong> Er-<br />
weiterungen schnell zu einem unübersichtlichen <strong>und</strong> sehr großen Textfile entwickeln<br />
kann. Dieser Umstand ist ein großer Nachteil dieser Art der Speicherung.<br />
37
Diplomarbeit Johann Zettel<br />
4. Testanforderungen<br />
Dieses Kapitel beschäftigt sich mit der Planung <strong>und</strong> Umsetzung der <strong>UMN</strong>-<br />
Mapservertestumgebung. Es müssen unbeeinflusste <strong>und</strong> objektive Tests gewährleistet werden.<br />
Um nützliche Ergebnisse erzielen zu können, werden einzelne Szenarien für die Tests entwi-<br />
ckelt <strong>und</strong> gewählt. Das bedeutet, dass nicht alle möglichen Einstellungen getestet werden,<br />
sondern lediglich beispielhafte Standardsituationen gewählt werden. An diesen für die Praxis-<br />
relevanten Situationen werden verschiedene ausgewählte Varianten getestet.<br />
4.1. Testbereiche<br />
Die Testbereiche decken im Einzelnen kleine, spezifische Themengebiete ab. Werden jedoch<br />
die Tests in ihrer Gesamtheit betrachtet, ergibt sich ein umfassender Überblick über die Ge-<br />
samtheit dieser Systeme. Ingesamt werden, wie in Abb. 12 zu erkennen, sechs unterschiedli-<br />
che Bereiche analysiert, die im Folgenden näher behandelt werden.<br />
Abb. 12 - Testbereiche<br />
38
Diplomarbeit Johann Zettel<br />
4.1.1. Datenhaltung<br />
Die Datenhaltung ist ein wichtiger Teil eines <strong>UMN</strong>-Mapserversystems. Auf Gr<strong>und</strong> des großen<br />
Umfangs der zu testenden Themengebiete befassen sich die Tests mit Vektordaten. Wie im<br />
Kapitel „Stand der Technik“ beschrieben, gibt es zwei wesentliche Unterscheidungsmerkmale<br />
bei der Datenhaltung <strong>von</strong> Vektordaten. Da räumliche Daten sowohl in Dateiform als auch in<br />
Datenbankform in derzeitigen Systemen gehalten werden, ist es wichtig beide Arten zu testen.<br />
Bei der Auswahl wurde auf die Relevanz derzeit gängiger Datentypen geachtet. Es wurden<br />
drei folgende Varianten gewählt:<br />
Shape-file / Dateibasierende Daten<br />
TAB-file / Dateibasierende Daten<br />
PostgreSQL-Datenbank mit PostGIS-Erweiterung / Datenbankbasierende Daten<br />
4.1.2. Mapfile<br />
Das Mapfile besitzt eine große Anzahl an Einstellungsmöglichkeiten, die alle unterschiedli-<br />
chen Einfluss auf den Prozess der Kartengenerierung haben. Dadurch kann auch die Perfor-<br />
mance des <strong>UMN</strong>-Mapservers verändert werden. Da nicht alle Einstellungen getestet werden<br />
können, werden wiederum nur einige wesentliche behandelt. Bei den gewählten Mapfi-<br />
leeinstellungen zeigte die Erfahrung, dass es sich dabei um sehr aufwändige Bereiche bei der<br />
Generierung <strong>von</strong> Karten handelt. Im Folgenden werden die drei gewählten Testfälle beschrie-<br />
ben.<br />
Antialiasing<br />
Der Befehl des Antialiasing kann im Mapfile aus- oder eingeschaltet werden. Je nach<br />
Anwendungsfall kann sich daraus ein für den Betrachter anschaulicheres Bild ergeben.<br />
Der Prozess des Antialiasings ist jedoch sehr rechenaufwändig. Im Mapfile werden da-<br />
für folgende Modifikationen vorgenommen:<br />
39
Diplomarbeit Johann Zettel<br />
Ausgabeformat<br />
Es stehen zahlreiche Ausgabeformate der Kartengrafik zur Verfügung. Die meisten<br />
dieser Varianten unterscheiden sich aber in ihrer Struktur, Generierung <strong>und</strong> ihrer Spei-<br />
chergröße. So braucht ein Grafikformat, welches eine hohe Kompression aufweist,<br />
länger zum Generieren, kann aber im Gegenzug durch seine geringere Speichergröße<br />
schneller übertragen werden. Folgende häufig eingesetzte Formate werden getestet:<br />
o GIF<br />
o PNG<br />
o JPEG<br />
40
Diplomarbeit Johann Zettel<br />
Es sind auch andere mögliche Formate wie zum Beispiel SWF oder TIFF zu berücksichtigen.<br />
Da diese Formate einen GDAL-Driver benötigen, sind diese Bilder langsamer zu generieren.<br />
Die hier getesteten Formate verwenden einen GD-Driver. Dieser ist laut offizieller <strong>UMN</strong>-<br />
Mapserver Webseite effizienter [MAPSERVER 2006].<br />
Projektionsumrechnung<br />
Das Mapfile bietet die Möglichkeit, Daten einzelner Layer On The Fly in eine andere<br />
Projektion umzurechnen. Es liegt auf der Hand, dass dies aufwändige Rechenoperatio-<br />
nen erfordert <strong>und</strong> damit die Performance beeinflusst. Gewählt wird hierbei die Um-<br />
rechnung <strong>von</strong> WGS84- zu MGI- Koordinaten.<br />
o WGS84 ist eine Latitude/ Longitude Projektion. Es handelt sich dabei um eine<br />
„Normale Zylinderprojektion“, welche auf dem WGS84-Ellipsoid beruht. Im<br />
Mapfile wird der EPSG- Code 4326 gesetzt<br />
o MGI (Militärgeografisches Institut) ist eine Lambert-Projektion. Dabei wird eine<br />
4.1.3. Datenzugriff<br />
„Normale Kegelprojektion“ verwendet, die auf dem Bessel 1841-Ellipsoid be-<br />
ruht. Im Mapfile wird der EPSG: 31287 gesetzt<br />
Die Eigenschaften des Zugriffs auf die räumlichen Daten beeinflussen in großem Ausmaß die<br />
Performance eines <strong>UMN</strong>-Mapserversystems. So ist z.B. zu vermuten, dass eine Auslagerung<br />
der Datenbank auf einen Datenbankserver zusätzliche Ressourcen in der Verbindung dieser<br />
zwei Server verbraucht. Dies äußert sich dadurch, dass bei jeder Abfrage erst eine Verbindung<br />
zu diesem Datenbankserver aufgebaut werden muss <strong>und</strong> anschließend die Daten erst über ein<br />
Netzwerk transferiert werden müssen, bevor sie verarbeitet werden können. Dieser Vorgang<br />
benötigt Zeit <strong>und</strong> schlägt sich in der Performance des Systems nieder. Auf der anderen Seite<br />
verbraucht eine Datenbank, die räumliche Operationen rechnet, Prozessorleistung, die wie-<br />
derum auch der <strong>UMN</strong>-Mapserver benötigt. Daher gibt es vermutlich eine Situation, in der das<br />
Auslagern der Datenbank Performance fördernd ist. Dieses Beispiel soll lediglich die Kom-<br />
plexität dieses Punktes näher bringen. Da solche Untersuchungen den Rahmen dieser Arbeit<br />
41
Diplomarbeit Johann Zettel<br />
übersteigen würden, werden nur kleinere, abgeschlossene Teilgebiete analysiert. Diese wer-<br />
den im Folgenden näher betrachtet:<br />
Datenorganisation<br />
Es wird getestet, inwieweit die Anordnung der Daten in der Datenbank Auswirkung<br />
hat. Es werden zwei verschiedene Varianten analysiert.<br />
o Räumliche Daten <strong>und</strong> Sachdaten werden in einer Datentabelle abgelegt. Dies hat<br />
möglicherweise den Effekt, dass auch beim Generieren der Grafik Sachdaten ab-<br />
gefragt werden. Dafür wird eine Spalte des typs „string“ eingefügt, die eine gro-<br />
ße Datenmenge beinhaltet.<br />
o Räumliche Daten werden so belassen, wie sie im Punkt „Testdatensatz“ be-<br />
schrieben werden. Das bedeutet, es wird eine Tabelle erstellt, die Geometrien be-<br />
sitzt <strong>und</strong> zusätzlich lediglich eine Spalte mit sachlichen Daten.<br />
Weiters kann auch im Bereiche der Datenorganisation erwähnt werden, dass bei Da-<br />
tenbanken das Filesystem einen Einfluss ausübt. Bei Windows-Plattformen ist dies a-<br />
ber sek<strong>und</strong>är, da nur zwei gängige Filesystemr zur Verfügung stehen: NTFS <strong>und</strong><br />
FAT32.<br />
Im Gegensatz zu Windows kann bei Linux Plattformen aus einer großen Anzahl an<br />
verschiedenen Filesystemen gewählt werden. Im Testlabor wird das ReiserFS verwen-<br />
det. In wichtigen Internetforen ist jedoch die Rede da<strong>von</strong>, dass ReiserFS <strong>und</strong> ähnliche<br />
Filesysteme eher auf einen Desktopbetrieb ausgelegt sind. ReiserFS kann zum Bei-<br />
spiel gut mit kleinen Dateien umgehen, aber bei größeren hat es Probleme. Da eine<br />
Datenbank aber eher größere Blöcke verwendet, wäre ein Filesystem zu bevorzugen,<br />
das diese Eigenschaft mehr unterstützt.<br />
Räumlicher Index<br />
Wie bereits im Kapitel „Stand der Technik“ erläutert, vereinfacht ein räumlicher Index<br />
den Zugriff auf räumliche Daten. Es soll getestet werden, welchen effektiven Vorteil<br />
ein Index im Prozess der Kartengenerierung wirklich bringt. Darum werden folgende<br />
Varianten getestet:<br />
42
Diplomarbeit Johann Zettel<br />
o Kein Index<br />
o GiST<br />
4.1.4. Hardware<br />
Es wird kein Index in Bezug auf die Geometrien der Datentabelle erstellt. Es<br />
wird erwartet, dass dies den Zugriff auf die Daten stark erschwert <strong>und</strong> so mehr<br />
Zeit benötigt wird, um die gewünschten Daten zusammenzustellen.<br />
PostgreSQL besitzt einen eigenen Indextyp. Er wurde für Sachdaten in Verbin-<br />
dung mit einer PosgreSql-Datenbank entwickelt. PostGIS implementiert diesen<br />
Index in Kombination mit einem R-Tree. Dieser räumliche Index erleichtert den<br />
Zugriff auf die Daten. Mit Hilfe eines solchen Index können die gewünschten<br />
Daten schneller gef<strong>und</strong>en werden.<br />
Da die Performance nahezu aller Softwaresysteme stark vom Faktor der Hardware abhängig<br />
ist, wird dieser Punkt in einem eigenen Test durchgeführt.<br />
Interessant hierbei ist, in welchem Bereich der unterschiedlichen Hardwarekomponenten Po-<br />
tenzial zur Verbesserung der Leistung eines <strong>UMN</strong>-Mapserversystems liegt. Wird die Leistung<br />
der Hardwarekomponenten gesteigert, erhöht sich auch die Performance des <strong>UMN</strong>-<br />
Mapservers. Unklar ist jedoch die genaue Leistungsbeeinflussung der einzelnen Hardware-<br />
komponenten auf dieses System. Getestet wird folgende Hardware, die in jedem Computer-<br />
system ihre Anwendung findet <strong>und</strong> die sich außerdem hervorragend zum Aufrüsten eignet:<br />
Arbeitsspeicher<br />
Der Arbeitsspeicher dient als kurzzeitiges Speichermedium für die CPU, da er einen<br />
schnelleren Schreibe- <strong>und</strong> Lesezugriff als eine Festplatte besitzt. Hierbei ist oft die<br />
Speichergröße des Arbeitsspeichers ausschlaggebend für die Leistung eines Software-<br />
systems. Aus diesem Gr<strong>und</strong> werden folgende Speichergrößen untersucht.<br />
512 MB, DDR 2, PC400<br />
1024 MB, DDR 2, PC400<br />
2048 MB, DDR 2, PC400<br />
43
Diplomarbeit Johann Zettel<br />
CPU - Central Processing Unit<br />
Diese Hardwareeinheit ist die zentrale Recheneinheit <strong>und</strong> ist das Herzstück eines<br />
Computersystems. Da herkömmliche, gebräuchliche Computersysteme lediglich eini-<br />
ge Typen <strong>von</strong> Prozessoren unterstützen, wäre es notwendig, unterschiedliche Compu-<br />
tersysteme bereitzustellen, um mehrere Prozessortypen zu testen. Es wird lediglich ein<br />
Computersystem mit zwei verschiedenen Prozessoren untersucht. Diese sind folgende:<br />
Intel Pentium D 805 2,66Ghz<br />
Intel Core 2 Dual E830 1,67Ghz<br />
4.1.5. Betriebssystemplattform<br />
Die Art der Plattform ist ein wesentlicher Teil eines <strong>UMN</strong>-Mapserversystems. Sie besteht im<br />
Wesentlichen aus dem Betriebssystem <strong>und</strong> aus Software, die die Umgebung des <strong>UMN</strong>-<br />
Mapserver zusammenstellt wie zum Beispiel der HTTP- Server oder ein Scriptinterpreter.<br />
Getestet wird ausschließlich das Betriebssystem in Kombination mit einem HTTP- Server.<br />
Als zu testende Betriebssysteme werden Linux <strong>und</strong> Windows gewählt, da sie die meiste<br />
Verbreitung als Webserverbetriebssystem haben. In allen Tests kommt bei der Windows Va-<br />
riante der Microsoft IIS (Internet-Information-Server) <strong>und</strong> in der Linux-Variante ein Apache-<br />
Server als HTTP-Server zum Einsatz. Eine Untersuchung <strong>von</strong> über 100 Millionen Domains<br />
ergab, dass 58,7 % Apache, 31,09% Microsoft Internet Information Server <strong>und</strong> 10,21% sons-<br />
tige Webserver verwenden (Stand Feb.2007) [NETCRAFT 2007].<br />
Um die Komplexität eines HTTP-Servers zu erahnen, haben Techniker des Unternehmens<br />
Sana Security versucht, dies in einer Grafik abzubilden. In Abb. 13 ist zu sehen was passiert,<br />
wenn ein Client <strong>von</strong> einem Windows IIS ein einfaches HTML-Dokument mit eingebetteter<br />
Grafik anfordert. Interessant ist der Vergleich mit Abb. 14, in der der gleiche Ablauf mit dem<br />
Apache HTTP-Server auf Linuxbasis dargestellt ist. Es ist gut zu erkennen, dass der IIS um<br />
ein Vielfaches mehr Systemcalls benötigt als ein Apache.<br />
44
Diplomarbeit Johann Zettel<br />
Abb. 13 - Systemcall IIS Quelle: [STIENNON 2006]<br />
Abb. 14 - Systemcall Apache Quelle: [STIENNON 2006]<br />
45
Diplomarbeit Johann Zettel<br />
Im Folgenden werden die zwei unterschiedlichen Plattformen beschrieben.<br />
Linux<br />
Da es eine Vielzahl an unterschiedlichen Distributionen gibt, wurde ein Vertreter ge-<br />
wählt, der sich in der Erfahrung als stabil <strong>und</strong> alltagstauglich erwiesen hat. Die Distri-<br />
bution Debian 3.1. rev5., welche auf dem Linux-Kernel 2.6.15 beruht, wird in den<br />
weiteren Untersuchungen als Linux Betriebssystem dienen. Es werden ausschließlich<br />
folgende für den Standardbetrieb eines <strong>UMN</strong>-Mapservers notwendige Softwarepakete<br />
installiert:<br />
o Debian 3.1. rev5.<br />
o Apache 2.0<br />
o Php 5<br />
Windows<br />
o <strong>UMN</strong> Mapserver 4.10.<br />
o PosgreSql 8.1.8.<br />
o PostGIS 1.2.1. / GEOS 2.2.3. / PROJ 4.4.9.<br />
Für diese Variante wurde ein Microsoft Windows Server 2003 gewählt. Dieser stellte<br />
sich in einer Untersuchung als gebräuchlichster Windows Server heraus. Auch auf die-<br />
ser Basis aufbauend wurden nur notwendige Softwarepakete installiert. Diese sind:<br />
o Microsoft Windows Server 2003<br />
o Servicepack 1<br />
o IIS 6.0.<br />
o Php 5.2.1.<br />
o <strong>UMN</strong> Mapserver 4.10.<br />
o PostgreSQL 8.1.8.<br />
o PostGIS 1.2.1. / GEOS 2.2.3. / PROJ 4.5.<br />
Ein Nachteil <strong>von</strong> <strong>UMN</strong>-Mapserverinstallationen auf Windows sind die vorkompilier-<br />
ten Installationspakete. Da diese zeitsparende Variante die meisten Anwender verwen-<br />
den, wurde auch in dieser Arbeit das fertig kompilierte Windows Installationspaket<br />
(nicht zu verwechseln mit MS4W) verwendet. Der Nachteil besteht darin, dass<br />
zwangsweise auch nur die zur Zeit des Kompilierens aktuellen Versionen anderer Pa-<br />
46
Diplomarbeit Johann Zettel<br />
kete verwendet werden. Das bedeutet, dass bei der Installation der Linux-Plattform<br />
nicht die aktuellsten Pakete verwendet wurden sondern die Versionen, die im Win-<br />
dowspaket einbezogen waren. Werden spezielle Einstellungen oder Kompatibilitäten<br />
benötigt, muss der <strong>UMN</strong>-Mapserver auch auf Windows extra kompiliert werden.<br />
4.2. Testlabor<br />
Das Testlabor besteht, wie in Abb. 15 zu erkennen ist, aus mindestens einem Client <strong>und</strong> ei-<br />
nem Server. Der Client setzt eine Anfrage an den Server ab <strong>und</strong> startet eine Zeitmessung. Der<br />
Server generiert Daten <strong>und</strong> schickt diese wieder an den Client zurück, welcher wiederum die<br />
Zeitmessung stoppt.<br />
Abb. 15 - Server Struktur des Testlabors<br />
Eine Anforderungsanalyse hat ergeben, dass das Testlabor folgende Eigenschaften erfüllen<br />
muss, um ein unbeeinflusstes <strong>und</strong> objektives Testen zu ermöglichen:<br />
Einfaches Client-Server-Netzwerk<br />
Der Clientrechner wird mittels eines Fast-Ethernet-Netzwerkes mit dem Server ver-<br />
b<strong>und</strong>en. Ein Netzwerk-Switch dient als Knotenpunkt.<br />
Keine nicht notwendige Netzwerkaktivität<br />
Außer Standardnetzwerkverkehr darf das Netzwerk nicht zusätzlich belastet werden.<br />
Schubweise, nicht vorhersehbare Aktivitäten verfälschen die Messungen. Da auch der<br />
Standardnetzwerkverkehr nicht konstant ist, müssen mehrere Messreihen erfolgen, um<br />
Ausreißer filtern zu können.<br />
47
Diplomarbeit Johann Zettel<br />
Keine nicht notwendigen Prozesse auf dem Server<br />
Es dürfen keine unnötigen Prozesse <strong>von</strong> anderen Anwendungen den Serverbetrieb be-<br />
einflussen. Ausgenommen sind wiederum Standardprozesse, um den Betrieb aufrecht<br />
zu erhalten.<br />
4.3. Testdatensatz<br />
Der Testdatensatz beinhaltet räumliche Daten, die vom <strong>UMN</strong>-Mapserver verarbeitet werden.<br />
Je nach vorgegebener Datenhaltung werden sie in das jeweilige Daten- oder Datenbankformat<br />
konvertiert. Die Eigenschaften des Datensatzes sollen ähnlich wie die Eigenschaften eines im<br />
Alltag gebräuchlichen Datensatzes sein. Gewählt wurden Vektordaten, da sie in der Regel<br />
öfters Anwendung finden als Rasterdaten. Teile eines Teleatlas-Datensatzes des österreichi-<br />
schen Straßennetzes werden für den Testdatensatz dienen. Es werden insgesamt drei unter-<br />
schiedliche Datensätze gewählt, die jeweils eine unterschiedliche Dichte an Vektoren aufwei-<br />
sen. Dies hat zur Folge, dass im Prozess der Generierung der Karte eine unterschiedliche An-<br />
zahl an Linien berücksichtigt werden muss <strong>und</strong> somit der Aufwand zur Generierung variiert.<br />
Alle drei Datensätze umfassen, wie in Abb. 16 zu erkennen, ein Feld im Ausmaß <strong>von</strong> 15 x 15<br />
Bogenminuten auf einem WGS84 Ellipsoid, welches den Bereich um Wien (Österreich) ab-<br />
deckt.<br />
Abb. 16 - Testdatensatz – Räumliche Abdeckung<br />
Straßentypen werden in dem Teleatlasdatensatz mit Hilfe <strong>von</strong> Functional Road Classes FRC<br />
unterschieden. Da<strong>von</strong> stehen folgende 8 Klassen zur Verfügung [TELEATLAS 2002]:<br />
1. Motorways<br />
2. Other Major Roads<br />
48
Diplomarbeit Johann Zettel<br />
3. Secondary Roads<br />
4. Local Connecting Roads<br />
5. Local Roads of High Importance<br />
6. Local Roads<br />
7. Local Roads of Minor Importance<br />
8. Others<br />
In den einzelnen Datensätzen wurden nach Bedürfnis der gewünschten Dichte eine bestimmte<br />
Menge an FRC Klassen selektiert.<br />
49
Diplomarbeit Johann Zettel<br />
1. Datensatz - Geringe Dichte<br />
In Abb. 17 ist der Datensatz mit geringer Dichte zu sehen. Er beinhaltet 3533 Vekto-<br />
ren, die aus insgesamt 13.183 Knoten gebildet werden. Es ergibt sich ein Durchschnitt<br />
<strong>von</strong> 59 Vektorentupel pro Quadratminute.<br />
Verwendete FRC: 0, 1, 2; Dies entspricht im Wesentlichen Autobahnen,<br />
Schnellstraßen <strong>und</strong> B<strong>und</strong>esstraßen.<br />
Abb. 17 - Testdatensatz, geringe Dichte<br />
50
Diplomarbeit Johann Zettel<br />
2. Datensatz - Mittlere Dichte<br />
In Abb. 18 ist der Datensatz mit mittlerer Dichte zu sehen. Er beinhaltet 12.112 Vekto-<br />
ren, die aus insgesamt 43.205 Knoten gebildet werden. Es ergibt sich ein Durchschnitt<br />
<strong>von</strong> 192 Vektorentupel pro Quadratminute.<br />
Verwendete FRC: 0, 1, 2, 3, 4, 5; Dies entspricht im Wesentlichen Autobahnen,<br />
Schnellstraßen, B<strong>und</strong>esstraßen, Landstraßen <strong>und</strong> wichtigen Ortsstraßen.<br />
Abb. 18 - Testdatensatz, mittlere Dichte<br />
51
Diplomarbeit Johann Zettel<br />
3. Datensatz - Hohe Dichte<br />
In Abb. 19 ist der Datensatz mit hoher Dichte zu sehen. Er beinhaltet 37.485 Vektoren,<br />
die aus insgesamt 128.926 Knoten gebildet werden. Es ergibt sich ein Durchschnitt<br />
<strong>von</strong> 573 Vektorentupel pro Quadratminute.<br />
Verwendete FRC: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; Dies beinhaltet alle Typen <strong>von</strong> Straßen.<br />
Abb. 19 - Testdatensatz, hohe Dichte<br />
4.4. Testapplikation<br />
Auf dem Clientrechner des Testlabors wird eine Applikation implementiert, die den Test ini-<br />
tialisiert <strong>und</strong> misst. Sie startet den HTTP-Request <strong>und</strong> empfängt den HTTP-Response. Die<br />
Dauer dieses Vorgangs wird gemessen <strong>und</strong> abgespeichert. Jeder Test wird insgesamt 300 mal<br />
durchgeführt. Bei dieser Anzahl ergeben sich in einer vertretbaren Zeit vergleichbare Ergeb-<br />
nisse. Die einzelnen Testabfolgen werden, soweit sie die gleichen Systemeigenschaften besit-<br />
zen, in der Applikation abgespeichert. Damit wird ein automatisiertes Testen erreicht. Die<br />
52
Diplomarbeit Johann Zettel<br />
gemessenen Daten werden in eine Text-Datei abgespeichert, um sie später manuell auszuwer-<br />
ten.<br />
Abb. 20 zeigt die genaue Zeitspanne, die gemessen wird. Der Zeitpunkt, in dem der HTTP-<br />
Request die Testapplikation verlässt, wird abgespeichert. Wiederum wird beim Erhalt des<br />
HTTP-Response die Zeit gemessen. Anschließend wird die Zeitdifferenz berechnet. Die Test-<br />
applikation erreicht Zeitmessungen im Millisek<strong>und</strong>enbereich.<br />
Abb. 20 - Testapplikation – Zeitmessung<br />
Die Anfragen an den Server beinhalten nicht den gesamten Kartenausschnitt sondern immer<br />
einen Teilausschnitt. Wie in Abb. 21 zu sehen wird an einer zufällig gewählten Position ein<br />
Ausschnitt im Ausmaß <strong>von</strong> 70% der Gesamtkarte definiert. Das bedeutet, bei jeder Messung<br />
wird ein anderer Bereich abgefragt. Diese Maßnahme führt zu folgenden zwei Eigenschaften:<br />
Der Server kann die Grafik nicht cachen, da es sich immer um einen anderen Karten-<br />
ausschnitt handelt. Dies hat zur Folge, dass die Grafik bei jeder Anfrage neu generiert<br />
werden muss.<br />
Beim Zugriff auf die Datengr<strong>und</strong>lage der zu generierenden Grafik kann ein räumlicher<br />
Index verwenden werdet. Somit können Indizes untereinander verglichen werden.<br />
Wird bei einer Anfrage ein gesamter Kartenausschnitt verlangt, benötigt der <strong>UMN</strong>-<br />
Mapserver die gesamte Datengr<strong>und</strong>lage. Dies hat zur Folge, dass der Zugriff nicht op-<br />
timiert werden muss <strong>und</strong> daher kein räumlicher Index benötigt wird.<br />
53
Diplomarbeit Johann Zettel<br />
Abb. 21 - Zufällige Kartenausschnitte<br />
54
Diplomarbeit Johann Zettel<br />
5. Messung<br />
Das folgende Kapitel beschreibt den Ablauf der Messungen. Es erläutert die tatsächliche Um-<br />
setzung der Tests <strong>und</strong> erklärt auftretende Probleme. Der grobe Ablauf sieht folgendermaßen<br />
aus: Zu Beginn wurde das Testlabor nach Vorgaben aus Kapitel 4 eingerichtet. Die Testappli-<br />
kation wurde anschließend in C# entwickelt <strong>und</strong> auf dem Clientrechner des Testlabors instal-<br />
liert. Eine Folge <strong>von</strong> Probeläufen überprüfte danach die Zuverlässigkeit des Systems. Auftre-<br />
tende Fehler <strong>und</strong> Unstimmigkeiten wurden entweder bereinigt oder durch andere Maßnah-<br />
men, zum Beispiel durch Filter, ausgeglichen.<br />
5.1. Evaluierung<br />
In der ersten Phase nach Einrichtung <strong>und</strong> Installation des Systems wurden erste Probemes-<br />
sungen durchgeführt. Damit wurden die einzelnen Elemente des Systems auf ihre Funktions-<br />
tüchtigkeit überprüft.<br />
In diesen ersten Probeläufen fiel eine ungewollte Regelmäßigkeit auf. Je nach Einstellung<br />
wurden nach bestimmten Abständen an Testläufen extreme Ausreißer in der Zeitspanne ge-<br />
messen. Liegt der arithmetische Mittelwert der gemessenen Zeitspannen einer Testreihe <strong>von</strong><br />
1000 Einzeltests bei zum Beispiel 200 Millisek<strong>und</strong>en, so gab es ungefähr alle 30 Messungen<br />
einen Ausreißer der über 500ms für die Antwort benötigte. Da die Höhe dieses regelmäßig<br />
auftretenden Phänomens variiert, können erst bei starker Erhöhung der Testanzahl vergleich-<br />
bare Werte berechnet werden. Abb. 22 zeigt beispielhaft diese Ausreißer bei einer Messreihe<br />
<strong>von</strong> 1000 Durchläufen.<br />
55
Diplomarbeit Johann Zettel<br />
Abb. 22 - Ungefilterte Messreihe<br />
Aus diesem Gr<strong>und</strong> wurde ein Filter implementiert, der diese regelmäßigen Ausreißer filtert.<br />
Nach Ablauf einer Messreihe wird der arithmetische Mittelwert gebildet. Danach werden alle<br />
Werte selektiert, die um 15 Prozent höher als der Mittelwert sind. Die selektierten Werte wer-<br />
den anschließend durch neue Messungen ersetzt <strong>und</strong> nochmals überprüft. Abb. 23 zeigt eine<br />
Messreihe, die gefiltert wurde.<br />
Abb. 23 - Gefilterte Messreihe<br />
56
Diplomarbeit Johann Zettel<br />
5.2. Messablauf<br />
Die einzelnen Messreihen sind in Abb. 24 zu sehen. Untersucht wurde in einem ersten Schritt,<br />
welche Varianten technisch möglich sind. Weiters wurde untersucht, welche Einstellungen<br />
<strong>von</strong>einander abhängig sind. Zum Beispiel beeinflusst die Datengr<strong>und</strong>lage nicht die Generie-<br />
rung der Grafik. Das bedeutet, das gewählte Grafikformat <strong>und</strong> die verwendete Datengr<strong>und</strong>la-<br />
ge sind unabhängig. Als Standardeinstellung wurde PostGIS mit Index / PNG / 1GB RAM<br />
<strong>und</strong> der Intel Core 2 Dual E830 1,67Ghz gewählt<br />
Abb. 24 – Testszenarien<br />
57
Diplomarbeit Johann Zettel<br />
6. <strong>Analyse</strong> der Messreihen<br />
Nach Ablauf aller geplanten Tests werden in diesem Kapitel die Ergebnisse ausgewertet <strong>und</strong><br />
analysiert. Nach diesem Vorgang werden Aussagen in Bezug auf Performanceoptimierung<br />
getroffen. Funktional zusammenhängende Bereiche werden strukturiert betrachtet. Sofern<br />
nichts anderes erwähnt, werden für die Vergleiche die in Kapitel 5.2 beschriebenen Standard-<br />
einstellungen gewählt.<br />
6.1. Plattform<br />
Eingerichtet wurden die beiden Serverplattformen mit ihren Defaulteinstellungen. Das bedeu-<br />
tet, es wurde keine <strong>Optimierung</strong> des Betriebssystems selbst vorgenommen. Zweifellos ist je-<br />
doch in diesem Bereich auch ein großes Potenzial an Verbesserungen bezüglich der Perfor-<br />
mance vorhanden. In den folgenden zwei Kapiteln wird auf jede Plattform nochmals allge-<br />
mein eingegangen. Bereichsspezifische Testergebnisse unter unterschiedlichen Betriebssys-<br />
temen sind bereits in den jeweiligen Kapiteln behandelt worden.<br />
6.1.1. Windows Server 2003<br />
Anders als bei Linux- Systemen werden bei der Installation eines Windows-Servers eine Viel-<br />
zahl <strong>von</strong> nicht benötigter Software mitinstalliert. Diese Software benötigt wiederum System-<br />
ressourcen. Dies hat den Nachteil, dass dem <strong>UMN</strong>-Mapserver nicht alle Ressourcen zu Ver-<br />
fügung stehen.<br />
58
Diplomarbeit Johann Zettel<br />
In Abb. 25 sind Antwortzeiten in einem Diagramm dargestellt. Sie zeigen gr<strong>und</strong>legende Zeit-<br />
spannen ohne dass eine Karte generiert wird.<br />
Abb. 25 - Gr<strong>und</strong>ladezeiten <strong>von</strong> Windows<br />
Ein leeres HTML-Dokument ist sehr schnell übermittelt. Das Aufrufen des PHP-Interpreters<br />
benötigt ca. weitere 30ms. Weitere 60ms dauert es, bis die PHP-Mapscript Erweiterung gela-<br />
den ist <strong>und</strong> ein leeres PHP-Dokument übermittelt wird.<br />
6.1.2. Linux Debian<br />
Großer Vorteil des <strong>UMN</strong>-Mapaservers auf Linux Basis ist, dass die Software selbst kompi-<br />
liert werden muss. Das bedeutet, es brauchen nur benötigte Funktionalitäten implementiert<br />
werden. Diese Eigenschaft macht das System wieder kleiner <strong>und</strong> dadurch schneller.<br />
Das Linuxsystem kann sehr leicht auf die wesentlichen Serverprozesse optimiert werden. Alle<br />
nicht benötigten Funktionen können ohne Schwierigkeiten abgeschaltet oder erst gar nicht<br />
installiert werden.<br />
59
Diplomarbeit Johann Zettel<br />
In Abb. 26 wurden die Ladezeiten ohne die Generierung einer Karte dargestellt.<br />
Abb. 26 - Gr<strong>und</strong>ladezeiten <strong>von</strong> Linux<br />
Zu erkennen ist, dass ein HTML- Dokument sehr schnell bereitgestellt wird. Nur ca. 0,3 ms<br />
werden benötigt, um den Pop-Interpreter zu laden. Das Laden der PHP-Mapscript Erweite-<br />
rung benötigt insgesamt 94,15ms. Somit ist das Linux-System ähnlich schnell beim Laden der<br />
Mapscript- Erweiterung wie das Windows-System.<br />
6.2. Datenhaltung<br />
Die Art der Datenhaltung stellte sich als ein sehr maßgeblicher Faktor bezüglich der Perfor-<br />
mance heraus. Sehr unterschiedlich verhalten sich die einzelnen Varianten auf den zwei ver-<br />
schiedenen Plattformen Windows <strong>und</strong> Linux. In Abb. 27 ist der Vergleich der drei Datenhal-<br />
tungsformen Shape, Tab <strong>und</strong> PostGIS unter Windows abgebildet.<br />
60
Diplomarbeit Johann Zettel<br />
Abb. 27 - Datenhaltung im Vergleich unter Windows<br />
Bildinhalte shape tab PostGIS<br />
geringe Dichte 173,176 ms 173,396 ms 209,252 ms<br />
mittlere Dichte 275,970 ms 267,249 ms 291,096 ms<br />
hohe Dichte 546,770 ms 496,430 ms 503,035 ms<br />
Zu erkennen ist, dass sich alle drei Varianten sehr ähnlich verhalten. Bei geringer Datendichte<br />
sind das Shapefile <strong>und</strong> das TAB-File nahezu gleich. Die PostgreSQL-DB ist jedoch bei gerin-<br />
ger Datendichte r<strong>und</strong> 20% langsamer als die übrigen zwei Formate. Dieser Unterschied ver-<br />
ringert sich, wenn die Datendichte angehoben wird. Bei hoher Datendichte ist die<br />
PostgreSQL-DB bereits um ca. 10% schneller als das Shapefile <strong>und</strong> der Unterschied zum<br />
TAB-File ist nur noch minimal. Wird die Dichte weiter angehoben, ist anzunehmen, dass sich<br />
der Trend fortsetzt. Erklärbar ist dieses Verhalten mit dem zusätzlichen Overhead bei der Da-<br />
tenbankverbindung zwischen dem <strong>UMN</strong> Mapserver <strong>und</strong> der PostgreSQL-DB. Da die Daten-<br />
bank besser mit größeren Datenmengen umgehen kann als ein Fileformat <strong>und</strong> der Overhead<br />
konstant bleibt, ist sie bei höheren Datendichten schneller. [POSTGIS 2007]. In Abb. 28 ist<br />
der Vergleich der Datenhaltung auf der Linux Plattform zu sehen.<br />
61
Diplomarbeit Johann Zettel<br />
Abb. 28 - Datenhaltung im Vergleich unter Linux<br />
Bildinhalte shape tab PostGIS<br />
geringe Dichte 153,799 ms 176,458 ms 367,369 ms<br />
mittlere Dichte 198,360 ms 257,431 ms 498,197 ms<br />
hohe Dichte 311,046 ms 460,540 ms 802,092 ms<br />
Das Verhalten des Shapefiles <strong>und</strong> des TAB-files ist unter Linux anders als unter Windows.<br />
Bei geringer Datendichte ist der Unterschied unwesentlich. Bei Erhöhung der Datendichte<br />
wird das TAB-File jedoch langsamer. Das Shapefile ist dann im Gegenzug um ca. 30%<br />
schneller als das TAB-File.<br />
Die PostGIS- Variante unter Linux unterscheidet sich im Vergleich zu Windows deutlich.<br />
Unter dem Linuxsystem ist die Datenhaltung in PostGIS um fast 40% langsamer. Die Ursache<br />
dafür ist auch nach weiteren Untersuchungen <strong>und</strong> <strong>Analyse</strong>n ungeklärt.<br />
In einem weiteren, modifizierten Versuch wurde die PostgreSQL-DB mit der PostGIS-<br />
Erweiterung unabhängig vom übrigen <strong>UMN</strong>-Mapserversystem getestet. Dafür wurde die<br />
Testapplikation modifiziert <strong>und</strong> damit direkt vom Client SQL-Statements an die PostgreSQL-<br />
DB abgesetzt.Auf Windows <strong>und</strong> Linux wurden so Antwortzeiten gemessen. In Abb. 29 sind<br />
die Mittelwerte dieser Testreihen visualisiert.<br />
62
Diplomarbeit Johann Zettel<br />
Abb. 29 - Manueller Datenbankzugriff<br />
Bildinhalte Windows Linux<br />
geringe Dichte 10,419 ms 4,423 ms<br />
mittlere Dichte 67,050 ms 11,210 ms<br />
hohe Dichte 119,062 ms 27,141 ms<br />
In dieser Situation tritt der umgekehrte Fall ein. Unter Windows ist der Datenbankzugriff um<br />
ein Vielfaches langsamer als auf der Linux Plattform. Berücksichtigt man die Testergebnisse<br />
in Bezug auf das Testsystem, scheint der Gr<strong>und</strong> für die schlechte Performance der<br />
PostgreSQL-DB im Bereich des Datenzugriffs des <strong>UMN</strong>-Mapservers zu liegen. Ein direkt<br />
abgesetztes SQL-Statement wird sehr schnell <strong>von</strong> der Linux basierenden Datenbank abgear-<br />
beitet. Nur wenn der <strong>UMN</strong>-Mapserver mit der Datenbank unter Linux kommuniziert, treten<br />
hohe Verzögerungen auf.<br />
6.3. Mapfile<br />
Das Mapfile selbst beinhaltet eine Vielzahl an Einstellungsmöglichkeiten, die Auswirkungen<br />
auf die Performance haben. Wie im Vorfeld der Messungen bereits angenommen, haben sich<br />
63
Diplomarbeit Johann Zettel<br />
die gewählten Einstellungsvarianten aber als besonders leistungs- beeinflussend herausge-<br />
stellt.<br />
6.3.1. Antialiasing<br />
Beim Antialiasing-Test wurde eine modifizierte Einstellung im Outputformat des Mapfiles<br />
verwendet. Da die Grafik mehr als 256 Farben benötigt, um diesen Prozess durchzuführen,<br />
wurde der „IMAGEMODE“ auf den Wert „RGB“ gesetzt. In Abb. 30 ist ein Vergleich zu<br />
sehen, bei dem einmal Antialiasing aktiviert wurde <strong>und</strong> einmal nicht.<br />
Abb. 30 - Antialiasing Vergleich<br />
Bildinhalte Antialiasing deaktiviert Antialiasing aktiviert<br />
geringe Dichte 209,252 ms 376,989 ms<br />
mittlere Dichte 291,096 ms 472,985 ms<br />
hohe Dichte 503,035 ms 735,600 ms<br />
Der Mehraufwand für das Antialiasing beträgt mehr als 40% <strong>und</strong> ist konstant bezüglich der<br />
Datendichte. Betrachtet man die Zahlen, nimmt bei Erhöhung der Datendichte der zusätzliche<br />
Zeitaufwand leicht zu. Die Hypothese bezügliche des Antialiasings- Prozesses ist damit bestä-<br />
tigt.<br />
64
Diplomarbeit Johann Zettel<br />
6.3.2. Ausgabeformat<br />
Als Ausgabeformat wurden drei verschiedene Grafikformate gewählt, die in der Regel am<br />
häufigsten angewendet werden.<br />
Außerdem ist zu beachten, dass der „IMAGEMODE“ im Mapfile verändert werden kann.<br />
Dieser beschreibt die Farbtiefe, die gerendert werden soll. Eine höhere Farbtiefe erhöht den<br />
Leistungsbedarf <strong>und</strong> den Speicherplatz. Auf der anderen Seite können mehr Farben verarbei-<br />
tet werden. Diese Eigenschaft wird zum Beispiel bei Luftbildern benötigt.<br />
In Abb. 31 ist ein Vergleich zwischen den drei getesteten Grafikformaten unter Windows dar-<br />
gestellt.<br />
Abb. 31 - Grafiken im Vergleich unter Windows<br />
Bildinhalte GIF PNG JPG<br />
geringe Dichte 164,260 ms 250,498 ms 173,176 ms<br />
mittlere Dichte 249,745 ms 372,885 ms 275,970 ms<br />
hohe Dichte 480,716 ms 673,653 ms 546,770 ms<br />
Auf der Windows Plattform hebt sich das GIF-Format eindeutig als das schnellste Grafikfor-<br />
mat ab. Ein PNG-Bild ist im Durchschnitt um 30% langsamer. Das JPG ist bei niedriger Da-<br />
65
Diplomarbeit Johann Zettel<br />
tendichte fast so schnell generiert wie ein GIF. Nimmt die Datendichte zu, verlangsamt sich<br />
jedoch der Vorgang des Generierens. Dies kann auf den Komprimieralgorithmus zurückzu-<br />
führen sein. In Abb. 32 werden die Grafiken unter Linux verglichen.<br />
Abb. 32 - Grafiken im Vergleich unter Linux<br />
Bildinhalte GIF PNG JPG<br />
geringe Dichte 142,506 ms 153,799 ms 255,312 ms<br />
mittlere Dichte 168,345 ms 198,360 ms 313,587 ms<br />
hohe Dichte 239,560 ms 311,046 ms 449,410 ms<br />
Wie auf Windows ist GIF eindeutig in Bezug auf die Performance das am schnellsten gene-<br />
rierte Bild. Langsamer sind allerdings das PNG <strong>und</strong> JPG. Auf Linux benötigt das JPG mehr<br />
Zeit als alle anderen Formate. Es ist anzunehmen, dass die Bibliotheken, die für das Rendern<br />
verantwortlich sind, in beiden Plattformen verschieden implementiert sind.<br />
Bezüglich des Ausgabeformats ist festzustellen, dass Linux generell schneller ist. Am Bei-<br />
spiel des GIF-Formats hat dieser Unterschied eine Größenordnung <strong>von</strong> ca. 50% bei hoher<br />
Datendichte.<br />
66
Diplomarbeit Johann Zettel<br />
Ein weiteres Merkmal ist die durchschnittliche Dateigröße der generierten Grafiken. Da das<br />
Testlabor auf einem lokalen Gigabit Netzwerk beruht, hat die Übertragungskapazität des Net-<br />
zes minimalen Einfluss auf das Ergebnis. Anders ist dies jedoch in einem realen Betrieb im<br />
Internet. Hierbei ist die Datenmenge, die transferiert werden muss, ein maßgeblicher Faktor.<br />
In Abb. 33 sind die Dateigrößen der drei Grafikformate visualisiert. Es sind Grafiken mit<br />
1000x1000 Pixel. In der Praxis werden meistens kleinere Formate eingesetzt <strong>und</strong> die Datei-<br />
größen werden somit auch kleiner sein.<br />
Abb. 33 - Dateigrößen der Grafikformate<br />
Auch hier ist das GIF das günstigste Format. Es hat die geringste Dateigröße <strong>und</strong> somit ver-<br />
braucht es am wenigsten Übertragungskapazität. Ähnlich verhält sich das PNG. Um ein Viel-<br />
faches größer ist das JPG-Format. Ein Gr<strong>und</strong> dafür ist, dass das JPG nicht für diese Art <strong>von</strong><br />
Grafik ausgelegt ist. Werden im Hintergr<strong>und</strong> beispielsweise Luftbilder geladen, verhalten sich<br />
die Dateigrößen anderes. Da sich die Effektivität der Kompressionen unterscheidet, verändert<br />
sich die Dateigröße. In diesem Fall kann sich die Rangordnung verschieben.<br />
Rechnet man mit einer durchschnittlichen Downloadgeschwindigkeit einer ADSL-<br />
Verbindung <strong>von</strong> 125 KByte/s, verbraucht ein PNG bei hoher Datendichte mehr als 600ms, bis<br />
es der Client anzeigen kann. Hier wird erkennbar, dass die Dateigröße einen der größten An-<br />
teile an der Ladezeit einnimmt.<br />
67
Diplomarbeit Johann Zettel<br />
6.3.3. Projektionsumrechnung<br />
Wie in Kapitel 4.1.2 beschrieben wurde für eine Messreihe eine Projektionsumrechnung akti-<br />
viert. WGS84 Koordinaten wurden vom <strong>UMN</strong>-Mapserver in MGI-Koordinaten umgerechnet.<br />
In Abb. 34 sind zwei Messreihen abgebildet, jeweils einmal ohne Projektionsumrechnung <strong>und</strong><br />
einmal mit Projektionsumrechnung.<br />
Abb. 34 - Vergleich Projektionsumrechnung<br />
Bildinhalte keine Projektionsumrechnung mit Projektionsumrechnung<br />
geringe Dichte 209,252 ms 323,328 ms<br />
mittlere Dichte 291,096 ms 466,919 ms<br />
hohe Dichte 503,035 ms 818,556 ms<br />
Bei geringer Datendichte ist eine WebGIS-Applikation um ca. 35% schneller, wenn die Daten<br />
bereits in der Ausgabe-Projektion vorliegen. Das bedeutet, dass eine Projektionsumrechnung<br />
sehr zeitaufwändig ist. Außerdem erhöht sich dieser Unterschied auf ca. 39% bei Erhöhung<br />
der Datendichte.<br />
68
Diplomarbeit Johann Zettel<br />
6.4. Datenzugriff<br />
Wie auch in den anderen Testbreichen werden auch hier interessante Ergebnisse erzielt. Zu<br />
erwähnen ist, wie bereits schon öfters in dieser Arbeit, dass hier nur ein sehr kleiner Teilbe-<br />
reich analysiert wurde. In der Praxis müssen hierbei oft individuelle Einstellungen getestet<br />
werden.<br />
6.4.1. Datenorganisation<br />
Im Bereich der Datenorganisation benötigte jede Variante die gleiche Zeit für das Generieren<br />
des Bildes. Das bedeutet, dass Sachdaten die in der gleichen Tabelle abgespeichert werden<br />
wie die Geometrien, keinen Einfluss auf die Performance haben. Daher brauchen alle Sachda-<br />
ten nicht in andere Datentabellen ausgelagert werden.<br />
Der Gr<strong>und</strong> dafür ist, dass der <strong>UMN</strong>-Mapserver nur die Geometrie-Spalte abfragt. Nur bei Se-<br />
lektionen oder Beschriftungen bezieht der Mapserver weitere Spalten, in denen diese Daten<br />
abgespeichert werden.<br />
6.4.2. Indizes<br />
Bei der Auswertung der Messreihen ergab sich eine ähnliche Situation wie im Bereich der<br />
Datenorganisation. In dieser Testanordnung hatte ein Index keinen Einfluss auf die Generie-<br />
rungszeit. Der Gr<strong>und</strong> dafür ist, dass der räumliche Index nicht verwendet wurde. Der abge-<br />
fragte Kartenausschnitt war immer, wie in Kapitel 5 beschrieben, 70% der Gesamtdaten-<br />
gr<strong>und</strong>lage. Aufgr<strong>und</strong> dieses Kartenausschnittes entschied das DBMS den Index nicht zu ver-<br />
wenden, da dieser keinen Performancegewinn erbringen würde. Bevor eine Suche beginnt,<br />
vergleicht das DBMS die Effizienz aller möglichen Queryplans in Bezug auf ihren benötigte<br />
CPU <strong>und</strong> I/O Verbrauch. Danach wählt dieser den effizientesten Weg. Die Abb. 35 veran-<br />
schaulicht die Funktion eines Index.<br />
69
Diplomarbeit Johann Zettel<br />
ohne Index mit Index<br />
Abb. 35 - Funktion eines Index [Meile 2007]<br />
Wenn ein Index verwendet wird, wird er im ersten Schritt geladen. Nach Auswertung des<br />
Index entsteht entweder ein Result-Set oder ein Kandidaten-Set. Wurde ein möglicher Result-<br />
Set identifiziert, werden nur diese <strong>von</strong> der Festplatte geladen. Bei einem Kandidaten-Set wer-<br />
den diese zuerst <strong>von</strong> der Festplatte geladen <strong>und</strong> danach weiter ausgewertet, bis ein Result-Set<br />
übrig bleibt. Wird kein Index verwendet, wird der komplette Datensatz <strong>von</strong> der Festplatte<br />
geladen <strong>und</strong> mittels Fulltablescan das Result-Set erzeugt. Diese Form ist sehr aufwändig in<br />
Bezug auf den Speicherzugriff.<br />
Ist das Result-Set sehr groß im Verhältnis zum ganzen Datensatz, kann es effizienter sein oh-<br />
ne Index zuarbeiten, da das Laden <strong>und</strong> Auswerten des Index auch Zeit in Anspruch nimmt.<br />
Da die angenommenen 70% nicht zum gewünschten Ergebnis führten, wurden in einer weite-<br />
ren Versuchsreihe Kartenausschnitte mit 50%, 25% <strong>und</strong> 5% des Gesamtdatensatzes getestet.<br />
Bei dieser Verkleinerung des möglichen Result-Sets bindet die Datenbank den Index bei der<br />
Suche ein. In Abb. 36 sind diese Messreihen abgebildet.<br />
70
Diplomarbeit Johann Zettel<br />
Abb. 36 - Testwiederholung – Indizierung<br />
Bildinhalte ohne Index mit Index<br />
5% Kartenausschnitt 180,963 ms 155,260 ms<br />
20% Kartenausschnitt 207,691 ms 194,999 ms<br />
50% Kartenausschnitt 416,951 ms 400,922 ms<br />
Gut zu erkennen ist, dass die Abfragen mit einem Index schneller sind. Dieser Trend drückt<br />
sich deutlicher aus wenn die Tests mit einer größeren Datenmenge vorgenommen werden.<br />
6.5. Hardware<br />
Wie bereits in vorherigen Kapiteln zu erkennen ist, widmet sich ein kleiner Teil dieser Arbeit<br />
der Hardware des Servers. Es wurden Arbeitsspeichervarianten <strong>und</strong> zwei verschieden schnelle<br />
CPUs getestet. Auch andere Hardwareelemente des Gesamtsystems haben erhebliches Poten-<br />
tial zur Leistungssteigerung. Jede Hardware, die das Rendern, die Datenbankeigenschaften<br />
oder die Netzwerkkapazitäten verbessert, eignet sich für Performanceverbesserungen.<br />
6.5.1. Arbeitsspeicher<br />
Allgemein zu anderen Testgebieten ist zu erkennen, dass in diesem Bereich relativ geringfü-<br />
gige Unterschiede in den einzelnen Arbeitsspeichervarianten 512MB, 1024MB <strong>und</strong> 2048MB<br />
71
Diplomarbeit Johann Zettel<br />
gemessen wurden. Gr<strong>und</strong> dafür ist, dass der Arbeitsspeicher fast nicht ausgelastet wird. Da<br />
die Datenmengen sehr gering sind, verbrauchen sie sehr wenig Speicher <strong>und</strong> belasten dadurch<br />
nicht das restliche System. Kommen in WebGIS-Applikationen größere Datenmengen zur<br />
Anwendung, hat der Arbeitsspeicher mehr Einfluss als hier. Sind die zu verarbeitenden Da-<br />
tenmengen größer als der verfügbare Speicherplatz im Arbeitsspeicher, können nur Teile ge-<br />
laden werden. Dies schlägt sich natürlich in der Leistungsfähigkeit nieder. In Abb. 37 ist der<br />
Vergleich der Arbeitsspeichervarianten abgebildet.<br />
Abb. 37 - Arbeitsspeichervergleich<br />
Bildinhalte 512MB RAM 1024MB RAM 2048MB RAM<br />
geringe Dichte 214,622 ms 209,252 ms 201,697 ms<br />
mittlere Dichte 301,745 ms 291,096 ms 275,630 ms<br />
hohe Dichte 523,167 ms 503,035 ms 472,890 ms<br />
Gr<strong>und</strong>sätzlich waren die Tests mit 512MB Arbeitsspeicher um 5% langsamer als die mit<br />
1024MB. Die Steigerung auf 2048 MB brachte einen noch geringeren Performancezuwachs.<br />
72
Diplomarbeit Johann Zettel<br />
6.5.2. CPU<br />
Ähnlich wie im Vergleich des Arbeitsspeichers wurden nur geringe Unterschiede zwischen<br />
den beiden Prozessoren gemessen.<br />
Abb. 38 - CPU- Vergleich<br />
Bildinhalte Pentium D 805 Core2 Dual E 830<br />
geringe Dichte 225,559 ms 155,260 ms<br />
mittlere Dichte 313,924 ms 194,999 ms<br />
hohe Dichte 542,976 ms 400,922 ms<br />
Der Intel Pentium D 805 ist bei jeder Datendichte ca. 5% langsamer als der Core2 Dual E830.<br />
Trotz der niedrigeren Taktfrequenz arbeitet die Core2 Dual CPU effizienter. Da beide Prozes-<br />
soren zwei Kerne besitzen, ist nicht zuerkennen, ob dies Vorteile in Bezug auf die Performan-<br />
ce bringt. Jedoch ist anzunehmen, dass bei einem realen Serverbetrieb Mehrkern-<br />
Technologien Vorteile verschaffen, da Aufgaben aufgeteilt werden können.<br />
73
Diplomarbeit Johann Zettel<br />
6.6. Weitere mögliche <strong>Optimierung</strong>sschritte<br />
Betriebssystem <strong>Optimierung</strong>en<br />
Im Betriebssystem selbst können viele Einstellungen vorgenommen werden, die die<br />
Leistung <strong>und</strong> Effizienz des Systems beeinflussen. Zum Beispiel kann die Größe der<br />
Auslagerungsdateien oder die Verteilung der Systemressourcen optimiert werden.<br />
Datenbank <strong>Optimierung</strong><br />
Auch Datenbanken, hier im speziellen Fall eine PostgreSQL- Datenbank, besitzen vie-<br />
le Konfigurationsoptionen. So können in der PostgreSQL.conf zum Beispiel die Res-<br />
sourcenverwaltung oder einzelne Abfrageeinstellungen verändert werden.<br />
Räumliche Rasterdaten<br />
Ein weiterer großer Teil, der nicht im Detail getestet wurde, sind räumliche Rasterda-<br />
ten als Datengr<strong>und</strong>lage für die Generierung der Bilder. In diesem Bereich kommen ei-<br />
ge <strong>Optimierung</strong>sverfahren, wie zum Beispiel Kacheln, zum Einsatz. Das scheint inte-<br />
ressant zu sein, da Rasterbilder oft eingesetzt werden <strong>und</strong> meistens große Datenmen-<br />
gen besitzen.<br />
Weitere Datenanbindungen, Plattformen<br />
Sehr interessant wären auch andere Datenbankanbindungen, wie zum Beispiel ArcS-<br />
DE oder Oracle Spatial. Besonders bei sehr großen Datenmengen wäre ein Vergleich<br />
mit PostgreSQL/ PostGIS sehr informativ.<br />
Außerdem wären auch andere Plattformen interessant zu testen. Messungen auf ande-<br />
ren Linux Distributionen oder auf einem Solaris Betriebssystem würden wiederum an-<br />
dere Eigenschaften erzielen.<br />
Auch ist der Einsatz anderer HTTP-Server möglich. Zum Beispiel würde sich auch ein<br />
ZOPE-Webanwendungsserver für einen <strong>UMN</strong>-Mapserver eignen.<br />
Stresstests<br />
Ein in dieser Arbeit nicht behandeltes Themengebiet ist das Verhalten eines <strong>UMN</strong>-<br />
Mapserversystems in Stresssituationen. Da <strong>von</strong> einem Server oft mehrer Clients<br />
74
Diplomarbeit Johann Zettel<br />
gleichzeitig abrufen, ist dieser Aspekt sehr wichtig. Ein Test mit mehreren simulierten<br />
Clients würde hier neue Informationen bringen, welche Einstellungen sich besonders<br />
gut für hochfrequentierte Webseiten eignen.<br />
Weitere Hinweise<br />
Alle getesteten Situationen wurden mit PHP-Mapscript abgewickelt. Ein weiterer Weg<br />
ist die Abfrage über CGI. Auch diese Variante wird noch oft in Verbindung mit<br />
WMS-Anfragen angewendet.<br />
Eine weitere <strong>Analyse</strong> der einzelnen <strong>UMN</strong>-Mapserver-Komponenten würde weitere<br />
aufschlussreiche Erkenntnisse bezüglich der Performance bringen. Außerdem könnte<br />
der <strong>UMN</strong>-Mapserver selbst untersucht werden.<br />
75
Diplomarbeit Johann Zettel<br />
7. Schlussfolgerung<br />
Ausgangspunkt dieser Arbeit war die Suche nach <strong>Optimierung</strong>smöglichkeiten <strong>von</strong> <strong>UMN</strong>-<br />
<strong>Mapserversystemen</strong> in Bezug auf die Performance. In einer Planungs- Umsetzungs- <strong>und</strong> Ent-<br />
wicklungsphase wurden verschiedene Teilbereiche dieses Systems untersucht. In einem<br />
Netzwerklabor wurden diese Varianten getestet <strong>und</strong> anschließend ausgewertet. Die zu Beginn<br />
erwähnte Hypothese, dass gezielte Einstellungen die Performance <strong>von</strong> <strong>UMN</strong>-<br />
<strong>Mapserversystemen</strong> steigert, wurde bestätigt. Dies zeigte die <strong>Analyse</strong> der Ergebnisse der ein-<br />
zelnen Testbereiche.<br />
Im Folgenden werden wichtige Ergebnisse zusammengefasst:<br />
Plattform<br />
Die Wahl des richtigen Betriebssystems ist schwierig. Durchwegs ist Linux in den<br />
einzelnen Bereichen deutlich schneller. Allerdings traten Probleme bei der Datenan-<br />
bindung mit PostgreSQL auf. Auch in einem Testlabor konnte diese Schwierigkeit<br />
nicht gelöst werden. Problem dabei ist, das diese Engstelle in der Praxis nur schwer<br />
festzustellen ist, da kein Vergleichssystem zur Verfügung steht. Ein weiterführender<br />
Versuch hat jedoch gezeigt, dass PostgreSQL mit PostGIS auf Linux um ein Vielfa-<br />
ches schneller ist.<br />
Datenhaltung<br />
Bei der Entscheidung über das Format der räumlichen Daten ist die Datenmenge aus-<br />
schlaggebend. Werden kleiner Datenmengen verwendet, ist das Shapefile zu bevorzu-<br />
gen. Eine Datenbank sollte bei größeren Datenmengen zum Einsatz kommen. Das<br />
Tab-File ist durchwegs etwas langsamer als das Shapefile.<br />
Mapfile<br />
Antialiasing sollte aus Performance-Sicht vermieden werden. Um den Treppeneffekt<br />
zu vermeiden, kann es aber in manchen Anwendungen notwendig sein, diese Einstel-<br />
lung zu aktivieren. Es sollte aber sparsam damit umgegangen werden.<br />
76
Diplomarbeit Johann Zettel<br />
Insgesamt stellte sich heraus, dass das GIF auf jeder Plattform am schnellsten gene-<br />
riert wird. Außerdem ist seine durchschnittliche Dateigröße sehr klein. Ein Nachteil im<br />
Gegenzug ist, dass die Farbtiefe nicht mehr als 256 Farben betragen kann. Ein weiterer<br />
Nachteil, der berücksichtigt werden muss: Die Erstellung eines GIF- Bildes erfordert<br />
eine Lizenz.<br />
Eine Projektionsumrechnung „on the fly“ ist nicht ratsam. Aber es kann in einigen<br />
Anwendungsfällen sinnvoll sein, die Ausgangsdaten in einer anderen Projektion zu be-<br />
lassen. Wird die Datentabelle auch <strong>von</strong> anderen Systemen benutzt, kann eine Umrech-<br />
nung des kompletten Datensatzes in Bezug auf die Kompatibilität sehr schwer sein.<br />
Dies sollte aber ein kleinerer Teil der zu visualisierenden Daten sein <strong>und</strong> aus Perfor-<br />
mancesicht, wenn möglich, vermieden werden. Eine weitere <strong>Optimierung</strong>smöglichkeit<br />
ist die Einstellung im Mapfile selbst. Bei den Tests wurde, um die Umrechnung zu ak-<br />
tivieren, der EPSG-Code eingetragen<br />
PROJECTION<br />
"init=epsg:4326"<br />
END<br />
Dabei muss die Proj4 Bibliothek Daten zu dem EPSG-Code in ihrer Projektionsdaten-<br />
bank abfragen. Dies geschieht wiederum bei jedem Aufruf des Mapfiles. Daher wird<br />
empfohlen, entweder aus dieser Projektionsdatenbank alle nicht benötigten Projektio-<br />
nen zu löschen, oder die Daten wie folgt selbst anstatt des EPSG-Codes einzutragen.<br />
[MAPSERVER 2006]<br />
PROJECTION<br />
"proj=latlong"<br />
"ellps=WGS84"<br />
"datum=WGS84"<br />
END<br />
In Bezug auf die Performance können weitere Faktoren im Mapfile berücksichtigt<br />
werden. Im Folgenden sind einige Gr<strong>und</strong>regeln <strong>und</strong> Vorschläge aufgelistet<br />
[MAPSERVER 2006]:<br />
77
Diplomarbeit Johann Zettel<br />
o Kleines Mapfile<br />
Das Mapfile wird bei jedem Aufruf einer Karte komplett abgearbeitet. Daher ist es<br />
wichtig, das Mapfile klein zuhalten. Angaben, die nicht benötigt werden, verlang-<br />
samen das Parsen dieser Datei.<br />
o Layer<br />
Es sollte generell auf die Dateigröße geachtet werden. Layer mit dem STATUS<br />
ON oder DEFAULT werden geladen <strong>und</strong> für das Visualisieren vorbereitet, auch<br />
wenn sie nicht angezeigt werden. Mapfiles mit sehr vielen Layern können aufge-<br />
teilt oder dynamisch geladen werde,n um nicht jedes Mal abgearbeitet zu werden.<br />
o Label<br />
Um Objekte mit Labels beschriften zu können ist eine Schriftart notwendig. Im<br />
Mapfile wird der Name der Schriftart festgelegt. Damit der <strong>UMN</strong>-Mapserver die<br />
Schrift aufrufen kann, muss er die Datei fonts.list aufrufen. In dieser fonts.list soll-<br />
ten nur benötigte Schriftarten vorhanden sein, da das Abarbeiten viel Zeit in An-<br />
spruch nimmt.<br />
Datenzugriff<br />
Im Bereich der Indexierung der Daten kommt es individuell auf die Anwendung an.<br />
Werden meistens eine Gesamtansicht oder große Teile des Datensatzes abgefragt, ist<br />
ein räumlicher Index nicht notwendig. Dies ist sehr selten der Fall. Ist eine WebGIS-<br />
Applikation voll zoomfähig, ist ein Index über die Geometrien sehr zu empfehlen.<br />
Da in einer WebGIS-Applikation aber auch Sachdaten abgefragt werden, sind normale<br />
Indizes zu berücksichtigen. Die Daten, die ein User über die Benutzerschnittstelle ab-<br />
fragen kann, sollten indiziert werden, um die Abfragezeiten zu minimieren. Hierbei<br />
kommen je nach Datentyp zum Beispiel B-Tree-Indizes oder ein GIST zum Einsatz.<br />
Hardware<br />
Im Bereich der Hardware gilt gr<strong>und</strong>sätzlich, dass effektivere Prozessoren schnellere<br />
Antwortzeiten liefern. Außerdem sind alle Hardwareelemente zu empfehlen die das<br />
Rendern, die Datenbankeigenschaften oder die Netzwerkkapazitäten verbessern.<br />
78
Diplomarbeit Johann Zettel<br />
Eine Aufstockung des Arbeitsspeichers ist nur notwendig, wenn es die Datenmenge<br />
verlangt. Reicht der vorhandene Arbeitspeicher aus, um den kompletten Datensatz zu<br />
laden, ist kein zusätzlicher Speicherplatz notwendig. Tritt eine gegenteilige Situation<br />
auf, so gilt je mehr Arbeitspeicher, desto besser.<br />
Gr<strong>und</strong>sätzlich können diese Ergebnisse als Richtlinien betrachtet werden. Wird eine neue<br />
<strong>UMN</strong>-Mapserver-Anwendung entwickelt, können diese Richtlinien berücksichtigt werden um<br />
bereits im Vorhinein Performance Engpässe zu vermeiden. Treten trotz Einhaltung Engpässe<br />
auf, müssen individuell weitere Einstellungen gestestet werden.<br />
Wie zu Beginn der Arbeit erwähnt, erhebt diese Arbeit keinen Anspruch auf Vollständigkeit.<br />
Das bedeutet, es gibt zahlreiche weitere <strong>Optimierung</strong>smöglichkeiten, die nicht behandelt wur-<br />
den. Die vorliegende Arbeit liefert gr<strong>und</strong>sätzliche Ideen, wie die Performance <strong>von</strong> <strong>UMN</strong>-<br />
<strong>Mapserversystemen</strong> gesteigert werden kann.<br />
79
Diplomarbeit Johann Zettel<br />
Abkürzungsverzeichnis:<br />
ADSL Asymmetric Digital Subscriber Line<br />
API Application Programming Interface<br />
ASCII American Standard Code for Information Interchange<br />
CGI Common Gateway Interface<br />
CSS Cascading Style Sheets<br />
DB Database<br />
DXF Drawing Interchange Format<br />
EPSG European Petroleum Survey Group<br />
FRC Functional Road Classes<br />
GIF Graphics Interchange Format<br />
GIS Geographic Information System<br />
GIST Generalized Search Tree<br />
GML Geography Markup Language<br />
HTML Hypertext Markup Language<br />
HTTP Hypertext Transfer Protocol<br />
IIS Internet Information Server<br />
ISO International Organization for Standardization<br />
JPEG Joint Photographic Experts Group<br />
JS Javascript<br />
MGI Militärgeografisches Institut<br />
OGC Open Geospatial Consortium<br />
PDF Portable Document Format<br />
PHP PHP Hypertext Preprocessor<br />
PNG Portable Network Graphics<br />
SQL Structured Query Language<br />
SVG Scalable Vector Graphics<br />
SWF Small Web Format<br />
TIFF Tagged Image File Format<br />
<strong>UMN</strong> University of Minnesota<br />
WMS Web Map Service<br />
XML Extensible Markup Language<br />
80
Diplomarbeit Johann Zettel<br />
Abbildungsverzeichnis:<br />
Abb. 1 – Arbeitsablauf des Projektes ............................................................................. 9<br />
Abb. 2 - Vergleich Vektor-Rastergrafik....................................................................... 20<br />
Abb. 3 – Rasterung eines Vektors, Quelle: [3DCenter 2007] ...................................... 21<br />
Abb. 4 - Aliasing-Effekt, Quelle: [3DCenter 2007]..................................................... 21<br />
Abb. 5 - Antialiasing, Quelle: [3DCenter 2007] .......................................................... 22<br />
Abb. 6 - PHP Interpretation.......................................................................................... 23<br />
Abb. 7 - R-Tree Räumliche Objekte, Quelle:[SHEKHAR 2003] ................................ 30<br />
Abb. 8 - R-Tree Hierarchie, Quelle:[SHEKHAR 2003] .............................................. 31<br />
Abb. 9 - OGC Geometry Class Hierarchy [OGC 2005]............................................... 33<br />
Abb. 10 - <strong>UMN</strong>-Mapserver Systemarchitektur ............................................................ 34<br />
Abb. 11 - Mapfile Struktur vereinfacht ........................................................................ 36<br />
Abb. 12 - Testbereiche ................................................................................................. 38<br />
Abb. 13 - Systemcall IIS Quelle: [STIENNON 2006]................................................. 45<br />
Abb. 14 - Systemcall Apache Quelle: [STIENNON 2006].......................................... 45<br />
Abb. 15 - Server Struktur des Testlabors ..................................................................... 47<br />
Abb. 16 - Testdatensatz – Räumliche Abdeckung ....................................................... 48<br />
Abb. 17 - Testdatensatz, geringe Dichte ...................................................................... 50<br />
Abb. 18 - Testdatensatz, mittlere Dichte...................................................................... 51<br />
Abb. 19 - Testdatensatz, hohe Dichte........................................................................... 52<br />
Abb. 20 - Testapplikation – Zeitmessung..................................................................... 53<br />
Abb. 21 - Zufällige Kartenausschnitte.......................................................................... 54<br />
Abb. 22 - Ungefilterte Messreihe ................................................................................. 56<br />
Abb. 23 - Gefilterte Messreihe ..................................................................................... 56<br />
Abb. 24 – Testszenarien ............................................................................................... 57<br />
Abb. 25 - Gr<strong>und</strong>ladezeiten <strong>von</strong> Windows .................................................................... 59<br />
Abb. 26 - Gr<strong>und</strong>ladezeiten <strong>von</strong> Linux.......................................................................... 60<br />
Abb. 27 - Datenhaltung im Vergleich unter Windows................................................. 61<br />
Abb. 28 - Datenhaltung im Vergleich unter Linux....................................................... 62<br />
Abb. 29 - Manueller Datenbankzugriff ........................................................................ 63<br />
Abb. 30 - Antialiasing Vergleich.................................................................................. 64<br />
81
Diplomarbeit Johann Zettel<br />
Abb. 31 - Grafiken im Vergleich unter Windows ........................................................ 65<br />
Abb. 32 - Grafiken im Vergleich unter Linux.............................................................. 66<br />
Abb. 33 - Dateigrößen der Grafikformate .................................................................... 67<br />
Abb. 34 - Vergleich Projektionsumrechnung............................................................... 68<br />
Abb. 35 - Funktion eines Index [Meile 2007] .............................................................. 70<br />
Abb. 36 - Testwiederholung – Indizierung................................................................... 71<br />
Abb. 37 - Arbeitsspeichervergleich.............................................................................. 72<br />
Abb. 38 - CPU- Vergleich............................................................................................ 73<br />
82
Diplomarbeit Johann Zettel<br />
Quellcodeverzeichnis:<br />
Codebeispiel 1 - PHP Mapscript - Codebeispiel .......................................................... 24<br />
Codebeispiel 2 - SQL- Codebeispiel ............................................................................ 33<br />
Codebeispiel 3 - Mapfile- Codebeispiel....................................................................... 37<br />
83
Diplomarbeit Johann Zettel<br />
Literaturverzeichnis:<br />
[3DCenter 2007]<br />
3DCenter Anti-Aliasing im Detail<br />
http://www.3dcenter.org/artikel/anti-aliasing/index03.php (02.04.2007)<br />
[BADER 2004]<br />
Herbert Bader (2004) SVG Reporting Vektorgrafiken im Web einsetzen, Software & Support<br />
Verlag<br />
[BILL 1 1999]<br />
Ralf Bill ( 1999) Gr<strong>und</strong>lagen der Geo-Informationssysteme, Band 1, Hardware,Software <strong>und</strong><br />
Daten. Wichmann Verlag<br />
[BILL 2 1999]<br />
Ralf Bill ( 1999) Gr<strong>und</strong>lagen der Geo-Informationssysteme, Band 2, <strong>Analyse</strong>n, Anwendungen<br />
<strong>und</strong> neue Entwicklungen. Wichmann Verlag<br />
[BRODMÜLLER-SCHMITZ 2002]<br />
Alexandra Brodmüller-Schmitz (2002) HTML Kompakt Komplett Kompetent,<br />
Markt+Technik-Verlag<br />
[DICKMANN 2001]<br />
Frank Dickmann (2001) web-mapping <strong>und</strong> web-gis, Westermann Verlag<br />
[ESRI 1998]<br />
ESRI (1998) Shapefile Technical Description, Whitepaper<br />
http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf (26.03.2007)<br />
[ESRI 2007]<br />
ESRI, The Geodatabase, http://www.esri.com/software/arcgis/geodatabase/index.html<br />
(26.03.2007)<br />
84
Diplomarbeit Johann Zettel<br />
[FÜRPASS 2001]<br />
Christian Fürpaß (2001) Mapserver als Hilfsmittel zur Datenvisualisierung im Internet – Er-<br />
läutert anhand des Internetprojektes AtOS, der Internetversion des "Atlas Ost- <strong>und</strong> Südosteu-<br />
ropa", Diplomarbeit Universität Wien<br />
[GISWIKI 2006]<br />
GisWiki, Heinz-Josef Lücking, Map Info Interchange Format,<br />
http://www.giswiki.org/wiki/MIF_/_MID (27.03.2007)<br />
[HELLERSTEIN 1995]<br />
J. M. Hellerstein, J. F. Naughton, A. Pfeffer (1995), Generalized Search Trees for Database<br />
Systems; In: Proceedings 21st International Conference on VLDB<br />
[INTERGRAPH 2005]<br />
Intergraph (2005) GeoMedia WebMap , PRODUCT SHEET<br />
http://www.intergraph.com/literature/geomedia_webmap.pdf (06.04.2007)<br />
[MAPSERVER 2006]<br />
David Fawcett (2006) Map File Tuning,<br />
http://mapserver.gis.umn.edu/docs/howto/mapfiletuning (12.04.2007)<br />
[Meile 2007]<br />
Rolf Meile, Dirk Burghardt (2007) Räumliche Datenbanken, Universität Zürich Vorlesungs-<br />
unterlagen,<br />
http://www.geo.unizh.ch/gis/teaching/vorlesungen/spatial_db/ (30.03.2007<br />
[MYSQL 2007]<br />
MySql (2007), MySql 5.1 Referenzhandbuch, MySql AB<br />
http://downloads.mysql.com/docs/refman-5.1-de.a4.pdf (28.03.2007)<br />
[NETCRAFT 2007]<br />
Netcraft , Feb 2007, http://survey.netcraft.com/Reports/, February 2007 Web Server Survey<br />
[OGC 2005]<br />
OGC (2005) Implementation Specification for Geographic information - Simple feature ac-<br />
cess, http://www.opengeospatial.org/standards/sfa (26.03.2007)<br />
85
Diplomarbeit Johann Zettel<br />
[Oracle 2005]<br />
Oracle (2005) Oracle Spatial 10g An Oracle White Paper, Oracle Corporation<br />
http://www.oracle.com/technology/products/spatial/pdf/10gr2_collateral/spatial_twp_10gr2.p<br />
df (28.03.2007)<br />
[POSTGIS 2007]<br />
PostGIS, PostGIS Manual, http://PostGIS.refractions.net/docs/PostGIS.pdf (10.04.2007)<br />
[RITTER 2000]<br />
Niles Ritter, Mike Ruth (2000) GeoTIFF Format Specification 1.8.2 Revision 1, JPL Carto<br />
Group, SPOT Image Corp. http://www.remotesensing.org/geotiff/geotiff.html (26.03.2007)<br />
[ROSTOCK 1 2007]<br />
Universität Rostock, Datenbank-Managementsystem Geoinformatik-Lexikon,<br />
http://www.geoinformatik.uni-rostock.de/einzel.asp?ID=399 (28.03.2007)<br />
[ROSTOCK 2 2007]<br />
Universität Rostock, MrSID Geoinformatik-Lexikon,<br />
http://www.geoinformatik.uni-rostock.de/einzel.asp?ID=1480715484 (28.03.2007)<br />
[RUDEL 2003]<br />
Brigitte Rudel (2003) Einführung in GIS – Vorlesung, Fachhochschule Wiener Neustadt Stu-<br />
diengang Geoinformationstechnologie<br />
[SHEKHAR 2003]<br />
Shashi Shekhar, Sanjay Chawla (2003), Spatial Databases: A Tour, Pearson Education Inc.<br />
[SÖLLIG 2006]<br />
Gunnar Söllig (2006) Umsetzung <strong>von</strong> nutzerdefinierten Indexstrukturen in ORDBMS am Bei-<br />
spiel eines Indexes für mehrdimensionale Datenstrukturen, Universität Rostock<br />
Institut für Informatik, Studienarbeit<br />
[STIENNON 2006]<br />
Richard Stiennon (2006) Why Windows is less secure than Linux, ZDNET<br />
http://blogs.zdnet.com/threatchaos/?p=311 (06.04.2007)<br />
86
Diplomarbeit Johann Zettel<br />
[STOLZE 2003]<br />
Knut Stolze (2003) SQL / MM Spatial: The Standard to Manage Spatial Data in Relational<br />
Database Systems, Leipzig<br />
[TELEATLAS 2002]<br />
Tele Atlas (2002) Tele Atlas MultiNet Data Model Version 3.2, S.113, Tele Atlas Dokumen-<br />
tation<br />
[WIKI 1 2007]<br />
Wikipedia, Open Geospatial Consortium<br />
http://de.wikipedia.org/wiki/Open_Geospatial_Consortium (28.03.2007)<br />
[WIKI 2 2007]<br />
Wikipedia, Tagged Image File Format,<br />
http://de.wikipedia.org/wiki/Tagged_Image_File_Format (28.03.2007)<br />
[ZETTEL 2007]<br />
Johann Zettel (2007) Entwicklung <strong>und</strong> Umsetzung einer Anwendung zur Visualisierung <strong>von</strong><br />
dynamischen Verkehrsinformationen im Internet, Praktikumsarbeit Fachhochschule Wiener<br />
Neustadt<br />
87