Index: Version-0.8/import/pp_definition.sql
===================================================================
--- Version-0.8/import/pp_definition.sql	(revision 322)
+++ Version-0.8/import/pp_definition.sql	(revision 324)
@@ -4,10 +4,8 @@
 -- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views
 
--- ACHTUNG!
--- Systemvariable vorher setzen fÃŒr das Koordinatensystem, z.B.
--- EPSG=25832
+-- ACHTUNG! Systemvariable vorher setzen fÃŒr das Koordinatensystem
+-- :alkis_epsg=25832
 
 -- Stand 
-
 --  2012-02-13 PostNAS 07, Umbenennung
 --  2012-02-17 Optimierung
@@ -19,5 +17,6 @@
 --  2013-04-18 Kommentare.
 --  2012-10-24 Neue Tabelle fÃŒr die PrÃ€sentation von StraÃennamen und -Klassifikationen
-
+--  2014-08-26 Aus "pp_strassenname" werden die Varianten *_p und *_l
+--             Erweiterte gml_id wie bei den primÃ€ren Tabellen, bisher (16).
 
 -- ============================
@@ -35,5 +34,4 @@
 
 -- ToDo:
-
 -- Muss *multi*-Polygon sein? Gibt es "zerrissene" Fluren/Gemarkungen?
 -- Der View "gemeinde_gemarkung" kann entfallen, wenn Navigation umgestellt wurde.
@@ -42,12 +40,12 @@
 
 -- Alles auf Anfang!
-
--- DROP VIEW gemeinde_person_typ1;
--- DROP VIEW gemeinde_person_typ2;
--- DROP VIEW gemeinde_gemarkung;
--- DROP TABLE pp_gemeinde;
--- DROP TABLE pp_gemarkung;
--- DROP TABLE pp_flur;
-
+/*
+ DROP VIEW gemeinde_person_typ1;
+ DROP VIEW gemeinde_person_typ2;
+ DROP VIEW gemeinde_gemarkung;
+ DROP TABLE pp_gemeinde;
+ DROP TABLE pp_gemarkung;
+ DROP TABLE pp_flur;
+*/
 
 -- Tabelle fuer Gemeinden
@@ -55,12 +53,12 @@
 
   CREATE TABLE pp_gemeinde (
-    gid			serial,
-    land		integer NOT NULL,
-    regierungsbezirk	integer,
-    kreis		integer,
-    gemeinde		integer NOT NULL,
-    gemeindename	character varying(80),
- -- gkz			character varying(03),	-- wird (noch) nicht benutzt
-    anz_gemarkg		integer,		-- Anzahl Gemarkungen
+    gid                serial,
+    land               integer NOT NULL,
+    regierungsbezirk   integer,
+    kreis              integer,
+    gemeinde           integer NOT NULL,
+    gemeindename       character varying(80),
+ -- gkz                character varying(03),    -- wird (noch) nicht benutzt
+    anz_gemarkg        integer,                  -- Anzahl Gemarkungen
     CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde)
   );
@@ -95,12 +93,12 @@
 
   CREATE TABLE pp_gemarkung (
-    gid			serial,
-    land		integer NOT NULL,
-    regierungsbezirk	integer,
-    kreis		integer,
-    gemeinde		integer NOT NULL,	-- fast ein Foreign-Key Constraint
-    gemarkung		integer NOT NULL,
-    gemarkungsname	character varying(80),
-    anz_flur		integer,		-- Anzahl Fluren
+    gid                serial,
+    land               integer NOT NULL,
+    regierungsbezirk   integer,
+    kreis              integer,
+    gemeinde           integer NOT NULL,       -- fast ein Foreign-Key Constraint
+    gemarkung          integer NOT NULL,
+    gemarkungsname     character varying(80),
+    anz_flur           integer,                -- Anzahl Fluren
     CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung)
   );
@@ -128,11 +126,11 @@
 
   CREATE TABLE pp_flur (
-    gid			serial,
-    land		integer NOT NULL,
-    regierungsbezirk	integer,
-    kreis		integer,
-    gemarkung		integer NOT NULL,
-    flurnummer		integer NOT NULL,
-    anz_fs		integer,		-- Anzahl FlurstÃŒcke
+    gid                serial,
+    land               integer NOT NULL,
+    regierungsbezirk   integer,
+    kreis              integer,
+    gemarkung          integer NOT NULL,
+    flurnummer         integer NOT NULL,
+    anz_fs             integer,              -- Anzahl FlurstÃŒcke
     CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer)
   );
@@ -172,10 +170,10 @@
 
   CREATE TABLE gemeinde_person (
-    land 		integer,
-    regierungsbezirk	integer,
-    kreis		integer,
-    gemeinde		integer,
-    person		character varying(16),
-    buchtyp		integer,
+    land                integer,
+    regierungsbezirk    integer,
+    kreis               integer,
+    gemeinde            integer,
+    person              character varying,
+    buchtyp             integer,
     CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person)
   );
@@ -197,6 +195,6 @@
   CREATE TABLE pp_flurstueck_nr (
     gid		serial,
-    fsgml	character(16),
-    fsnum	character varying(10),  -- zzzzz/nnnn
+    fsgml	     character varying,
+    fsnum	     character varying(10),  -- zzzzz/nnnn
     CONSTRAINT pp_flurstueck_nr_pk  PRIMARY KEY (gid)  --,
 -- Foreign Key
@@ -212,8 +210,6 @@
 
 -- Geometrischer Index
-CREATE INDEX pp_flurstueck_nr_gidx ON pp_flurstueck_nr USING gist(the_geom);
-
--- Foreig-Key Index
-CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr(fsgml);
+CREATE INDEX pp_flurstueck_nr_gidx    ON pp_flurstueck_nr USING gist  (the_geom);
+CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr USING btree (fsgml);
 
 COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte';
@@ -363,37 +359,62 @@
   FROM pp_gemarkung;
 
-
--- NEU 2013-10-24
--- Tabelle fÃŒr die PrÃ€sentation von StraÃen-Namen und -Klassifikationen
--- Tabelle "pp_strassenname" speichert den VIEW "ap_pto_stra".
-
---DROP TABLE pp_strassenname;
-CREATE TABLE pp_strassenname 
-(   gid		serial NOT NULL,
-    gml_id character(16),
- -- advstandardmodell character varying[],
-    schriftinhalt character varying, -- Label: anzuzeigender Text
-    hor character varying,
-    ver character varying,
- -- signaturnummer character varying,
+-- 2014-08-26 Aus Version "pp_strassenname" werden die Varianten *_p und *_l
+
+-- Variante fÃŒr Punkt-Geometrie
+CREATE TABLE pp_strassenname_p 
+(   gid                    serial NOT NULL,
+    gml_id                 character varying,
+ -- advstandardmodell      character varying[],
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+ -- signaturnummer         character varying,
  -- darstellungsprioritaet integer,
-    art character varying,
-    winkel double precision,
-    CONSTRAINT pp_snam_pk  PRIMARY KEY (gid)
+    art                    character varying,
+    winkel                 double precision,
+    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid)
 ) WITH (OIDS=FALSE);
 
-SELECT AddGeometryColumn('pp_strassenname','the_geom',:alkis_epsg,'POINT',2);
-CREATE INDEX pp_snam_gidx ON pp_strassenname USING gist(the_geom); 
-
-  COMMENT ON TABLE  pp_strassenname                IS 'Post-Processing: Label der StraÃennamen in der Karte. Auszug aus ap_pto.';
-
-  COMMENT ON COLUMN pp_strassenname.gid            IS 'EditierschlÃŒssel der Tabelle';
-  COMMENT ON COLUMN pp_strassenname.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.';
-  COMMENT ON COLUMN pp_strassenname.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
-  COMMENT ON COLUMN pp_strassenname.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
-  COMMENT ON COLUMN pp_strassenname.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
-  COMMENT ON COLUMN pp_strassenname.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
-  COMMENT ON COLUMN pp_strassenname.winkel         IS 'Drehung des Textes';
-  COMMENT ON COLUMN pp_strassenname.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_p','the_geom',:alkis_epsg,'POINT',2);
+CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der StraÃennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.';
+
+  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle';
+  COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes';
+  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+-- Variante fÃŒr Linien-Geometrie
+CREATE TABLE pp_strassenname_l 
+(   gid                    serial NOT NULL,
+    gml_id                 character varying,
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+    art                    character varying,
+ -- winkel                 double precision,       -- bei Linien-Variante nicht benÃ¶tigt
+    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_l','the_geom',:alkis_epsg,'LINESTRING',2); -- Hier liegt der Unterschied
+CREATE INDEX pp_snaml_gidx ON pp_strassenname_l USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der StraÃennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.';
+
+  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle';
+  COMMENT ON COLUMN pp_strassenname_l.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
 
 -- ENDE --
