Massenimport in PostGIS
Zur Nutzung des Geoservers empfiehlt es sich, die Daten in eine Datenbank einzuspielen. Oft liegen Geodaten als Shape vor bzw. können leicht aus QGIS oder ArcGIS als solche exportiert werden. Die folgenden Befehle helfen beim Import vieler Shapefiles in einem Rutsch. Als Beispiel wird hier das Digitale Landschaftsmodell vom Bundesamt für Kartographie und Geodäsie importiert.
Wechsel in Nutzerverzeichnis
cd ~
Download der Daten vom BKG und entpacken dieser
wget http://sg.geodatenzentrum.de/web_download/dlm/dlm250-aaa/utm32s/shape/dlm250-aaa.utm32s.shape.ebenen.zip
unzip dlm250-aaa.utm32s.shape.ebenen.zip
Wechsel zu den entpackten Daten
cd dlm250.utm32s.shape.ebenen/dlm250_ebenen
Erstellen eines Bash-Scriptes zum Umformen der Daten in SQL-Dateien…
nano import1
…mit folgendem Inhalt:
for f in *.shp
do
__ shp2pgsql -s 25832 $f public.`basename $f .shp` > `basename $f .shp`.sql__
done
Und eines zweiten zum Import in die Datenbank
nano import2
Mit folgendem Inhalt:
for f in *.sql
do
__ psql -h myserver -d mydb -U myuser -f $f > /dev/null__
done
Die beiden Dateien werden anschließend ausführbar gemacht:
chmod +x ./import1
chmod +x ./import1
Außerdem wird eine Datei erzeugt, in der das Passwort der Datenbank gespeichert wird. Die Datei kann am Ende mittels rm ~/.pgpass gelöscht werden, damit kein Dritter Zugang zum Passwort erhält.
nano ~/.pgpass
Der Aufbau der Datei erflgt nach folgendem Muster:
hostname:port:db:user:passwort
Anschließend werden die Zugriffsrechte der Passwortdatei gesetzt:
chmod 600 ~/.pgpass
Zu guter Letzt werden die beiden Scripte ausgeführt:
.\import1
.\import2