Atlas: Technisches Framework auf Basis von
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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.
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).
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