Ignore:
Timestamp:
08/28/14 11:29:21 (10 years ago)
Author:
frank.jaeger
Message:

Beginn der Umstellung von Datenbank-Schema und Views.
Noch nicht ausgetestet.
Programme noch nicht umgestellt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Version-0.8/import/pp_definition.sql

    r316 r324  
    44-- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views 
    55 
    6 -- ACHTUNG! 
    7 -- Systemvariable vorher setzen fÃŒr das Koordinatensystem, z.B. 
    8 -- EPSG=25832 
     6-- ACHTUNG! Systemvariable vorher setzen fÃŒr das Koordinatensystem 
     7-- :alkis_epsg=25832 
    98 
    109-- Stand  
    11  
    1210--  2012-02-13 PostNAS 07, Umbenennung 
    1311--  2012-02-17 Optimierung 
     
    1917--  2013-04-18 Kommentare. 
    2018--  2012-10-24 Neue Tabelle fÃŒr die PrÀsentation von Straßennamen und -Klassifikationen 
    21  
     19--  2014-08-26 Aus "pp_strassenname" werden die Varianten *_p und *_l 
     20--             Erweiterte gml_id wie bei den primÀren Tabellen, bisher (16). 
    2221 
    2322-- ============================ 
     
    3534 
    3635-- ToDo: 
    37  
    3836-- Muss *multi*-Polygon sein? Gibt es "zerrissene" Fluren/Gemarkungen? 
    3937-- Der View "gemeinde_gemarkung" kann entfallen, wenn Navigation umgestellt wurde. 
     
    4240 
    4341-- Alles auf Anfang! 
    44  
    45 -- DROP VIEW gemeinde_person_typ1; 
    46 -- DROP VIEW gemeinde_person_typ2; 
    47 -- DROP VIEW gemeinde_gemarkung; 
    48 -- DROP TABLE pp_gemeinde; 
    49 -- DROP TABLE pp_gemarkung; 
    50 -- DROP TABLE pp_flur; 
    51  
     42/* 
     43 DROP VIEW gemeinde_person_typ1; 
     44 DROP VIEW gemeinde_person_typ2; 
     45 DROP VIEW gemeinde_gemarkung; 
     46 DROP TABLE pp_gemeinde; 
     47 DROP TABLE pp_gemarkung; 
     48 DROP TABLE pp_flur; 
     49*/ 
    5250 
    5351-- Tabelle fuer Gemeinden 
     
    5553 
    5654  CREATE TABLE pp_gemeinde ( 
    57     gid                 serial, 
    58     land                integer NOT NULL, 
    59     regierungsbezirk    integer, 
    60     kreis               integer, 
    61     gemeinde            integer NOT NULL, 
    62     gemeindename        character varying(80), 
    63  -- gkz                 character varying(03),  -- wird (noch) nicht benutzt 
    64     anz_gemarkg         integer,                -- Anzahl Gemarkungen 
     55    gid                serial, 
     56    land               integer NOT NULL, 
     57    regierungsbezirk   integer, 
     58    kreis              integer, 
     59    gemeinde           integer NOT NULL, 
     60    gemeindename       character varying(80), 
     61 -- gkz                character varying(03),    -- wird (noch) nicht benutzt 
     62    anz_gemarkg        integer,                  -- Anzahl Gemarkungen 
    6563    CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde) 
    6664  ); 
     
    9593 
    9694  CREATE TABLE pp_gemarkung ( 
    97     gid                 serial, 
    98     land                integer NOT NULL, 
    99     regierungsbezirk    integer, 
    100     kreis               integer, 
    101     gemeinde            integer NOT NULL,       -- fast ein Foreign-Key Constraint 
    102     gemarkung           integer NOT NULL, 
    103     gemarkungsname      character varying(80), 
    104     anz_flur            integer,                -- Anzahl Fluren 
     95    gid                serial, 
     96    land               integer NOT NULL, 
     97    regierungsbezirk   integer, 
     98    kreis              integer, 
     99    gemeinde           integer NOT NULL,       -- fast ein Foreign-Key Constraint 
     100    gemarkung          integer NOT NULL, 
     101    gemarkungsname     character varying(80), 
     102    anz_flur           integer,                -- Anzahl Fluren 
    105103    CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung) 
    106104  ); 
     
    128126 
    129127  CREATE TABLE pp_flur ( 
    130     gid                 serial, 
    131     land                integer NOT NULL, 
    132     regierungsbezirk    integer, 
    133     kreis               integer, 
    134     gemarkung           integer NOT NULL, 
    135     flurnummer          integer NOT NULL, 
    136     anz_fs              integer,                -- Anzahl FlurstÃŒcke 
     128    gid                serial, 
     129    land               integer NOT NULL, 
     130    regierungsbezirk   integer, 
     131    kreis              integer, 
     132    gemarkung          integer NOT NULL, 
     133    flurnummer         integer NOT NULL, 
     134    anz_fs             integer,              -- Anzahl FlurstÃŒcke 
    137135    CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer) 
    138136  ); 
     
    172170 
    173171  CREATE TABLE gemeinde_person ( 
    174     land                integer, 
    175     regierungsbezirk    integer, 
    176     kreis               integer, 
    177     gemeinde            integer, 
    178     person              character varying(16), 
    179     buchtyp             integer, 
     172    land                integer, 
     173    regierungsbezirk    integer, 
     174    kreis               integer, 
     175    gemeinde            integer, 
     176    person              character varying, 
     177    buchtyp             integer, 
    180178    CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person) 
    181179  ); 
     
    197195  CREATE TABLE pp_flurstueck_nr ( 
    198196    gid         serial, 
    199     fsgml       character(16), 
    200     fsnum       character varying(10),  -- zzzzz/nnnn 
     197    fsgml            character varying, 
     198    fsnum            character varying(10),  -- zzzzz/nnnn 
    201199    CONSTRAINT pp_flurstueck_nr_pk  PRIMARY KEY (gid)  --, 
    202200-- Foreign Key 
     
    212210 
    213211-- Geometrischer Index 
    214 CREATE INDEX pp_flurstueck_nr_gidx ON pp_flurstueck_nr USING gist(the_geom); 
    215  
    216 -- Foreig-Key Index 
    217 CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr(fsgml); 
     212CREATE INDEX pp_flurstueck_nr_gidx    ON pp_flurstueck_nr USING gist  (the_geom); 
     213CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr USING btree (fsgml); 
    218214 
    219215COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte'; 
     
    363359  FROM pp_gemarkung; 
    364360 
    365  
    366 -- NEU 2013-10-24 
    367 -- Tabelle fÃŒr die PrÀsentation von Straßen-Namen und -Klassifikationen 
    368 -- Tabelle "pp_strassenname" speichert den VIEW "ap_pto_stra". 
    369  
    370 --DROP TABLE pp_strassenname; 
    371 CREATE TABLE pp_strassenname  
    372 (   gid         serial NOT NULL, 
    373     gml_id character(16), 
    374  -- advstandardmodell character varying[], 
    375     schriftinhalt character varying, -- Label: anzuzeigender Text 
    376     hor character varying, 
    377     ver character varying, 
    378  -- signaturnummer character varying, 
     361-- 2014-08-26 Aus Version "pp_strassenname" werden die Varianten *_p und *_l 
     362 
     363-- Variante fÃŒr Punkt-Geometrie 
     364CREATE TABLE pp_strassenname_p  
     365(   gid                    serial NOT NULL, 
     366    gml_id                 character varying, 
     367 -- advstandardmodell      character varying[], 
     368    schriftinhalt          character varying,      -- Label: anzuzeigender Text 
     369    hor                    character varying, 
     370    ver                    character varying, 
     371 -- signaturnummer         character varying, 
    379372 -- darstellungsprioritaet integer, 
    380     art character varying, 
    381     winkel double precision, 
    382     CONSTRAINT pp_snam_pk  PRIMARY KEY (gid) 
     373    art                    character varying, 
     374    winkel                 double precision, 
     375    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid) 
    383376) WITH (OIDS=FALSE); 
    384377 
    385 SELECT AddGeometryColumn('pp_strassenname','the_geom',:alkis_epsg,'POINT',2); 
    386 CREATE INDEX pp_snam_gidx ON pp_strassenname USING gist(the_geom);  
    387  
    388   COMMENT ON TABLE  pp_strassenname                IS 'Post-Processing: Label der Straßennamen in der Karte. Auszug aus ap_pto.'; 
    389  
    390   COMMENT ON COLUMN pp_strassenname.gid            IS 'EditierschlÃŒssel der Tabelle'; 
    391   COMMENT ON COLUMN pp_strassenname.gml_id         IS 'ObjektschlÃŒssel des PrÀsentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.'; 
    392   COMMENT ON COLUMN pp_strassenname.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
    393   COMMENT ON COLUMN pp_strassenname.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...'; 
    394   COMMENT ON COLUMN pp_strassenname.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..'; 
    395   COMMENT ON COLUMN pp_strassenname.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
    396   COMMENT ON COLUMN pp_strassenname.winkel         IS 'Drehung des Textes'; 
    397   COMMENT ON COLUMN pp_strassenname.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
     378-- :alkis_epsg = 25832 
     379SELECT AddGeometryColumn('pp_strassenname_p','the_geom',:alkis_epsg,'POINT',2); 
     380CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom);  
     381 
     382  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der Straßennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.'; 
     383 
     384  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle'; 
     385  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.'; 
     386  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
     387  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...'; 
     388  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..'; 
     389  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
     390  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes'; 
     391  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
     392 
     393-- Variante fÃŒr Linien-Geometrie 
     394CREATE TABLE pp_strassenname_l  
     395(   gid                    serial NOT NULL, 
     396    gml_id                 character varying, 
     397    schriftinhalt          character varying,      -- Label: anzuzeigender Text 
     398    hor                    character varying, 
     399    ver                    character varying, 
     400    art                    character varying, 
     401 -- winkel                 double precision,       -- bei Linien-Variante nicht benötigt 
     402    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid) 
     403) WITH (OIDS=FALSE); 
     404 
     405-- :alkis_epsg = 25832 
     406SELECT AddGeometryColumn('pp_strassenname_l','the_geom',:alkis_epsg,'LINESTRING',2); -- Hier liegt der Unterschied 
     407CREATE INDEX pp_snaml_gidx ON pp_strassenname_l USING gist(the_geom);  
     408 
     409  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der Straßennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.'; 
     410 
     411  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle'; 
     412  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.'; 
     413  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
     414  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...'; 
     415  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..'; 
     416  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
     417  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
     418 
    398419 
    399420-- ENDE -- 
Note: See TracChangeset for help on using the changeset viewer.