Postgis Import

Import von ESRI Shapefiles

Import von ESRI Shapefiles nach Postgis

Zuerst müssen die Shapefiles (.shp, .dbf, .proj, .sbn,.sbx, .shx) in einen temporären Ordner auf SRV138 (DBServer) kopiert werden. Dazu kann z.B. WinSCP verwendet werden.

Danach muss das Shapefile mit dem Befehl shp2pgsql in ein temporäres SQL-File umgewandelt werden:

shp2pgsql -s 21781 -g the_geom -I -W ISO-8859-15 Au_clip
  hydrologie.gewaesserschutzbereich_au >gewaesserschutzbereich_au.sql

Wichtig ist das Encoding, sonst werden Umlaute und Spezialzeichen allenfalls falsch übernommen. Die Ausgabe wird von der Konsole in eine temporäre SQL-Datei eingelesen. Die Postgis-Datenbank verwendet UTF-8. Es können noch andere Optionen verwendet werden. Folgende Optionen stehen derzeit zur Verfügung:

USAGE: shp2pgsql [<options>] <shapefile> [<schema>.]<table>
OPTIONS:
  -s   Set the SRID field. If not specified it defaults to -1.
  (-d|a|c|p) These are mutually exclusive options:
      -d  Drops the table, then recreates it and populates
          it with current shape file data.
      -a  Appends shape file into current table, must be
          exactly the same table schema.
      -c  Creates a new table and populates it, this is the
          default if you do not specify any options.
      -p  Prepare mode, only creates the table.
  -g  Specify the name of the geometry column
     (mostly useful in append mode).
  -D  Use postgresql dump format (defaults to sql insert statments.
  -k  Keep postgresql identifiers case.
  -i  Use int4 type for all integer dbf fields.
  -I  Create a GiST index on the geometry column.
  -S  Generate simple geometries instead of MULTI geometries.
  -w  Use wkt format (for postgis-0.x support - drops M - drifts coordinates).
  -W  Specify the character encoding of Shape's
     attribute column. (default : "ASCII")
  -N  Specify NULL geometries handling policy (insert,skip,abort)
  -n  Only import DBF file.
  -? Display this help screen

Danach kann die gerade erzeugt SQL-Datei mit folgendem Befehl in die Datenbank eingelesen werden:

psql -d uster -f gewaesserschutzbereich_au.sql

Siehe auch psql-Dokumentation.

Schliesslich sollte noch die Historisierung zugefügt werden.

Import der AV-Interlis-Daten nach Postgis

Der Datenimport erfolgt 2-stufig. Zuerst wird das Interlis-File in ein temporäres Schema ("av_temp") eingelesen, danach wird dieses nach ("av") aktualisiert. Das aktuelle Interlis-File liegt unter "L:\DAV_ZH\198-USTER-GDS.ITF" (SRV141). Es muss zunächst mit WinSCP nach SRV138 (Verzeichnis /home/an/DAV_ZH/) kopiert werden. Eine allfällige alte Version wird überschrieben. Wichtig ist, dass das zugehörige "dm01avzh24.ili" File im gleichen Verzeichnis liegt, sowie das shell-script "av_loading.sh". Danach können (nachdem man mit putty oder ssh in srv138 eingeloggt hat und ins DAV_ZH-directory gewechselt hat) mit dem folgenden Befehl die Interlis-Daten nach Postgis eingelesen werden und danach mit dem scharfen Schema "av" abgeglichen. Details können im Shell-Script gelesen werden.

sh ./av_loading.sh

Danach sollte kurz überprüft werden ob die wichtigsten Views (z.B. Liegenschaften, Adressen, Gebäude, Bodenbedeckung) in Ordnung sind und die erwartete Anzahl Elemente enthalten.

 

 

 

Artikelaktionen
abgelegt unter: ,
Sitemap AGB Impressum