28.10.2013 Aufrufe

Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...

Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...

Analyse und Optimierung von UMN-Mapserversystemen - Herzlich ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!