= Installation PostNAS unter Linux = == 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 * Beispiel unter Debian 5.0: {{{ sudo apt-get install postgresql-8.3 postgresql-server-dev-8.3 postgresql-8.3-postgis \ libxerces-c2-dev libgeos-dev proj build-essential subversion }}} * Debian 6: {{{ sudo apt-get install postgresql-8.4 postgresql-server-dev-8.4 postgresql-8.4-postgis \ libxerces-c-dev libgeos-dev libproj-dev build-essential subversion }}} == 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 [http://trac.wheregroup.com/PostNAS/wiki/BuildingOgrPostNASDriver Installation von PostNAS über den GDAL/OGR-Trunk (Linux)] = Import nach PostgreSQL/PostGIS = == Datenbank vorbereiten == * PostGIS-Template erstellen * siehe Skript http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh == 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 == 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. = 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 }}} == 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/ 1. Benennen Sie die Datei '''alkis05_muster.map''' um und passen Sie den Inhalt wie folgt an: 2. Passen Sie den Parameter EXTENT (Umgebungsrechteck) an Ihr Projekt an: {{{ EXTENT 349000 5529000 356000 5533000 }}} 3. Passen Sie den Parameter ONLINERESOURCE an: {{{ ONLINERESOURCE }}} 4. Ändern Sie gegebenenfalls den EPSG-Code {{{ "init=epsg:25832" }}} 5. Geben Sie alle EPSG-Codes an, die Sie unterstützen möchten {{{ WMS_SRS "epsg:31467 epsg:4326 epsg:25832" }}} 6. Passen Sie den Parameter CONNECTION an Ihre Umgebung an: {{{ CONNECTION "host=localhost dbname=postnas_test user=postgres port=5432" }}} 7. 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.