Version 29 (modified by astrid.emde, 7 years ago) (diff) |
---|
Installation PostNAS unter Linux
Systemvoraussetzungen
- PostgreSQL 8.x mit PostGIS-Erweiterung (in gängigen Linux-Distributionen verfügbar)
- C/C++-Compiler, make etc. (unter Debian/Ubuntu? im Metapaket build-essential enthalten)
- SVN-Client, um den aktuellen GDAL-Code zu beziehen (Debian: Paket subversion)
- Bibliotheken Xerces (obligatorisch), PROJ.4 und GEOS samt Headerdateien
GDAL/OGR bauen und installieren
Code beziehen (mit normalen Benutzerrechten):
- Option 1 : Stabiler Release aus http://download.osgeo.org/gdal/, z.B.
- Option 2: Aktueller Entwicklungszweig aus dem svn
- Dokumentation siehe Installation von PostNAS über den GDAL/OGR-Trunk (Linux)
- Option 3: Installation im Docker Image
Import nach PostgreSQL/PostGIS
Datenbank vorbereiten
- PostGIS-Template erstellen
Bei Verwendung des vollständigen ALKIS-Schemas
- Erzeugen einer leeren Datenbank:
CREATE DATABASE alkis;
- Erzeugen der PostGIS Erweiterung in der Datenbank:
CREATE EXTENSION postgis;
Aufbau der ALKIS Tabellenstruktur
Im SVN-Repository von PostNAS finden Sie die Datei alkis_PostNAS_schema.sql, mit der die komplette PostNAS-Tabellenstruktur aufgebaut werden kann: http://trac.wheregroup.com/PostNAS/browser/trunk/import/alkis_PostNAS_schema.sql?format=raw
- orientieren Sie sich dabei an der Datei: http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh
Laden Sie die Datei auf Ihren Rechner und spielen Sie dieses Schema in Ihre neue Datenbank:
# Koordinatensystem fuer Geometriefelder: psql -U postgres -v alkis_epsg=25832 -d postnas_test -f alkis_PostNAS_schema.sql
Es müssen weitere SQLs geladen werden (Referenztabellen, Zusatztabellen)
- orientieren Sie sich dabei an der Datei: http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh
Bei Verwendung des vollständigen Schemas
- Ausführen der SQL-Dateien schema_aaa_ogr_25832.sql oder schema_aaa_ogr_25833.sql in der neu angelegten Datenbank (der DELETE-Trigger ist mit enthalten)
- Download des Umbenennungs-Scripts rename_nas.rb
- Download der Konfigurationsdatei für die Umbenennung: umbenenn_conf.json
- Download der vollständigen gfs-Datei für das Einlesen mit ogr2ogr: schema_aaa_ogr.gfs
Erstimport von NAS-Daten
Wir befinden uns im Verzeichnis mit dem Datensatz Bestandsdatenauszug-Mustermonzel-06.05.2010.xml. Die Verbindungsparameter müssen Sie ggf. an Ihre Umgebung anpassen. Je nach PostgreSQL-Konfiguration müssen Sie evtl. noch den Parameter password mit angeben.
/opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures -append \ PG:"dbname=postnas_test user=postgres host=localhost port=5432" \ -a_srs EPSG:25832 Bestandsdatenauszug-Mustermonzel-06.05.2010.xml \ 2>> postnas_err.log
Hinweis: Es kann sinnvoll sein, ogr2ogr zusätzlich den Parameter -lco LAUNDER=YES zu übergeben, um beim Anlegen des Datenbankschemas korrekte Schreibweisen von Objektnamen zu erzwingen. Geomedia bspw. kann nicht auf Oracle-Spatial-Layer zugreifen, wenn Spaltennamen nicht konsequent groß geschrieben sind.
Bei Verwendung des vollständigen ALKIS-Schemas
Bei Verwendung des vollständigen ALKIS-Schemas müssen die NAS-Dateien vor dem Einlesen mit ogr2ogr mit dem Programm rename_nas.rb aufgearbeitet werden.
Dazu vorher in der Datei rename_nas.rb in der 1. Zeile den Pfad auf die Umbenennungsdatei umbenenn_conf.json setzen.
renamefile = File.expand_path(File.dirname(__FILE__)) + '/../conf/umbenenn_conf.json'
Aufrufen des Ruby-Scripts:
ruby rename_nas.rb Input.xml Output.xml
Zum Einlesen mit ogr2ogr die Datei schema_aaa_ogr.gfs neben die Datei Output.xml gleichnamig als Output.gfs ablegen.
Import von Fortführungsdatensätzen
Info
/opt/gdal-trunk/bin/ogrinfo xxx.xml Delete
Laden der Lösch- und Replacedatensätze
/opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures -append -update\ PG:"dbname=postnas_test user=postgres host=localhost port=5432" \ -a_srs EPSG:25832 xxx.xml \ 2>> postnas_err.log
Bei Verwendung des vollständigen Schemas
Bei Verwendung des vollständigen Schemas vor dem Einlesen mit ogr2ogr die NAS-Dateien wie auch beim Erstimport umbenennen mit rename_nas.rb und die gfs-Datei mit der vollständigen Schemainformation gleichnamig wie die zu importierende Datei (xxx.gfs) verwenden.
Löschen der Einträge der Tabelle delete
TRUNCATE "delete";
Import nach ORCALE
export alkis_epsg=25832 sqlplus demo/demo@demo @alkis_PostNAS_ORACLE_schema.sql $alkis_epsg sqlplus demo/demo@demo @alkis_PostNAS_ORACLE_keytables.sql -- nutzungsart_definition / nutzungsart_metadaten sqlplus demo/demo@demo @nutzungsart_definition_ORACLE.sql sqlplus demo/demo@demo @nutzungsart_metadaten_ORACLE.sql -- sichten laden sqlplus demo/demo@demo @sichten_ORACLE.sql export NLS_LANG=GERMAN_GERMANY.UTF8 ogr2ogr -append -f OCI "OCI:demo/demo@demo" -lco DIM=2 -lco LAUNDER=YES -lco SRID=25832 NAS.xml 2>error_demo.log sqlplus demo/demo@demo @nutzungsart_laden_ORACLE.sql
Dienst mit UMN MapServer
Nachdem die Daten erfolgreich in die Datenbank geladen wurden, kann leicht eine OGC Web Map Service (WMS) mit MapServer aufgebaut werden.
Hierzu liegen Vorlagen im svn vor, die lediglich angepasst werden müssen.
Laden Sie die Dateien aus dem Verzeichnis umn auf Ihren Rechner: http://trac.wheregroup.com/PostNAS/browser/trunk/umn/
- Benennen Sie die Datei alkis05_muster.map um und passen Sie den Inhalt wie folgt an:
- Passen Sie den Parameter EXTENT (Umgebungsrechteck) an Ihr Projekt an:
EXTENT 349000 5529000 356000 5533000
- Passen Sie den Parameter ONLINERESOURCE an:
ONLINERESOURCE
- Ändern Sie gegebenenfalls den EPSG-Code
"init=epsg:25832"
- Geben Sie alle EPSG-Codes an, die Sie unterstützen möchten
WMS_SRS "epsg:31467 epsg:4326 epsg:25832"
- Passen Sie den Parameter CONNECTION an Ihre Umgebung an:
CONNECTION "host=localhost dbname=postnas_test user=postgres port=5432"
- Prüfen Sie den WMS über den getCapabilities-Aufruf in Ihrem Browser:
http://localhost/cgi-bin/mapserv?map=/data/umn/alkis05/alkis05muenster.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
Wenn Sie die Beschreibung des WMS als XML zurück bekommen, können Sie den Dienst anschließend in einem WMS Client wie Mapbender, OpenLayers oder QGIS laden.
Infoausgabe
Im svn-Repository liegen Skripte vor die zu den einzelnen Flurstücken Grundbuch-, Eigentümer, Gebäudeinformationen ausgeben. Diese Skripte können so abgelegt werden, dass Sie über die Infoabfrage des WMS aufgerufen werden können.
Legen Sie die Skripte des Verzeichnisses /info in Ihr Apache Document-ROOT Verzeichnis
http://trac.wheregroup.com/PostNAS/browser/trunk/info
In der Datei alkis_conf.php müssen Sie die Verbindungsparameter für den Zugriff auf die Datenbank anpassen.