source: trunk/import/datenbank_anlegen.sh @ 294

Revision 294, 3.9 KB checked in by frank.jaeger, 10 years ago (diff)

PostProcessing?-Scripte fuer Straßennamen

RevLine 
[184]1#!/bin/bash
[190]2## -------------------------------------------------
3## Konvertierung von ALKIS NAS-Format nach PostGIS -
4## Teil 1: Eine neue PostGIS-Datenbank anlegen     -
5## -------------------------------------------------
[184]6##
7## Stand:
8##  2012-02-10 PostNAS 07, Umbenennung
[276]9##  2013-01-15 Zwischenstopp um Meldungen lesen zu können bevor, sie aus dem Scrollbereich verschwinden
10##  2013-04-16 Vers.-Nr. "0.7" aus dem Dateinamen von Schema und Keytable entfernt, sichten_wms.sql
[294]11##  2013-10-16 F.J. krz: Neues Sript "pp_praesentation_sichten.sql" für Reparatur Präsentationsobjekte Straßennamen
[190]12
13POSTNAS_HOME=$(dirname $0)
14MANDANT_HOME=$PWD
[197]15
16# Koordinatensystem fuer Geometriefelder:
[190]17EPSG=25832
18
[184]19## Dialog mit Anwender
20function get_db_config(){
21        # welches Datenbank-Template?
22        echo ""
23        echo "Datenbank-Template fuer die neue ALKIS-Datenbank?"
24        echo " (einfach Enter fuer die Voreinstellung template_postgis)"
25        read DBTEMPLATE
26        : ${DBTEMPLATE:="template_postgis"}
27#
28        # Name der neuen ALKIS-Datenbank
29        until [ -n "$DBNAME" ]
30        do
31                echo ""
32                echo "Name der ALKIS-Datenbank?"
33                read DBNAME
34        done
35        echo ""
36        echo "Datenbank-User?  (Dieser muss eine gleichnamige Service-Datenbank haben)"
37        read DBUSER
38#
39        until [ "$JEIN" = "j" -o "$JEIN" = "n" ]
40        do
41                echo ""
42                echo "Datenbank $DBNAME wird GELOESCHT und neu angelegt  - j oder n?"
43                read JEIN
44        done
45}
46#
47## aller Laster  ANFANG
48get_db_config;
49if test $JEIN != "j"
50then
51        echo "Abbruch"
52        exit 1
53fi
[190]54
55cd $POSTNAS_HOME
56
57if ! [ -e alkis-trigger.sql ]; then
58        if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then
59                echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) angelegt"
60        else
61                echo "** alkis-trigger.sql FEHLT!"
62                exit 1
63        fi
64fi
65
[184]66## Datenbank-Connection:
67# -h localhost
68con="-p 5432 -d ${DBNAME} "
69echo "connection " $con
70echo "******************************"
71echo "**  Neue ALKIS-Datenbank    **"
72echo "******************************"
73echo " "
74echo "** Loeschen Datenbank " ${DBNAME}
75## Hier wird vorausgesetzt, dass der User eine Service-DB hat, die seinen Namen traegt
76echo  "DROP database ${DBNAME};" | psql -p 5432 -d ${DBUSER} -U ${DBUSER}
77echo " "
78echo "** Anlegen (leere) PostGIS-Datenbank"
[190]79createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE} ${DBNAME}
[184]80echo " "
81echo "** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)"
[213]82psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_schema.sql >$MANDANT_HOME/log/schema.log
[197]83
84# Zwischenstopp. Die Ausgabe-Zeilen sind sonst nicht mehr lesbar.
85until [ "$CHECK" = "j" -o "$CHECK" = "n" ]
86do
87    echo " "
88        echo "    Weiter?  'j' (weiter) oder 'n' (Abbruch)"
89        read CHECK
90done
91if test $CHECK != "j"; then
92        echo " Abbruch!"
93        exit 1
94fi
95
[184]96echo " "
97echo "** Anlegen der Datenbank-Struktur - zusaetzliche Schluesseltabellen"
98## Nur die benoetigten Tabellen fuer die Buchauskunft
[213]99psql $con -U ${DBUSER} -f alkis_PostNAS_keytables.sql >$MANDANT_HOME/log/keytables.log
[294]100
[184]101echo " "
102echo "** Anlegen Optimierung Nutzungsarten (nutzungsart_definition.sql)"
[190]103psql $con -U ${DBUSER} -f nutzungsart_definition.sql
[294]104
[184]105echo " "
106echo "** Laden NUA-Metadaten (nutzungsart_metadaten.sql) Protokoll siehe log"
[190]107psql $con -U ${DBUSER} -f nutzungsart_metadaten.sql >$MANDANT_HOME/log/meta.log
[294]108
[184]109echo " "
[294]110echo "** Anlegen Post Processing Tabellen (pp_definition.sql)"
[193]111psql $con -U ${DBUSER} -f pp_definition.sql >$MANDANT_HOME/log/pp_definition.log
[294]112
[184]113echo " "
[294]114echo "** Anlegen Post Processing Views (pp_praesentation_sichten.sql)"
115psql $con -U ${DBUSER} -f pp_praesentation_sichten.sql >$MANDANT_HOME/log/pp_praesentation_sichten.log
116
117echo " "
[276]118echo "** Definition von Views (sichten_wms.sql)"
119psql $con -U ${DBUSER} -f sichten_wms.sql >$MANDANT_HOME/log/sichten_wms.log
[294]120
[184]121echo " "
122echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER}
123echo " "
[294]124
[184]125echo "** Berechtigung (grant.sql) Protokoll siehe log"
[193]126psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log
[276]127echo "
128***************************
129**  Ende Neue Datenbank  **
130***************************
131"
Note: See TracBrowser for help on using the repository browser.