Ignore:
Timestamp:
09/10/14 12:08:18 (10 years ago)
Author:
frank.jaeger
Message:

Umstellung von PostNAS 0.7 auf PostNAS 0.8, ohne Tabelle "alkis_beziehungen".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/nutzungsart_definition.sql

    r314 r330  
    1818--  2013-11-15 In nutzung_class.class können NULL-Werte auftreten. 
    1919--  2013-11-26 NULL wird durch Zahl "0" ersetzt, "NOT NULL" wieder aktivieren 
     20--  2014-08-26 erweiterte gml_id (wie in den primÀren Tabellen) 
    2021 
    2122SET client_encoding = 'UTF-8'; 
    2223 
    2324-- Alles auf Anfang! 
    24  
    25 -- DROP TABLE nutzung; 
    26 -- DROP TABLE nutzung_class; 
    27 -- DROP TABLE nutzung_meta; 
    28  
     25/* 
     26  DROP TABLE nutzung; 
     27  DROP TABLE nutzung_class; 
     28  DROP TABLE nutzung_meta; 
     29*/ 
    2930 
    3031-- Meta-Informationen ueber die Zusammenfassung und Gruppierung 
    3132-- ------------------------------------------------------------ 
    32  
    3333CREATE TABLE nutzung_meta ( 
    3434        nutz_id           integer NOT NULL, 
     
    5252-- Alle Abschnitte der "tatsÀchlichen Nutzung" vereinigt in einer Tabelle  
    5353-- Sie sind dann mit einem gemeinsamen Geometrie-Index mit einer SQL-Abfrage auffindbar. 
    54 -- Dies ist die Voraussetzung fÃŒr eine performante Auskunft. 
     54-- Dies ist die förderlich fÃŒr eine performante Auskunft. 
    5555 
    56 --DROP TABLE nutzung; 
    5756CREATE TABLE nutzung ( 
    58         gml_id          character(16), 
    59         beginnt         character(20),      -- mehrfache gml_id eindeutig machen, Datenfehler? 
    60         nutz_id         integer, 
    61         class           integer  NOT NULL,  -- NULL-Werte der Quelltabelle durch den num. Wert 0 ersetzen 
    62         info                 integer, 
    63         zustand         integer, 
    64         "name"          varchar, 
    65         bezeichnung     varchar, 
    66 --      CONSTRAINT      nutzung_pk      PRIMARY KEY (gml_id),               -- sollte so sein 
    67         CONSTRAINT      nutzung_pk      PRIMARY KEY (gml_id, beginnt),  -- wÃŒrg arround (gml_id mehrfach!) 
    68         CONSTRAINT      nutzung_meta_id FOREIGN KEY (nutz_id) 
     57        gml_id               character varying NOT NULL, 
     58        beginnt              character(20),          -- mehrfache gml_id eindeutig machen 
     59--   endet               character(20),      -- nur "ended IS NULL" kopieren 
     60        nutz_id              integer, 
     61        class                integer NOT NULL,   -- NULL-Werte der Quelltabelle durch den num. Wert 0 ersetzen 
     62        info                      integer, 
     63        zustand              integer, 
     64        "name"               character varying, 
     65        bezeichnung          character varying, 
     66        CONSTRAINT nutzung_pk      PRIMARY KEY (gml_id, beginnt), 
     67        CONSTRAINT nutzung_meta_id FOREIGN KEY (nutz_id) 
    6968                REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE 
    7069                ON UPDATE NO ACTION ON DELETE CASCADE 
     
    7271WITH (OIDS=FALSE); 
    7372 
    74 -- ALTER TABLE nutzung ADD COLUMN beginnt character(20); 
    75 -- ALTER TABLE nutzung DROP CONSTRAINT nutzung_pk; 
    76 -- ALTER TABLE nutzung ADD  CONSTRAINT nutzung_pk PRIMARY KEY(gml_id, beginnt); 
    77  
    7873 
    7974SELECT AddGeometryColumn('nutzung','wkb_geometry','25832','POLYGON',2); 
    80 -- Vereinzelt vorkommende MULTIPOLYGON, zulÀssig? 
     75-- Vereinzelt auch vorkommende MULTIPOLYGON 
    8176 
    8277-- 'class' ist nur innerhalb einer Gruppe ein sinvoller Index 
     
    8681CREATE INDEX nutzung_geom_idx ON nutzung USING gist (wkb_geometry); 
    8782 
    88 -- Kommentare 
    8983COMMENT ON TABLE  nutzung             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÀchliche Nutzung".'; 
    9084COMMENT ON COLUMN nutzung.gml_id      IS 'Identifikator, global eindeutig'; 
     
    9993-- Schluesseltabelle: classes innerhalb einer Nutzungsart. 
    10094-- Wird nicht aus NAS geladen sondern durch das manuell zu pflegende Script "nutzungsart_metadaten.sql" 
    101  
    102  
    103 --DROP TABLE nutzung_class; 
    10495CREATE TABLE nutzung_class ( 
    10596        nutz_id       integer NOT NULL, 
     
    114105 
    115106  COMMENT ON TABLE  nutzung_class            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten Nutzungsarten.'; 
    116 --COMMENT ON COLUMN nutzung_class.ser        IS 'Automatisches SchlÃŒsselfeld'; 
    117107  COMMENT ON COLUMN nutzung_class.nutz_id    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle nutzung.'; 
    118108  COMMENT ON COLUMN nutzung_class.class      IS 'Key, SchlÃŒsselwert oder NULL'; 
     
    124114-- Da nun gml_id nicht mehr PRIMARY KEY der Ausgangstabellen ist , kommt es auch zu Doppelbelegungen der Zusammenfassung. 
    125115-- Diese FÀlle suchen. 
    126  
    127 -- SELECT a.gml_id, a.artderbebauung, a.ogc_fid, a.beginnt, b.ogc_fid , b.beginnt 
    128 -- FROM ax_wohnbauflaeche a JOIN ax_wohnbauflaeche b ON a.gml_id = b.gml_id 
    129 -- WHERE a.ogc_fid < b.ogc_fid LIMIT 100;  
    130  
    131116CREATE OR REPLACE VIEW nutzung_mehrfache_gml AS 
    132         SELECT  a.gml_id,  
    133                 a.nutz_id, 
    134                 a.beginnt as beginnt1,  
    135                 b.beginnt as beginnt2 
     117        SELECT a.gml_id, a.nutz_id, a.beginnt as beginnt1, b.beginnt as beginnt2 
    136118        FROM nutzung a  
    137         JOIN nutzung b  
    138           ON a.gml_id = b.gml_id 
     119        JOIN nutzung b ON a.gml_id = b.gml_id 
    139120        WHERE a.beginnt < b.beginnt 
    140121        --LIMIT 100 
Note: See TracChangeset for help on using the changeset viewer.