Atlas: Technisches Framework auf Basis von

Die Seite wird erstellt Hendrik Krieger
 
WEITER LESEN
Atlas: Technisches Framework auf Basis von
http://tirolatlas.uibk.ac.at
         Tirol Atlas: Technisches Framework auf Basis von
                     OpenSource Technologien1
                    Florian JURGEIT, Klaus FÖRSTER, Armin HELLER

Zusammenfassung
Die rasante Entwicklung unterschiedlichster Internet Technologien hält seit Jahren
unvermindert an und hat auch im Bereich der Internet Kartographie (Webmapping)
zahlreiche innovative Impulse geliefert. Um dem Wunsch vieler Internet-Nutzer nach
höherer Qualität und Funktionalität Rechnung zu tragen, haben die vektororientierten
Systeme SVG (Scalable Vector Graphics) und Flash gegenüber den rasterbasierten
MapServer Technologien zunehmend an Bedeutung gewonnen. Der Wunsch, Sach- und
Geometriedaten direkt aus einer GIS-tauglichen Datenbank zu visualisieren, ist nahe
liegend. Im Rahmen des Interreg IIIa Projektes Tirol Atlas wurden nun mehrere
ursprünglich separate Technologien in einem System so kombiniert, dass die jeweiligen
Vorteile optimal genutzt werden können: Die OpenSource Produkte Perl/SVG,
PostgrSQL/PostGIS und MapServer bilden die wesentlichen Bausteine der
Systemarchitektur des Tirol Atlas.

       1 Einleitung
Das Interreg IIIa-Projekt Tirol Atlas ist ein im Aufbau befindliches über das Internet
zugängliches Informationssystem, welches planungsrelevante und aktuelle Themen in Tirol
und Südtirol bearbeitet (siehe RÜDISSER et al, 2003).
Bereits in der Konzeptionsphase wurde auf die Verwendung offener Standards sowohl
server- als auch clientseitig großer Wert gelegt, sodass eine Entwicklung in Richtung einer
proprietären „Sackgasse“ minimiert wurde.
Die technische Infrastruktur beruht im Wesentlichen auf OpenSource-Software, wobei eine
PostgreSQL-Datenbank (http://www.postgresql.org) mit Sach- und Geometriedaten die
zentrale Komponente bildet. Die Visualisierung erfolgt auf Basis der XML-basierten
Vektorbeschreibungssprache SVG (=Scalable Vector Graphics) (vgl. NEUMANN UND
WINTER, 2001).
Dieser modulare Systemaufbau ermöglicht Unabhängigkeit und Flexibilität hinsichtlich
Erweiterbarkeit und Skalierung. STROBL (2001) beschreibt bereits die Entwicklung in
Richtung offener Systeme und somit einheitlicher Schnittstellen, sodass man sich einer
Nutzung jeglicher Geoinformation ohne Einschränkungen seitens des Clients nähert. Einen
wichtigen Impuls hierzu liefert das Open-GIS Konsortium (http://www.opengis.org),

1
 Dieser Beitrag ist als technisch vertiefender Folgebeitrag des letztjährigen Artikels von RÜDISSER ET
  AL (2003) zu sehen.
Atlas: Technisches Framework auf Basis von
Florian Jurgeit, Klaus Förster, Armin Heller

welches seit 1993 zur Entwicklung                offener   Plattformen    zur   Geographischen
Informationsverarbeitung beiträgt.

      2 Systemarchitektur
Die Basis des Systems bildet RedHat Linux mit Apache als Web-Server, Perl als
Skriptsprache und PostgreSQL als Datenbank. Neben statistischen Daten können mit Hilfe
der Module PostGIS (http://postgis.refractions.net), Proj4 (http://remotesensing.org/proj)
und GEOS (http://geos.refractions.net) auch Geometriedaten gespeichert, verändert und
abgerufen werden. Die folgende Abbildung verdeutlicht die Grundstruktur dieses Systems.

Abb. 1:     Systemarchitektur des Tirol Atlas.

      3 Komponenten und Workflow
      3.1          PostgreSQL-Datenbank mit PostGIS-Erweiterung
PostGIS ist eine Extension für den PostgreSQL Backend-Server, die sich derzeit im
Releasestadium 0.81 (Stand Jänner 2004) befindet und zahlreiche Spezifikationen des OGC
(=Open GIS Consortium, http://www.opengis.org) erfüllt. PostGIS unterstützt die OGC
Simple Feature Specification für SQL (siehe http://www.opengis.org/docs/99-049.pdf) ,
wobei folgende Datentypen verwendet werden können:
• POINT(0 0 0)
• LINESTRING(0 0,1 1,1 2)
• POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))
• MULTIPOINT(0 0 0,1 2 1)
• MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))
• MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)))
• GEOMETRYCOLLECTION(POINT(2 3 9),LINESTRING((2 3 4,3 4 5)))

PostGIS kann dabei sowohl mit 2D als auch 3D Koordinaten umgehen (siehe
RAMSEY, 2003).
Atlas: Technisches Framework auf Basis von
Florian Jurgeit, Klaus Förster, Armin Heller

Die OpenGIS Spezifikation sieht zwei Formen der Repräsentation von GIS-Objekten vor:
die so genannte WKT-Form (Well-Known Text) und die WKB-Form (Well-Known
Binary) – beide Varianten beinhalten den Datentyp und die Koordinaten.
Zusätzlich wird noch die Information über das verwendete Referenzsystem als SRID
(=Spatial Referencing System Identifier) gespeichert; standardmäßig liefert PostGIS zirka
1800 Projektionsdefinitionen mit, die um eigene ergänzt werden können. Im Falle des Tirol
Atlas sind die Projektionsparameter auf diese Weise für UTM 32N WGS84 definiert
worden. Direkte Umprojektionen in der Datenbank über einfache SQL-Statements
ermöglicht die Proj4-Bibliothek (siehe http://www.remotesensing.org/proj) - Beispiel:
SELECT Transform(GEOM, 4269) FROM GEOTABLE;

Für einen schnellen Zugriff bei Abfragen auf Daten in der Datenbank sind in allen
Datenbankmanagement Systemen so genannte „Indices“ vorgesehen, um auszuschließen,
dass komplexe Suchanfragen an große Datenbestände sequentiell für jeden Datensatz
durchgeführt werden und lange Bearbeitungszeiten zur Folge hätten (siehe WORSLEY &
DRAKE, 2002).
PostgreSQL unterstützt drei Typen von Indices: Die B-Tree-Indexmethode als
Implementierung der hochparallelen B-Trees von Lehman und Yao und die R-Tree-
Indexmethode als Implementierung des normalen R-Trees mit dem quadratischen Split-
Algorithmus von Guttman (siehe EISENTRAUT, 2003).

Der B-Tree Index (lineare Sortierung) ist für GIS-Daten nicht geeignet, die R-Tree
Implementation in PostgreSQL wird derzeit als zu instabil angesehen, sodass der GiST-
Index (=Generalized Search Tree) zum Einsatz kommt.
GiST-Indices haben neben der Fähigkeit GIS-Daten aufnehmen zu können zwei weitere
wesentliche Vorteile: (siehe RAMSEY, 2003)
• Spalten mit NULL-Werten können indiziert werden
• GiST übergeht das 8k-Limit von PostgreSQL indem nur die Bounding-Box gespeichert
   wird.

Ein Geodatenbestand in einem PostGIS-Datenbankserver kann auch als OGC-konformer
WMS (Web Mapping Service) und WFS (Web Feature Service) über bestehende Interfaces
dienen, wobei zum Beispiel über den University of Minnesota MapServer (UMN) (siehe
http://mapserver.gis.umn.edu/) jeweils die Client- und Server-Variante möglich ist.
Schnittstellen zu zahlreichen Applikationen sind entweder direkt vorhanden (beispielsweise
MapServer über den C-Client 'libpq') oder werden durch standardisierte Schnittstellen wie
ODBC oder JDBC erreicht.
Die Entwicklung von individuellen Applikationen und WebServices wird durch die
Anbindung zahlreicher Programmiersprachen (C, C++, Perl, PHP, Python, Java, ...) an
PostgreSQL erleichtert.

      3.2 GIS-Funktionalitäten in PostGIS – Arbeiten mit
      Geometriedaten in der Datenbank
Durch Installation der PostGIS-Extension in der PostgreSQL Datenbank werden Abfragen
möglich, die eigentlich ein Desktop-GIS System benötigen würden – beispielsweise die
Abfrage von Objekten in einem bestimmten Umkreis.
Florian Jurgeit, Klaus Förster, Armin Heller

Die volle Leistungsfähigkeit von PostGIS in diesem Zusammenhang erfordert die GEOS-
Bibliothek (siehe http://geos.refractions.net/), die vor der Installation auf dem System
vorhanden sein muss.
RAMSEY (2003) bietet einen Überblick zu den Funktionalitäten, sodass im Folgenden nur
einige derzeit im Tirol Atlas verwendete Funktionen exemplarisch vorgestellt werden.

Um von Anfang an das Auftreten fehlerhafter Geometriedaten, die in Folge Fehler bei
Abfragen produzieren könnten, zu vermeiden, kann mittels der Funktion
isvalid(geometry) eine Gültigkeitsprüfung der Geometriedaten durchgeführt
werden.

Bei der Visualisierung statistischer Daten auf verschiedenen räumlichen Ebenen im Modul
„Thematische Karten“ des Tirol Atlas wird mit Hilfe der Funktion
geomunion(geometry,geometry) eine Aggregierung von Gemeindeflächen zu
größeren Einheiten wie Bezirken, Regionen, Ländern, NUTS3 Gebieten,
Tourismusverbänden etc. in Kombination mit dem Kennziffernschema vorgenommen.

Nachbarschafts-Abfragen über touches(geometry,geometry) wie sie für die
Ermittlung von Nachbargemeinden bei Diagrammen oder Datenblättern verwendet werden,
sind ebenso realisierbar wie Umkreisabfragen mit distance(geometry,geometry)
als Navigations- und Abfrageelement bei der interaktiven Übersichtskarte im
Gemeindelexikon.

Abb. 2: Auswahl von Nachbargemeinden im Tirol Atlas Interface.

Derzeit sind die Nachbarschaftsbeziehungen im Tirol Atlas jedoch in einer Tabelle als
Attribut gespeichert und stammen aus einer Desktop-GIS Analyse, da zum
Realisierungszeitpunkt (Herbst 2002) PostGIS diese Funktionalität noch nicht hatte.

Im Rahmen der Topographischen Karte kommt eine Kombination aus den Funktionen
distance(geometry,geometry) und intersection(geometry,geometry)
zur Erstellung frei wählbarer Kartenausschnitte nach x,y-UTM Koordinaten zum Einsatz.
Florian Jurgeit, Klaus Förster, Armin Heller

Die Breite und Höhe des Ausschnitts lässt sich dabei sowohl über absolute Angaben als
auch über das Hüllrechteck bestehender Geometrien (z. Bsp. Bezirkspolygone) definieren.

Abb. 3: Intersection und Hüllrechteck.

Die Anwendung von GIS-Funktionalitäten direkt aus der Datenbank wird mit der
Weiterentwicklung des Tirol Atlas sowohl bei der Bearbeitung als auch bei der
Visualisierung ständig zunehmen.

      3.3        Geometriedaten und Import
Eine zentrale Frage betrifft den Import von Geometriedaten in die Datenbank. Prinzipiell
sind dabei verschiedene Möglichkeiten denkbar, wobei im Folgenden einige kurz
vorgestellt werden und die Vorgehensweise im Projekt Tirol Atlas genauer betrachtet wird.

Die einfachste und naheliegendste Möglichkeit ist das Absetzen eines SQL-Kommandos
('insert'-Statement) in der Form „INSERT INTO strassen (ID, NAME, GEOM) VALUES (1,
'Dorfstraße', GeometryFromText('LINESTRING(2 3,4 5,6 5,7 8)',-1));“.
Die Geometriedaten werden entsprechend dem OGC-WKT Format (siehe Kapitel
3.1)angegeben, die SRID '-1' steht für ein nicht definiertes Referenzsystem.
PostgreSQL kann wie auch Oracle Textdateien mit einer Reihe von SQL-Statements
verarbeiten ('bulk loading'), wobei vorher die Datei mit den korrekt formatierten SQL-
Statements erzeugt werden muss.

PostGIS liefert einen Konverter für das gängige Shapefile-Format mit, der die
entsprechenden SQL-Statements für die enthaltene Geometrie erzeugt:
shp2pgsql [shapefile] [table] [database] > [SQL-File]
Florian Jurgeit, Klaus Förster, Armin Heller

Auf diesem offenen System setzt auch der Geometriedatenimport des Tirol Atlas auf:
Aufgrund des Bearbeitungsgebietes müssen Basisdaten verschiedener Datenlieferanten
aufbereitet und anschließend importiert werden. Die Datenbearbeitung erfolgt vorwiegend
mit Produkten der Firma ESRI (ArcView 3.3 und ArcGIS 8.3), wobei als Zielformat das
Shapefile-Format dient.
Der Import in die Datenbank wird über eine Perl-Applikation erreicht, die neben der
Konvertierung und dem Import der Shape-Datei auch eine Validierung der Daten
durchführt.
Die Koordinaten werden auf Integer-Werte gerundet, da Koordinaten mit Kommastellen
nicht der Atlas-Wirklichkeit (M1:100.000) entsprechen – ein weiterer damit verbundener
Effekt ist die Größenreduktion der auszuliefernden Geometrie - bei SINGLE precision bis
zu 7 Nachkommastellen, bei DOUBLE precision bis zu 14 Nachkommastellen weniger.
Die Erfahrung hat gezeigt, dass diese Rundung auch zu Problemen führen kann, denn
Vertices bzw. Nodes, die sich nur in den Kommastellen unterscheiden können damit zu
einer ungültigen Geometrie führen. Von diesem Problem sind besonders Artefakte bei
Linien und Polygone ('Sliver Polygone') betroffen. Durch Hinzufügen eines Constraints
(„Zwangsbedingung“) lässt sich das Einfügen ungültiger Geometrien verhindern – die SQL
Syntax dafür lautet:

ALTER TABLE  ADD CONSTRAINT isvalid(geom) == true;

Die zu den Shape-Dateien gehörenden dbase-Tabellen werden auf die vom System
benötigten Attributfelder (Spalten) geprüft, überflüssige Spalten werden entfernt und eine
Prüfung der Gültigkeit verwendeter Datentypen wird durchgeführt.

Neben den beschriebenen Möglichkeiten und der Individuallösung des Tirol Atlas
entwickeln sich zahlreiche andere direkte Zugriffsmöglichkeiten auf einen PostGIS-
Datenbestand durch gängige GIS-Software.
Das        derzeit        erfolgversprechendste      Projekt     ist     'pgarc'     (siehe
https://sourceforge.net/projects/pgarc/), das in Form von VBA-Modulen eine Extension für
ESRI's ArcMap realisiert und sowohl das direkte Lesen als auch das Schreiben in eine
PostGIS-Datenbank ermöglicht. Der verfügbare Prototyp (Stand: Jänner 2004) konnte
bereits problemlos Daten laden.
Im Rahmen der kommenden Version des OpenSource-GIS GRASS (siehe
http://grass.itc.it/index.html) wird ebenfalls an einem direkten PostGIS-Zugriff gearbeitet,
der bereits anhand der Entwicklerversion 5.7 getestet werden kann. Hierbei können die
Daten direkt bearbeitet werden (nativer Support). Multi-User Zugriffe werden unterstützt
(siehe http://grass.itc.it/grass51/index.html).

      3.4        Datenexport und Visualisierungsmöglichkeiten
Aus GIS-Sicht ist der mit PostGIS mitgelieferte 'pgsql2shp'-Konverter neben den in Kapitel
3.3 beschriebenen Möglichkeiten erwähnenswert – er erlaubt in einer PostGIS-Datenbank
gespeicherte Geometriedaten in das Quasistandard-Format (*.shp) für Vektordaten im
Desktop-GIS Umfeld zu überführen.
Florian Jurgeit, Klaus Förster, Armin Heller

Der Tirol Atlas als Internet-Atlas ist darauf angewiesen Daten in ein web-taugliches
Format zu bringen. Klassische Rastergrafikformate (siehe NEUMANN UND WINTER, 2001)
und auch das von SCHENK (2001) als Quasistandard für die vektorielle Darstellung von
Informationen im WWW bezeichnete Flash-Format wurden aufgrund ihrer Nachteile (vgl.
NEUMANN, 2002) nicht in Erwägung gezogen.
Alle derzeit verfügbaren Onlinekarten sowie viele zusätzliche Features wie Diagramme,
Animationen etc. des Tirol Atlas werden mittels der XML-basierten
Vektorbeschreibungssprache SVG umgesetzt (siehe NEUMANN UND WINTER, 2001) .
Als Middleware kommt die Programmiersprache Perl zum Einsatz, die über die
PostgreSQL-DBI Schnittstelle direkt auf den Datenbestand zugreifen kann.
Die Geometrie wird dabei mit einer selbst entwickelten PostGIS-Funktion direkt als SVG
Pfad-, Kreis oder Punktrepräsentation ausgegeben (siehe http://www.svg.cc/pg/assvg).

SELECT id, name, AsText(geom) FROM pgtest;
 id | name   |      astext
----+--------+-----------------------------
  1 | a line | LINESTRING(2 3,4 5,6 5,7 8)

SELECT id, name, AsSvg(geom) FROM pgtest;
 id | name   |     assvg
----+--------+------------------------
  1 | a line | M 2 -3 4 -5 6 -5 7 -8

Im Prototyp der künftig verfügbaren Topographischen Karte ist die dynamische Erzeugung
frei definierbarer Ausschnitte implementiert. Neben Vektordaten können auch
rasterbasierte Elemente wie beispielsweise eine Schummerung oder ein Satellitenbild über
den SVG „image-Tag“ im Kartenhintergrund dargestellt werden. Die dafür benötigten
Rasterkacheln      werden        mittels     eines   GIMP-Perl        Skripts     (siehe
http://www.goof.com/pcg/marc/gimp.html) aus den georeferenzierten Originalbildern für
den ganzen Atlas-Ausschnitt erzeugt, womit sich auch die zu übertragende Datenmenge
von beispielsweise 270 Megabyte beim Satellitenbild auf in etwa 100 Kilobyte für den
jeweiligen Ausschnitt reduziert.

Neben der im Tirol Atlas verwendeten Visualisierungsvariante für das WWW ist auf die
Möglichkeit der Verwendung des UMN MapServers hinzuweisen. Dieser bietet die
Möglichkeit PostGIS-Daten direkt als Layer einzubinden und wie gewohnt zu verwenden
(siehe PUCHER, 2001). Hiermit lassen sich sehr schnell und kostengünstig (keine
Lizenzkosten) Daten über ein WebInterface jedermann zur Verfügung stellen.

      3.5       Hybride Systeme – Perl/SVG und MapServer
Im Rahmen der Entwicklung der Topographischen Karte des Tirol Atlas haben sich bei
ersten Tests Probleme hinsichtlich der Beschriftung der Objekte aufgrund von
Überschneidungen ergeben. PETZOLD (2003) hat die Algorithmen zur Platzierung genauer
untersucht, jedoch würde sich eine Integration dieser Algorithmen als zu aufwändig
gestalten.
Der UMN MapServer bietet auch die Möglichkeit Objekte zu beschriften und verfügt dabei
über einen Mechanismus zur Vermeidung von Kollisionen ('Automatic Labelplacement').
Über die Perl/Mapscript Schnittstelle des MapServers ist es gelungen die Koordinaten der
Beschriftungselemente auszulesen und für die Tirol Atlas SVG-Ausgabe zu verwenden.
Florian Jurgeit, Klaus Förster, Armin Heller

Abb. 4: Prototyp Beschriftung im Hybriden System.

Eine weitere Anwendungsmöglichkeit des MapServers stellt die Generierung
ausschnittsbezogener Hintergrundlayer dar, die als georeferenzierte Raster in SVG
eingebettet werden.
Im Rahmen eines Prototypen ist es ebenfalls gelungen, 'echte' GIS-Funktionalitäten durch
die serverseitige Einbindung des Open-Source GIS GRASS (Version 5.0.3, s. NETELER
UND MITASOVA, 2002) zu ermöglichen, wobei das Erstellen von Profilen,
Sichtbarkeitsanalysen (LOS) und 3D-Views über das Web-Interface on-the-fly aus einem
DEM möglich ist.

Abb. 5: Prototyp Profilerstellung mittels GRASS als Backend.

Als Problem muss die fehlende Mehrbenutzerfähigkeit über das Web bei diesen
Funktionalitäten gesehen werden, sodass sich wahrscheinlich nur die Erstellung von
Profilen für den Online-Betrieb eignen wird.
Florian Jurgeit, Klaus Förster, Armin Heller

      4 Ausblick
Mit Erweiterung der SVG Spezifikation auf Version 1.2, sowie einer neuen SVG-Plugin
Version von Adobe für Windows, Linux und Macintosh werden noch im heurigen Jahr
gänzlich neue Möglichkeiten zur Gestaltung vektorbasierter Internetkarten entstehen. Eine
Entwicklerversion des angesprochenen Plugins existiert bereits und wird beim Prototyp der
Topographischen Karte eingesetzt. Zusätzlich lässt die Version 1.0 des PostGIS Moduls,
welche noch heuer erscheinen wird, auf vermehrte Implementierung in Standard GIS-
Software hoffen.

      5 Links
Tirol Atlas: http://tirolatlas.uibk.ac.at
PostgreSQL: http://www.postgresql.org
PostGIS: http://postgis.refractions.net
OpenGIS Konsortium: http://www.opengis.org
WWW-Konsortium: http://www.w3.org
UMN MapServer: http://mapserver.gis.umn.edu
Adobe SVG-Zone: http://www.adobe.com/svg
Interreg IIIa: http://www.interreg.net

      6 Literatur
Behme, H. (1999): SVG: Scripting und Datenbankauswertung. In: iX 2/2003, Seite 130ff.
Cartwright, W. et al (Hrsg.) (1999): Multimedia Cartography. Springer Verlag, Heidelberg.
Eisenberg, J.D. (2002): SVG Essentials. o'Reilly, Sebastopol.
Eisentraut, P. (2003): PostgreSQL – Das offizielle Handbuch. Verlag moderne industrie
   Buch AG & Co. KG, Bonn.
Fürpaß, Ch. (2001): Map-Server als Hilfsmittel zur Datenvisualisierung im Internet.
   Diplomarbeit an der Univ. Wien.
Gartner, G. (1999): Multimedia GIS and the Web. In: Cartwright et al. (Hrsg.): Multimedia
   Cartography. Springer Verlag, Heidelberg.
Geschwinde, E. und Schönig, H.-J. (2002): Datenbank-Anwendungen mit PostgreSQL.
   Verlag Markt und Technik, München.
Grolig, B. (2001): Scalable Vector Graphics Über die Darstellung von 2-D-Vektoren mit
   einer XMLbasierten Bechreibungssprache. In: Herrmann Ch. Und Asche, H. (Hrsg.):
   Web.Mapping 1. Herbert Wichmann Verlag, Heidelberg.
Herrmann, Ch. und Asche, H. (Hrsg.) (2001): Web.Mapping 1 Raumbezogene Information
   und Kommunikation im Internet. Herbert Wichmann Verlag, Heidelberg.
Heuer, A. (1992): Objektorientierte Datenbanken Konzepte, Modelle, Systeme. Addison-
   Wesley, Bonn.
Neteler, M. und Mitasova, H. (2002): Open Source GIS: A GRASS-GIS Approach. Kluwer
   Academic Publishers, Boston.
Florian Jurgeit, Klaus Förster, Armin Heller

Neumann, A. und Winter, A. (2001): Time for SVG Towards High Quality Web-Maps.
   http://www.carto.net/papers/svg/articles/paper_icc_congress_china_2001.pdf
Neumann A. et al (2002): Das Web auf neuen Pfaden SVG und SMIL. In: c't 20/2002,
   S. 218ff.
Neumann, A. (2002): Comparing .SWF (Shockwave Flash) and .SVG (Scalable Vector
   Graphics)                     file                format                  specifications.
   http://www.carto.net/papers/svg/comparison_flash_svg/
Petzold, I. (2003): Beschriftung von Bildschirmkarten in Echtzeit. Inaugural-Dissertation an
   der Univ. Bonn.
PostgreSQL Documentation Group (Hrsg.) (2004): PostgreSQL 7.4 Reference Manual.
   http://www.postgres.org/docs
Pucher, A. (2001): Datenbankgestützte kartographische Visualisierung im Internet mittels
   Map-Server Systemen. Diplomarbeit an der Univ. Wien.
Ramsey, P. (2003): PostGIS-Manual. http://postgis.refractions.net
Roßner, Th. (2002): Perl. Verlag bhv, Bonn.
Rüdisser, J. et al (2003): Tirol Atlas: Ein Datenbank gestütztes und Vektor basiertes Atlas-
   Informationssystem im Internet. In: Strobl, Blaschke, Griesebner (Hrsg.): Angewandte
   Geographische Informationsverarbeitung XV, Beiträge zum AGIT-Symposium
   Salzburg 2003, Wichmann Verlag.
Schenk, A. (2001): Flash neue Wege zur kartographischen Visualisierung. In: Herrmann
   Ch. und Asche, H. (Hrsg.): Web.Mapping 1. Herbert Wichmann Verlag, Heidelberg.
Schulz, M. (2002): WebGIS-Technologien und OpenSource Lösungen. Workshop Internet-
   GIS , Pforzheim.
Strobl, J. (2001): Online-GIS das WWW als GIS-Plattform. In: Herrmann Ch. Und Asche,
   H. (Hrsg.): Web.Mapping 1. Herbert Wichmann Verlag, Heidelberg.
OGC (Hrsg.) (2002): OpenGIS Geography Markup Language (GML) Implementation
   Specification. http://www.opengis.net/gml/02-009/GML2-11.pdf .
OGC (Hrsg.) (1999): OpenGIS Simple Features Specification For SQL.
   http://www.opengis.org
Worsley, J.C.. und Drake, J. (2002): Practical PostgreSQL. o'Reilly, Sebastopol.
Sie können auch lesen