Einrichten von PostNAS-Tools

Auf dieser Seite wird der Umgang mit PostNAS-XML Dateien erklärt, die nicht von ESRI geöffnet werden können. (Deutsche Version)

On this page, you will learn how to deal with PostNAS-XML files, that can't be opened by ESRI. (Jump to English version)

 

Deutsch

Einrichten von PostNAS-Tools

Wenn die Daten als PostNAS-XML Export vorliegen, mit dem NAS-Reader von ESRI aber nicht geöffnet werden können, kann dieses mit folgender Software erreicht werden.


Hierbei kann alles per OSGeo Packages zusammen installiert werden, pgAdmin muss ggf. gesondert heruntergeladen werden.

Wichtig hierbei:

  • PostGIS (Geodatenbank Management System auf PostgreSQL)
  • pgAdmin (Datenbankadministration)
  • QGIS (Aktuell:Lyon 2.0.12) + norGIS - ALKIS-Einbindung, eine Erweiterung für QGIS

Zum Vorgehen:

  • PostGreSQL über pgAdmin öffnen
  • Datenbank anlegen (z.B. alkis_brookmerland)
  • postGIS einspielen in alkis_brookmerland DB
  • XML entpacken (7zip)
  • XML in PostGIS einlesen (Command Line)

Command Line:

  • In Tool_Verzeichnis wechseln.
    Zum Beispiel: C:\Users\Aden\Documents\ms4w\tools\gdal-ogr>
  • ogr2ogr -f "PostgreSQL" -skipfailures -append PG:"dbname=alkis_brookmerland user=cowboy password=xxxxxx host=localhost port=5432" -a_srs EPSG:25832 F:\Anderes\PostNAS_und_Daten\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml 2>> postnas_err.log
  • Warten! Erste Fehelrmeldung erscheint nach 20 Minuten:
    ERROR 1: Did not get 2+ values in <gml:pos>2.000</gml:pos> tuple
    (wenn es nur eine Fehlermeldung ist, übergehen...)
  • QGIS-Erweiterung unter "Datenbank" aufrufen und Zugangsdaten eingeben
  • Hatte im ersten Versuch Probleme mit der Abfrage der srid aus geometry_columns (alle DB-Rechte waren entsprechend gesetzt)
  • Versuch des direkten Exports zum Shapefile, per Command Line:
    ogr2ogr -f "ESRI Shapefile" -a_srs "EPSG:25832" ./shp/ xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml ax_flurstuecke

    C:\Users\Aden\Documents\ms4w\tools\gdal-ogr>ogr2ogr -f "ESRI Shapefile" -a_srs EPSG:25832 .\shp\ F:\Anderes\PostNAS_und_Daten\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml
  • Warnings!
    Diese beziehen sich meistens auf die Anzahl der Buchstaben der Feldnamen in der Attributtabelle (diese werden hier auf 10 gekürzt). Am Besten eine Excel-Tabelle anlegen und die alten und neuen Attribute gegenüberstellen

    Zum Beispiel:
    Warning 6: Normalized/laundered field name: 'advStandardModell' to 'advStandar'
    Warning 6: Normalized/laundered field name: 'schluesselGesamt' to 'schluessel'
    Warning 6: Normalized/laundered field name: 'bezeichnung' to 'bezeichnun'

Zum Schluss:

  • C:\Users\Aden\Documents\ms4w\tools\gdal-ogr>
    Die Shapefiles sollten im Ordner .\shp liegen
  • Können diese nicht geöffnet werden, was in unserem Test der Fall war, sollte versucht werden die Daten über eine PostGIS-Connetcion in QGIS einzulesen. Sie können anschließend als Shapefiles exportiert werden. Notwendige Beziehungen zwischen den Attributtabellen und den Geodaten lassen sich per Join im GIS aufbauen.

English

Setting up PostNAS tools

If your data is available as a PostNAS-XML export, but cannot be read by ESRI, you can solve the problem using the following software setup.

Everything can be installed together, as OSGeo packages, yet pgAdmin might be downloaded separately.

Important:

  • GDAL/OGR (Geospatial Data Abstraction Library)
  • PostGIS (support for geographic objects in PostgreSQL)
  • pgAdmin (GUI administration tool for PostgreSQL)
  • QGIS (currentl: Lyon 2.0.12) + norGIS - ALKIS-Einbindung, a QGIS addon

Procedure:

  • Open PostGreSQL via pgAdmin
  • Setup database (e.g. alkis_brookmerland)
  • Include postGIS in alkis_brookmerland db
  • Unzip XML (7zip)
  • load XML into PostGIS (command line)

 

Command Line:

  • Change tool_directory. 
    E.g. C:\Users\Aden\Documents\ms4w\tools\gdal-ogr>
  • ogr2ogr -f "PostgreSQL" -skipfailures -append PG:"dbname=alkis_brookmerland user=cowboy password=xxxxxx host=localhost port=5432" -a_srs EPSG:25832 F:\Anderes\PostNAS_und_Daten\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml 2>> postnas_err.log
  • Wait! First error occurs after 20 minutes: 
    ERROR 1: Did not get 2+ values in <gml:pos>2.000</gml:pos> tuple
    (ignore, if it’s just an error message)
  • Load QGIS extension through “database” and enter login information
  • At first try I had problems using the query to get the srid from geometry_columns(all db-rights had been set correctly)
  • Try out to export as shapefile using the command line: 
    ogr2ogr -f "ESRI Shapefile" -a_srs "EPSG:25832" ./shp/ xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml ax_flurstuecke 
    C:\Users\Aden\Documents\ms4w\tools\gdal-ogr>ogr2ogr -f "ESRI Shapefile" -a_srs EPSG:25832 .\shp\ F:\Anderes\PostNAS_und_Daten\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas\xml-ergebnis-wfs-2149-2015-09-30-09-43-01_postnas.xml
  • Warnings! 
    These most likely are related to the number of characters within the fields of the attribute table (which will be truncated). Preferably use an excel spreadsheet to compare old and new attributes.

    For Example: 
    Warning 6: Normalized/laundered field name: 'advStandardModell' to 'advStandar'
    Warning 6: Normalized/laundered field name: 'schluesselGesamt' to 'schluessel' 
    Warning 6: Normalized/laundered field name: 'bezeichnung' to 'bezeichnun'

Finally:

  • C:\Users\Aden\Documents\ms4w\tools\gdal-ogr> 
    The shapefiles should be stored in the .\shp directory
  • If you shouldn’t be able to open them (like in our case), you should try to insert data via a PostGIS-Connection into QGIS. 
    It can be exported as shapefiles afterwards and necessary connections between attribute tables and spatial data can be set using the join function in GIS.