{{{ Diese Seite muss überarbeitet werden. Bitte beachten Sie, dass für den Import der ALKIS-Daten das Werkzeug norGIS-ALKIS-Import empfohlen wird. Dieses verfügt über eine graphische Oberfläche und eines Shellskript zur Steuerung des Imports. Außerdem können die Daten direkt in QGIS über das norGIS-ALKIS-Plugin nach der ALKIS Zeichenvorschrift visualisiert werden. }}} Mehr zu norGIS-ALKIS-Import https://www.norbit.de/68/ Mehr zum QGIS norGIS-ALKIS-Plugn https://www.norbit.de/75/ = Installation PostNAS unter Linux = Dies beschreibt ausführlich die einzelnen Importschritte unter Linux. Hinweis: Alternativ kann man auch [[Komponenten|ALKIS-Import]] verwenden, das diese Schritte automatisch ausführt (Es steht **auch** über [[http://trac.osgeo.org/OSGeo4W|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 [http://www.postgis.org 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 von GitHub * Dokumentation siehe [http://trac.wheregroup.com/PostNAS/wiki/BuildingOgrPostNASDriver Installation von PostNAS über den GDAL/OGR-Trunk (Linux)] * Option 3: Installation im Docker Image * [https://hub.docker.com/r/pkorduan/gdal-sshd/ pkorduan/gdal-sshd:latest] = Import nach PostgreSQL/PostGIS = == Datenbank vorbereiten == * PostGIS-Template erstellen (siehe Skript: [[http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh|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 [[http://trac.wheregroup.com/PostNAS/browser/trunk/import/alkis_PostNAS_schema.sql?format=raw|alkis_PostNAS_schema.sql]] zu finden mit der PostNAS-Tabellenstruktur aufgebaut werden kann (bitte an [[http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh|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 [[http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh|datenbank_anlegen.sh]]) === Bei Verwendung des vollständigen Schemas === * Ausführen der SQL-Dateien: * [https://raw.githubusercontent.com/norBIT/alkisimport/master/alkis-schema.sql Schema] (statt 25832 ggf. 25833 verwenden): {{{psql -v alkis_epsg=25832 -v alkis_schema=public -f alkis-schema.sql}}} ''datenbank'' * [https://raw.githubusercontent.com/norBIT/alkisimport/master/alkis-trigger.sql Fortführungstrigger]: {{{psql -v alkis_schema=public -f alkis-trigger.sql}}} ''datenbank'' * Download der [https://raw.githubusercontent.com/norBIT/alkisimport/master/alkis-schema.gfs 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/ 1. Datei '''alkis05_muster.map''' umbenennen und den Inhalt wie folgt anpassen: 2. Parameter EXTENT (Umgebungsrechteck) an das Projekt anpassen: {{{ EXTENT 349000 5529000 356000 5533000 }}} 3. Parameter ONLINERESOURCE anpassen: {{{ ONLINERESOURCE }}} 4. Gegebenenfalls den EPSG-Code ändern: {{{ "init=epsg:25832" }}} 5. Alle EPSG-Codes angeben, die unterstützt werden sollen: {{{ WMS_SRS "epsg:31467 epsg:4326 epsg:25832" }}} 6. Parameter CONNECTION an die jeweilige Umgebung anpassen: {{{ CONNECTION "host=localhost dbname=postnas_test user=postgres" }}} 7. 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.