Shp2pgsql: Unterschied zwischen den Versionen

Aus Geoportal
(Die Seite wurde neu angelegt: „<translate> Um Shapefiles in eine PostGIS-Datenbank zu laden, benutzen Sie das Werkzeug '''''shp2pgsql''''' , welches über ein Komandozeilenprogramm gestarte…“)
 
(Diese Seite wurde zum Übersetzen freigegeben)
Zeile 1: Zeile 1:
 
<translate>
 
<translate>
   
  +
<!--T:1-->
 
Um Shapefiles in eine PostGIS-Datenbank zu laden, benutzen Sie das Werkzeug '''''shp2pgsql''''' , welches über ein Komandozeilenprogramm gestartet werden kann und dann zur Verfügung steht, wenn eine PostGis-Installation erfolgt ist.. Gewöhnlich ist das Verzeichnis indem sich das Programm befindet bereits in den Suchpfad des Kommandozeilenprogramms integriert. Anderfalls muss zunächst in das Verzeichnis verzweigt werden, welches das Programm enthält (z.B. /var/lib/pgsql/bin). Der Programmaufruf hat folgende Syntax:
 
Um Shapefiles in eine PostGIS-Datenbank zu laden, benutzen Sie das Werkzeug '''''shp2pgsql''''' , welches über ein Komandozeilenprogramm gestartet werden kann und dann zur Verfügung steht, wenn eine PostGis-Installation erfolgt ist.. Gewöhnlich ist das Verzeichnis indem sich das Programm befindet bereits in den Suchpfad des Kommandozeilenprogramms integriert. Anderfalls muss zunächst in das Verzeichnis verzweigt werden, welches das Programm enthält (z.B. /var/lib/pgsql/bin). Der Programmaufruf hat folgende Syntax:
   
  +
<!--T:2-->
shp2pgsql [-options] shapefile.shp tabellenname dbname > name.sql
+
shp2pgsql [-options] shapefile.shp tabellenname dbname > name.sql
 
 
 
Beispiel:
 
Beispiel:
Zeile 10: Zeile 12:
   
   
  +
<!--T:3-->
 
{| border = 1
 
{| border = 1
 
!align="center"|Options
 
!align="center"|Options
Zeile 41: Zeile 44:
   
   
  +
<!--T:4-->
 
Das Programm erzeugt aus dem Shapefile eine Textdatei, die SQL-Statements zum Erstellen einer Tabelle in der Datenbank enthält. Diese Datei muß dann nur noch mittels '''''psql''''' eingelesen werden.
 
Das Programm erzeugt aus dem Shapefile eine Textdatei, die SQL-Statements zum Erstellen einer Tabelle in der Datenbank enthält. Diese Datei muß dann nur noch mittels '''''psql''''' eingelesen werden.
 
Wichtig ist, dass man als user ''postgres'' in einem Verzeichnis steht, in dem man Schreibrechte hat. Die Syntax hierzu ist:
 
Wichtig ist, dass man als user ''postgres'' in einem Verzeichnis steht, in dem man Schreibrechte hat. Die Syntax hierzu ist:
   
  +
<!--T:5-->
psql -f shapefile.sql
+
psql -f shapefile.sql
 
 
 
Beispiel:
 
Beispiel:
 
psql -U postgres -d Verwaltungseinheiten -f gemeindebezirke.sql
 
psql -U postgres -d Verwaltungseinheiten -f gemeindebezirke.sql
   
  +
<!--T:6-->
 
{| border = 1
 
{| border = 1
 
!align="center"|Options
 
!align="center"|Options

Version vom 17. Mai 2019, 13:37 Uhr

<translate>

Um Shapefiles in eine PostGIS-Datenbank zu laden, benutzen Sie das Werkzeug shp2pgsql , welches über ein Komandozeilenprogramm gestartet werden kann und dann zur Verfügung steht, wenn eine PostGis-Installation erfolgt ist.. Gewöhnlich ist das Verzeichnis indem sich das Programm befindet bereits in den Suchpfad des Kommandozeilenprogramms integriert. Anderfalls muss zunächst in das Verzeichnis verzweigt werden, welches das Programm enthält (z.B. /var/lib/pgsql/bin). Der Programmaufruf hat folgende Syntax:

shp2pgsql [-options] shapefile.shp tabellenname dbname > name.sql

Beispiel:
shp2pgsql -s 31466 -W ISO-8859-1 bezirke.shp bezirksgenzen Verwaltungseinheiten > gemeindebezirke.sql


Options Verwendung Beispiel
s Angabe eines Koordinatenreferenzssytems im EPSG-Code, indem der Datenbestand importiert werden soll 31466
W Encoding ISO-8859-1
D Dieser Parameter benutzt beim Einlesen der Daten das Dump-Format, dadurch werden die Datensätze schneller eingelen als im standardmäßig eingestellten Insert-Format, welches jede eingefügte Zeile parst.
i Benutzt für alle Integer-Werte ein 32bit Integer-Format
a Dieser Parameter fügt Datensätze an eine exestierende Datenbanktabelle unter der Voraussetzung an, dass in den Tabellenspalten die richtige Anzahl und Datentypen für jedes Arttribut verfügbar sind.
I Erstellt einen GiST Index (Generalized Search Tree)


Das Programm erzeugt aus dem Shapefile eine Textdatei, die SQL-Statements zum Erstellen einer Tabelle in der Datenbank enthält. Diese Datei muß dann nur noch mittels psql eingelesen werden. Wichtig ist, dass man als user postgres in einem Verzeichnis steht, in dem man Schreibrechte hat. Die Syntax hierzu ist:

psql -f shapefile.sql

Beispiel:
psql -U postgres -d Verwaltungseinheiten -f gemeindebezirke.sql
Options Verwendung Beispiel
U Angabe des Users postgres
d Datenbankname Verwaltungseinheiten
f Angabe der SQL-Datei gemeindebezirke.sql

</translate>