Changeset 192


Ignore:
Timestamp:
01/14/13 15:07:54 (7 years ago)
Author:
j.e.fischer
Message:

ALKIS-Schema:

  • alkis_beziehungen vorgezogen (wird in alkis-trigger-hist.sql mit TRIGGER versehen)
  • Ergänzt: ax_soll, ax_tagesabschnitt, ax_forstrecht, ax_einrichtungenfuerdenschiffsverkehr, ax_seilbahnschwebebahn, ax_schifffahrtsliniefaehrverkehr ax_wasserspiegelhoehe, ax_hoehleneingang, ax_duene, ax_hoehenlinie
  • Ergänzt: ax_gebaeudeausgestaltung.stelle: varchar=>varchar[](
  • Korrigiert: ax_sicherungspunkt.gml_id: varchar=>character(16)
  • Ergänzt: ax_anschrift.telefon, .fax
  • Geändert: ax_transportanlage: LINESTRING=>GEOMETRY (enthält auch POINT)
  • Ergänzt: ax_einrichtunginoeffentlichenbereichen.advstandardmodell
  • Geändert: ax_einrichtunginoeffentlichenbereichen: POINT=>GEOMETRY
  • Ergänzt: identifier bei ax_strassenverkehrsanlage & ax_bahnverkehrsanlage
  • Geändert: ax_bahnverkehrsanlage: POINT=>GEOMETRY (enthält auch POLYGON)
  • Geändert: ax_gewaessermerkmal: POINT=>GEOMETRY (enthält auch POINT/LINESTRING/POLYGON)
  • Ergänzt: ax_boeschungkliff.objekthoehe und Primärschüssel
  • Ergänzt: ax_dammwalldeich.funktion
  • Ergänzt: ax_sonstigesrecht.funktion
  • Ergänzt: ax_kleinraeumigerlandschaftsteil.identifier
  • Korrektur: ax_vertretung.identifier: character(28) => character(44)


ALKIS-Funktionen:

  • Korrektur: doppelte Funktion alkis_dropobject entfernt
  • Korrektur: delete_feature_hist (gml_id kann von identifier abweichen)
  • Ergänzt: Funktion alkis_beziehung_inserted ergänzt
Location:
trunk/data/konvert/postnas_0.7
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/konvert/postnas_0.7/alkis-functions.sql

    r190 r192  
    108108                AND ( substr(f_table_name,1,2) IN ('ax_','ap_','ks_') 
    109109                 OR f_table_name IN ('alkis_beziehungen','delete') ); 
    110 END; 
    111 $$ LANGUAGE plpgsql; 
    112  
    113 -- Table/View/Sequence löschen, wenn vorhanden 
    114 CREATE OR REPLACE FUNCTION alkis_dropobject(t TEXT) RETURNS void AS $$ 
    115 DECLARE 
    116         c RECORD; 
    117 BEGIN 
    118         -- drop objects 
    119         FOR c IN SELECT relkind,relname 
    120                 FROM pg_class 
    121                 JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid 
    122                 WHERE pg_namespace.nspname='public' AND pg_class.relname=t 
    123                 ORDER BY relkind 
    124         LOOP 
    125                 IF c.relkind = 'v' THEN 
    126                         RAISE NOTICE 'Dropping view %', c.relname; 
    127                         EXECUTE 'DROP VIEW ' || c.relname || ' CASCADE'; 
    128                 ELSIF c.relkind = 'r' THEN 
    129                         RAISE NOTICE 'Dropping table %', c.relname; 
    130                         EXECUTE 'DROP TABLE ' || c.relname || ' CASCADE'; 
    131                 ELSIF c.relkind = 'S' THEN 
    132                         RAISE NOTICE 'Dropping sequence %', c.relname; 
    133                         EXECUTE 'DROP SEQUENCE ' || c.relname; 
    134                 ELSIF c.relkind <> 'i' THEN 
    135                         RAISE NOTICE 'Unexpected type %,%', c.relkind, c.relname; 
    136                 END IF; 
    137         END LOOP; 
     110 
     111        RETURN r; 
    138112END; 
    139113$$ LANGUAGE plpgsql; 
     
    290264$$ LANGUAGE plpgsql; 
    291265 
     266-- Im Trigger 'delete_feature_trigger' muss eine dieser beiden Funktionen 
     267-- (delete_feature_hist oder delete_feature_kill) verlinkt werden, je nachdem ob nur 
     268-- aktuelle oder auch historische Objekte in der Datenbank gefÃŒhrt werden sollen. 
    292269 
    293270-- Löschsatz verarbeiten (MIT Historie) 
     
    320297                END IF; 
    321298 
    322                 IF NEW.replacedBy IS NULL OR NEW.replacedBy = '' THEN 
     299                IF NEW.replacedBy IS NULL OR length(NEW.replacedBy)<16 THEN 
    323300                        IF NEW.safetoignore = 'true' THEN 
    324                                 RAISE NOTICE '%: Nachfolger nicht gesetzt - ignoriert', NEW.featureid; 
     301                                RAISE NOTICE '%: Nachfolger ''%'' nicht richtig gesetzt - ignoriert', NEW.featureid, NEW.replacedBy; 
    325302                                NEW.ignored := true; 
    326303                                RETURN NEW; 
    327304                        ELSE 
    328                                 RAISE EXCEPTION '%: Nachfolger nicht gesetzt', NEW.featureid; 
     305                                RAISE EXCEPTION '%: Nachfolger ''%'' nicht richtig gesetzt - Abbruch', NEW.featureid, NEW.replacedBy; 
    329306                        END IF; 
    330307                END IF; 
    331308 
    332                 sql := 'SELECT beginnt FROM ' || NEW.typename || ' WHERE identifier=''urn:adv:oid:' || NEW.replacedBy || ''''; 
    333                 -- RAISE NOTICE 'SQL: %', sql; 
    334  
    335                 -- FEHLER: identifier enthÀlt nur gml_id, aber nicht den Timestamp dahinter 
    336                 --         Daher wird das zu ersetzende Objekt nicht gefunden 
    337  
    338                 EXECUTE sql INTO endete; 
    339  
    340                 IF endete IS NULL AND length(NEW.replacedBy)>16 THEN 
    341                         RAISE NOTICE '%: Nachfolger % nicht gefunden - versuche ''%''', NEW.featureid, NEW.replacedBy, substr(NEW.replacedBy, 1, 16); 
    342                         sql := 'SELECT beginnt FROM ' || NEW.typename 
    343                             || ' WHERE gml_id=''' || substr(NEW.replacedBy, 1, 16) || '''' 
    344                             || ' AND endet IS NULL' 
    345                             || ' AND identifier<>''urn:adv:oid:'|| NEW.featureid || '''' 
    346                             || ' ORDER BY beginnt DESC' 
    347                             || ' LIMIT 1'; 
    348                         EXECUTE sql INTO endete; 
    349                         gml_id := gml_id || ''' AND beginnt<>''' || endete; 
     309                IF length(NEW.replacedBy)=16 THEN 
     310                        EXECUTE 'SELECT beginnt FROM ' || NEW.typename || 
     311                                ' WHERE gml_id=''' || NEW.replacedBy || ''' AND endet IS NULL' || 
     312                                ' ORDER BY beginnt DESC LIMIT 1' 
     313                           INTO endete; 
     314                ELSE 
     315                        -- replaceBy mit Timestamp 
     316                        EXECUTE 'SELECT beginnt FROM ' || NEW.typename || 
     317                                ' WHERE identifier=''urn:adv:oid:' || NEW.replacedBy || '''' 
     318                           INTO endete; 
     319                        IF endete IS NULL THEN 
     320                                EXECUTE 'SELECT beginnt FROM ' || NEW.typename || 
     321                                        ' WHERE gml_id=''' || substr(NEW.replacedBy,1,16) || ''' AND endet IS NULL' || 
     322                                        ' ORDER BY beginnt DESC LIMIT 1' 
     323                                   INTO endete; 
     324                        END IF; 
    350325                END IF; 
    351326 
     
    359334                        END IF; 
    360335                END IF; 
    361  
    362                 -- RAISE NOTICE '%: Nachfolgeobjekt beginnt um %.', NEW.featureid, endete; 
    363336        ELSE 
    364337                RAISE EXCEPTION '%: UngÃŒltiger Kontext % (''delete'' oder ''replace'' erwartet).', NEW.featureid, NEW.context; 
     
    367340        sql     := 'UPDATE ' || NEW.typename 
    368341                || ' SET endet=''' || endete || '''' 
    369                 || ' WHERE (identifier=''urn:adv:oid:' || NEW.featureid || ''' OR identifier=''urn:adv:oid:' || gml_id || ''')' 
    370                 || ' AND endet IS NULL'; 
     342                || ' WHERE gml_id=''' || gml_id || '''' 
     343                || ' AND endet IS NULL' 
     344                || ' AND beginnt<''' || endete || ''''; 
    371345        -- RAISE NOTICE 'SQL: %', sql; 
    372346        EXECUTE sql; 
     
    379353                        RETURN NEW; 
    380354                ELSE 
    381                         RAISE EXCEPTION '%: Untergangsdatum von % Objekten statt nur einem auf % gesetzt - ignoriert', NEW.featureid, n, endete; 
     355                        RAISE EXCEPTION '%: Untergangsdatum von % Objekten statt nur einem auf % gesetzt - Abbruch', NEW.featureid, n, endete; 
    382356                END IF; 
    383357        END IF; 
     
    425399                -- Die 2 DatensÀtze unterscheiden sich nur in ogc_fid und beginnt 
    426400 
    427                 -- beginnt-Wert des aktuellen Objektes ermitteln  
     401                -- beginnt-Wert des aktuellen Objektes ermitteln 
    428402                -- RAISE NOTICE 'Suche beginnt von neuem gml_id % ', substr(NEW.replacedBy, 1, 16); 
    429403                begsql := 'SELECT max(beginnt) FROM ' || NEW.typename || ' WHERE gml_id = ''' || substr(NEW.replacedBy, 1, 16) || ''' AND endet IS NULL'; 
     
    431405 
    432406                -- Nur alte Objekte entfernen 
    433                 query := 'DELETE FROM ' || NEW.typename  
     407                query := 'DELETE FROM ' || NEW.typename 
    434408                        || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || ''''; 
    435409                EXECUTE query; 
     
    439413                        -- Beziehungen des Objektes wurden redundant noch einmal eingetragen 
    440414                        -- ToDo:         HIER sofort die Redundanzen zum aktuellen Objekt beseitigen. 
    441                         -- Workaround: Nach der Konvertierung werden im Post-Processing  
     415                        -- Workaround: Nach der Konvertierung werden im Post-Processing 
    442416                        --             ALLE Redundanzen mit einem SQL-Statemant beseitigt. 
    443417                --      RAISE NOTICE 'Ersetze gleiche gml_id % in %', gml_id, NEW.typename; 
    444418 
    445419                -- ENTWURF ungetestet: 
    446                 --query := 'DELETE FROM alkis_beziehungen AS bezalt  
     420                --query := 'DELETE FROM alkis_beziehungen AS bezalt 
    447421                --      WHERE (bezalt.beziehung_von = ' || gml_id || ' OR bezalt.beziehung_zu = ' || gml_id ||') 
    448                 --      AND EXISTS (SELECT ogc_fid FROM alkis_beziehungen AS bezneu  
    449                 --              WHERE bezalt.beziehung_von = bezneu.beziehung_von  
     422                --      AND EXISTS (SELECT ogc_fid FROM alkis_beziehungen AS bezneu 
     423                --              WHERE bezalt.beziehung_von = bezneu.beziehung_von 
    450424                --              AND bezalt.beziehung_zu = bezneu.beziehung_zu 
    451425                --              AND bezalt.beziehungsart = bezneu.beziehungsart 
     
    465439$$ LANGUAGE plpgsql; 
    466440 
    467 -- Im Trigger 'delete_feature_trigger' muss eine dieser beiden Funktionen 
    468 -- (delete_feature_hist oder delete_feature_kill) verlinkt werden, je nachdem ob nur 
    469 -- aktuelle oder auch historische Objekte in der Datenbank gefÃŒhrt werden sollen. 
     441-- BeziehungssÀtze aufrÀumen 
     442CREATE OR REPLACE FUNCTION alkis_beziehung_inserted() RETURNS TRIGGER AS $$ 
     443BEGIN 
     444        DELETE FROM alkis_beziehungen WHERE ogc_fid<NEW.ogc_fid AND beziehung_von=NEW.beziehung_von AND beziehungsart=NEW.beziehungsart AND beziehung_zu=NEW.beziehung_zu; 
     445        RETURN NEW; 
     446END; 
     447$$ LANGUAGE plpgsql; 
    470448 
    471449-- Wenn die Datenbank MIT Historie angelegt wurde, kann nach dem Laden hiermit aufgerÀumt werden. 
     
    474452        c RECORD; 
    475453BEGIN 
    476         -- In allen Tabellen die Objekte Löschen, die ein Ende-Datum haben 
     454        -- In allen Tabellen die Objekte löschen, die ein Ende-Datum haben 
    477455        FOR c IN 
    478456                SELECT table_name 
  • trunk/data/konvert/postnas_0.7/alkis-trigger-hist.sql

    r190 r192  
    33        FOR EACH ROW  
    44        EXECUTE PROCEDURE delete_feature_hist(); 
     5 
     6CREATE TRIGGER insert_beziehung_trigger 
     7        AFTER INSERT ON alkis_beziehungen 
     8        FOR EACH ROW 
     9        EXECUTE PROCEDURE alkis_beziehung_inserted(); 
  • trunk/data/konvert/postnas_0.7/alkis_PostNAS_0.7_schema.sql

    r190 r192  
    106106COMMENT ON COLUMN delete.replacedBy   IS 'gml_id des Objekts, das featureid ersetzt'; 
    107107COMMENT ON COLUMN delete.ignored      IS 'Löschsatz wurde ignoriert'; 
     108 
     109-- B e z i e h u n g e n 
     110-- ---------------------------------------------- 
     111-- Zentrale Tabelle fuer alle Relationen im Buchwerk. 
     112 
     113-- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen 
     114-- in der ALKIS-Datenstruktur alle Beziehungen zwischen zwei Tabellen ÃŒber diese Verbindungstabelle. 
     115 
     116-- Die FremdschlÃŒssel 'beziehung_von' und 'beziehung_zu' verweisen auf die ID des Objekte (gml_id). 
     117-- Das Feld 'gml_id' sollte daher in allen Tabellen indiziert werden. 
     118 
     119-- ZusÀtzlich enthÀlt 'beziehungsart' noch ein Verb fÃŒr die Art der Beziehung. 
     120 
     121CREATE TABLE alkis_beziehungen ( 
     122        ogc_fid                 serial NOT NULL, 
     123        beziehung_von           character(16),         --> gml_id 
     124        beziehungsart           varchar,               --  Liste siehe unten 
     125        beziehung_zu            character(16),         --> gml_id 
     126        CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid) 
     127); 
     128 
     129CREATE INDEX alkis_beziehungen_von_idx ON alkis_beziehungen USING btree (beziehung_von); 
     130CREATE INDEX alkis_beziehungen_zu_idx  ON alkis_beziehungen USING btree (beziehung_zu); 
     131CREATE INDEX alkis_beziehungen_art_idx ON alkis_beziehungen USING btree (beziehungsart); 
     132 
     133-- Dummy-Eintrag in Metatabelle 
     134SELECT AddGeometryColumn('alkis_beziehungen','dummy',:alkis_epsg,'POINT',2); 
     135 
     136COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle'; 
     137COMMENT ON COLUMN alkis_beziehungen.beziehung_von IS 'Join auf Feld gml_id verschiedener Tabellen'; 
     138COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen'; 
     139COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle'; 
     140 
     141-- Beziehungsarten: 
     142-- 
     143-- "an" "benennt" "bestehtAusRechtsverhaeltnissenZu" "beziehtSichAuchAuf" "dientZurDarstellungVon" 
     144-- "durch" "gehoertAnteiligZu" "gehoertZu" "hat" "hatAuch" "istBestandteilVon" 
     145-- "istGebucht" "istTeilVon" "weistAuf" "zeigtAuf" "zu" 
     146 
     147-- Hinweis: 
     148-- Diese Tabelle enthÀlt fÃŒr ein Kreisgebiet ca. 5 Mio. Zeilen und wird stÀndig benutzt. 
     149-- Optimierung z.B. ÃŒber passende Indices ist wichtig. 
     150 
    108151 
    109152-- 
     
    150193 
    151194 
    152 -- B e z i e h u n g e n 
    153 -- ---------------------------------------------- 
    154 -- Zentrale Tabelle fuer alle Relationen im Buchwerk. 
    155  
    156 -- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen 
    157 -- in der ALKIS-Datenstruktur alle Beziehungen zwischen zwei Tabellen ÃŒber diese Verbindungstabelle. 
    158  
    159 -- Die Konnectoren 'beziehung_von' und 'beziehung_zu' verweisen auf die ID des Objekte (gml_id). 
    160 -- Das Feld 'gml_id' sollte daher in allen Tabellen indiziert werden. 
    161  
    162 -- ZusÀtzlich enthÀlt 'beziehungsart' noch ein Verb fÃŒr die Art der Beziehung. 
    163  
    164 CREATE TABLE alkis_beziehungen ( 
    165         ogc_fid                 serial NOT NULL, 
    166         beziehung_von           character(16),         --> gml_id 
    167         beziehungsart           varchar,               --  Liste siehe unten 
    168         beziehung_zu            character(16),         --> gml_id 
    169         CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid) 
    170 ); 
    171  
    172 CREATE INDEX alkis_beziehungen_von_idx ON alkis_beziehungen USING btree (beziehung_von); 
    173 CREATE INDEX alkis_beziehungen_zu_idx  ON alkis_beziehungen USING btree (beziehung_zu); 
    174 CREATE INDEX alkis_beziehungen_art_idx ON alkis_beziehungen USING btree (beziehungsart); 
    175  
    176 -- Dummy-Eintrag in Metatabelle 
    177 SELECT AddGeometryColumn('alkis_beziehungen','dummy',:alkis_epsg,'POINT',2); 
    178  
    179 COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle'; 
    180 COMMENT ON COLUMN alkis_beziehungen.beziehung_von IS 'Join auf Feld gml_id verschiedener Tabellen'; 
    181 COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen'; 
    182 COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle'; 
    183  
    184 -- Beziehungsarten: 
    185 -- 
    186 -- "an" "benennt" "bestehtAusRechtsverhaeltnissenZu" "beziehtSichAuchAuf" "dientZurDarstellungVon" 
    187 -- "durch" "gehoertAnteiligZu" "gehoertZu" "hat" "hatAuch" "istBestandteilVon" 
    188 -- "istGebucht" "istTeilVon" "weistAuf" "zeigtAuf" "zu" 
    189  
    190 -- Hinweis: 
    191 -- Diese Tabelle enthÀlt fÃŒr ein Kreisgebiet ca. 5 Mio. Zeilen und wird stÀndig benutzt. 
    192 -- Optimierung z.B. ÃŒber passende Indices ist wichtig. 
    193  
    194195 
    195196-- A n d e r e   F e s t l e g u n g   n a c h   W a s s e r r e c h t 
     
    265266COMMENT ON COLUMN ax_besonderertopographischerpunkt.gml_id IS 'Identifikator, global eindeutig'; 
    266267 
     268-- 
     269-- 
     270CREATE TABLE ax_soll ( 
     271        ogc_fid                 serial NOT NULL, 
     272        gml_id                  character(16), 
     273        identifier              character(44), 
     274        beginnt                 character(20), 
     275        endet                   character(20), 
     276        advstandardmodell       varchar, 
     277        anlass                  varchar, 
     278        name                    varchar, 
     279        CONSTRAINT ax_soll_pk PRIMARY KEY (ogc_fid) 
     280); 
     281 
     282SELECT AddGeometryColumn('ax_soll','wkb_geometry',:alkis_epsg,'POLYGON',2); 
     283 
     284CREATE INDEX ax_soll_geom_idx ON ax_soll USING gist (wkb_geometry); 
     285CREATE UNIQUE INDEX ax_soll_gml ON ax_soll USING btree (gml_id,beginnt); 
     286 
    267287 
    268288-- B e w e r t u n g 
     
    287307COMMENT ON TABLE  ax_bewertung        IS 'B e w e r t u n g'; 
    288308COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig'; 
     309 
     310-- Tagesabschnitt 
     311CREATE TABLE ax_tagesabschnitt ( 
     312        ogc_fid                 serial NOT NULL, 
     313        gml_id                  character(16), 
     314        identifier              character(44), 
     315        beginnt                 character(20), 
     316        endet                   character(20), 
     317        advstandardmodell       varchar, 
     318        anlass                  varchar, 
     319        tagesabschnittsnummer   varchar, 
     320        CONSTRAINT ax_tagesabschnitt_pk PRIMARY KEY (ogc_fid) 
     321); 
     322 
     323SELECT AddGeometryColumn('ax_tagesabschnitt','wkb_geometry',:alkis_epsg,'POLYGON',2); 
     324 
     325CREATE INDEX ax_tagesabschnitt_geom_idx   ON ax_tagesabschnitt USING gist  (wkb_geometry); 
     326CREATE UNIQUE INDEX ax_tagesabschnitt_gml ON ax_tagesabschnitt USING btree (gml_id,beginnt); 
    289327 
    290328 
     
    315353COMMENT ON TABLE  ax_denkmalschutzrecht        IS 'D e n k m a l s c h u t z r e c h t'; 
    316354COMMENT ON COLUMN ax_denkmalschutzrecht.gml_id IS 'Identifikator, global eindeutig'; 
     355 
     356CREATE TABLE ax_forstrecht ( 
     357        ogc_fid                 serial NOT NULL, 
     358        gml_id                  character(16), 
     359        identifier              character(44), 
     360        beginnt                 character(20), 
     361        endet                   character(20), 
     362        advstandardmodell       varchar, 
     363        anlass                  varchar, 
     364        artderfestlegung        integer, 
     365        besonderefunktion       integer, 
     366        land                    integer, 
     367        stelle                  varchar, 
     368        CONSTRAINT ax_forstrecht_pk PRIMARY KEY (ogc_fid) 
     369); 
     370 
     371SELECT AddGeometryColumn('ax_forstrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     372 
     373CREATE INDEX ax_forstrecht_geom_idx   ON ax_forstrecht USING gist  (wkb_geometry); 
     374CREATE UNIQUE INDEX ax_forstrecht_gml ON ax_forstrecht USING btree (gml_id,beginnt); 
     375CREATE INDEX ax_forstrecht_afs ON ax_forstrecht(land,stelle); 
    317376 
    318377 
     
    935994        regierungsbezirk                integer, 
    936995        kreis                           integer, 
    937         stelle                          varchar, 
     996        stelle                          varchar[], 
    938997 
    939998-- neu aus SVN-Version 28.02.2012 hinzugefuegt 
     
    11891248CREATE TABLE ax_sicherungspunkt ( 
    11901249        ogc_fid                 serial NOT NULL, 
    1191         gml_id                  varchar, 
     1250        gml_id                  character(16), 
    11921251        identifier              character(44), 
    11931252        beginnt                 character(20), 
     
    16081667        ortsteil                        varchar, 
    16091668        weitereAdressen                 varchar, 
     1669        telefon                         varchar, 
     1670        fax                             varchar, 
    16101671        CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid) 
    16111672); 
     
    28562917); 
    28572918 
    2858 SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
     2919SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/LINESTRING 
    28592920 
    28602921CREATE INDEX ax_transportanlage_geom_idx ON ax_transportanlage USING gist (wkb_geometry); 
     
    29983059        beginnt                 character(20), 
    29993060        endet                   character(20), 
     3061        advstandardmodell       varchar, 
    30003062        sonstigesmodell         varchar, 
    30013063        anlass                  varchar, 
     
    30053067); 
    30063068 
    3007 SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',:alkis_epsg,'POINT',2); 
     3069SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    30083070 
    30093071CREATE INDEX ax_einrichtunginoeffentlichenbereichen_geom_idx ON ax_einrichtunginoeffentlichenbereichen USING gist (wkb_geometry); 
     
    30123074COMMENT ON TABLE  ax_einrichtunginoeffentlichenbereichen        IS 'E i n r i c h t u n g   i n   O e f f e n t l i c h e n   B e r e i c h e n'; 
    30133075COMMENT ON COLUMN ax_einrichtunginoeffentlichenbereichen.gml_id IS 'Identifikator, global eindeutig'; 
     3076 
     3077 
     3078-- Einrichtung fÃŒr den Schiffsverkehr 
     3079CREATE TABLE ax_einrichtungenfuerdenschiffsverkehr ( 
     3080        ogc_fid                 serial NOT NULL, 
     3081        gml_id                  character(16), 
     3082        identifier              character(44), 
     3083        beginnt                 character(20), 
     3084        endet                   character(20), 
     3085        advstandardmodell       varchar, 
     3086        anlass                  varchar, 
     3087        art                     integer, 
     3088        kilometerangabe         varchar, 
     3089        name                    varchar, 
     3090        CONSTRAINT ax_einrichtungfuerdenschiffsverkehr_pk PRIMARY KEY (ogc_fid) 
     3091); 
     3092 
     3093SELECT AddGeometryColumn('ax_einrichtungenfuerdenschiffsverkehr','wkb_geometry',:alkis_epsg,'POINT',2); 
     3094 
     3095CREATE INDEX ax_einrichtungenfuerdenschiffsverkehr_geom_idx ON ax_einrichtungenfuerdenschiffsverkehr USING gist (wkb_geometry); 
     3096CREATE UNIQUE INDEX ax_einrichtungenfuerdenschiffsverkehr_gml ON ax_einrichtungenfuerdenschiffsverkehr USING btree (gml_id,beginnt); 
    30143097 
    30153098 
     
    30753158        ogc_fid                 serial NOT NULL, 
    30763159        gml_id                  character(16), 
     3160        identifier              character(44), 
    30773161        beginnt                 character(20), 
    30783162        endet                   character(20), 
     
    31253209        ogc_fid                 serial NOT NULL, 
    31263210        gml_id                  character(16), 
     3211        identifier              character(44), 
    31273212        beginnt                 character(20), 
    31283213        endet                   character(20), 
     
    31363221); 
    31373222 
    3138 SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',:alkis_epsg,'POINT',2); 
     3223SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/POLYGON 
    31393224 
    31403225CREATE INDEX ax_bahnverkehrsanlage_geom_idx ON ax_bahnverkehrsanlage USING gist (wkb_geometry); 
     
    31453230 
    31463231 
    3147 --AX_SeilbahnSchwebebahn 
    3148 -- ** Tabelle bisher noch nicht generiert 
     3232-- S e i l b a h n, S c h w e b e b a h n 
     3233-- -------------------------------------- 
     3234CREATE TABLE ax_seilbahnschwebebahn ( 
     3235        ogc_fid                 serial NOT NULL, 
     3236        gml_id                  character(16), 
     3237        identifier              character(44), 
     3238        beginnt                 character(20), 
     3239        endet                   character(20), 
     3240        advstandardmodell       varchar, 
     3241        sonstigesmodell         varchar[], 
     3242        anlass                  varchar, 
     3243        bahnkategorie           integer, 
     3244        name                    varchar, 
     3245        CONSTRAINT ax_seilbahnschwebebahn_pk PRIMARY KEY (ogc_fid) 
     3246); 
     3247 
     3248SELECT AddGeometryColumn('ax_seilbahnschwebebahn','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING 
     3249 
     3250CREATE INDEX ax_seilbahnschwebebahn_geom_idx ON ax_seilbahnschwebebahn USING gist (wkb_geometry); 
     3251CREATE UNIQUE INDEX ax_seilbahnschwebebahn_gml ON ax_seilbahnschwebebahn USING btree (gml_id,beginnt); 
     3252 
     3253COMMENT ON TABLE  ax_seilbahnschwebebahn        IS 'S e i l b a h n, S c h w e b e b a h n'; 
     3254COMMENT ON COLUMN ax_seilbahnschwebebahn.gml_id IS 'Identifikator, global eindeutig'; 
     3255 
    31493256 
    31503257 
     
    32773384); 
    32783385 
    3279 SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',:alkis_epsg,'POINT',2); 
     3386SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/LINESTRING/POLYGON 
    32803387 
    32813388CREATE INDEX ax_gewaessermerkmal_geom_idx ON ax_gewaessermerkmal USING gist (wkb_geometry); 
     
    33193426 
    33203427--AX_Wasserspiegelhoehe 
    3321 -- ** Tabelle bisher noch nicht generiert 
    3322  
    3323 --AX_SchifffahrtslinieFaehrverkehr 
    3324 -- ** Tabelle bisher noch nicht generiert 
     3428-- 
     3429CREATE TABLE ax_wasserspiegelhoehe ( 
     3430        ogc_fid                 serial NOT NULL, 
     3431        gml_id                  character(16), 
     3432        identifier              character(44), 
     3433        beginnt                 character(20), 
     3434        endet                   character(20), 
     3435        advstandardmodell       varchar, 
     3436        anlass                  varchar, 
     3437        hoehedeswasserspiegels  double precision, 
     3438        CONSTRAINT ax_wasserspiegelhoehe_pk PRIMARY KEY (ogc_fid) 
     3439); 
     3440 
     3441SELECT AddGeometryColumn('ax_wasserspiegelhoehe','wkb_geometry',:alkis_epsg,'POINT',2); 
     3442 
     3443CREATE INDEX ax_wasserspiegelhoehe_geom_idx ON ax_wasserspiegelhoehe USING gist (wkb_geometry); 
     3444CREATE UNIQUE INDEX ax_wasserspiegelhoehe_gml ON ax_wasserspiegelhoehe USING btree (gml_id,beginnt); 
     3445 
     3446-- 
     3447-- 
     3448CREATE TABLE ax_schifffahrtsliniefaehrverkehr ( 
     3449        ogc_fid                 serial NOT NULL, 
     3450        gml_id                  character(16), 
     3451        identifier              character(44), 
     3452        beginnt                 character(20), 
     3453        endet                   character(20), 
     3454        advstandardmodell       varchar, 
     3455        anlass                  varchar, 
     3456        art                     integer, 
     3457        CONSTRAINT ax_schifffahrtsliniefaehrverkehr_pk PRIMARY KEY (ogc_fid) 
     3458); 
     3459 
     3460SELECT AddGeometryColumn('ax_schifffahrtsliniefaehrverkehr','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
     3461 
     3462CREATE INDEX ax_schifffahrtsliniefaehrverkehr_geom_idx ON ax_schifffahrtsliniefaehrverkehr USING gist (wkb_geometry); 
     3463CREATE UNIQUE INDEX ax_schifffahrtsliniefaehrverkehr_gml ON ax_schifffahrtsliniefaehrverkehr USING btree (gml_id,beginnt); 
     3464 
    33253465 
    33263466--*** ############################################################ 
     
    33423482        advstandardmodell       varchar, 
    33433483        sonstigesmodell         varchar[], 
    3344         anlass                  varchar 
     3484        anlass                  varchar, 
     3485        objekthoehe             double precision, 
     3486        CONSTRAINT ax_boeschungkliff_pk PRIMARY KEY (ogc_fid) 
    33453487); 
    33463488 
     
    33893531        art                     integer, 
    33903532        name                    varchar, 
     3533        funktion                integer, 
    33913534        CONSTRAINT ax_dammwalldeich_pk PRIMARY KEY (ogc_fid) 
    33923535); 
     
    34013544 
    34023545 
    3403 --AX_Hoehleneingang 
    3404 -- ** Tabelle bisher noch nicht generiert 
     3546-- 
     3547-- 
     3548CREATE TABLE ax_hoehleneingang ( 
     3549        ogc_fid                 serial NOT NULL, 
     3550        gml_id                  character(16), 
     3551        identifier              character(44), 
     3552        beginnt                 character(20), 
     3553        endet                   character(20), 
     3554        advstandardmodell       varchar, 
     3555        anlass                  varchar, 
     3556        name                    varchar, 
     3557        CONSTRAINT ax_hoehleneingang_pk PRIMARY KEY (ogc_fid) 
     3558); 
     3559 
     3560SELECT AddGeometryColumn('ax_hoehleneingang','wkb_geometry',:alkis_epsg,'POINT',2); 
     3561 
     3562CREATE INDEX ax_hoehleneingang_geom_idx ON ax_hoehleneingang USING gist (wkb_geometry); 
     3563CREATE UNIQUE INDEX ax_fhoehleneingang_gml ON ax_hoehleneingang USING btree (gml_id,beginnt); 
    34053564 
    34063565 
     
    34293588 
    34303589 
    3431 --AX_Duene 
    3432 -- ** Tabelle bisher noch nicht generiert 
    3433  
    3434  
    3435 --AX_Hoehenlinie 
    3436 -- ** Tabelle bisher noch nicht generiert 
     3590-- DÃŒne 
     3591CREATE TABLE ax_duene ( 
     3592        ogc_fid                 serial NOT NULL, 
     3593        gml_id                  character(16), 
     3594        identifier              character(44), 
     3595        beginnt                 character(20), 
     3596        endet                   character(20), 
     3597        advstandardmodell       varchar, 
     3598        anlass                  varchar, 
     3599        name                    varchar, 
     3600        CONSTRAINT ax_duene_pk PRIMARY KEY (ogc_fid) 
     3601); 
     3602 
     3603SELECT AddGeometryColumn('ax_duene','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
     3604 
     3605CREATE INDEX ax_duene_geom_idx ON ax_duene USING gist (wkb_geometry); 
     3606CREATE UNIQUE INDEX ax_duene_gml ON ax_duene USING btree (gml_id,beginnt); 
     3607 
     3608-- 
     3609-- 
     3610CREATE TABLE ax_hoehenlinie ( 
     3611        ogc_fid                 serial NOT NULL, 
     3612        gml_id                  character(16), 
     3613        identifier              character(44), 
     3614        beginnt                 character(20), 
     3615        endet                   character(20), 
     3616        advstandardmodell       varchar, 
     3617        anlass                  varchar, 
     3618        hoehevonhoehenlinie     double precision, 
     3619        CONSTRAINT ax_hoehenlinie_pk PRIMARY KEY (ogc_fid) 
     3620); 
     3621 
     3622SELECT AddGeometryColumn('ax_hoehenlinie','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
     3623 
     3624CREATE INDEX ax_hoehenlinie_geom_idx ON ax_hoehenlinie USING gist (wkb_geometry); 
     3625CREATE UNIQUE INDEX ax_hoehenlinie_gml ON ax_hoehenlinie USING btree (gml_id,beginnt); 
     3626 
    34373627 
    34383628 
     
    36183808        art                     varchar,  --(15) 
    36193809        name                    varchar, 
     3810        funktion                integer, 
    36203811--      "qualitaetsangaben|ax_dqmitdatenerhebung|herkunft|li_lineage|pro" varchar, 
    36213812--      datetime                varchar, 
     
    40064197        ogc_fid                 serial NOT NULL, 
    40074198        gml_id                  character(16), 
     4199        identifier              character(44), 
    40084200        beginnt                 character(20), 
    40094201        endet                   character(20), 
     
    40834275 
    40844276CREATE TABLE ax_vertretung ( 
    4085         ogc_fid serial NOT NULL, 
    4086         gml_id varchar(16), 
    4087         identifier varchar(28), 
    4088         beginnt varchar(20), 
    4089         endet character(20), 
    4090         advstandardmodell varchar(4), 
    4091         anlass varchar, 
    4092         haengtan varchar, 
     4277        ogc_fid                 serial NOT NULL, 
     4278        gml_id                  character(16), 
     4279        identifier              character(44), 
     4280        beginnt                 character(20), 
     4281        endet                   character(20), 
     4282        advstandardmodell       varchar(4), 
     4283        anlass                  varchar, 
    40934284        CONSTRAINT ax_vertretung_pk PRIMARY KEY (ogc_fid) 
    40944285); 
     
    40974288 
    40984289CREATE TABLE ax_verwaltungsgemeinschaft ( 
    4099         ogc_fid serial NOT NULL, 
    4100         gml_id varchar(16), 
    4101         identifier varchar(28), 
    4102         beginnt varchar(20), 
    4103         endet character(20), 
    4104         advstandardmodell varchar(4), 
    4105         anlass varchar, 
    4106         schluesselgesamt integer, 
    4107         bezeichnung varchar, 
    4108         bezeichnungart integer, 
    4109         land integer, 
    4110         regierungsbezirk integer, 
    4111         kreis integer, 
    4112         verwaltungsgemeinschaft integer, 
     4290        ogc_fid                 serial NOT NULL, 
     4291        gml_id                  character(16), 
     4292        identifier              character(44), 
     4293        beginnt                 character(20), 
     4294        endet                   character(20), 
     4295        advstandardmodell       varchar(4), 
     4296        anlass                  varchar, 
     4297        schluesselgesamt        integer, 
     4298        bezeichnung             varchar, 
     4299        bezeichnungart          integer, 
     4300        land                    integer, 
     4301        regierungsbezirk        integer, 
     4302        kreis                   integer, 
     4303        verwaltungsgemeinschaft integer, 
    41134304        CONSTRAINT ax_verwaltungsgemeinschaft_pk PRIMARY KEY (ogc_fid) 
    41144305); 
     
    41174308 
    41184309CREATE TABLE ax_verwaltung ( 
    4119         ogc_fid serial NOT NULL, 
    4120         gml_id varchar(16), 
    4121         identifier varchar(28), 
    4122         beginnt varchar(20), 
    4123         endet character(20), 
    4124         advstandardmodell varchar(4), 
    4125         anlass varchar, 
    4126         haengtan varchar, 
     4310        ogc_fid                 serial NOT NULL, 
     4311        gml_id                  character(16), 
     4312        identifier              character(44), 
     4313        beginnt                 character(20), 
     4314        endet                   character(20), 
     4315        advstandardmodell       varchar(4), 
     4316        anlass                  varchar, 
    41274317        CONSTRAINT ax_verwaltung_pk PRIMARY KEY (ogc_fid) 
    41284318); 
Note: See TracChangeset for help on using the changeset viewer.