Die PostgreSQL-Erweiterung Postgis und freie GIS-Programme
Ein Elefant als Basis
von Georg Lösel, Markus Feilner
Erschienen im Linux-Magazin
2007/09
Die Datenbankerweiterung Postgis bietet auf der freien Datenbank PostgreSQL die ideale Grundlage für eine leistungsfähige Geodaten-Infrastruktur (GDI).
"Und Ihre Postleitzahl?", so lautet eine häufige Frage an der Kasse eines Bau- oder Elektromarkts. Nur zu wissen, was der Kunde kauft, scheint für den Betreiber nicht genug Information. Offenbar kommt es ihm auch darauf an, woher der Käufer kommt.
Hinter den Kulissen wandern die Daten des Einkaufs zusammen mit der Postleitzahl des Wohnorts in die Datenbank eines geografischen Informationssystems (GIS). Anhand der Karten, auf denen die Software die Verteilung der Kunden darstellt, kann der Betreiber seine Werbung und sein Marketing optimieren. Mit diesem Wissen kann er beispielsweise nur in Stadtteilen mit großem Kundenpotenzial Flyer und Werbebroschüren verteilen und den Erfolg der gezielten Werbeaktionen messen.
Bis vor wenigen Jahren kamen für solche Szenarien fast ausschließlich proprietäre Lösungen zum Einsatz, die freien GIS-Programme galten als Außenseiter. Doch die Implementierung offener Standards und die Entwicklung zahlreicher Schnittstellen lässt nun eine große Anzahl von Programmen für raumbezogene Fragestellungen gedeihen. Postgis, eine freie Erweiterung der Open-Source-Datenbank PostgreSQL, steht dabei als ausgereiftes Backend für eine fast unüberschaubare Vielzahl an freier Software zur Verfügung [1].
Der Raumbezug macht's
Geografische Informationssysteme sind Werkzeuge zur Verwaltung, Erstellung und Bearbeitung von Daten mit Raumbezug. Ein GIS verwaltet nicht nur inhaltliche Informationen wie Firmennamen oder gekaufte Produkte, sondern auch die räumlichen Informationen wie die geografische Position einer Firmenniederlassung oder den Wohnsitz eines Kunden. Aber mit dem einfachen Wo ist es in der Regel noch lange nicht getan. Für ein möglichst gutes Abbild der Wirklichkeit auf der Erdkugel sind weitere Eigenschaften der räumlichen Objekte von Bedeutung: Geometrische Objekte wie Punkte, Linien und Polygone haben bestimmte Eigenschaften, zum Beispiel Länge, Fläche oder Mittelpunkt, und topologische Beziehungen zueinander wie Nachbarschaft, Überschneidung oder Enthaltensein.
Darüber hinaus muss das GIS die Daten für die Darstellung entsprechend aufbereiten. Zum Standardrepertoire eines modernen Geosystems gehören daher unter anderem Algorithmen zum Verschieben und Skalieren. Die Abbildung von Objekten aus der Realität auf der dreidimensionalen (Erd-)Kugel in die zweidimensionale Fläche erfordert außerdem umfangreiche Kenntnisse von kartografischen Projektionen.
Datenaustausch gesucht
Die vielfältige Entwicklung unterschiedlicher GIS hat auch viele unterschiedliche Konzepte hervorgebracht, wie die Daten lokal und in eigenen, oft proprietären Formaten zu speichern sind. Ein Austausch von Daten zwischen den einzelnen Systemen erfolgte bisher lediglich durch aufwändige und fehleranfällige Export-Import-Funktionen. Wechselte ein Hersteller im Zuge von Weiterentwicklungen sein Datenhaltungskonzept, waren Probleme für die Anwender unvermeidlich.
Diese Entwicklung stand jedoch im krassen Gegensatz zur wachsenden, applikationsübergreifenden und netzweiten Nutzung der Daten. Leistungsfähige Geodaten-Infrastrukturen (GDI) waren gefordert, aber nur proprietäre, oft nicht standardisierte Insellösungen vorhanden: Eine offene, Datenbank-basierte Lösung musste her. Genau hier setzt Postgis (Abbildung 1) ein. Die GIS-Erweiterung fügt dem freien Datenbanksystem PostgreSQL [2] Möglichkeiten zur Verwaltung geografischer Informationen hinzu und steht unter der GPL.

|
Abbildung 1: Auf dem Logo von Postgis balanciert der Elefant, das Maskottchen der PostgreSQL-Datenbank, die Weltkugel auf seinem Rüssel.
|
PostgreSQL ist heute neben MySQL wohl das am weitesten verbreitete freie Datenbanksystem und liegt in Version 8.2 vor. Im Rahmen eines universitären Projekts an der University of California entstand es als objektrelationales Datenbank-Managementsystem (ORDBMS) unter dem Namen Postgres am Berkeley Computer Science Department. Seit 1996 trägt es den Namen PostgreSQL, es unterliegt der BSD-Lizenz. Der Kasten "Unter der Haut des Elefanten" gibt einen kurzen Einblick in Details des umfangreichen Datenbanksystems.
|
PostgreSQL unterstützt den Ansi-SQL-Standard SQL92. Von den fünf Kategorien des SQL99-Standards - Framework, Foundation, Call Level Interface, Persistent Stored Modules, Host Language Bindings - sind die Kategorien 1, 2 und 5 implementiert.
PostgreSQL unterstützt darüber hinaus alle in SQL99 spezifizierten Verbundtypen.
Features
-
Mengenoperationen lassen sich mit den entsprechenden
Anweisungen »UNION«, »INTERSECT«, »EXCEPT« auf mehrere Tabellen ausführen.
-
Subselects ermöglichen komplexe Queries in einem Schritt.
Zwischenergebnisse eines Subselect können dabei an die jeweils
übergeordnete Abfrage durchgereicht und weiterverarbeitet werden.
-
»SELECT«-Kommandos erlauben Aktionen über
mehrere Tabellen (Joins).
-
Komplexe Abfragen lassen sich als Views speichern, um schnell
einen aktuellen Stand der Daten zur Verfügung zu haben.
-
Trigger speichern häufig wiederkehrende Operationen, die
ereignisabhängig ablaufen können. Trigger können in
allen in PostgreSQL unterstützten prozeduralen Sprachen geschrieben sein.
-
Regeln (Rules) ist es erlaubt, das Verhalten von Abfragen zu
modifizieren. Sie können beispielsweise unter bestimmten
Bedingungen ein »DELETE«- in ein »UPDATE«-Kommando umformulieren.
-
PostgreSQL unterstützt die referenzielle Integrität
der Datenbeziehungen (Primary Key und Foreign Key) und verhindert damit Anomalien im Datenbestand.
Transaktionen, ACID, Interaktion
-
Bei Transaktionen arbeitet die Datenbanksoftware eine Folge von
SQL-Kommandos hintereinander ab, wobei sie diese entweder komplett
oder gar nicht ausführt. Das Verfahren stellt bei mehreren
gleichzeitigen Zugriffen auf eine Datenbank Konsistenz und Integrität der Datenbank sicher.
-
PostgreSQL erfüllt alle Forderungen des ACID-Prinzips
(Atomicity, Consistency, Isolation, Durability). Als Strategie
für das Transaktionsmanagement dient Multi-Version Concurrency Control (MVCC).
-
Zur Programmierung von Client-Programmen bietet PostgreSQL
Schnittstellen zu ODBC und JDBC sowie zu zahlreichen Programmiersprachen.
Prozeduren und Objekte
-
Mit selbst programmierten Stored Procedures (SP) lassen sich
häufig wiederkehrende Aufgaben zusammenfassen und automatisieren.
-
Neben SQL und der PostgreSQL-eigenen prozeduralen
Programmiersprache PL/pgSQL stehen noch weitere Sprachen zur Verfügung.
-
PostgreSQL unterstützt objektrelationale Eigenschaften und
damit die Speicherung nicht atomarer Datentypen in Arrays oder in
geometrischen Datentypen. Alle Datenbankobjekte (Tabelle, View,
Sequenz, ein einzelner Datensatz, ...) haben in PostgreSQL eine eigene Objektidentität.
Sicherheit
-
Die Datenkommunikation zwischen Client und Server erfolgt auf
Wunsch mit SSL verschlüsselt.
-
Für die Authentifizierung gegenüber dem
Datenbankserver unterstützt PostgreSQL das Kerberos-Protokoll.
|
Als Administrations-Frontend für PostgreSQL steht PgadminIII (Abbildung 2, [3]) auch für Postgis zur Verfügung. Ein weiterer Pluspunkt für freie Software ist das flexible Konzept der PostgreSQL-Extensions: Postgis verzichtet auf die bereits in PostgreSQL vorhandenen Möglichkeiten zur Verwaltung zweidimensionaler Geometrien und implementiert stattdessen die Simple Features Specifications for SQL 1.1 (SFS) des Open Geospatial Consortium (OGC, [4]).

|
Abbildung 2: Die typische Ansicht einer PostgreSQL-Datenbank für den Administrator: Das grafische Frontend PgadminIII ermöglicht auch die komfortable Bearbeitung der PostgreSQL-Postgis-Daten.
|
|
Ähnliche Artikel
|
|
Tooltime
|
Die besten zehn Eclipse-Plugins
|
|
Projekteküche
|
Neues aus der Welt der freien Software und ihrer Macher
|
|
Wirbelstürmer
|
Freie Mapping- und Routing-Services mit von Usern erzeugten
Karten
|
|
Türöffner
|
Service-orientierte Abbildung von Geschäftsprozessen mit freier Software
|
|
Vollautomatik
|
Pentesting mit Metasploit und dem Autopwn-Modul
|
|
Viel Holz für den Rahmen
|
PHP-Frameworks im Überblick
|
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|