Changeset 163 for trunk/data/konvert
- Timestamp:
- 02/17/12 14:57:42 (12 years ago)
- Location:
- trunk/data/konvert/postnas_0.7
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7/konv_batch.sh
r162 r163 5 5 ## Batch-Teil, Aufruf mit geprueften Parametern - 6 6 ## ------------------------------------------------- 7 ## 8 ## Ordner-Struktur: 9 ## /mandant/ 10 ## /0001/*.xml.zip 11 ## /0002/*.xml.zip 12 ## usw. 13 ## /temp/ 14 ## Auf der gleichen Ebene wie die Datenordner muss ein Ordner /temp/ existieren. 15 ## Dort werden die NAS-Daten temporär ausgepackt. 16 ## Relativ zum mitgegebenen Parameter ist das: '../temp/' 17 ## Parallel laufende Konvertierungen zum gleichen Mandanten 18 ## würden hier durcheinander geraten. Vermeiden! 19 ## 7 20 ## Stand: 8 21 ## 2012-02-10 Umbennung nach 0.7 22 ## 2012-02-17 Optimierung 9 23 ## 10 ## Konverter: /opt/gdal-1.9 /bin/ = GDAL 1.9/ PostNAS 0.724 ## Konverter: /opt/gdal-1.9.1/bin/ = GDAL 1.9-DEV / PostNAS 0.7 11 25 ## Koordinaten: EPSG:25832 UTM, Zone 32 12 26 ## -a_srs EPSG:25832 - bleibt im UTM-System (korrigierte Werte) … … 50 64 # DB-Connection 51 65 con="-p 5432 -d ${DBNAME} " 52 #53 66 echo "Datenbank-Name . . = ${DBNAME}" 54 67 echo "Ordner NAS-Daten . = ${ORDNER}" … … 76 89 then 77 90 # E R S T L A D E N 78 /opt/gdal-1.9 /bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \91 /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \ 79 92 PG:"dbname=${DBNAME} host=localhost port=5432" \ 80 93 -a_srs EPSG:25832 ${nasdatei} ${layer} 2>> $errprot … … 85 98 # A K T U A L I S I E R U N G 86 99 echo "- 1. Nur delete-Layer auswerten" 87 /opt/gdal-1.9 /bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \100 /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \ 88 101 PG:"dbname=${DBNAME} host=localhost port=5432" \ 89 102 -a_srs EPSG:25832 ${nasdatei} delete 2>> $errprot … … 96 109 # 97 110 echo "- 2. alle Layer auswerten" 98 /opt/gdal-1.9 /bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \111 /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \ 99 112 PG:"dbname=${DBNAME} host=localhost port=5432" \ 100 113 -a_srs EPSG:25832 ${nasdatei} ${layer} 2>> $errprot -
trunk/data/konvert/postnas_0.7/ordner_konvertieren.sh
r162 r163 3 3 ## Konvertierung von ALKIS NAS-Format nach PosGIS - 4 4 ## NAS-Daten in einem Ordner konvertieren - 5 ## Dialog-Teil zum Ermitteln der Parameter-5 ## Dialog-Teil zum Abfragen der Parameter - 6 6 ## ------------------------------------------------- 7 7 ## Stand: 8 8 ## 2012-02-10 PostNAS 07, Umbenennung 9 ## 2012-02-17 Parameter "DBUSER" raus 9 10 ## 10 11 function get_db_config(){ 11 12 # 12 13 # Name der zu ladenden ALKIS-Datenbank 14 # 13 15 until [ -n "$DBNAME" ] 14 16 do … … 17 19 read DBNAME 18 20 done 19 20 echo "" 21 echo "Datenbank-User?" 22 read DBUSER 23 24 # echo "" 25 # echo "Datenbank-Passwort?" 26 # stty -echo 27 # read DBPASS 28 # stty echo 29 30 ## Ordner (Eingabedaten) 21 # 22 # Ordner (Eingabedaten) 23 # 31 24 echo "" 32 25 echo "Ordner mit gezippten NAS-Daten (*.xml.zip)? (Absoluter Pfad)" … … 43 36 LSRESULT=$? 44 37 done 45 38 # 46 39 # Erstladen oder NBA-Aktualisierung 40 # 47 41 echo " " 48 42 echo "Art der Konvertierung" … … 54 48 read UPD 55 49 done 50 # 56 51 # Bestaetigung holen 52 # 57 53 echo " " 58 54 echo "Abschließende Bestätigung:" … … 74 70 echo "** Konvertierung ALKIS **" > /data/konvert/postnas_0.7/log/postnas_err.prot 75 71 echo "** Beginn Batch **" 76 ## 1 2 3 4 577 /data/konvert/postnas_0.7/konv_batch.sh $ORDNER $DBNAME $DBUSER$UPD72 ## 1 2 3 73 /data/konvert/postnas_0.7/konv_batch.sh $ORDNER $DBNAME $UPD 78 74 result=$? 79 75 if [ $result = 0 ] … … 85 81 echo " " 86 82 echo " Kommando fuer Wiederholung:" 87 echo " /data/konvert/postnas_0.7/konv_batch.sh $ORDNER $DBNAME $ DBUSER $UPD "83 echo " /data/konvert/postnas_0.7/konv_batch.sh $ORDNER $DBNAME $UPD " 88 84 echo " " 89 85 ### -
trunk/data/konvert/postnas_0.7/pp_definition.sql
r162 r163 2 2 -- ALKIS PostNAS 0.7 3 3 4 -- Post Processing Teil 1: Anlegen der Tabellen4 -- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views 5 5 6 6 -- Stand 7 7 8 8 -- 2012-02-13 PostNAS 07, Umbenennung 9 -- 2012-02-17 Optimierung 9 10 10 11 -- ============================ … … 42 43 43 44 CREATE TABLE pp_gemeinde ( 44 land integer, 45 gid serial, 46 land integer NOT NULL, 45 47 regierungsbezirk integer, 46 48 kreis integer, 47 gemeinde integer ,49 gemeinde integer NOT NULL, 48 50 gemeindename character varying(80), 49 51 -- gkz character varying(03), -- wird (noch) nicht benutzt 50 52 anz_gemarkg integer, -- Anzahl Gemarkungen 51 53 CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde) 52 54 ); 53 55 54 55 -- GesamtflÀche 56 -- ALTER TABLE pp_gemeinde ADD COLUMN gid serial; 57 CREATE UNIQUE INDEX pp_gemeinde_gid_ix ON pp_gemeinde (gid); 58 59 -- Gesamtflaeche 56 60 SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2); 57 58 -- Index59 61 CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom); 60 62 61 -- vereinfachte Gesamtfl Àche63 -- vereinfachte Gesamtflaeche 62 64 SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2); 63 64 65 CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom); 65 66 … … 68 69 COMMENT ON COLUMN pp_gemeinde.gemeinde IS 'Gemeindenummer'; 69 70 COMMENT ON COLUMN pp_gemeinde.gkz IS 'Gemeindekennziffer fÃŒr Mandant'; 71 COMMENT ON COLUMN pp_gemeinde.the_geom IS 'prÀzise Geometrie aus Summe aller Gemarkungen'; 72 COMMENT ON COLUMN pp_gemeinde.simple_geom IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÀben.'; 70 73 71 74 … … 80 83 -- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden. 81 84 82 --CREATE TABLE gemeinde_gemarkung ( -- PostNAS 0.6 83 CREATE TABLE pp_gemarkung ( -- PostNAS 0.7 84 land integer, 85 --CREATE TABLE gemeinde_gemarkung ( -- alt: PostNAS 0.6 86 CREATE TABLE pp_gemarkung ( -- PostNAS 0.7 87 gid serial, 88 land integer NOT NULL, 85 89 regierungsbezirk integer, 86 90 kreis integer, 87 gemeinde integer , -- fast ein Foreign-Key Constraint91 gemeinde integer NOT NULL, -- fast ein Foreign-Key Constraint 88 92 gemarkung integer NOT NULL, 89 93 gemarkungsname character varying(80), 90 anz_flur integer, -- Anzahl Fluren94 anz_flur integer, -- Anzahl Fluren 91 95 CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung) 92 96 ); 93 97 98 -- ALTER TABLE pp_gemarkung ADD COLUMN gid serial; 99 CREATE UNIQUE INDEX pp_gemarkung_gid_ix ON pp_gemarkung (gid); 94 100 95 101 -- GesamtflÀche 96 102 SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2); 97 98 -- Index99 103 CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom); 100 101 104 102 105 -- vereinfachte GesamtflÀche 103 106 SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2); 104 105 107 CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom); 106 108 107 109 108 COMMENT ON TABLE pp_gemarkung IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde'; 109 COMMENT ON COLUMN pp_gemarkung.gemeinde IS 'Gemeindenummer'; 110 COMMENT ON COLUMN pp_gemarkung.gemarkung IS 'Gemarkungsnummer'; 110 COMMENT ON TABLE pp_gemarkung IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde'; 111 COMMENT ON COLUMN pp_gemarkung.gemeinde IS 'Gemeindenummer'; 112 COMMENT ON COLUMN pp_gemarkung.gemarkung IS 'Gemarkungsnummer'; 113 COMMENT ON COLUMN pp_gemarkung.the_geom IS 'prÀzise Geometrie aus Summe aller Fluren'; 114 COMMENT ON COLUMN pp_gemarkung.simple_geom IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÀben.'; 111 115 112 116 … … 115 119 116 120 CREATE TABLE pp_flur ( 117 land integer, 121 gid serial, 122 land integer NOT NULL, 118 123 regierungsbezirk integer, 119 124 kreis integer, 120 125 gemarkung integer NOT NULL, 121 126 flurnummer integer NOT NULL, 122 anz_fs integer, -- Anzahl FlurstÃŒcke127 anz_fs integer, -- Anzahl FlurstÃŒcke 123 128 CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer) 124 129 ); 125 130 131 -- ALTER TABLE pp_flur ADD COLUMN gid serial; 132 CREATE UNIQUE INDEX pp_flur_gid_ix ON pp_flur (gid); 133 126 134 -- GesamtflÀche 127 135 SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2); 128 129 -- Index130 136 CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom); 131 137 132 138 COMMENT ON TABLE pp_flur IS 'Post-Processing: Flur'; 133 139 COMMENT ON COLUMN pp_flur.gemarkung IS 'Gemarkungsnummer'; 140 COMMENT ON COLUMN pp_flur.the_geom IS 'Geometrie aus Summe aller FlurstÃŒcke'; 134 141 135 142 … … 150 157 151 158 CREATE TABLE gemeinde_person ( 152 land 159 land integer, 153 160 regierungsbezirk integer, 154 kreis 161 kreis integer, 155 162 gemeinde integer, 156 person character varying(16), 163 person character varying(16), 157 164 buchtyp integer, 158 165 CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person) … … 288 295 289 296 297 -- Views zur Analyse der vereinfachten Geometrie 298 -- Finden des richtigen Genauigkeits-Wertes fÃŒr die Vereinfachung der Geometrie 299 300 -- z.B. Gemeinden: 10 Meter 301 -- Gemarkungen: 4 Meter 302 303 CREATE VIEW pp_gemeinde_analyse AS 304 SELECT land, gemeinde, gemeindename, 305 st_npoints(the_geom) AS umring_alle_punkte, 306 st_npoints(simple_geom) AS umring_einfache_punkte 307 FROM pp_gemeinde; 308 309 310 CREATE VIEW pp_gemarkung_analyse AS 311 SELECT land, gemeinde, gemarkung, gemarkungsname, 312 st_npoints(the_geom) AS umring_alle_punkte, 313 st_npoints(simple_geom) AS umring_einfache_punkte 314 FROM pp_gemarkung; 315 316 290 317 -- ENDE -- -
trunk/data/konvert/postnas_0.7/pp_laden.sql
r162 r163 2 2 -- ALKIS PostNAS 0.7 3 3 4 -- Post Processing Teil 2: Laden der Tabellen4 -- Post Processing (pp_) Teil 2: Laden der Tabellen 5 5 6 6 -- Stand 7 7 8 8 -- 2012-02-13 PostNAS 07, Umbenennung 9 -- 2012-02-17 Optimierung 9 10 10 11 … … 81 82 82 83 83 -- =============================================================== 84 -- Geometrien der Flurstücke zu größeren Einheiten zusammen fassen 85 -- =============================================================== 84 -- ============================================================================== 85 -- Geometrien der Flurstücke schrittweise zu groesseren Einheiten zusammen fassen 86 -- ============================================================================== 87 88 -- Dies macht nur Sinn, wenn der Inhalt der Datenbenk einen ganzen Katasterbezirk enthält. 89 -- Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 90 -- die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch! 86 91 87 92 INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemarkung, flurnummer, anz_fs, the_geom ) … … 104 109 ); 105 110 106 -- Fluren z ählen111 -- Fluren zaehlen 107 112 UPDATE pp_gemarkung a 108 113 SET anz_flur = … … 112 117 ); -- Gemarkungsnummer ist je BundesLand eindeutig 113 118 114 -- Geometrie vereinfachen 115 UPDATE pp_gemarkung SET simple_geom = simplify(the_geom, 4.0); 116 117 COMMENT ON COLUMN pp_gemarkung.simple_geom IS 'Vereinfachte Geometrie mit 4 Meter-Genauigkeit. Für Anzeige von Übersichten in kleinen Maßstäben.'; 119 -- Geometrie vereinfachen (Wirkung siehe pp_gemarkung_analyse) 120 UPDATE pp_gemarkung SET simple_geom = simplify(the_geom, 8.0); 118 121 119 122 … … 137 140 ); 138 141 139 -- Geometrie vereinfachen 140 141 UPDATE pp_gemeinde SET simple_geom = simplify(the_geom, 10.0); 142 143 COMMENT ON COLUMN pp_gemeinde.simple_geom IS 'Vereinfachte Geometrie mit 10 Meter-Genauigkeit. Für Anzeige von Übersichten in kleinen Maßstäben.'; 144 142 -- Geometrie vereinfachen (Wirkung siehe pp_gemeinde_analyse) 143 UPDATE pp_gemeinde SET simple_geom = simplify(the_geom, 20.0); 145 144 146 145
Note: See TracChangeset
for help on using the changeset viewer.