Version 31 (modified by j.e.fischer, 6 years ago) (diff) |
---|
Installation PostNAS unter Linux
Dies beschreibt ausführlich die einzelnen Importschritte unter Linux.
Hinweis: Alternativ kann man auch ALKIS-Import verwenden, das diese Schritte automatisch ausführt (Es steht auch über OSGeo4W für Windows inkl. passendem GDAL zur Verfügung: Paket alkis-import für das klassisches Modell und Paket alkis-import-dev für das vollständige Modell)
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 (unter Debian alternativ: apt-get build-dep gdal aufrufen, um alle Abhängigkeiten des gdal in Debian zu installieren)
GDAL/OGR bauen und installieren
Code beziehen (mit normalen Benutzerrechten):
- Option 1 : Stabiler Release aus http://download.osgeo.org/gdal/ (für das volles Schema wird GDAL 2.3 benötigt; daher derzeit nicht ausreichend)
- 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 (siehe Skript: datenbank_anlegen.sh)
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 ist die Datei alkis_PostNAS_schema.sql zu finden mit der PostNAS-Tabellenstruktur aufgebaut werden kann (bitte an datenbank_anlegen.sh orientieren).
Nach dem Herunterladen wird das Schema wie folgt in die neue Datenbank geladen:
# 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; ebenfalls siehe datenbank_anlegen.sh)
Bei Verwendung des vollständigen Schemas
- Ausführen der SQL-Dateien:
- Schema (statt 25832 ggf. 25833 verwenden): psql -v alkis_epsg=25832 -v alkis_schema=public -f alkis-schema.sql datenbank
- Fortführungstrigger: psql -v alkis_schema=public -f alkis-trigger.sql datenbank
- Download der GFS-Datei
Erstimport von NAS-Daten
Wir befinden uns im Verzeichnis mit dem Datensatz Bestandsdatenauszug-Mustermonzel-06.05.2010.xml. Die Verbindungsparameter müssen ggf. an die jeweilige Umgebung angepasst werden. Je nach PostgreSQL-Konfiguration ist evtl. noch der Parameter password anzugegeben
/opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures -append \ PG:"dbname=postnas_test user=postgres host=localhost" \ -a_srs EPSG:25832 Bestandsdatenauszug-Mustermonzel-06.05.2010.xml \ 2>> postnas_err.log
Hinweis: Für andere Datensenken als PostgreSQL kann sinnvoll sein, ogr2ogr zusätzlich den Parameter -lco LAUNDER=YES zu übergeben, um beim Anlegen des Datenbankschemas die üblichen 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
Die Verwendung des vollständigen ALKIS-Schemas benötigt mind. GDAL 2.3 (derzeit trunk). Es muß die GFS-Datei angegeben werden:
/opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures -append \ -oo NAS_GFS_TEMPLATE=/pfad/zur/alkis-schema.gfs \ PG:"dbname=postnas_test user=postgres host=localhost" \ -a_srs EPSG:25832 Bestandsdatenauszug-Mustermonzel-06.05.2010.xml \ 2>> postnas_err.log
Hinweis: ab GDAL 2.3 kann auch die Option -oo NAS_NO_RELATION_LAYER=YES angegeben werden. Damit erhält man über die Option -progress eine Fortschrittsanzeige, muß jedoch auf die Tabelle alkis_beziehungen verzichten. Da die inzwischen Beziehungen auch in den eigentlich Tabellen enthalten sind (z.B. ax_flurstueck.istgebucht), wird alkis_beziehungen allerdings auch eigentlich nicht mehr benötigt.
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" \ -a_srs EPSG:25832 xxx.xml \ 2>> postnas_err.log
Löschen der Einträge der Tabelle delete
TRUNCATE "delete";
Import nach ORACLE
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.
Die Dateien aus dem Verzeichnis umn auf den Rechner herunterladen: http://trac.wheregroup.com/PostNAS/browser/trunk/umn/
- Datei alkis05_muster.map umbenennen und den Inhalt wie folgt anpassen:
- Parameter EXTENT (Umgebungsrechteck) an das Projekt anpassen:
EXTENT 349000 5529000 356000 5533000
- Parameter ONLINERESOURCE anpassen:
ONLINERESOURCE
- Gegebenenfalls den EPSG-Code ändern:
"init=epsg:25832"
- Alle EPSG-Codes angeben, die unterstützt werden sollen:
WMS_SRS "epsg:31467 epsg:4326 epsg:25832"
- Parameter CONNECTION an die jeweilige Umgebung anpassen:
CONNECTION "host=localhost dbname=postnas_test user=postgres"
- WMS über den getCapabilities-Aufruf im Browser prüfen:
http://localhost/cgi-bin/mapserv?map=/data/umn/alkis05/alkis05muenster.map&REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
Wenn eine Beschreibung des WMS als XML geliefert wird, kann der Dienst anschließend in einem WMS Client wie Mapbender, OpenLayers oder QGIS geladen werden.
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.
Die Skripte gehören in das Verzeichnisses /info im Apache Document-ROOT Verzeichnis
http://trac.wheregroup.com/PostNAS/browser/trunk/info
In der Datei alkis_conf.php müssen die Verbindungsparameter für den Zugriff auf die Datenbank angepasst werden.