Index: trunk/data/konvert/postnas_0.7/ordner_konvertieren.sh
===================================================================
--- trunk/data/konvert/postnas_0.7/ordner_konvertieren.sh	(revision 162)
+++ trunk/data/konvert/postnas_0.7/ordner_konvertieren.sh	(revision 163)
@@ -3,12 +3,14 @@
 ## Konvertierung von ALKIS NAS-Format nach PosGIS  -
 ## NAS-Daten in einem Ordner konvertieren          -
-## Dialog-Teil zum Ermitteln der Parameter         -
+## Dialog-Teil zum Abfragen der Parameter          -
 ## -------------------------------------------------
 ## Stand:
 ##  2012-02-10  PostNAS 07, Umbenennung
+##  2012-02-17  Parameter "DBUSER" raus
 ## 
 function get_db_config(){
-
+	#
 	# Name der zu ladenden ALKIS-Datenbank
+	#
 	until [ -n "$DBNAME" ]
 	do
@@ -17,16 +19,7 @@
 		read DBNAME
 	done
-
-	echo ""
-	echo "Datenbank-User?"
-	read DBUSER
-
-#	echo ""
-#	echo "Datenbank-Passwort?"
-#	stty -echo
-#		read DBPASS
-#	stty echo
-
-	## Ordner (Eingabedaten)
+	#
+	# Ordner (Eingabedaten)
+	#
 	echo ""
 	echo "Ordner mit gezippten NAS-Daten (*.xml.zip)? (Absoluter Pfad)"
@@ -43,6 +36,7 @@
 		LSRESULT=$?
 	done
-
+	#
 	# Erstladen oder NBA-Aktualisierung
+	#
 	echo " "
 	echo "Art der Konvertierung"
@@ -54,5 +48,7 @@
 		read UPD
 	done
+	#
 	# Bestaetigung holen
+	#
 	echo " "
 	echo "Abschließende Bestätigung:"
@@ -74,6 +70,6 @@
 echo "** Konvertierung ALKIS **" > /data/konvert/postnas_0.7/log/postnas_err.prot
 echo "** Beginn Batch **"
-##                                                1        2        3        4        5
-         /data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $UPD
+##                                       1        2        3
+/data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $UPD
 result=$?
 if [ $result = 0 ]
@@ -85,5 +81,5 @@
 echo " "
 echo " Kommando fuer Wiederholung:"
-echo " /data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $DBUSER  $UPD "
+echo " /data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $UPD "
 echo " "
 ###
Index: trunk/data/konvert/postnas_0.7/pp_laden.sql
===================================================================
--- trunk/data/konvert/postnas_0.7/pp_laden.sql	(revision 162)
+++ trunk/data/konvert/postnas_0.7/pp_laden.sql	(revision 163)
@@ -2,9 +2,10 @@
 -- ALKIS PostNAS 0.7
 
--- Post Processing Teil 2: Laden der Tabellen
+-- Post Processing (pp_) Teil 2: Laden der Tabellen
 
 -- Stand 
 
 --  2012-02-13 PostNAS 07, Umbenennung
+--  2012-02-17 Optimierung
 
 
@@ -81,7 +82,11 @@
 
 
--- ===============================================================
--- Geometrien der Flurstücke zu größeren Einheiten zusammen fassen
--- ===============================================================
+-- ==============================================================================
+-- Geometrien der Flurstücke schrittweise zu groesseren Einheiten zusammen fassen
+-- ==============================================================================
+
+-- Dies macht nur Sinn, wenn der Inhalt der Datenbenk einen ganzen Katasterbezirk enthält.
+-- Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 
+-- die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch!
 
 INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemarkung, flurnummer, anz_fs, the_geom )
@@ -104,5 +109,5 @@
    );
 
--- Fluren zählen
+-- Fluren zaehlen
 UPDATE pp_gemarkung a
   SET anz_flur = 
@@ -112,8 +117,6 @@
    ); -- Gemarkungsnummer ist je BundesLand eindeutig
 
--- Geometrie vereinfachen
-UPDATE pp_gemarkung SET simple_geom = simplify(the_geom, 4.0);
-
-COMMENT ON COLUMN pp_gemarkung.simple_geom     IS 'Vereinfachte Geometrie mit 4 Meter-Genauigkeit. Für Anzeige von Übersichten in kleinen Maßstäben.';
+-- Geometrie vereinfachen (Wirkung siehe pp_gemarkung_analyse)
+UPDATE pp_gemarkung SET simple_geom = simplify(the_geom, 8.0);
 
 
@@ -137,10 +140,6 @@
    );
 
--- Geometrie vereinfachen
-
-UPDATE pp_gemeinde SET simple_geom = simplify(the_geom, 10.0);
-
-COMMENT ON COLUMN pp_gemeinde.simple_geom     IS 'Vereinfachte Geometrie mit 10 Meter-Genauigkeit. Für Anzeige von Übersichten in kleinen Maßstäben.';
-
+-- Geometrie vereinfachen (Wirkung siehe pp_gemeinde_analyse)
+UPDATE pp_gemeinde SET simple_geom = simplify(the_geom, 20.0);
 
 
Index: trunk/data/konvert/postnas_0.7/pp_definition.sql
===================================================================
--- trunk/data/konvert/postnas_0.7/pp_definition.sql	(revision 162)
+++ trunk/data/konvert/postnas_0.7/pp_definition.sql	(revision 163)
@@ -2,9 +2,10 @@
 -- ALKIS PostNAS 0.7
 
--- Post Processing Teil 1: Anlegen der Tabellen
+-- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views
 
 -- Stand 
 
 --  2012-02-13 PostNAS 07, Umbenennung
+--  2012-02-17 Optimierung
 
 -- ============================
@@ -42,24 +43,24 @@
 
   CREATE TABLE pp_gemeinde (
-    land 		integer,
+    gid			serial,
+    land		integer NOT NULL,
     regierungsbezirk	integer,
     kreis		integer,
-    gemeinde		integer,
+    gemeinde		integer NOT NULL,
     gemeindename	character varying(80),
-    gkz			character varying(03),	-- wird (noch) nicht benutzt
+ -- gkz			character varying(03),	-- wird (noch) nicht benutzt
     anz_gemarkg		integer,		-- Anzahl Gemarkungen
     CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde)
   );
 
-
--- GesamtflÃ€che
+-- ALTER TABLE pp_gemeinde ADD COLUMN gid serial;
+CREATE UNIQUE INDEX pp_gemeinde_gid_ix ON pp_gemeinde (gid);
+
+-- Gesamtflaeche
 SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2);
-
--- Index
 CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom);
 
--- vereinfachte GesamtflÃ€che
+-- vereinfachte Gesamtflaeche
 SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2);
-
 CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom);
 
@@ -68,4 +69,6 @@
 COMMENT ON COLUMN pp_gemeinde.gemeinde       IS 'Gemeindenummer';
 COMMENT ON COLUMN pp_gemeinde.gkz            IS 'Gemeindekennziffer fÃŒr Mandant';
+COMMENT ON COLUMN pp_gemeinde.the_geom       IS 'prÃ€zise Geometrie aus Summe aller Gemarkungen';
+COMMENT ON COLUMN pp_gemeinde.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
 
 
@@ -80,33 +83,34 @@
 -- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden. 
 
---CREATE TABLE gemeinde_gemarkung (  -- PostNAS 0.6
-  CREATE TABLE pp_gemarkung (        -- PostNAS 0.7
-    land 		integer,
+--CREATE TABLE gemeinde_gemarkung (		-- alt: PostNAS 0.6
+  CREATE TABLE pp_gemarkung (			-- PostNAS 0.7
+    gid			serial,
+    land		integer NOT NULL,
     regierungsbezirk	integer,
     kreis		integer,
-    gemeinde		integer,	-- fast ein Foreign-Key Constraint
+    gemeinde		integer NOT NULL,	-- fast ein Foreign-Key Constraint
     gemarkung		integer NOT NULL,
     gemarkungsname	character varying(80),
-    anz_flur		integer,	-- Anzahl Fluren
+    anz_flur		integer,		-- Anzahl Fluren
     CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung)
   );
 
+-- ALTER TABLE pp_gemarkung ADD COLUMN gid serial;
+CREATE UNIQUE INDEX pp_gemarkung_gid_ix ON pp_gemarkung (gid);
 
 -- GesamtflÃ€che
 SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2);
-
--- Index
 CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom);
-
 
 -- vereinfachte GesamtflÃ€che
 SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2);
-
 CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom);
 
 
-COMMENT ON TABLE  pp_gemarkung                IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
-COMMENT ON COLUMN pp_gemarkung.gemeinde       IS 'Gemeindenummer';
-COMMENT ON COLUMN pp_gemarkung.gemarkung      IS 'Gemarkungsnummer';
+COMMENT ON TABLE  pp_gemarkung               IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
+COMMENT ON COLUMN pp_gemarkung.gemeinde      IS 'Gemeindenummer';
+COMMENT ON COLUMN pp_gemarkung.gemarkung     IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_gemarkung.the_geom      IS 'prÃ€zise Geometrie aus Summe aller Fluren';
+COMMENT ON COLUMN pp_gemarkung.simple_geom   IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
 
 
@@ -115,21 +119,24 @@
 
   CREATE TABLE pp_flur (
-    land 		integer,
+    gid			serial,
+    land		integer NOT NULL,
     regierungsbezirk	integer,
     kreis		integer,
     gemarkung		integer NOT NULL,
     flurnummer		integer NOT NULL,
-    anz_fs		integer,	-- Anzahl FlurstÃŒcke
+    anz_fs		integer,		-- Anzahl FlurstÃŒcke
     CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer)
   );
 
+-- ALTER TABLE pp_flur ADD COLUMN gid serial;
+CREATE UNIQUE INDEX pp_flur_gid_ix ON pp_flur (gid);
+
 -- GesamtflÃ€che
 SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2);
-
--- Index
 CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom);
 
 COMMENT ON TABLE  pp_flur                IS 'Post-Processing: Flur';
 COMMENT ON COLUMN pp_flur.gemarkung      IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_flur.the_geom       IS 'Geometrie aus Summe aller FlurstÃŒcke';
 
 
@@ -150,9 +157,9 @@
 
   CREATE TABLE gemeinde_person (
-    land 			integer,
+    land 		integer,
     regierungsbezirk	integer,
-    kreis			integer,
+    kreis		integer,
     gemeinde		integer,
-    person		character varying(16), 
+    person		character varying(16),
     buchtyp		integer,
     CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person)
@@ -288,3 +295,23 @@
 
 
+-- Views zur Analyse der vereinfachten Geometrie
+-- Finden des richtigen Genauigkeits-Wertes fÃŒr die Vereinfachung der Geometrie
+
+-- z.B. Gemeinden:  10 Meter
+--      Gemarkungen: 4 Meter
+
+CREATE VIEW pp_gemeinde_analyse AS
+  SELECT land, gemeinde, gemeindename,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemeinde;
+
+
+CREATE VIEW pp_gemarkung_analyse AS
+  SELECT land, gemeinde, gemarkung, gemarkungsname,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemarkung;
+
+
 -- ENDE --
Index: trunk/data/konvert/postnas_0.7/konv_batch.sh
===================================================================
--- trunk/data/konvert/postnas_0.7/konv_batch.sh	(revision 162)
+++ trunk/data/konvert/postnas_0.7/konv_batch.sh	(revision 163)
@@ -5,8 +5,22 @@
 ## Batch-Teil, Aufruf mit geprueften Parametern    -
 ## -------------------------------------------------
+##
+## Ordner-Struktur:
+##   /mandant/
+##           /0001/*.xml.zip
+##           /0002/*.xml.zip
+##          usw.
+##           /temp/
+##   Auf der gleichen Ebene wie die Datenordner muss ein Ordner /temp/ existieren.
+##   Dort werden die NAS-Daten temporär ausgepackt.
+##   Relativ zum mitgegebenen Parameter ist das: '../temp/'
+##   Parallel laufende Konvertierungen zum gleichen Mandanten 
+##   würden hier durcheinander geraten. Vermeiden!
+##
 ## Stand: 
 ##   2012-02-10 Umbennung nach 0.7
+##   2012-02-17 Optimierung
 ##
-## Konverter:   /opt/gdal-1.9/bin/ = GDAL 1.9 / PostNAS 0.7
+## Konverter:   /opt/gdal-1.9.1/bin/ = GDAL 1.9-DEV / PostNAS 0.7
 ## Koordinaten: EPSG:25832  UTM, Zone 32
 ##              -a_srs EPSG:25832   - bleibt im UTM-System (korrigierte Werte)
@@ -50,5 +64,4 @@
 # DB-Connection
 con="-p 5432 -d ${DBNAME} "
-#
 echo "Datenbank-Name . . = ${DBNAME}"
 echo "Ordner NAS-Daten . = ${ORDNER}"
@@ -76,5 +89,5 @@
     then
       # E R S T L A D E N
-      /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
+      /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
          PG:"dbname=${DBNAME} host=localhost port=5432" \
          -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot
@@ -85,5 +98,5 @@
       # A K T U A L I S I E R U N G
       echo "- 1. Nur delete-Layer auswerten" 
-      /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
+      /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
          PG:"dbname=${DBNAME} host=localhost port=5432" \
          -a_srs EPSG:25832  ${nasdatei}  delete  2>> $errprot
@@ -96,5 +109,5 @@
       #
       echo "- 2. alle Layer auswerten"
-      /opt/gdal-1.9/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
+      /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \
         PG:"dbname=${DBNAME} host=localhost port=5432" \
         -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot
