UMN Mapserver & PostgreSQL/PostGIS: Unterschied zwischen den Versionen

GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche
Zeile 80: Zeile 80:
 
'''3. Die Oberfläche von pgAdmin III''' (wird ab der Version 8.0 standardmässig mit installiert).
 
'''3. Die Oberfläche von pgAdmin III''' (wird ab der Version 8.0 standardmässig mit installiert).
 
Dieses können Sie unter: „Start -> Alle Programme -> PostgreSQL 8.0 -> pgAdmin III“ aufrufen.
 
Dieses können Sie unter: „Start -> Alle Programme -> PostgreSQL 8.0 -> pgAdmin III“ aufrufen.
 +
 +
 +
Abbildung 2: Die Oberfläche von pgAdmin III
 +
[[Image:Bild2a.gif]]
 +
 +
==
 +
3.1 Arbeit auf der MS-DOS-Eingabekonsole ==
 +
 +
 +
Gehen Sie bitte einmal auf der Eingabekonsole in das PostgreSQL-Unterverzeichnis „bin“ und geben Sie hier
 +
„psql --help“
 +
ein. Sie erhalten anschließend unter anderem Informationen über den aktuellen Standardbenutzer und den Standard-Datenbanknamen (siehe Abbildung 3).
 +
 +
Abbildung 3: MS-Dos-Eingabekonsole mit „psql --help“-Befehl
 +
[[Image:psql--help.gif]]
 +
 +
In diesem Beispiel lautet der Name des Standardbenutzers „Kalle“.
 +
Windows geht davon aus, dass Sie als der Standard-Windowsbenutzer auf der Eingabekonsole arbeiten (und nicht als der interne PostgreSQL-Benutzer).
 +
Geben Sie nun einmal zur Verdeutlichung den Befehl
 +
„createdb Testdatenbank“
 +
ein. Sie werden nach einem Passwort gefragt, geben dieses ein und erhalten eine Fehlermeldung.
 +
Die Passwortabfrage geschieht, weil dieses in der Konfigurationsdatei „Pg_hba.conf“ so definiert ist.
 +
Öffnen Sie diese Datei einmal mit einem Texteditor und ändern Sie am Ende der Datei den Eintrag von „md5“ in „trust „(siehe Abbildung 4)(Wenn Sie lieber mit Passwörtern arbeiten, dann können Sie diese Datei später natürlich wieder in den Ursprungszustand bringen.....).
 +
 +
Abbildung 4: Auszug aus der Datei pg_hba.conf („md5“ wurde hier in „trust“ geändert’)
 +
[[Image:pg_hba_editor.gif]]

Version vom 2. August 2005, 18:10 Uhr

Quellen:

Diese Anleitung soll die Verbindung zwischen dem UMN MapServer und dem Datenbanksystem PostgreSQL/PostGIS etwas verdeutlichen. Die dargestellten Informationen stammen im Wesentlichen aus den folgenden:

Literatur: CCGIS & terrestris (2004): Praxishandbuch WebGIS mit Freier Software, Bonn

Fischer, Thorsten (2003): UMN MapServer 4.0- Handbuch und Referenz, Map Media Gmbh, Berlin

Internet: http://forum.2lucky.de (Datenbankforum, auch zu PostgreSQL)

http://freegis.org (Linksammlung und Kurzbeschreibung zu freier GIS-Software und frei zugänglichen Geodaten initiiert von der Intevation GmbH)

http://www.mapserver.uni-vechta.de/webgis/webgis.htm (Homepage mit vielen Infos zum Thema WebGis)

http://www.postgresql.de (Deutschsprachige Seite zu PostgreSQL, hier gibt es eine sehr gute Einführung in die Geheimnisse von PostgreSQL von Stefan Kunick zum Download sowie eine zu empfehlende Installationsanleitung von Cornelia Boenigk)

http://www.postgresql.org (Infos zu PostgreSQL und Download der Versionen)

http://postgis.refractions.net (PostGIS-Website mit Dokumentation)

http://www.umn-mapserver.de (Die Standardseite zum Thema UMN Mapserver)

Daten: Die Beispieldaten wurden z.T. durch eigene Bearbeitung, insbesondere aber auf Grundlage durch cand. Dipl.-Umw. Daniel Tomowski erstellt. All jenen Personen, welche an den oben aufgeführten Quellen mitgewirkt haben, soll an dieser Stelle gedankt werden.


1.PostgreSQL und PostGis - Eine kurze Einführung

Datenbanken eignen sich herrvorragend zur Verwaltung großer Datensätze, da ein diesbezüglicher Zugriff bzw. eine Speicherung bedeutend schneller als in einem herkömmlichen Dateisystem geschieht. Die Datenverwaltung wird auf ein externes System übertragen. Dieses bedeutet, dass der Rechenaufwand auf dem System, welches z.B. die Karten ausgibt, geringer wird. PostGIS bezeichnet einen Aufsatz für das Datenbanksystem PostgreSQL, dessen Funktion in der Verwaltung von Geodaten liegt. Über PostGIS ist es möglich PostgreSQL als optimale Datenbank für GIS-Anwendungen zu benutzen, gesteuerte Mehrbenutzerfähigkeit und SQL-Abfragen werden möglich. Das bedeutet z.B. dass innerhalb eines Datenbestandes eine Selektion schnell und einfach lediglich die gewünschten Einträge präsentiert. Da es sich um ein relationales Datenbanksystem handelt, werden Redundanz und Inkonsistenz der Daten vermieden. Der UMN Mapserver unterstützt die Implikation von PostGIS-Daten.

Innerhalb von PostGIS sind eine Fülle von Funktionen zur Abfrage und Manipulation von Geodaten enthalten, somit wird eine OGC (OpenGis Consortium)-konforme Anwendung interessierten Nutzern zur Verfügung gestellt. Es ist sogar möglich, ESRI Shapedateien zu importieren bzw. zu exportieren oder von externen Anwendungen (z.B. MS Access) über die ODBC Schnittstelle (oder aber JDBC) auf PostgreSQL/PostGIS zuzugreifen. Auch ist über Programmiersprachen wie z.B. PHP ein Zugriff auf angelegte Datenbanken problemlos möglich.


2. Die Installation

Ausgehend davon, dass Sie bei sich bereits den Apache-Webser, PHP sowie den UMN Mapserver installiert haben (sollte dieses nicht der Fall finden Sie eine Anleitung dafür unter http://www.umn-mapserver-communtiy.de.tc), installieren Sie nun bitte auch PostgreSQL mit dem PostGIS-Aufsatz auf Ihrem Rechner. Ob Ihr UMN-Mapserver auch tatsächlich PostGIS unterstützt, können Sie auf der Kommandozeilenebene von MS DOS überprüfen. Gehen Sie in das Verzeichnis, in welchem die Datei "mapserv.exe" liegt und geben Sie ein:

„mapserv -v“.

Sie erhalten nun die Versions-Daten, der Eintrag „INPUT=POSTGIS“ muss erhalten sein. Sollte dieses nicht zutreffen, müssen Sie eventuell eine neuere UMN Mapserver Version installieren oder aber die vorhandene neu kompilieren.

Eine Version von PostgreSQL können Sie sich bei http://www.postgres.org herunterladen (eine Version ab 8.0 sollte es auf jeden Fall sein). Eine ausgezeichnete Installationsanleitung von Cornelia Boenigk finden Sie auf der Seite von http://www.postgresql.de (genauer: http://www.postgresql.de/postgresql8_win.html).


3. Die Tools

Um mit PostgreSQL Daten zu verarbeiten bzw. zu verwalten gibt es bei Windows im Wesentlichen drei Möglichkeiten:

1. Die MS-DOS Kommandozeile. Die PostgreSQL Programme werden aus dem PostgreSQL-Unterverzeichnis „bin“ gestartet.


Abbildung 1: Aufruf eines PostgreSQL-Programms (in diesem Fall „createdb“) auf der MS-Dos-Kommandozeilenebene Bild1.gif


2. Die sogenannte psql-Konsole. Ein ganz ausgesprochen nützliches und mächtiges Tool. Sie können es z.B. unter „Start -> Alle Programme -> PostgreSQL 8.0 -> psql zu template1“ aufrufen, oder aber auf der MS-DOS-Ebene im PostgreSQL-Unterverzeichnis „bin“ über den Befehl

„psql –U postgres template1“

(Der Name „postgres“ ist hier Ihr Benutzername, welcher bei der Installation von PostgreSQL angegeben wurde; dieser ist natürlich variabel). Mittels dieser Konsole können SQL-Befehle an den Datenbankserver geliefert werden. Beim Aufruf der psql-Konsole muss, sofern nicht von Ihnen in der Konfigurationsdatei „pg_hba.conf"(liegt im Data-Verzeichnis von PostgreSQL) geändert, ein Paßwort eingegeben werden (eben jenes, welches Sie bei der Installation von PostgreSQL vergeben haben). Beim Eintrag dieses Paßwortes bewegt sich der Cursor NICHT (das ist normal und kein Programmfehler oder so...).

3. Die Oberfläche von pgAdmin III (wird ab der Version 8.0 standardmässig mit installiert). Dieses können Sie unter: „Start -> Alle Programme -> PostgreSQL 8.0 -> pgAdmin III“ aufrufen.


Abbildung 2: Die Oberfläche von pgAdmin III Bild2a.gif

== 3.1 Arbeit auf der MS-DOS-Eingabekonsole ==


Gehen Sie bitte einmal auf der Eingabekonsole in das PostgreSQL-Unterverzeichnis „bin“ und geben Sie hier

„psql --help“
ein. Sie erhalten anschließend unter anderem Informationen über den aktuellen Standardbenutzer und den Standard-Datenbanknamen (siehe Abbildung 3).

Abbildung 3: MS-Dos-Eingabekonsole mit „psql --help“-Befehl Psql--help.gif

In diesem Beispiel lautet der Name des Standardbenutzers „Kalle“. Windows geht davon aus, dass Sie als der Standard-Windowsbenutzer auf der Eingabekonsole arbeiten (und nicht als der interne PostgreSQL-Benutzer). Geben Sie nun einmal zur Verdeutlichung den Befehl

„createdb Testdatenbank“
ein. Sie werden nach einem Passwort gefragt, geben dieses ein und erhalten eine Fehlermeldung.

Die Passwortabfrage geschieht, weil dieses in der Konfigurationsdatei „Pg_hba.conf“ so definiert ist. Öffnen Sie diese Datei einmal mit einem Texteditor und ändern Sie am Ende der Datei den Eintrag von „md5“ in „trust „(siehe Abbildung 4)(Wenn Sie lieber mit Passwörtern arbeiten, dann können Sie diese Datei später natürlich wieder in den Ursprungszustand bringen.....).

Abbildung 4: Auszug aus der Datei pg_hba.conf („md5“ wurde hier in „trust“ geändert’) Pg hba editor.gif