source: trunk/data/konvert/postnas_0.7/alkis_PostNAS_0.7_schema.sql @ 183

Revision 183, 187.5 KB checked in by frank.jaeger, 11 years ago (diff)

Trigger fuer NAS-Replace-Sätze repariert (Quick 'n Dirty).

Line 
1--
2-- *****************************
3--       A  L   K   I   S       
4-- *****************************
5--
6-- Datenbankstruktur PostNAS 0.7  (GDAL aus aktuellem Trunk)
7--
8-- Stand
9-- -----
10
11-- letzte Änderungen an Version 0.6:
12
13-- 2011-11-02 FJ: Neue Tabellen
14-- 2011-11-04 FJ: Anpassungen fuer Buchauskunft "Historie"
15-- 2011-11-21 FJ: siehe Version 0.6
16-- 2011-12-16 FJ: Neue Tabelle "ax_sicherungspunkt"
17-- 2012-01-16 FJ: Spalte "ap_pto.art" wird doch gebraucht.
18
19-- ** Neuer Zweig PostNAS 0.7 (gdal > 1.9) **
20
21-- 2012-02-28 FJ: ZusammenfÃŒhren von Änderungen aus SVN (AE: Anfang Februar) mit eigener Version
22--                Feld "gemeindezugehoerigkeit" auskommentiert.
23--                Bereinigung Kommentare.
24
25-- 2012-04-23 FJ  Diff zum GDAL-Patch #4555 angewendet:
26--                Siehe Mail J.E.Fischer in PostNAS-Liste vom 12.03.2012
27--                - Alle Objekte bekommen "endet"-Feld.
28--                - "beginnt" wird in die Unique-Constraint einbezogen.
29--                - Feld 'identifier'.
30--                - "character varying" durch "varchar" ersetzt.
31--                - Keine direkten Änderungen an 'geometry_columns' (wegen PostGIS 2)
32--                - DELETE:  Feld endet = aktuelle Zeit
33--                - REPLACE: Feld endet = beginnt des ersetzenden Objektes
34--                - "delete_feature()" ist nun ein Trigger
35
36-- 2012-04-24 FJ  Datei alkis-funktions aus Diff zum GDAL-Patch #4555 hier integriert
37--                Umschaltung mit/ohne Historie ÃŒber VernÃŒpfung Trigger -> Function
38--                Typ 'GEOMETRY' bei Tabellen: AX_WegPfadSteig, AX_UntergeordnetesGewaesser
39
40-- 2012-10-31 FJ  Trigger fuer NAS-Replace-Saetze repariert:
41--                siehe: FUNCTION delete_feature_kill()
42--                ax_historischesflurstueck.buchungsart ist Text nicht integer.
43
44--  VERSIONS-NUMMER:
45
46--  Dies Schema kann NICHT mehr mit der installierbaren gdal-Version 1.9 verwendet werden.
47--  Derzeit muss ogr2ogr (gdal) aus den Quellen compiliert werden, die o.g. Patch enthalten.
48--  WeiterfÃŒhrung dieses Zweiges als PostNAS 0.7
49
50
51-- Zur Datenstruktur siehe Dokument:
52-- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/5-1-1_ALKIS-OK-NRW_GDB.html
53
54  SET client_encoding = 'UTF8';
55  SET default_with_oids = false;
56
57-- \set ON_ERROR_STOP
58
59-- T u n i n g :
60--   Die Tabelle 'spatial_ref_sys' einer PostGIS-Datenbank auf
61--   die notwendigen Koordinatensysteme reduzieren. Das Loescht >3000 Eintraege.
62
63--  DELETE FROM spatial_ref_sys
64--  WHERE srid NOT
65--  IN (2397, 2398, 2399, 4326,    25830, 25831, 25832, 25833, 25834,  31466, 31467, 31468, 31469);
66--  --  Krassowski        lat/lon  UTM                                 GK
67
68
69
70-- =======================
71-- Stored Procedures laden
72-- =======================
73-- \i alkis-functions.sql
74
75-- Alle ALKIS-Tabellen löschen
76CREATE OR REPLACE FUNCTION alkis_drop() RETURNS void AS $$
77DECLARE
78        c RECORD;
79BEGIN
80        -- drop views
81        FOR c IN SELECT table_type,table_name FROM information_schema.tables WHERE table_schema='public' AND ( substr(table_name,1,3) IN ('ax_','ap_','ks_') OR table_name IN ('alkis_beziehungen','delete')) ORDER BY table_type DESC LOOP
82                IF c.table_type = 'VIEW' THEN
83                        RAISE NOTICE 'Dropping view %', c.table_name;
84                        EXECUTE 'DROP VIEW '||c.table_name;
85                ELSIF c.table_type = 'BASE TABLE' THEN
86                        RAISE NOTICE 'Dropping table %', c.table_name;
87                        EXECUTE 'DROP TABLE '||c.table_name;
88                ELSE
89                        RAISE NOTICE 'Unexpected type %,%', c.table_type, c.table_name;
90                END IF;
91        END LOOP;
92
93        -- clean geometry_columns
94        DELETE FROM geometry_columns
95                WHERE f_table_schema='public'
96                AND ( substr(f_table_name,1,2) IN ('ax_','ap_','ks_')
97                 OR f_table_name IN ('alkis_beziehungen','delete') );
98END;
99$$ LANGUAGE plpgsql;
100
101-- Alle ALKIS-Tabellen leeren
102CREATE OR REPLACE FUNCTION alkis_delete() RETURNS void AS $$
103DECLARE
104        c RECORD;
105BEGIN
106        -- drop views
107        FOR c IN SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND ( substr(table_name,1,3) IN ('ax_','ap_','ks_') OR table_name IN ('alkis_beziehungen','delete') AND table_type='BASE TABLE') LOOP
108                RAISE NOTICE 'Deleting from %', c.table_name;
109                EXECUTE 'DELETE FROM '||c.table_name;
110        END LOOP;
111END;
112$$ LANGUAGE plpgsql;
113
114-- Übersicht erzeugen, die alle alkis_beziehungen mit den Typen der beteiligen ALKIS-Objekte versieht
115CREATE OR REPLACE FUNCTION alkis_mviews() RETURNS void AS $$
116DECLARE
117        sql TEXT;
118        delim TEXT;
119        c RECORD;
120BEGIN
121        DROP VIEW IF EXISTS vbeziehungen;
122        DROP VIEW IF EXISTS vobjekte;
123        DROP TABLE IF EXISTS vobjekte;
124
125        delim := '';
126        sql := 'CREATE TABLE vobjekte AS ';
127
128        FOR c IN SELECT table_name from information_schema.columns WHERE column_name='gml_id' LOOP
129                sql := sql || delim || 'SELECT gml_id,''' || c.table_name || ''' AS table_name FROM ' || c.table_name;
130                delim := ' UNION ';
131        END LOOP;
132
133        EXECUTE sql;
134
135        CREATE UNIQUE INDEX vobjekte_gmlid ON vobjekte(gml_id,beginnt);
136        CREATE INDEX vobjekte_table ON vobjekte(table_name);
137
138        DROP TABLE IF EXISTS vbeziehungen;
139        CREATE TABLE vbeziehungen AS
140                SELECT beziehung_von,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_von) AS typ_von
141                        ,beziehungsart
142                        ,beziehung_zu,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_zu) AS typ_zu
143                FROM alkis_beziehungen;
144
145        CREATE INDEX vbeziehungen_von    ON vbeziehungen(beziehung_von);
146        CREATE INDEX vbeziehungen_vontyp ON vbeziehungen(typ_von);
147        CREATE INDEX vbeziehungen_art    ON vbeziehungen(beziehungsart);
148        CREATE INDEX vbeziehungen_zu     ON vbeziehungen(beziehung_zu);
149        CREATE INDEX vbeziehungen_zutyp  ON vbeziehungen(typ_zu);
150END;
151$$ LANGUAGE plpgsql;
152
153-- Indizes erzeugen
154CREATE OR REPLACE FUNCTION alkis_update_schema() RETURNS void AS $$
155DECLARE
156        sql TEXT;
157        c RECORD;
158        i RECORD;
159        n INTEGER;
160BEGIN
161        -- Spalten in delete ergÀnzen
162        SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='ignored';
163        IF n=0 THEN
164                ALTER TABLE "delete" ADD ignored BOOLEAN;
165        END IF;
166
167        SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='context';
168        IF n=0 THEN
169                ALTER TABLE "delete" ADD context VARCHAR;
170        END IF;
171
172        SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='safetoignore';
173        IF n=0 THEN
174                ALTER TABLE "delete" ADD safetoignore VARCHAR;
175        END IF;
176
177        SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='replacedby';
178        IF n=0 THEN
179          ALTER TABLE "delete" ADD replacedBy VARCHAR;
180        END IF;
181
182        -- Spalte identifier ergÀnzen, wo sie fehlt
183        FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
184                AND     EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt'    AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
185                AND NOT EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='identifier' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
186        LOOP
187                EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD identifier character(44)';
188        END LOOP;
189
190        -- Spalte endet ergÀnzen, wo sie fehlt
191        FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
192                AND     EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
193                AND NOT EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='endet'   AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
194        LOOP
195                EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD endet character(20) CHECK (endet>beginnt)';
196        END LOOP;
197
198        -- Lebensdauer-Constraint ergÀnzen
199        FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
200                AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
201                AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='endet'   AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
202        LOOP
203                EXECUTE 'ALTER TABLE ' || c.table_name || ' DROP CONSTRAINT IF EXISTS ' || c.table_name || '_lebensdauer';
204                EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD CONSTRAINT ' || c.table_name || '_lebensdauer CHECK (beginnt IS NOT NULL AND endet>beginnt)';
205        END LOOP;
206
207        -- Indizes aktualisieren
208        FOR c IN SELECT table_name from information_schema.columns a WHERE a.column_name='gml_id'
209                AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
210        LOOP
211                -- Vorhandene Indizes droppen (TODO: Löscht auch die SonderfÀlle - entfernen)
212                FOR i IN EXECUTE 'SELECT indexname FROM pg_indexes WHERE NOT indexname LIKE ''%_pk'' AND schemaname=''public'' AND tablename='''||c.table_name||'''' LOOP
213                        EXECUTE 'DROP INDEX ' || i.indexname;
214                END LOOP;
215
216                -- Indizes erzeugen
217                EXECUTE 'CREATE UNIQUE INDEX ' || c.table_name || '_id ON ' || c.table_name || '(gml_id,beginnt)';
218                EXECUTE 'CREATE UNIQUE INDEX ' || c.table_name || '_ident ON ' || c.table_name || '(identifier)';
219                EXECUTE 'CREATE INDEX ' || c.table_name || '_gmlid ON ' || c.table_name || '(gml_id)';
220                EXECUTE 'CREATE INDEX ' || c.table_name || '_beginnt ON ' || c.table_name || '(beginnt)';
221                EXECUTE 'CREATE INDEX ' || c.table_name || '_endet ON ' || c.table_name || '(endet)';
222        END LOOP;
223
224        -- Geometrieindizes aktualisieren
225        FOR c IN SELECT table_name from information_schema.columns a WHERE a.column_name='gml_id'
226                AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='wkb_geometry' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
227        LOOP
228                EXECUTE 'CREATE INDEX ' || c.table_name || '_geom ON ' || c.table_name || ' USING GIST (wkb_geometry)';
229        END LOOP;
230END;
231$$ LANGUAGE plpgsql;
232
233
234-- Löschsatz verarbeiten (MIT Historie)
235-- context='delete'        => "endete" auf aktuelle Zeit setzen
236-- context='replace'       => "endete" des ersetzten auf "beginnt" des neuen Objekts setzen
237CREATE OR REPLACE FUNCTION delete_feature_hist() RETURNS TRIGGER AS $$
238DECLARE
239        sql TEXT;
240        gml_id TEXT;
241        endete TEXT;
242        n INTEGER;
243BEGIN
244        NEW.context := lower(NEW.context);
245        gml_id      := substr(NEW.featureid, 1, 16);
246
247        IF NEW.context IS NULL THEN
248                NEW.context := 'delete';
249        END IF;
250
251        IF NEW.context='delete' THEN
252                endete := to_char(CURRENT_TIMESTAMP AT TIME ZONE 'UTC','YYYY-MM-DD"T"HH24:MI:SS"Z"');
253
254        ELSIF NEW.context='replace' THEN
255                NEW.safetoignore := lower(NEW.safetoignore);
256
257                IF NEW.safetoignore IS NULL THEN
258                        RAISE EXCEPTION '%: safeToIgnore nicht gesetzt.', NEW.featureid;
259                ELSIF NEW.safetoignore<>'true' AND NEW.safetoignore<>'false' THEN
260                        RAISE EXCEPTION '%: safeToIgnore ''%'' ungÃŒltig (''true'' oder ''false'' erwartet).', NEW.featureid, NEW.safetoignore;
261                END IF;
262
263                IF NEW.replacedBy IS NULL OR NEW.replacedBy = '' THEN
264                        IF NEW.safetoignore = 'true' THEN
265                                RAISE NOTICE '%: Nachfolger nicht gesetzt - ignoriert', NEW.featureid;
266                                NEW.ignored := true;
267                                RETURN NEW;
268                        ELSE
269                                RAISE EXCEPTION '%: Nachfolger nicht gesetzt', NEW.featureid;
270                        END IF;
271                END IF;
272
273                -- Das beginn-Datum des neuen Objektes ermitteln, der Satz ist kurz zuvor eingefuegt worden
274
275                -- Variante 1 funktioniert, wenn gml_id auch einen Timestamp enthaelt
276                sql := 'SELECT beginnt FROM ' || NEW.typename || ' WHERE identifier=''urn:adv:oid:' || NEW.replacedBy || '''';
277                -- RAISE NOTICE 'SQL: %', sql;
278                EXECUTE sql INTO endete;
279
280                IF endete IS NULL AND length(NEW.replacedBy)>16 THEN
281                        RAISE NOTICE '%: Nachfolger % nicht gefunden - versuche ''%''', NEW.featureid, NEW.replacedBy, substr(NEW.replacedBy, 1, 16);
282                        sql := 'SELECT beginnt FROM ' || NEW.typename
283                            || ' WHERE gml_id=''' || substr(NEW.replacedBy, 1, 16) || ''''
284                            || ' AND endete IS NULL'
285                            || ' AND identifier<>''urn:adv:oid:'|| NEW.featureid || '''';
286                        EXECUTE sql INTO endete;
287                END IF;
288
289                IF endete IS NULL THEN
290                        IF NEW.safetoignore = 'true' THEN
291                                RAISE NOTICE '%: Nachfolger % nicht gefunden - ignoriert', NEW.featureid, NEW.replacedBy;
292                                NEW.ignored := true;
293                                RETURN NEW;
294                        ELSE
295                                RAISE EXCEPTION '%: Nachfolger % nicht gefunden', NEW.featureid, NEW.replacedBy;
296                        END IF;
297                END IF;
298
299                RAISE NOTICE '%: Nachfolgeobjekt beginnt um %.', NEW.featureid, endete;
300        ELSE
301                RAISE EXCEPTION '%: UngÃŒltiger Kontext % (''delete'' oder ''replace'' erwartet).', NEW.featureid, NEW.context;
302        END IF;
303
304        -- mit dem zuvor ermittelten Beginn-Datum des replace-Objektes das alte Objekt historisieren
305        sql := 'UPDATE ' || NEW.typename
306                || ' SET endet=''' || endete || ''''
307                || ' WHERE (identifier=''urn:adv:oid:' || NEW.featureid || ''' OR identifier=''urn:adv:oid:' || gml_id || ''')'
308                || ' AND endet IS NULL';
309                RAISE NOTICE 'SQL: %', sql;
310        EXECUTE sql;
311        GET DIAGNOSTICS n = ROW_COUNT;
312        IF n<>1 THEN
313                RAISE NOTICE 'SQL: %', sql;
314                IF NEW.context = 'delete' OR NEW.safetoignore = 'true' THEN
315                        RAISE NOTICE '%: Untergangsdatum von % Objekte statt nur einem auf % gesetzt - ignoriert', NEW.featureid, n, endete;
316                        NEW.ignored := true;
317                        RETURN NEW;
318                ELSE
319                        RAISE EXCEPTION '%: Untergangsdatum von % Objekte statt nur einem auf % gesetzt - ignoriert', NEW.featureid, n, endete;
320                END IF;
321        END IF;
322
323        NEW.ignored := false;
324        RETURN NEW;
325END;
326$$ LANGUAGE plpgsql;
327
328
329-- Löschsatz verarbeiten (OHNE Historie)
330-- historische Objekte werden sofort gelöscht.
331-- Siehe Mail W. Jacobs vom 23.03.2012 in PostNAS-Mailingliste
332-- geaendert krz FJ 2012-10-31
333CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $$
334DECLARE
335        query TEXT;
336        begsql TEXT;
337        aktbeg TEXT;
338        gml_id TEXT;
339BEGIN
340        NEW.typename := lower(NEW.typename);
341        NEW.context := lower(NEW.context);
342        gml_id      := substr(NEW.featureid, 1, 16);
343
344        IF NEW.context IS NULL THEN
345                NEW.context := 'delete';
346        END IF;
347
348        IF NEW.context='delete' THEN
349                -- ersatzloses Loeschen eines Objektes
350
351                -- Tabelle der Objekt-Art
352                query := 'DELETE FROM ' || NEW.typename
353                        || ' WHERE gml_id = ''' || gml_id || '''';
354                EXECUTE query;
355
356                -- Tabelle alkis_beziehungen
357                query := 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id
358                        || ''' OR beziehung_zu = ''' || gml_id || '''';
359                EXECUTE query;
360                RAISE NOTICE 'Lösche gml_id % in % und Beziehungen', gml_id, NEW.typename;
361
362        ELSE
363                -- Ersetzen eines Objektes
364                -- In der objekt-Tabelle sind bereits 2 Objekte vorhanden (alt und neu).
365                -- Die 2 DatensÀtze unterscheiden sich nur in ogc_fid und beginnt
366
367                -- beginnt-Wert des aktuellen Objektes ermitteln
368                -- RAISE NOTICE 'Suche beginnt von neuem gml_id % ', substr(NEW.replacedBy, 1, 16);
369                begsql := 'SELECT max(beginnt) FROM ' || NEW.typename || ' WHERE gml_id = ''' || substr(NEW.replacedBy, 1, 16) || ''' AND endet IS NULL';
370                EXECUTE begsql INTO aktbeg;
371
372                -- Nur alte Objekte entfernen
373                query := 'DELETE FROM ' || NEW.typename
374                        || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || '''';
375                EXECUTE query;
376
377                -- Tabelle alkis_beziehungen
378                IF gml_id = substr(NEW.replacedBy, 1, 16) THEN -- gml_id gleich
379                        -- Beziehungen des Objektes wurden redundant noch einmal eingetragen
380                        -- ToDo:         HIER sofort die Redundanzen zum aktuellen Objekt beseitigen.
381                        -- Work-Arround: Nach der Konvertierung werden im Post-Processing
382                        --               ALLE Redundanzen mit einem SQL-Statemant beseitigt.
383                --      RAISE NOTICE 'Ersetze gleiche gml_id % in %', gml_id, NEW.typename;
384
385                -- ENTWURF ungetestet:
386                --query := 'DELETE FROM alkis_beziehungen AS bezalt
387                --      WHERE (bezalt.beziehung_von = ' || gml_id || ' OR bezalt.beziehung_zu = ' || gml_id ||')
388                --      AND EXISTS (SELECT ogc_fid FROM alkis_beziehungen AS bezneu
389                --              WHERE bezalt.beziehung_von = bezneu.beziehung_von
390                --              AND bezalt.beziehung_zu = bezneu.beziehung_zu
391                --              AND bezalt.beziehungsart = bezneu.beziehungsart
392                --              AND bezalt.ogc_fid < bezneu.ogc_fid);'
393                --EXECUTE query;
394
395                ELSE
396                        -- replace mit ungleicher gml_id
397                        -- Falls dies vorkommt, die Function erweitern
398                        RAISE EXCEPTION '%: neue gml_id % bei Replace in %. alkis_beziehungen muss aktualisiert werden!', gml_id, NEW.replacedBy, NEW.typename;
399                END IF;
400        END IF;
401
402        NEW.ignored := false;
403        RETURN NEW;
404END;
405$$ LANGUAGE plpgsql;
406
407-- Im Trigger 'delete_feature_trigger' muss eine dieser beiden Functions (_hist oder _kill) verlinkt werden,
408-- je nachdem ob nur aktuelle oder auch historische Objekte in der Datenbank gefÃŒhrt werden sollen.
409
410-- Wenn die Datenbank MIT Historie angelegt wurde, aber eigentlich stört die nur.
411-- Dann kann nach dem Laden hiermit aufgerÀumt werden.
412CREATE OR REPLACE FUNCTION alkis_delete_all_endet() RETURNS void AS $$
413DECLARE
414        c RECORD;
415BEGIN
416        -- In allen Tabellen die Objekte Löschen, die ein Ende-Datum haben
417        FOR c IN
418                SELECT table_name
419                FROM information_schema.columns a
420                WHERE a.column_name='endet'
421                ORDER BY table_name
422        LOOP
423                EXECUTE 'DELETE FROM ' || c.table_name || ' WHERE NOT endet IS NULL';
424                -- RAISE NOTICE 'Lösche ended in: %', c.table_name;
425        END LOOP;
426END;
427$$ LANGUAGE plpgsql;
428
429
430-- Alle Tabellen löschen:
431--  SELECT alkis_drop();
432
433
434-- Tabelle delete fÌr Lösch- und FortfÌhrungsdatensÀtze
435CREATE TABLE "delete"
436(
437        ogc_fid         serial NOT NULL,
438        typename        varchar,
439        featureid       character(32),
440        context         varchar,                -- delete/replace
441        safetoignore    varchar,                -- replace.safetoignore 'true'/'false'
442        replacedBy      varchar,                -- gmlid
443        ignored         boolean DEFAULT false,  -- Satz wurde nicht verarbeitet
444        CONSTRAINT delete_pk PRIMARY KEY (ogc_fid)
445);
446
447
448-- Dummy-Eintrag in Metatabelle
449SELECT AddGeometryColumn('delete','dummy',25832,'POINT',2);
450
451CREATE UNIQUE INDEX delete_fid ON "delete"(featureid);
452
453
454COMMENT ON TABLE "delete"             IS 'Hilfstabelle fÃŒr das Speichern von Löschinformationen.';
455COMMENT ON COLUMN delete.typename     IS 'Objektart, also Name der Tabelle, aus der das Objekt zu löschen ist.';
456COMMENT ON COLUMN delete.featureid    IS 'Zusammen gesetzt aus GML-ID (16) und Zeitstempel.';
457COMMENT ON COLUMN delete.context      IS 'Operation ''delete'' oder ''replace''';
458COMMENT ON COLUMN delete.safetoignore IS 'Attribut safeToIgnore von wfsext:Replace';
459COMMENT ON COLUMN delete.replacedBy   IS 'gml_id des Objekts, das featureid ersetzt';
460COMMENT ON COLUMN delete.ignored      IS 'Löschsatz wurde ignoriert';
461
462
463-- Trigger auf "delete"
464
465--  Optionen  (A)  O D E R  (B)
466
467
468--  (A)  -  Function 'delete_feature_kill'   bei delete und replace wird das alte Objekt sofort entfernt
469
470 CREATE TRIGGER delete_feature_trigger
471        BEFORE INSERT ON delete
472        FOR EACH ROW
473           EXECUTE PROCEDURE delete_feature_kill();
474
475
476--  (B)  -  Function 'delete_feature_hist'  das alte Objekt bekommt einen Eintrag in 'endet'
477--                                          (aktuell ist: WHERE endet IS NULL)
478
479-- CREATE TRIGGER delete_feature_trigger
480--        BEFORE INSERT ON delete
481--        FOR EACH ROW
482--           EXECUTE PROCEDURE delete_feature_hist();
483
484
485-- COMMENT ON DATABASE *** IS 'ALKIS - PostNAS 0.7';
486
487-- ===========================================================
488--              A L K I S  -  L a y e r
489-- ===========================================================
490
491
492-- S o n s t i g e s   B a u w e r k
493-- ----------------------------------
494CREATE TABLE ks_sonstigesbauwerk (
495        ogc_fid                 serial NOT NULL,
496        gml_id                  character(16),
497        identifier              character(44),
498        beginnt                 character(20),
499        endet                   character(20),
500        sonstigesmodell         varchar,
501        anlass                  integer,
502        bauwerksfunktion        integer,
503        CONSTRAINT ks_sonstigesbauwerk_pk PRIMARY KEY (ogc_fid)
504);
505
506SELECT AddGeometryColumn('ks_sonstigesbauwerk','wkb_geometry',25832,'GEOMETRY',2);
507
508CREATE INDEX ks_sonstigesbauwerk_geom_idx ON ks_sonstigesbauwerk USING gist (wkb_geometry);
509
510
511
512-- B e z i e h u n g e n
513-- ----------------------------------------------
514-- Zentrale Tabelle fuer alle Relationen im Buchwerk.
515
516-- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen
517-- in der ALKIS-Datenstruktur alle Beziehungen zwischen zwei Tabellen ÃŒber diese Verbindungstabelle.
518
519-- Die Konnectoren 'beziehung_von' und 'beziehung_zu' verweisen auf die ID des Objekte (gml_id).
520-- Das Feld 'gml_id' sollte daher in allen Tabellen indiziert werden.
521
522-- ZusÀtzlich enthÀlt 'beziehungsart' noch ein Verb fÌr die Art der Beziehung.
523
524CREATE TABLE alkis_beziehungen (
525        ogc_fid                 serial NOT NULL,
526        beziehung_von           character(16),         --> gml_id
527        beziehungsart           varchar,               --  Liste siehe unten
528        beziehung_zu            character(16),         --> gml_id
529        CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid)
530);
531CREATE INDEX id_alkis_beziehungen_von ON alkis_beziehungen USING btree (beziehung_von);
532CREATE INDEX id_alkis_beziehungen_zu  ON alkis_beziehungen USING btree (beziehung_zu);
533
534-- Dummy-Eintrag in Metatabelle
535SELECT AddGeometryColumn('alkis_beziehungen','dummy',25832,'POINT',2);
536
537COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle';
538COMMENT ON COLUMN alkis_beziehungen.beziehung_von IS 'Join auf Feld gml_id verschiedener Tabellen';
539COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen';
540COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle';
541
542-- Beziehungsarten:
543--
544-- "an" "benennt" "bestehtAusRechtsverhaeltnissenZu" "beziehtSichAuchAuf" "dientZurDarstellungVon"
545-- "durch" "gehoertAnteiligZu" "gehoertZu" "hat" "hatAuch" "istBestandteilVon"
546-- "istGebucht" "istTeilVon" "weistAuf" "zeigtAuf" "zu"
547
548-- Hinweis:
549-- Diese Tabelle enthÀlt fÌr ein Kreisgebiet ca. 5 Mio. Zeilen und wird stÀndig benutzt.
550-- Optimierung z.B. ÃŒber passende Indices ist wichtig.
551
552
553-- 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
554-- --------------------------------------------------------------------
555CREATE TABLE ax_anderefestlegungnachwasserrecht (
556        ogc_fid                         serial NOT NULL,
557        gml_id                          character(16),
558        identifier                      character(44),
559        beginnt                         character(20),
560        endet                           character(20),
561        advstandardmodell               varchar,
562        anlass                          integer,
563        artderfestlegung                integer,
564        CONSTRAINT ax_anderefestlegungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
565);
566
567SELECT AddGeometryColumn('ax_anderefestlegungnachwasserrecht','wkb_geometry',25832,'GEOMETRY',2);
568
569CREATE INDEX ax_anderefestlegungnachwasserrecht_geom_idx ON ax_anderefestlegungnachwasserrecht USING gist (wkb_geometry);
570CREATE UNIQUE INDEX ax_anderefestlegungnachwasserrecht_gml ON ax_anderefestlegungnachwasserrecht USING btree (gml_id,beginnt);
571
572COMMENT ON TABLE  ax_anderefestlegungnachwasserrecht        IS 'Andere Festlegung nach  W a s s e r r e c h t';
573COMMENT ON COLUMN ax_anderefestlegungnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
574
575
576-- B a u b l o c k
577-- ----------------------------------------------
578CREATE TABLE ax_baublock (
579        ogc_fid                 serial NOT NULL,
580        gml_id                  character(16),
581        identifier              character(44),
582        beginnt                 character(20),
583        endet                   character(20),
584        advstandardmodell       character(9),
585        anlass                  integer,
586        baublockbezeichnung     integer,
587        CONSTRAINT ax_baublock_pk PRIMARY KEY (ogc_fid)
588);
589SELECT AddGeometryColumn('ax_baublock','wkb_geometry',25832,'GEOMETRY',2);
590
591CREATE INDEX ax_baublock_geom_idx ON ax_baublock USING gist (wkb_geometry);
592CREATE UNIQUE INDEX ax_baublock_gml ON ax_baublock USING btree (gml_id,beginnt);
593
594COMMENT ON TABLE  ax_baublock        IS 'B a u b l o c k';
595COMMENT ON COLUMN ax_baublock.gml_id IS 'Identifikator, global eindeutig';
596
597
598-- B e s o n d e r e r   T o p o g r a f i s c h e r   P u n k t
599-- -------------------------------------------------------------
600CREATE TABLE ax_besonderertopographischerpunkt (
601        ogc_fid                 serial NOT NULL,
602        gml_id                  character(16),
603        identifier              character(44),
604        beginnt                 character(20),
605        endet                   character(20),
606        advstandardmodell       varchar,
607        anlass                  integer,
608        land                    integer,
609        stelle                  integer,
610        punktkennung            varchar, -- integer
611        --sonstigeeigenschaft character(26),
612        CONSTRAINT ax_besonderertopographischerpunkt_pk PRIMARY KEY (ogc_fid)
613);
614
615SELECT AddGeometryColumn('ax_besonderertopographischerpunkt','dummy',25832,'POINT',2);
616
617CREATE UNIQUE INDEX ax_besonderertopographischerpunkt_gml ON ax_besonderertopographischerpunkt USING btree (gml_id,beginnt);
618
619COMMENT ON TABLE  ax_besonderertopographischerpunkt        IS 'B e s o n d e r e r   T o p o g r a f i s c h e r   P u n k t';
620COMMENT ON COLUMN ax_besonderertopographischerpunkt.gml_id IS 'Identifikator, global eindeutig';
621
622
623-- B e w e r t u n g
624-- ------------------
625CREATE TABLE ax_bewertung (
626        ogc_fid                 serial NOT NULL,
627        gml_id                  character(16),
628        identifier              character(44),
629        beginnt                 character(20),
630        endet                   character(20),
631        advstandardmodell       varchar,
632        anlass                  integer,
633        klassifizierung         integer,
634        CONSTRAINT ax_bewertung_pk PRIMARY KEY (ogc_fid)
635);
636
637SELECT AddGeometryColumn('ax_bewertung','wkb_geometry',25832,'GEOMETRY',2);
638
639CREATE INDEX ax_bewertung_geom_idx   ON ax_bewertung USING gist  (wkb_geometry);
640CREATE UNIQUE INDEX ax_bewertung_gml ON ax_bewertung USING btree (gml_id,beginnt);
641
642COMMENT ON TABLE  ax_bewertung        IS 'B e w e r t u n g';
643COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig';
644
645
646-- D e n k m a l s c h u t z r e c h t
647-- -----------------------------------
648CREATE TABLE ax_denkmalschutzrecht (
649        ogc_fid                 serial NOT NULL,
650        gml_id                  character(16),
651        identifier              character(44),
652        beginnt                 character(20),
653        endet                   character(20),
654        advstandardmodell       varchar,
655        anlass                  integer,
656        artderfestlegung        integer,
657        art                     varchar, -- (15)
658        "name"                  varchar, -- (15)
659        CONSTRAINT ax_denkmalschutzrecht_pk PRIMARY KEY (ogc_fid)
660);
661
662SELECT AddGeometryColumn('ax_denkmalschutzrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
663
664CREATE INDEX ax_denkmalschutzrecht_geom_idx   ON ax_denkmalschutzrecht USING gist  (wkb_geometry);
665CREATE UNIQUE INDEX ax_denkmalschutzrecht_gml ON ax_denkmalschutzrecht USING btree (gml_id,beginnt);
666
667COMMENT ON TABLE  ax_denkmalschutzrecht        IS 'D e n k m a l s c h u t z r e c h t';
668COMMENT ON COLUMN ax_denkmalschutzrecht.gml_id IS 'Identifikator, global eindeutig';
669
670
671-- G e b a e u d e a u s g e s t a l t u n g
672-- -----------------------------------------
673CREATE TABLE ax_gebaeudeausgestaltung (
674        ogc_fid                 serial NOT NULL,
675        gml_id                  character(16),
676        identifier              character(44),
677        beginnt                 character(20),
678        endet                   character(20),
679        advstandardmodell       character(4),
680        anlass                  integer,
681        darstellung             integer,
682        zeigtauf                varchar,
683        CONSTRAINT ax_gebaeudeausgestaltung_pk PRIMARY KEY (ogc_fid)
684);
685
686SELECT AddGeometryColumn('ax_gebaeudeausgestaltung','wkb_geometry',25832,'LINESTRING',2);
687
688CREATE INDEX ax_gebaeudeausgestaltung_geom_idx ON ax_gebaeudeausgestaltung USING gist (wkb_geometry);
689CREATE UNIQUE INDEX ax_gebaeudeausgestaltung_gml ON ax_gebaeudeausgestaltung USING btree (gml_id,beginnt);
690
691COMMENT ON TABLE  ax_gebaeudeausgestaltung        IS 'G e b a e u d e a u s g e s t a l t u n g';
692COMMENT ON COLUMN ax_gebaeudeausgestaltung.gml_id IS 'Identifikator, global eindeutig';
693
694
695-- Georeferenzierte  G e b À u d e a d r e s s e
696-- ----------------------------------------------
697CREATE TABLE ax_georeferenziertegebaeudeadresse (
698        ogc_fid                 serial NOT NULL,
699        gml_id                  character(16),
700        identifier              character(44),
701        beginnt                 character(20),          -- Inhalt z.B. "2008-06-10T15:19:17Z"
702        endet                   character(20),          -- Inhalt z.B. "2008-06-10T15:19:17Z"
703                                                        -- ISO:waere   "2008-06-10 15:19:17-00"
704--      beginnt                 timestamp,              -- timestamp-Format wird nicht geladen, bleibt leer
705        advstandardmodell       varchar,
706        anlass                  integer,
707        qualitaetsangaben       integer,                -- zb: "1000" (= Massstab)
708        --                      --                      -- Gemeindeschluessel, bestehend aus:
709        land                    integer,                -- 05 = NRW
710        regierungsbezirk        integer,                --   7
711        kreis                   integer,                --    66
712        gemeinde                integer,                --      020
713        ortsteil                integer,                --         0
714        --                      --                      -- --
715        postleitzahl            varchar,        -- mit fuehrenden Nullen
716        ortsnamepost            varchar,        --
717        zusatzortsname          varchar,        --
718        strassenname            varchar,        --
719        strassenschluessel      integer,                -- max.  5 Stellen
720        hausnummer              integer,                -- meist 3 Stellen
721        adressierungszusatz     varchar,        -- Hausnummernzusatz-Buchstabe
722        CONSTRAINT ax_georeferenziertegebaeudeadresse_pk PRIMARY KEY (ogc_fid)
723);
724
725SELECT AddGeometryColumn('ax_georeferenziertegebaeudeadresse','wkb_geometry',25832,'POINT',2);
726
727CREATE INDEX ax_georeferenziertegebaeudeadresse_geom_idx ON ax_georeferenziertegebaeudeadresse USING gist (wkb_geometry);
728
729-- Index fÃŒr alkis_beziehungen
730CREATE UNIQUE INDEX ax_georeferenziertegebaeudeadresse_gml ON ax_georeferenziertegebaeudeadresse USING btree (gml_id,beginnt);
731
732-- Suchindex Adresse
733CREATE INDEX ax_georeferenziertegebaeudeadresse_adr ON ax_georeferenziertegebaeudeadresse USING btree (strassenschluessel, hausnummer, adressierungszusatz);
734
735COMMENT ON TABLE  ax_georeferenziertegebaeudeadresse        IS 'Georeferenzierte  G e b À u d e a d r e s s e';
736COMMENT ON COLUMN ax_georeferenziertegebaeudeadresse.gml_id IS 'Identifikator, global eindeutig';
737
738
739-- G r a b l o c h   d e r   B o d e n s c h a e t z u n g
740-- -------------------------------------------------------
741CREATE TABLE ax_grablochderbodenschaetzung (
742        ogc_fid                 serial NOT NULL,
743        gml_id                  character(16),
744        identifier              character(44),
745        beginnt                 character(20),
746        endet                   character(20),
747        advstandardmodell       varchar,
748        anlass                  integer,
749        art                     varchar,
750        "name"                  varchar,
751        bedeutung               integer,
752        land                    integer,
753        nummerierungsbezirk     varchar,
754        gemarkungsnummer        integer,
755        nummerdesgrablochs      integer,
756        CONSTRAINT ax_grablochderbodenschaetzung_pk PRIMARY KEY (ogc_fid)
757);
758
759SELECT AddGeometryColumn('ax_grablochderbodenschaetzung','wkb_geometry',25832,'POINT',2);
760
761CREATE INDEX ax_grablochderbodenschaetzung_geom_idx   ON ax_grablochderbodenschaetzung USING gist  (wkb_geometry);
762CREATE UNIQUE INDEX ax_grablochderbodenschaetzung_gml ON ax_grablochderbodenschaetzung USING btree (gml_id,beginnt);
763
764COMMENT ON TABLE  ax_grablochderbodenschaetzung        IS 'G r a b l o c h   d e r   B o d e n s c h a e t z u n g';
765COMMENT ON COLUMN ax_grablochderbodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
766
767
768-- H i s t o r i s c h e s   F l u r s t ÃŒ c k   A L B
769-- ---------------------------------------------------
770-- Variante A: "Standardhistorie" (statt ax_historischesflurstueckohneraumbezug)
771
772-- Die "alte" Historie, die schon aus dem VorgÀngerverfahren ALB Ìbernommen wurde.
773-- VorgÀnger-Nachfolger-Beziehungen, ohne Geometrie
774
775CREATE TABLE ax_historischesflurstueckalb (
776        ogc_fid                         serial NOT NULL,
777        gml_id                          character(16),
778
779        -- GID: AX_Flurstueck_Kerndaten
780        -- 'FlurstÃŒck_Kerndaten' enthÀlt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
781        land                            integer,         --
782        gemarkungsnummer                integer,            --
783        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens
784        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen)
785        nenner                          integer,         --
786        -- daraus abgeleitet:
787        flurstueckskennzeichen          character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
788
789        amtlicheflaeche                 double precision,      -- AFL
790        abweichenderrechtszustand       character(5),          -- ARZ
791        zweifelhafterFlurstuecksnachweis character(5),         -- ZFM Boolean
792        rechtsbehelfsverfahren          integer,               -- RBV
793        zeitpunktderentstehung          character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
794--      gemeindezugehoerigkeit  integer,
795        gemeinde                integer,
796        -- GID: ENDE AX_Flurstueck_Kerndaten
797
798        identifier              character(44),
799        beginnt                 character(20),
800        endet                   character(20),
801        advstandardmodell       varchar,
802        anlass                  integer,
803        "name"                  varchar[],
804        blattart                integer,
805        buchungsart             varchar,
806        buchungsblattkennzeichen        integer,
807        bezirk                                  integer,
808        buchungsblattnummermitbuchstabenerweiterung     varchar, --integer,
809        laufendenummerderbuchungsstelle                 integer,
810        zeitpunktderentstehungdesbezugsflurstuecks      varchar,
811
812        vorgaengerflurstueckskennzeichen        varchar[],
813        nachfolgerflurstueckskennzeichen        varchar[],
814        CONSTRAINT ax_historischesflurstueckalb_pk PRIMARY KEY (ogc_fid)
815);
816
817SELECT AddGeometryColumn('ax_historischesflurstueckalb','dummy',25832,'POINT',2);
818
819CREATE UNIQUE INDEX ax_historischesflurstueckalb_gml ON ax_historischesflurstueckalb USING btree (gml_id,beginnt);
820
821COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
822COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
823CREATE INDEX idx_histfsalb_vor
824   ON ax_historischesflurstueckalb (vorgaengerflurstueckskennzeichen ASC);
825  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck';
826
827CREATE INDEX idx_histfsalb_nach
828   ON ax_historischesflurstueckalb (vorgaengerflurstueckskennzeichen ASC);
829  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
830  COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
831  COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
832  COMMENT ON COLUMN ax_historischesflurstueckalb.flurnummer                IS 'FLN "Flurnummer" ist die von der Katasterbehörde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÀngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
833  COMMENT ON COLUMN ax_historischesflurstueckalb.zaehler                   IS 'ZAE  Dieses Attribut enthÀlt den ZÀhler der FlurstÃŒcknummer';
834  COMMENT ON COLUMN ax_historischesflurstueckalb.nenner                    IS 'NEN  Dieses Attribut enthÀlt den Nenner der FlurstÃŒcknummer';
835  COMMENT ON COLUMN ax_historischesflurstueckalb.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der Katasterbehörde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
836Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
837 1.  Land (2 Stellen)
838 2.  Gemarkungsnummer (4 Stellen)
839 3.  Flurnummer (3 Stellen)
840 4.  FlurstÃŒcksnummer
841 4.1 ZÀhler (5 Stellen)
842 4.2 Nenner (4 Stellen)
843 5.  FlurstÃŒcksfolge (2 Stellen)
844Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
845Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
846Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
847  COMMENT ON COLUMN ax_historischesflurstueckalb.amtlicheflaeche           IS 'AFL "Amtliche FlÀche" ist der im Liegenschaftskataster festgelegte FlÀcheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÀchen kleiner 0,5 qm können mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
848  COMMENT ON COLUMN ax_historischesflurstueckalb.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass außerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maßgebend ist.';
849  COMMENT ON COLUMN ax_historischesflurstueckalb.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden können.';
850  COMMENT ON COLUMN ax_historischesflurstueckalb.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÀngig ist.';
851  COMMENT ON COLUMN ax_historischesflurstueckalb.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
852--COMMENT ON COLUMN ax_historischesflurstueckalb.gemeindezugehoerigkeit    IS 'GDZ "Gemeindezugehörigkeit" enthÀlt das Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
853  COMMENT ON COLUMN ax_historischesflurstueckalb.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
854
855
856-- Historisches FlurstÃŒck (ALKIS)
857-- ------------------------------
858-- Die "neue" Historie, die durch FortfÃŒhrungen innerhalb von ALKIS entstanden ist.
859CREATE TABLE ax_historischesflurstueck (
860        ogc_fid                         serial NOT NULL,
861        gml_id                          character(16),
862        -- GID: AX_Flurstueck_Kerndaten
863        -- 'FlurstÃŒck_Kerndaten' enthÀlt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
864        land                            integer,         --
865        gemarkungsnummer                integer,            --
866        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens
867        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen)
868        nenner                          integer,         --
869        -- daraus abgeleitet:
870        flurstueckskennzeichen  character(20),                  -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
871        amtlicheflaeche                 double precision,       -- AFL
872        abweichenderrechtszustand       varchar,                -- ARZ
873        zweifelhafterFlurstuecksnachweis varchar,               -- ZFM Boolean
874        rechtsbehelfsverfahren          integer,                -- RBV
875        zeitpunktderentstehung          character(10),          -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
876--      gemeindezugehoerigkeit          integer,
877        gemeinde                        integer,
878        -- GID: ENDE AX_Flurstueck_Kerndaten
879        identifier                      character(44),
880        beginnt                         character(20),
881        endet                           character(20),
882        advstandardmodell               varchar,
883        anlass                          integer,
884        art                             varchar[],
885        "name"                          varchar[],
886        regierungsbezirk                integer,
887        kreis                           integer,
888        vorgaengerflurstueckskennzeichen        varchar[],
889        nachfolgerflurstueckskennzeichen        varchar[],
890        blattart                        integer,
891        --buchungsart                   integer,  -- Aenderung krz FJ 2012-10-31: Meldung aus Konverter
892        buchungsart                     varchar,
893        buchungsblattkennzeichen        double precision,
894        bezirk                          integer,
895        buchungsblattnummermitbuchstabenerweiterung     character(20), -- hier lÀnger als (7)!
896        laufendenummerderbuchungsstelle integer,
897        CONSTRAINT ax_historischesflurstueck_pk PRIMARY KEY (ogc_fid)
898);
899
900SELECT AddGeometryColumn('ax_historischesflurstueck','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
901
902CREATE INDEX ax_historischesflurstueck_geom_idx   ON ax_historischesflurstueck USING gist (wkb_geometry);
903CREATE UNIQUE INDEX ax_historischesflurstueck_gml ON ax_historischesflurstueck USING btree (gml_id,beginnt);
904
905-- Suche nach VorgÀnger / Nachfolger
906-- ++ Welche Methode fÃŒr ein Array?
907-- Wirkt das ÃŒberhaupt bei der Suche nach einem einzelnen Wert aus dem Array?
908CREATE INDEX idx_histfs_vor ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen ASC);
909CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen ASC);
910
911-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÌck';
912-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
913
914-- Die postgresql-Doku sagt dazu (http://www.postgresql.org/docs/9.1/static/arrays.html):
915--  "Arrays are not sets;
916--   searching for specific array elements can be a sign of database misdesign.
917--   Consider using a separate table with a row for each item that would be an array element.
918--   This will be easier to search, and is likely to scale better for a large number of elements."
919
920
921  COMMENT ON TABLE  ax_historischesflurstueck        IS 'Historisches FlurstÃŒck, ALKIS, MIT Geometrie';
922  COMMENT ON COLUMN ax_historischesflurstueck.gml_id IS 'Identifikator, global eindeutig';
923  COMMENT ON COLUMN ax_historischesflurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der Katasterbehörde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÀngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
924  COMMENT ON COLUMN ax_historischesflurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÀlt den ZÀhler der FlurstÃŒcknummer';
925  COMMENT ON COLUMN ax_historischesflurstueck.nenner                    IS 'NEN  Dieses Attribut enthÀlt den Nenner der FlurstÃŒcknummer';
926  COMMENT ON COLUMN ax_historischesflurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der Katasterbehörde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
927Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
928 1.  Land (2 Stellen)
929 2.  Gemarkungsnummer (4 Stellen)
930 3.  Flurnummer (3 Stellen)
931 4.  FlurstÃŒcksnummer
932 4.1 ZÀhler (5 Stellen)
933 4.2 Nenner (4 Stellen)
934 5.  FlurstÃŒcksfolge (2 Stellen)
935Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
936Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
937Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
938  COMMENT ON COLUMN ax_historischesflurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÀche" ist der im Liegenschaftskataster festgelegte FlÀcheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÀchen kleiner 0,5 qm können mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
939  COMMENT ON COLUMN ax_historischesflurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass außerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maßgebend ist.';
940  COMMENT ON COLUMN ax_historischesflurstueck.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden können.';
941  COMMENT ON COLUMN ax_historischesflurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÀngig ist.';
942  COMMENT ON COLUMN ax_historischesflurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
943--COMMENT ON COLUMN ax_historischesflurstueck.gemeindezugehoerigkeit    IS 'GDZ "Gemeindezugehörigkeit" enthÀlt das Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
944  COMMENT ON COLUMN ax_historischesflurstueck.gemeinde                  IS 'GDZ "Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
945
946
947-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
948CREATE INDEX ax_historischesflurstueck_kennz
949   ON ax_historischesflurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST);
950COMMENT ON INDEX ax_historischesflurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
951
952
953
954-- N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t
955-- ------------------------------------------------------------------------
956CREATE TABLE ax_naturumweltoderbodenschutzrecht (
957        ogc_fid                 serial NOT NULL,
958        gml_id                  character(16),
959        identifier              character(44),
960        beginnt                 character(20),
961        endet                   character(20),
962        advstandardmodell       varchar,
963        anlass                  integer,
964        artderfestlegung        integer,
965        CONSTRAINT ax_naturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid)
966);
967
968SELECT AddGeometryColumn('ax_naturumweltoderbodenschutzrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
969
970CREATE INDEX ax_naturumweltoderbodenschutzrecht_geom_idx   ON ax_naturumweltoderbodenschutzrecht USING gist (wkb_geometry);
971CREATE UNIQUE INDEX ax_naturumweltoderbodenschutzrecht_gml ON ax_naturumweltoderbodenschutzrecht USING btree (gml_id,beginnt);
972
973COMMENT ON TABLE  ax_naturumweltoderbodenschutzrecht        IS 'N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t';
974COMMENT ON COLUMN ax_naturumweltoderbodenschutzrecht.gml_id IS 'Identifikator, global eindeutig';
975
976
977-- S c h u t z g e b i e t   n a c h   W a s s e r r e c h t
978-- -----------------------------------------------------------
979CREATE TABLE ax_schutzgebietnachwasserrecht (
980        ogc_fid                 serial NOT NULL,
981        gml_id                  character(16),
982        identifier              character(44),
983        beginnt                 character(20),
984        endet                   character(20),
985        advstandardmodell       varchar,
986        anlass                  integer,
987        artderfestlegung        integer,
988        art                     varchar[], --(15)
989        "name"                  varchar[],
990        nummerdesschutzgebietes varchar,
991        CONSTRAINT ax_schutzgebietnachwasserrecht_pk PRIMARY KEY (ogc_fid)
992);
993
994SELECT AddGeometryColumn('ax_schutzgebietnachwasserrecht','dummy',25832,'POINT',2);
995
996CREATE UNIQUE INDEX ax_schutzgebietnachwasserrecht_gml ON ax_schutzgebietnachwasserrecht USING btree (gml_id,beginnt);
997
998COMMENT ON TABLE  ax_schutzgebietnachwasserrecht        IS 'S c h u t z g e b i e t   n a c h   W a s s s e r r e c h t';
999COMMENT ON COLUMN ax_schutzgebietnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
1000
1001-- S c h u t z g e b i e t   n a c h   N a t u r,  U m w e l t  o d e r  B o d e n s c h u t z r e c h t
1002-- -----------------------------------------------------------------------------------------------------
1003CREATE TABLE ax_schutzgebietnachnaturumweltoderbodenschutzrecht (
1004        ogc_fid                 serial NOT NULL,
1005        gml_id                  character(16),
1006        identifier              character(44),
1007        beginnt                 character(20),
1008        endet                   character(20),
1009        advstandardmodell       varchar,
1010        anlass                  integer,
1011        artderfestlegung        integer,
1012        CONSTRAINT ax_schutzgebietnachnaturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid)
1013);
1014
1015SELECT AddGeometryColumn('ax_schutzgebietnachnaturumweltoderbodenschutzrecht','dummy',25832,'POINT',2);
1016
1017CREATE UNIQUE INDEX ax_schutzgebietnachnaturumweltoderbodenschutzrecht_gml ON ax_schutzgebietnachnaturumweltoderbodenschutzrecht USING btree (gml_id,beginnt);
1018
1019COMMENT ON TABLE  ax_schutzgebietnachnaturumweltoderbodenschutzrecht IS 'S c h u t z g e b i e t   n a c h   N a t u r,  U m w e l t  o d e r  B o d e n s c h u t z r e c h t';
1020COMMENT ON COLUMN ax_schutzgebietnachnaturumweltoderbodenschutzrecht.gml_id IS 'Identifikator, global eindeutig';
1021
1022
1023-- S c h u t z z o n e
1024-- ----------------------------------------------
1025CREATE TABLE ax_schutzzone (
1026        ogc_fid                 serial NOT NULL,
1027        gml_id                  character(16),
1028        identifier              character(44),
1029        beginnt                 character(20),
1030        endet                   character(20),
1031        advstandardmodell       varchar,
1032        anlass                  integer,
1033        "zone"                  integer,
1034        art                     varchar[], --(15)
1035        CONSTRAINT ax_schutzzone_pk PRIMARY KEY (ogc_fid)
1036);
1037
1038SELECT AddGeometryColumn('ax_schutzzone','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
1039
1040CREATE INDEX ax_schutzzone_geom_idx   ON ax_schutzzone USING gist (wkb_geometry);
1041CREATE UNIQUE INDEX ax_schutzzone_gml ON ax_schutzzone USING btree (gml_id,beginnt);
1042
1043COMMENT ON TABLE  ax_schutzzone        IS 'S c h u t z z o n e';
1044COMMENT ON COLUMN ax_schutzzone.gml_id IS 'Identifikator, global eindeutig';
1045
1046
1047-- T o p o g r a p h i s c h e   L i n i e
1048-- ---------------------------------------------------
1049CREATE TABLE ax_topographischelinie (
1050        ogc_fid                 serial NOT NULL,
1051        gml_id                  character(16),
1052        identifier              character(44),
1053        beginnt                 character(20),
1054        endet                   character(20),
1055        advstandardmodell       varchar,
1056        anlass                  integer,
1057        liniendarstellung       integer,
1058        sonstigeeigenschaft     varchar,
1059        CONSTRAINT ax_topographischelinie_pk PRIMARY KEY (ogc_fid)
1060);
1061
1062SELECT AddGeometryColumn('ax_topographischelinie','wkb_geometry',25832,'LINESTRING',2);
1063
1064CREATE INDEX ax_topographischelinie_geom_idx   ON ax_topographischelinie USING gist(wkb_geometry);
1065CREATE UNIQUE INDEX ax_topographischelinie_gml ON ax_topographischelinie USING btree (gml_id,beginnt);
1066
1067COMMENT ON TABLE  ax_topographischelinie        IS 'T o p o g r a p h i s c h e   L i n i e';
1068COMMENT ON COLUMN ax_topographischelinie.gml_id IS 'Identifikator, global eindeutig';
1069
1070
1071--*** ############################################################
1072--*** Objektbereich: AAA Basisschema
1073--*** ############################################################
1074
1075--** Objektartengruppe: AAA_Praesentationsobjekte
1076--   ===================================================================
1077
1078
1079-- A P   P P O
1080-- ----------------------------------------------
1081CREATE TABLE ap_ppo (
1082        ogc_fid                 serial NOT NULL,
1083        gml_id                  character(16),
1084        identifier              character(44),
1085        beginnt                 character(20),
1086        endet                   character(20),
1087        advstandardmodell       varchar[],
1088        sonstigesmodell         varchar,
1089        anlass                  integer,
1090        signaturnummer          integer,
1091        art                     varchar,
1092        drehwinkel              double precision,
1093        CONSTRAINT ap_ppo_pk PRIMARY KEY (ogc_fid)
1094);
1095
1096SELECT AddGeometryColumn('ap_ppo','wkb_geometry',25832,'GEOMETRY',2); -- POINT/MULTIPOLYGON
1097
1098CREATE INDEX ap_ppo_geom_idx   ON ap_ppo USING gist (wkb_geometry);
1099CREATE UNIQUE INDEX ap_ppo_gml ON ap_ppo USING btree (gml_id,beginnt);
1100
1101COMMENT ON TABLE  ap_ppo        IS 'PPO: Punktförmiges PrÀsentationsobjekt';
1102COMMENT ON COLUMN ap_ppo.gml_id IS 'Identifikator, global eindeutig';
1103
1104
1105-- A P   L P O
1106-- ----------------------------------------------
1107CREATE TABLE ap_lpo (
1108        ogc_fid                 serial NOT NULL,
1109        gml_id                  character(16),
1110        identifier              character(44),
1111        beginnt                 character(20),
1112        endet                   character(20),
1113        advstandardmodell       varchar[],              -- Array!
1114        anlass                  integer,
1115        signaturnummer          integer,
1116        art                     varchar,
1117        CONSTRAINT ap_lpo_pk PRIMARY KEY (ogc_fid)
1118);
1119SELECT AddGeometryColumn('ap_lpo','wkb_geometry',25832,'LINESTRING',2);
1120
1121CREATE INDEX ap_lpo_geom_idx   ON ap_lpo USING gist (wkb_geometry);
1122CREATE UNIQUE INDEX ap_lpo_gml ON ap_lpo USING btree (gml_id,beginnt);
1123
1124COMMENT ON TABLE  ap_lpo        IS 'LPO: Linienförmiges PrÀsentationsobjekt';
1125COMMENT ON COLUMN ap_lpo.gml_id IS 'Identifikator, global eindeutig';
1126
1127
1128-- A P   P T O
1129-- ----------------------------------------------
1130CREATE TABLE ap_pto (
1131        ogc_fid                 serial NOT NULL,
1132        gml_id                  character(16),
1133        identifier              character(44),
1134        beginnt                 character(20),
1135        endet                   character(20),
1136        advstandardmodell       varchar[],
1137        anlass                  integer,
1138        schriftinhalt           varchar,  -- (47)
1139        fontsperrung            double precision,
1140        skalierung              double precision,
1141        horizontaleausrichtung  varchar,
1142        vertikaleausrichtung    varchar,
1143        signaturnummer          integer,
1144        art                     varchar,  -- Inhalte z.B. "ZAE_NEN" siehe unten
1145        drehwinkel              double precision,       -- falsche Masseinheit fÃŒr Mapserver, im View umrechnen
1146        CONSTRAINT ap_pto_pk PRIMARY KEY (ogc_fid)
1147);
1148
1149SELECT AddGeometryColumn('ap_pto','wkb_geometry',25832,'POINT',2);
1150
1151CREATE INDEX ap_pto_geom_idx   ON ap_pto USING gist (wkb_geometry);
1152CREATE UNIQUE INDEX ap_pto_gml ON ap_pto USING btree (gml_id,beginnt);
1153CREATE INDEX art_idx           ON ap_pto USING btree (art);
1154
1155COMMENT ON TABLE  ap_pto               IS 'PTO: Textförmiges PrÀsentationsobjekt mit punktförmiger Textgeometrie ';
1156COMMENT ON COLUMN ap_pto.gml_id        IS 'Identifikator, global eindeutig';
1157COMMENT ON COLUMN ap_pto.schriftinhalt IS 'Label: anzuzeigender Text';
1158COMMENT ON INDEX  art_idx              IS 'Suchindex auf hÀufig benutztem Filterkriterium';
1159
1160
1161-- Die Abfrage "select distinct art from ap_pto" liefert folgende Werte:
1162-- "ART""BezKlassifizierungStrasse""BSA""BWF""FKT""Fliessgewaesser""FreierText""Friedhof""Gewanne"
1163-- "GFK""GKN""Halde_LGT""HNR""MDB""NAM""PKN""Platz""PNR""SPO""Strasse"
1164-- "urn:adv:fachdatenverbindung:AA_Antrag""WE1_TEXT""Weg""ZAE_NEN""ZNM""<NULL>"
1165
1166
1167
1168-- A P   L T O
1169-- ----------------------------------------------
1170CREATE TABLE ap_lto (
1171        ogc_fid                 serial NOT NULL,
1172        gml_id                  character(16),
1173        identifier              character(44),
1174        beginnt                 character(20),
1175        endet                   character(20),
1176        advstandardmodell       varchar,
1177        sonstigesmodell         varchar,
1178        anlass                  integer,
1179        art                     varchar,
1180        schriftinhalt           varchar,
1181        fontsperrung            integer,
1182        skalierung              integer,
1183        horizontaleausrichtung  varchar,
1184        vertikaleausrichtung    varchar,
1185        CONSTRAINT ap_lto_pk PRIMARY KEY (ogc_fid)
1186);
1187
1188SELECT AddGeometryColumn('ap_lto','wkb_geometry',25832,'LINESTRING',2);
1189
1190CREATE INDEX ap_lto_geom_idx   ON ap_lto USING gist (wkb_geometry);
1191CREATE UNIQUE INDEX ap_lto_gml ON ap_lto USING btree (gml_id,beginnt);
1192
1193COMMENT ON TABLE  ap_lto        IS 'LTO: Textförmiges PrÀsentationsobjekt mit linienförmiger Textgeometrie';
1194COMMENT ON COLUMN ap_lto.gml_id IS 'Identifikator, global eindeutig';
1195
1196
1197-- A P  D a r s t e l l u n g
1198-- ----------------------------------------------
1199CREATE TABLE ap_darstellung (
1200        ogc_fid                 serial NOT NULL,
1201        gml_id                  character(16),
1202        identifier              character(44),
1203        beginnt                 character(20),                  -- Datumsformat
1204        endet                   character(20),                  -- Datumsformat
1205        advstandardmodell       varchar,
1206        anlass                  integer,
1207        art                     varchar,                -- (37)
1208        signaturnummer          integer,
1209        CONSTRAINT ap_darstellung_pk PRIMARY KEY (ogc_fid)
1210);
1211
1212-- Dummy-Eintrag in Metatabelle
1213SELECT AddGeometryColumn('ap_darstellung','dummy',25832,'POINT',2);
1214
1215CREATE UNIQUE INDEX ap_darstellung_gml ON ap_darstellung USING btree (gml_id,beginnt);
1216
1217COMMENT ON TABLE  ap_darstellung        IS 'A P  D a r s t e l l u n g';
1218COMMENT ON COLUMN ap_darstellung.gml_id IS 'Identifikator, global eindeutig';
1219
1220
1221--*** ############################################################
1222--*** Objektbereich: FlurstÃŒcke, Lage, Punkte
1223--*** ############################################################
1224
1225--** Objektartengruppe: Angaben zum FlurstÃŒck
1226--   ===================================================================
1227
1228-- F l u r s t u e c k
1229-- ----------------------------------------------
1230-- Kennung 11001
1231CREATE TABLE ax_flurstueck (
1232        ogc_fid                         serial NOT NULL,
1233        gml_id                          character(16),         -- Datenbank-Tabelle interner SchlÃŒssel
1234--      zustaendigeStelle               varchar,               -- ZST
1235
1236        -- GID: AX_Flurstueck_Kerndaten
1237        -- 'FlurstÃŒck_Kerndaten' enthÀlt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
1238
1239        land                            integer,         --
1240        gemarkungsnummer                integer,            --
1241        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens
1242        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen)
1243        nenner                          integer,         --
1244        -- daraus abgeleitet:
1245        flurstueckskennzeichen          character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
1246
1247        amtlicheflaeche                 double precision,      -- AFL
1248        abweichenderrechtszustand       varchar,               -- ARZ
1249        zweifelhafterFlurstuecksnachweis varchar,              -- ZFM Boolean
1250        rechtsbehelfsverfahren          integer,               -- RBV
1251        zeitpunktderentstehung          character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
1252
1253        gemeinde                        integer,
1254        -- GID: ENDE AX_Flurstueck_Kerndaten
1255
1256        identifier                      character(44),         -- global eindeutige Objektnummer
1257        beginnt                         character(20),         -- Timestamp der Entstehung
1258        endet                           character(20),         -- Timestamp des Untergangs
1259        advstandardmodell               varchar,               -- steuert die Darstellung nach Kartentyp
1260        anlass                          integer,
1261--      art                             varchar[],   -- Wozu braucht man das? Weglassen?
1262        "name"                          varchar[],   -- 03.11.2011: array, Buchauskunft anpassen!
1263        regierungsbezirk                integer,
1264        kreis                           integer,
1265
1266-- neu aus SVN-Version 28.02.2012 hinzugefuegt
1267-- Dies ist noch zu ueberpruefen
1268        angabenzumabschnittflurstueck   varchar[],
1269--      "gemeindezugehoerigkeit|ax_gemeindekennzeichen|land" integer, -- siehe "land"
1270        kennungschluessel               varchar[],
1271        flaechedesabschnitts            double precision[],
1272
1273        angabenzumabschnittnummeraktenzeichen integer[],
1274        angabenzumabschnittbemerkung    varchar[],
1275
1276        -- siehe alkis_relationen
1277--      istgebucht                      character varying,
1278--      zeigtauf                        character varying,
1279--      weistauf                        character varying,
1280-- neu-Ende
1281        CONSTRAINT ax_flurstueck_pk PRIMARY KEY (ogc_fid)
1282);
1283
1284SELECT AddGeometryColumn('ax_flurstueck','wkb_geometry',25832,'GEOMETRY',2);
1285
1286CREATE INDEX ax_flurstueck_geom_idx   ON ax_flurstueck USING gist (wkb_geometry);
1287CREATE UNIQUE INDEX ax_flurstueck_gml ON ax_flurstueck USING btree (gml_id,beginnt);
1288
1289  COMMENT ON TABLE  ax_flurstueck                           IS '"F l u r s t u e c k" ist ein Teil der ErdoberflÀche, der von einer im Liegenschaftskataster festgelegten Grenzlinie umschlossen und mit einer Nummer bezeichnet ist. Es ist die Buchungseinheit des Liegenschaftskatasters.';
1290  COMMENT ON COLUMN ax_flurstueck.gml_id                    IS 'Identifikator, global eindeutig';
1291--COMMENT ON COLUMN ax_flurstueck.zustaendigeStelle         IS 'ZST "FlurstÃŒck" wird verwaltet von "Dienststelle". Diese Attributart wird nur dann belegt, wenn eine fachliche ZustÀndigkeit ÃŒber eine Gemarkung bzw. Gemarkungsteil/Flur nicht abgebildet werden kann. Die Attributart enthÀlt den DienststellenschlÃŒssel der Stelle, die fachlich fÃŒr ein FlurstÃŒck zustandig ist.';
1292  COMMENT ON COLUMN ax_flurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der Katasterbehörde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÀngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
1293  COMMENT ON COLUMN ax_flurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÀlt den ZÀhler der FlurstÃŒcknummer';
1294  COMMENT ON COLUMN ax_flurstueck.nenner                    IS 'NEN  Dieses Attribut enthÀlt den Nenner der FlurstÃŒcknummer';
1295  COMMENT ON COLUMN ax_flurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der Katasterbehörde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
1296Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
1297 1.  Land (2 Stellen)
1298 2.  Gemarkungsnummer (4 Stellen)
1299 3.  Flurnummer (3 Stellen)
1300 4.  FlurstÃŒcksnummer
1301 4.1 ZÀhler (5 Stellen)
1302 4.2 Nenner (4 Stellen)
1303 5.  FlurstÃŒcksfolge (2 Stellen)
1304Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
1305Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
1306Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
1307  COMMENT ON COLUMN ax_flurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÀche" ist der im Liegenschaftskataster festgelegte FlÀcheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÀchen kleiner 0,5 qm können mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
1308  COMMENT ON COLUMN ax_flurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass außerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maßgebend ist.';
1309  COMMENT ON COLUMN ax_flurstueck.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden können.';
1310  COMMENT ON COLUMN ax_flurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÀngig ist.';
1311  COMMENT ON COLUMN ax_flurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
1312--COMMENT ON COLUMN ax_flurstueck.gemeindezugehoerigkeit    IS 'GDZ "Gemeindezugehörigkeit" enthÀlt das Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
1313  COMMENT ON COLUMN ax_flurstueck.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
1314  COMMENT ON COLUMN ax_flurstueck.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
1315  COMMENT ON COLUMN ax_flurstueck.regierungsbezirk          IS 'Regierungsbezirk';
1316  COMMENT ON COLUMN ax_flurstueck.kreis                     IS 'Kreis';
1317
1318
1319-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
1320CREATE INDEX ax_flurstueck_kennz
1321   ON ax_flurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST);
1322COMMENT ON INDEX ax_flurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
1323
1324-- Relationen:
1325--  istGebucht                --> AX_Buchungsstelle
1326--  zeigtAuf                  --> AX_LagebezeichnungOhneHausnummer
1327--  weistAuf                  --> AX_LagebezeichnungMitHausnummer
1328--  gehoertAnteiligZu         --> AX_Flurstueck
1329--  beziehtSichAufFlurstueck  --> AX_Flurstueck
1330
1331
1332-- BEGIN - Nur fuer Test-Zwecke
1333 CREATE OR REPLACE FUNCTION info_flurstueck() RETURNS TRIGGER AS $$
1334 BEGIN
1335        RAISE NOTICE 'Insert Flurstueck %', NEW.gml_id;
1336        RETURN NEW;
1337 END;
1338 $$ LANGUAGE plpgsql;
1339
1340-- CREATE TRIGGER neues_fs_trigger
1341--        BEFORE INSERT ON ax_flurstueck
1342--        FOR EACH ROW
1343--           EXECUTE PROCEDURE info_flurstueck();
1344
1345-- ENDE - Nur fuer Test-Zwecke
1346
1347
1348-- B e s o n d e r e   F l u r s t u e c k s g r e n z e
1349-- -----------------------------------------------------
1350CREATE TABLE ax_besondereflurstuecksgrenze (
1351        ogc_fid                 serial NOT NULL,
1352        gml_id                  character(16),
1353        identifier              character(44),
1354        beginnt                 character(20),
1355        endet                   character(20),
1356        advstandardmodell       varchar,
1357        anlass                  integer,
1358        artderflurstuecksgrenze integer[],  -- geaendert. 18.09.2011
1359        CONSTRAINT ax_besondereflurstuecksgrenze_pk PRIMARY KEY (ogc_fid)
1360);
1361
1362SELECT AddGeometryColumn('ax_besondereflurstuecksgrenze','wkb_geometry',25832,'LINESTRING',2);
1363
1364CREATE INDEX ax_besondereflurstuecksgrenze_geom_idx   ON ax_besondereflurstuecksgrenze USING gist (wkb_geometry);
1365CREATE UNIQUE INDEX ax_besondereflurstuecksgrenze_gml ON ax_besondereflurstuecksgrenze USING btree (gml_id,beginnt);
1366
1367COMMENT ON TABLE  ax_besondereflurstuecksgrenze        IS 'B e s o n d e r e   F l u r s t u e c k s g r e n z e';
1368COMMENT ON COLUMN ax_besondereflurstuecksgrenze.gml_id IS 'Identifikator, global eindeutig';
1369
1370
1371-- G r e n z p u n k t
1372-- ----------------------------------------------
1373CREATE TABLE ax_grenzpunkt (
1374        ogc_fid                         serial NOT NULL,
1375        gml_id                          character(16),
1376        identifier                      character(44),
1377        beginnt                         character(20),
1378        endet                           character(20),
1379        advstandardmodell               varchar,
1380        anlass                          integer,
1381        punktkennung                    varchar, -- integer,
1382        land                            integer,
1383        stelle                          integer,
1384        abmarkung_marke                 integer,
1385        festgestelltergrenzpunkt        varchar,
1386        bemerkungzurabmarkung           integer,
1387        sonstigeeigenschaft             varchar[],
1388        art                             varchar, --(37)
1389        "name"                          varchar[],
1390        zeitpunktderentstehung          integer,
1391        CONSTRAINT ax_grenzpunkt_pk PRIMARY KEY (ogc_fid)
1392);
1393
1394SELECT AddGeometryColumn('ax_grenzpunkt','dummy',25832,'POINT',2);
1395
1396CREATE UNIQUE INDEX ax_grenzpunkt_gml ON ax_grenzpunkt USING btree (gml_id,beginnt);
1397
1398COMMENT ON TABLE  ax_grenzpunkt        IS 'G r e n z p u n k t';
1399COMMENT ON COLUMN ax_grenzpunkt.gml_id IS 'Identifikator, global eindeutig';
1400
1401
1402--** Objektartengruppe: Angaben zur Lage
1403--   ===================================================================
1404
1405-- L a g e b e z e i c h n u n g   o h n e   H a u s n u m m e r
1406-- -------------------------------------------------------------
1407CREATE TABLE ax_lagebezeichnungohnehausnummer (
1408        ogc_fid                 serial NOT NULL,
1409        gml_id                  character(16),
1410        identifier              character(44),
1411        beginnt                 character(20),
1412        endet                   character(20),
1413        advstandardmodell       varchar,
1414        anlass                  integer,
1415        unverschluesselt        varchar, -- Straßenname
1416        land                    integer,
1417        regierungsbezirk        integer,
1418        kreis                   integer,
1419        gemeinde                integer,
1420        lage                    varchar,
1421        CONSTRAINT ax_lagebezeichnungohnehausnummer_pk PRIMARY KEY (ogc_fid)
1422);
1423
1424SELECT AddGeometryColumn('ax_lagebezeichnungohnehausnummer','dummy',25832,'POINT',2);
1425
1426-- Verbindungstabellen indizieren
1427CREATE UNIQUE INDEX ax_lagebezeichnungohnehausnummer_gml ON ax_lagebezeichnungohnehausnummer USING btree (gml_id,beginnt);
1428
1429-- Such-Index (z.B. fuer Navigations-Programm)
1430CREATE INDEX ax_lagebezeichnungohnehausnummer_key ON ax_lagebezeichnungohnehausnummer USING btree (land, regierungsbezirk, kreis, gemeinde,lage);
1431
1432COMMENT ON TABLE  ax_lagebezeichnungohnehausnummer        IS 'L a g e b e z e i c h n u n g   o h n e   H a u s n u m m e r';
1433COMMENT ON COLUMN ax_lagebezeichnungohnehausnummer.gml_id IS 'Identifikator, global eindeutig';
1434
1435
1436-- L a g e b e z e i c h n u n g   m i t   H a u s n u m m e r
1437-- -----------------------------------------------------------
1438--   ax_flurstueck  >weistAuf>    AX_LagebezeichnungMitHausnummer
1439--                  <gehoertZu<
1440CREATE TABLE ax_lagebezeichnungmithausnummer (
1441        ogc_fid                 serial NOT NULL,
1442        gml_id                  character(16),
1443        identifier              character(44),
1444        beginnt                 character(20),
1445        endet                   character(20),
1446        advstandardmodell       varchar,
1447        anlass                  integer,
1448        land                    integer,
1449        regierungsbezirk        integer,
1450        kreis                   integer,
1451        gemeinde                integer,
1452        lage                    varchar,        -- Strassenschluessel
1453        hausnummer              varchar,        -- Nummer (blank) Zusatz
1454        CONSTRAINT ax_lagebezeichnungmithausnummer_pk PRIMARY KEY (ogc_fid)
1455);
1456
1457SELECT AddGeometryColumn('ax_lagebezeichnungmithausnummer','dummy',25832,'POINT',2);
1458
1459CREATE UNIQUE INDEX ax_lagebezeichnungmithausnummer_gml ON ax_lagebezeichnungmithausnummer USING btree (gml_id,beginnt); -- Verbindungstabellen indizieren
1460CREATE INDEX ax_lagebezeichnungmithausnummer_lage       ON ax_lagebezeichnungmithausnummer USING btree (gemeinde, lage); -- Adressen-Suche nach Strasse
1461
1462COMMENT ON TABLE  ax_lagebezeichnungmithausnummer        IS 'L a g e b e z e i c h n u n g   m i t   H a u s n u m m e r';
1463COMMENT ON COLUMN ax_lagebezeichnungmithausnummer.gml_id IS 'Identifikator, global eindeutig';
1464
1465
1466-- L a g e b e z e i c h n u n g   m i t  P s e u d o n u m m e r
1467-- --------------------------------------------------------------
1468-- NebengebÀude: lfd-Nummer eines NebengebÀudes zu einer (Pseudo-) Hausnummer
1469CREATE TABLE ax_lagebezeichnungmitpseudonummer (
1470        ogc_fid                 serial NOT NULL,
1471        gml_id                  character(16),
1472        identifier              character(44),
1473        beginnt                 character(20),
1474        endet                   character(20),
1475        advstandardmodell       varchar,
1476        anlass                  integer,
1477        land                    integer,
1478        regierungsbezirk        integer,
1479        kreis                   integer,
1480        gemeinde                integer,
1481        lage                    varchar, -- Strassenschluessel
1482        pseudonummer            varchar,
1483        laufendenummer          varchar, -- leer, Zahl, "P2"
1484        CONSTRAINT ax_lagebezeichnungmitpseudonummer_pk PRIMARY KEY (ogc_fid)
1485);
1486
1487SELECT AddGeometryColumn('ax_lagebezeichnungmitpseudonummer','dummy',25832,'POINT',2);
1488
1489-- Verbindungstabellen indizieren
1490CREATE UNIQUE INDEX ax_lagebezeichnungmitpseudonummer_gml ON ax_lagebezeichnungmitpseudonummer USING btree (gml_id,beginnt);
1491
1492COMMENT ON TABLE  ax_lagebezeichnungmitpseudonummer        IS 'L a g e b e z e i c h n u n g   m i t  P s e u d o n u m m e r';
1493COMMENT ON COLUMN ax_lagebezeichnungmitpseudonummer.gml_id IS 'Identifikator, global eindeutig';
1494
1495
1496
1497--** Objektartengruppe: Angaben zum Netzpunkt
1498--   ===================================================================
1499
1500
1501-- A u f n a h m e p u n k t
1502-- ----------------------------------------------
1503CREATE TABLE ax_aufnahmepunkt (
1504        ogc_fid                 serial NOT NULL,
1505        gml_id                  character(16),
1506        identifier              character(44),
1507        beginnt                 character(20),
1508        endet                   character(20),
1509        advstandardmodell       varchar,
1510        anlass                  integer,
1511        punktkennung            varchar,   --integer ist zu klein,
1512        land                    integer,
1513        stelle                  integer,
1514        sonstigeeigenschaft     varchar[],
1515        vermarkung_marke        integer,
1516        CONSTRAINT ax_aufnahmepunkt_pk PRIMARY KEY (ogc_fid)
1517);
1518
1519SELECT AddGeometryColumn('ax_aufnahmepunkt','dummy',25832,'POINT',2);
1520
1521CREATE UNIQUE INDEX ax_aufnahmepunkt_gml ON ax_aufnahmepunkt USING btree (gml_id,beginnt);
1522
1523COMMENT ON TABLE  ax_aufnahmepunkt        IS 'A u f n a h m e p u n k t';
1524COMMENT ON COLUMN ax_aufnahmepunkt.gml_id IS 'Identifikator, global eindeutig';
1525
1526
1527-- S i c h e r u n g s p u n k t
1528-- ----------------------------------------------
1529-- DROP TABLE ax_sicherungspunkt;
1530CREATE TABLE ax_sicherungspunkt (
1531        ogc_fid                 serial NOT NULL,
1532        gml_id                  varchar,
1533        beginnt                 varchar,
1534        advstandardmodell       varchar,
1535        anlass                  integer,
1536        "name"                  varchar,
1537        punktkennung            varchar,
1538        land                    integer,
1539        stelle                  integer,
1540        sonstigeeigenschaft     varchar,
1541        vermarkung_marke        integer,
1542        CONSTRAINT ax_sicherungspunkt_pk PRIMARY KEY (ogc_fid)
1543);
1544
1545SELECT AddGeometryColumn('ax_sicherungspunkt','dummy',25832,'POINT',2);
1546
1547
1548-- s o n s t i g e r   V e r m e s s u n g s p u n k t
1549-- ---------------------------------------------------
1550CREATE TABLE ax_sonstigervermessungspunkt (
1551        ogc_fid                 serial NOT NULL,
1552        gml_id                  character(16),
1553        identifier              character(44),
1554        beginnt                 character(20),
1555        endet                   character(20),
1556        advstandardmodell       varchar,
1557        anlass                  integer,
1558        vermarkung_marke        integer,
1559        punktkennung            varchar, -- integer,
1560        land                    integer,
1561        stelle                  integer,
1562        sonstigeeigenschaft     varchar[],
1563        CONSTRAINT ax_sonstigervermessungspunkt_pk PRIMARY KEY (ogc_fid)
1564);
1565
1566SELECT AddGeometryColumn('ax_sonstigervermessungspunkt','dummy',25832,'POINT',2);
1567
1568CREATE UNIQUE INDEX ax_sonstigervermessungspunkt_gml ON ax_sonstigervermessungspunkt USING btree (gml_id,beginnt);
1569
1570COMMENT ON TABLE  ax_sonstigervermessungspunkt        IS 's o n s t i g e r   V e r m e s s u n g s p u n k t';
1571COMMENT ON COLUMN ax_sonstigervermessungspunkt.gml_id IS 'Identifikator, global eindeutig';
1572
1573
1574--AX_Netzpunkt
1575-- ** Tabelle bisher noch nicht generiert
1576
1577
1578--** Objektartengruppe: Angaben zum Punktort
1579--   ===================================================================
1580
1581
1582--AX_Punktort
1583
1584
1585-- P u n k t o r t   AG
1586-- ----------------------------------------------
1587CREATE TABLE ax_punktortag (
1588        ogc_fid                 serial NOT NULL,
1589        gml_id                  character(16),
1590        identifier              character(44),
1591        beginnt                 character(20),
1592        endet                   character(20),
1593        advstandardmodell       varchar,
1594        anlass                  integer,
1595        art                     varchar[],
1596        "name"                  varchar[],
1597        --kartendarstellung     varchar, -- true/false
1598        kartendarstellung       integer,
1599--      "qualitaetsangaben|ax_dqpunktort|herkunft|li_lineage|processstep" integer, -- varchar[],
1600        genauigkeitsstufe       integer,
1601        vertrauenswuerdigkeit   integer,
1602        CONSTRAINT ax_punktortag_pk PRIMARY KEY (ogc_fid)
1603);
1604
1605SELECT AddGeometryColumn('ax_punktortag','wkb_geometry',25832,'POINT',2);
1606
1607CREATE INDEX ax_punktortag_geom_idx ON ax_punktortag USING gist (wkb_geometry);
1608CREATE UNIQUE INDEX ax_punktortag_gml ON ax_punktortag USING btree (gml_id,beginnt);
1609
1610COMMENT ON TABLE  ax_punktortag        IS 'P u n k t o r t   AG';
1611COMMENT ON COLUMN ax_punktortag.gml_id IS 'Identifikator, global eindeutig';
1612
1613
1614-- P u n k t o r t   A U
1615-- ----------------------------------------------
1616CREATE TABLE ax_punktortau (
1617        ogc_fid                 serial NOT NULL,
1618        gml_id                  character(16),
1619        identifier              character(44),
1620        beginnt                 character(20),
1621        endet                   character(20),
1622        advstandardmodell       varchar,
1623        anlass                  integer,
1624--      kartendarstellung       varchar, -- true / false: boolean
1625        kartendarstellung       integer,
1626--      art                     varchar, -- entbehrlich
1627        "name"                  varchar[],
1628--      "qualitaetsangaben|ax_dqpunktort|herkunft|li_lineage|processstep" integer,  --varchar[],
1629--      datetime                character(24)[],
1630        individualname          varchar,
1631        vertrauenswuerdigkeit   integer,
1632        genauigkeitsstufe       integer,
1633        CONSTRAINT ax_punktortau_pk PRIMARY KEY (ogc_fid)
1634);
1635
1636SELECT AddGeometryColumn('ax_punktortau','wkb_geometry',25832,'POINT',3); -- 0,0,Höhe
1637
1638CREATE INDEX ax_punktortau_geom_idx ON ax_punktortau USING gist (wkb_geometry);
1639CREATE UNIQUE INDEX ax_punktortau_gml ON ax_punktortau USING btree (gml_id,beginnt);
1640
1641COMMENT ON TABLE  ax_punktortau        IS 'P u n k t o r t   A U';
1642COMMENT ON COLUMN ax_punktortau.gml_id IS 'Identifikator, global eindeutig';
1643
1644
1645-- P u n k t o r t   T A
1646-- ----------------------------------------------
1647CREATE TABLE ax_punktortta (
1648        ogc_fid                 serial NOT NULL,
1649        gml_id                  character(16),
1650        identifier              character(44),
1651        beginnt                 character(20),
1652        endet                   character(20),
1653        advstandardmodell       varchar,
1654        anlass                  integer,
1655        kartendarstellung       integer,      -- boolean
1656        description             integer,
1657        art                     varchar[],
1658        "name"                  varchar[],
1659        genauigkeitsstufe       integer,
1660        vertrauenswuerdigkeit   integer,
1661        CONSTRAINT ax_punktortta_pk PRIMARY KEY (ogc_fid)
1662);
1663
1664SELECT AddGeometryColumn('ax_punktortta','wkb_geometry',25832,'POINT',2);
1665
1666CREATE INDEX ax_punktortta_geom_idx ON ax_punktortta USING gist (wkb_geometry);
1667CREATE UNIQUE INDEX ax_punktortta_gml ON ax_punktortta USING btree (gml_id,beginnt);
1668
1669COMMENT ON TABLE  ax_punktortta        IS 'P u n k t o r t   T A';
1670COMMENT ON COLUMN ax_punktortta.gml_id IS 'Identifikator, global eindeutig';
1671
1672
1673--** Objektartengruppe: FortfÃŒhrungsnachweis
1674--   ===================================================================
1675
1676-- F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t
1677-- --------------------------------------------------------------
1678CREATE TABLE ax_fortfuehrungsnachweisdeckblatt (
1679        ogc_fid                         serial NOT NULL,
1680        gml_id                          character(16),
1681        identifier                      character(44),
1682        beginnt                         character(20),
1683        endet                           character(20),
1684        advstandardmodell               varchar,
1685        anlass                          integer,
1686--      art                             varchar,                -- entbehrlich
1687        uri                             varchar,
1688        fortfuehrungsfallnummernbereich varchar,
1689        land                            integer, -- ingemarkung|ax_gemarkung_schluessel
1690        gemarkungsnummer                integer, -- ingemarkung|ax_gemarkung_schluessel
1691        laufendenummer                  integer,
1692        titel                           varchar,
1693        erstelltam                      varchar,                -- Datum jjjj-mm-tt
1694        fortfuehrungsentscheidungam     varchar,
1695        fortfuehrungsentscheidungvon    varchar,                -- Bearbeiter-Name und -Titel
1696        bemerkung                       varchar,
1697        beziehtsichauf                  character varying,
1698        CONSTRAINT ax_fortfuehrungsnachweisdeckblatt_pk PRIMARY KEY (ogc_fid)
1699);
1700
1701SELECT AddGeometryColumn('ax_fortfuehrungsnachweisdeckblatt','dummy',25832,'POINT',2);
1702
1703COMMENT ON TABLE  ax_fortfuehrungsnachweisdeckblatt
1704IS 'F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t';
1705
1706
1707-- F o r t f u e h r u n g s f a l l
1708-- ---------------------------------
1709CREATE TABLE ax_fortfuehrungsfall (
1710        ogc_fid                                 serial NOT NULL,
1711        gml_id                                  character(16),
1712        identifier                              character(44),
1713        beginnt                                 character(20),
1714        endet                                   character(20),
1715        advstandardmodell                       varchar,
1716        anlass                                  integer,
1717--      art                                     varchar,  -- entbehrlich
1718        uri                                     varchar,
1719        fortfuehrungsfallnummer                 integer,
1720        laufendenummer                          integer,
1721        ueberschriftimfortfuehrungsnachweis     integer[],
1722        anzahlderfortfuehrungsmitteilungen      integer,
1723        zeigtaufaltesflurstueck                 varchar[], -- Format wie flurstueckskennzeichen (20) als Array
1724        zeigtaufneuesflurstueck                 varchar[], -- Format wie flurstueckskennzeichen (20) als Array
1725        bemerkung                               varchar,
1726        CONSTRAINT ax_fortfuehrungsfall_pk PRIMARY KEY (ogc_fid)
1727);
1728
1729SELECT AddGeometryColumn('ax_fortfuehrungsfall','dummy',25832,'POINT',2);
1730
1731COMMENT ON TABLE  ax_fortfuehrungsfall IS 'F o r t f u e h r u n g s f a l l';
1732
1733
1734--** Objektartengruppe: Angaben zur Reservierung
1735--   ===================================================================
1736
1737-- R e s e r v i e r u n g
1738-- -----------------------
1739CREATE TABLE ax_reservierung (
1740        ogc_fid                 serial NOT NULL,
1741        gml_id                  character(16),
1742        beginnt                 varchar,
1743        advstandardmodell       varchar,
1744        art                     integer,
1745        nummer                  varchar,
1746        land                    integer,
1747        stelle                  integer,
1748        ablaufderreservierung   varchar,
1749        antragsnummer           varchar,
1750        auftragsnummer          varchar,
1751        CONSTRAINT ax_reservierung_pk PRIMARY KEY (ogc_fid)
1752);
1753
1754SELECT AddGeometryColumn('ax_reservierung','dummy',25832,'POINT',2);
1755
1756-- P u n k t k e n n u n g  U n t e r g e g a n g e n
1757-- --------------------------------------------------
1758CREATE TABLE ax_punktkennunguntergegangen (
1759        ogc_fid                 serial NOT NULL,
1760        gml_id                  character(16),
1761        beginnt                 varchar,
1762        advstandardmodell       varchar,
1763        sonstigesmodell         varchar,
1764        anlass                  integer,
1765        punktkennung            varchar,
1766        art                     integer,
1767        CONSTRAINT ax_punktkennunguntergegangen_pk PRIMARY KEY (ogc_fid)
1768);
1769
1770SELECT AddGeometryColumn('ax_punktkennunguntergegangen','dummy',25832,'POINT',2);
1771
1772
1773
1774--** Objektartengruppe: Angaben zur Historie
1775--   ===================================================================
1776
1777-- Variante B: "Vollhistorie" ( statt ax_historischesflurstueckalb)
1778CREATE TABLE ax_historischesflurstueckohneraumbezug (
1779        ogc_fid                         serial NOT NULL,
1780        gml_id                          character(16),
1781        -- GID: AX_Flurstueck_Kerndaten
1782        -- 'FlurstÃŒck_Kerndaten' enthÀlt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
1783        land                            integer,         --
1784        gemarkungsnummer                integer,            --
1785        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens
1786        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen)
1787        nenner                          integer,         --
1788        -- daraus abgeleitet:
1789        flurstueckskennzeichen          character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
1790        amtlicheflaeche                 double precision,      -- AFL
1791        abweichenderrechtszustand       varchar,               -- ARZ
1792        zweifelhafterFlurstuecksnachweis varchar,              -- ZFM Boolean
1793        rechtsbehelfsverfahren          integer,               -- RBV
1794        zeitpunktderentstehung          character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
1795--      gemeindezugehoerigkeit          integer,
1796        gemeinde                        integer,
1797        -- GID: ENDE AX_Flurstueck_Kerndaten
1798        identifier                      character(44),
1799        beginnt                         character(20),
1800        endet                           character(20),
1801        advstandardmodell               character(4),
1802        anlass                          integer,
1803--      art                             varchar[], -- Array {a,b,c}
1804        "name"                          varchar[], -- Array {a,b,c}
1805        nachfolgerflurstueckskennzeichen        varchar[], -- Array {a,b,c}
1806        vorgaengerflurstueckskennzeichen        varchar[], -- Array {a,b,c}
1807        CONSTRAINT ax_historischesflurstueckohneraumbezug_pk PRIMARY KEY (ogc_fid)
1808);
1809
1810  COMMENT ON TABLE  ax_historischesflurstueckohneraumbezug        IS '"Historisches FlurstÃŒck ohne Raumbezug" ist ein nicht mehr aktuelles FlurstÃŒck, das schon im ALB historisch geworden ist, nach ALKIS migriert und im Rahmen der Vollhistorie gefÃŒhrt wird.';
1811  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.gml_id IS 'Identifikator, global eindeutig';
1812  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.flurnummer                IS 'FLN "Flurnummer" ist die von der Katasterbehörde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÀngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
1813  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zaehler                   IS 'ZAE  Dieses Attribut enthÀlt den ZÀhler der FlurstÃŒcknummer';
1814  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nenner                    IS 'NEN  Dieses Attribut enthÀlt den Nenner der FlurstÃŒcknummer';
1815  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der Katasterbehörde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
1816Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
1817 1.  Land (2 Stellen)
1818 2.  Gemarkungsnummer (4 Stellen)
1819 3.  Flurnummer (3 Stellen)
1820 4.  FlurstÃŒcksnummer
1821 4.1 ZÀhler (5 Stellen)
1822 4.2 Nenner (4 Stellen)
1823 5.  FlurstÃŒcksfolge (2 Stellen)
1824Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
1825Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
1826Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
1827  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.amtlicheflaeche           IS 'AFL "Amtliche FlÀche" ist der im Liegenschaftskataster festgelegte FlÀcheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÀchen kleiner 0,5 qm können mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
1828  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass außerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maßgebend ist.';
1829  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden können.';
1830  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÀngig ist.';
1831  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
1832--COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.gemeindezugehoerigkeit    IS 'GDZ "Gemeindezugehörigkeit" enthÀlt das Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
1833  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
1834  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.anlass                    IS '?';
1835  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
1836  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nachfolgerflurstueckskennzeichen
1837  IS '"Nachfolger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezug" direkt nachfolgen.
1838Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
1839  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.vorgaengerflurstueckskennzeichen
1840  IS '"VorgÀnger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezugs" direkt vorangehen.
1841Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
1842
1843
1844-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
1845SELECT AddGeometryColumn('ax_historischesflurstueckohneraumbezug','dummy',25832,'POINT',2);
1846-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
1847CREATE INDEX ax_hist_fs_ohne_kennz ON ax_historischesflurstueckohneraumbezug USING btree (flurstueckskennzeichen ASC NULLS LAST);
1848COMMENT ON INDEX ax_hist_fs_ohne_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
1849
1850-- Suche nach VorgÀnger / Nachfolger
1851-- ++ Welche Methode fÃŒr ein Array? Wirkt das bei der Suche nach einem einzelnen Wert aus dem Array?
1852CREATE INDEX idx_histfsor_vor ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen ASC);
1853-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÌck';
1854
1855CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen ASC);
1856-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
1857
1858
1859
1860-- *** ############################################################
1861-- *** Objektbereich: EigentÃŒmer
1862-- *** ############################################################
1863
1864
1865-- ** Objektartengruppe:Personen- und Bestandsdaten
1866--   ===================================================================
1867
1868
1869-- 21001 P e r s o n
1870-- ----------------------------------------------
1871-- Buchwerk. Keine Geometrie
1872CREATE TABLE ax_person (
1873        ogc_fid                         serial NOT NULL,
1874        gml_id                          character(16),
1875        identifier                      character(44),
1876        beginnt                         character(20),
1877        endet                           character(20),
1878        advstandardmodell               varchar,
1879        --sonstigesmodell               varchar,
1880        anlass                          integer,
1881        nachnameoderfirma               varchar, --(97),
1882        anrede                          integer,        -- 'Anrede' ist die Anrede der Person. Diese Attributart ist optional, da Körperschaften und juristischen Person auch ohne Anrede angeschrieben werden können.
1883        -- Bezeichner   Wert
1884        --       Frau   1000
1885        --       Herr   2000
1886        --      Firma   3000
1887        vorname                         varchar,  --(31),
1888        geburtsname                     varchar,  --(36),
1889        geburtsdatum                    varchar,  -- Datumsformat?
1890        namensbestandteil               varchar,
1891        akademischergrad                varchar,  -- 'Akademischer Grad' ist der akademische Grad der Person (z.B. Dipl.-Ing., Dr., Prof. Dr.)
1892        --art                           varchar,  -- (37)  Wozu?
1893        --uri                           varchar,  -- Wozu ?
1894        -- hat                          varchar,      -- bliebt leer, Beziehung?
1895        CONSTRAINT ax_person_pk PRIMARY KEY (ogc_fid)
1896);
1897
1898SELECT AddGeometryColumn('ax_person','dummy',25832,'POINT',2);
1899
1900-- Verbindungstabellen indizieren
1901CREATE UNIQUE INDEX id_ax_person_gml ON ax_person USING btree (gml_id,beginnt);
1902
1903COMMENT ON TABLE  ax_person        IS 'NREO "Person" ist eine natÃŒrliche oder juristische Person und kann z.B. in den Rollen EigentÃŒmer, Erwerber, Verwalter oder Vertreter in Katasterangelegenheiten gefÃŒhrt werden.';
1904COMMENT ON COLUMN ax_person.gml_id IS 'Identifikator, global eindeutig';
1905COMMENT ON COLUMN ax_person.namensbestandteil IS 'enthÀlt z.B. Titel wie "Baron"';
1906
1907-- Relationen:
1908-- hat:         Die 'Person' hat 'Anschrift'.
1909-- weist auf:   Durch die Relation 'Person' weist auf 'Namensnummer' wird ausgedrÃŒckt, dass die Person als EigentÃŒmer,
1910--              Erbbauberechtigter oder kÃŒnftiger Erwerber unter der Namensnummer eines Buchungsblattes eingetragen ist.
1911
1912
1913--AX_Personengruppe
1914-- ** Tabelle bisher noch nicht generiert
1915
1916
1917-- A n s c h r i f t
1918-- ----------------------------------------------
1919-- Buchwerk, keine Geometrie.
1920-- Konverter versucht Tabelle noch einmal anzulegen, wenn kein (Dummy-) Eintrag in Metatabelle 'geometry_columns'.
1921CREATE TABLE ax_anschrift (
1922        ogc_fid                         serial NOT NULL,
1923        gml_id                          character(16),
1924        identifier                      character(44),
1925        beginnt                         character(20),
1926        endet                           character(20),
1927        advstandardmodell               varchar,
1928        --sonstigesmodell               varchar,
1929        anlass                          integer,
1930        --art                           varchar[],
1931        --uri                           varchar[],
1932        ort_post                        varchar,
1933        postleitzahlpostzustellung      integer,
1934        strasse                         varchar,
1935        hausnummer                      varchar, -- integer
1936        bestimmungsland                 varchar,
1937        CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid)
1938);
1939
1940-- Dummy-Eintrag in Metatabelle
1941SELECT AddGeometryColumn('ax_anschrift','dummy',25832,'POINT',2);
1942
1943-- Index fÃŒr alkis_beziehungen
1944CREATE UNIQUE INDEX ax_anschrift_gml ON ax_anschrift USING btree (gml_id,beginnt);
1945
1946COMMENT ON TABLE  ax_anschrift        IS 'A n s c h r i f t';
1947COMMENT ON COLUMN ax_anschrift.gml_id IS 'Identifikator, global eindeutig';
1948
1949
1950-- N a m e n s n u m m e r
1951-- ----------------------------------------------
1952-- Buchwerk. Keine Geometrie
1953CREATE TABLE ax_namensnummer (
1954        ogc_fid                         serial NOT NULL,
1955        gml_id                          character(16),
1956        identifier                      character(44),
1957        beginnt                         character(20),
1958        endet                           character(20),
1959        advstandardmodell               varchar,
1960        anlass                          integer,
1961        laufendenummernachdin1421       character(16),      -- 0000.00.00.00.00
1962        zaehler                         double precision,   -- Anteil ..
1963        nenner                          double precision,   --    .. als Bruch
1964        eigentuemerart                  integer,
1965        nummer                          varchar, -- immer leer ?
1966        artderrechtsgemeinschaft        integer,            -- SchlÃŒssel
1967        beschriebderrechtsgemeinschaft  varchar,  -- (977)
1968        CONSTRAINT ax_namensnummer_pk PRIMARY KEY (ogc_fid)
1969);
1970
1971-- Filter   istbestandteilvon <> '' or benennt <> '' or bestehtausrechtsverhaeltnissenzu <> ''
1972
1973SELECT AddGeometryColumn('ax_namensnummer','dummy',25832,'POINT',2);
1974
1975-- Verbindungstabellen indizieren
1976CREATE UNIQUE INDEX ax_namensnummer_gml ON ax_namensnummer USING btree (gml_id,beginnt);
1977
1978COMMENT ON TABLE  ax_namensnummer        IS 'NREO "Namensnummer" ist die laufende Nummer der Eintragung, unter welcher der EigentÃŒmer oder Erbbauberechtigte im Buchungsblatt gefÃŒhrt wird. Rechtsgemeinschaften werden auch unter AX_Namensnummer gefÃŒhrt.';
1979COMMENT ON COLUMN ax_namensnummer.gml_id IS 'Identifikator, global eindeutig';
1980
1981
1982-- B u c h u n g s b l a t t
1983-- -------------------------
1984CREATE TABLE ax_buchungsblatt (
1985        ogc_fid                 serial NOT NULL,
1986        gml_id                  character(16),
1987        identifier              character(44),
1988        beginnt                 character(20),
1989        endet                   character(20),
1990        advstandardmodell       varchar,
1991        anlass                  integer,
1992        buchungsblattkennzeichen        varchar, -- integer
1993        land                    integer,
1994        bezirk                  integer,
1995        buchungsblattnummermitbuchstabenerweiterung     varchar,
1996        blattart                integer,
1997        art                     varchar,
1998        -- "name" character(13),  -- immer leer?
1999        CONSTRAINT ax_buchungsblatt_pk PRIMARY KEY (ogc_fid)
2000);
2001
2002SELECT AddGeometryColumn('ax_buchungsblatt','dummy',25832,'POINT',2);
2003
2004-- Index fÃŒr alkis_beziehungen
2005CREATE UNIQUE INDEX ax_buchungsblatt_gml ON ax_buchungsblatt USING btree (gml_id,beginnt);
2006
2007COMMENT ON TABLE  ax_buchungsblatt        IS 'NREO "Buchungsblatt" enthÀlt die Buchungen (Buchungsstellen und Namensnummern) des Grundbuchs und des Liegenschhaftskatasters (bei buchungsfreien GrundstÃŒcken).';
2008COMMENT ON COLUMN ax_buchungsblatt.gml_id IS 'Identifikator, global eindeutig';
2009
2010
2011-- B u c h u n g s s t e l l e
2012-- -----------------------------
2013CREATE TABLE ax_buchungsstelle (
2014        ogc_fid                         serial NOT NULL,
2015        gml_id                          character(16),
2016        identifier                      character(44),
2017        beginnt                         character(20),
2018        endet                           character(20),
2019        advstandardmodell               varchar,
2020        anlass                          integer,
2021        buchungsart                     integer,
2022        laufendenummer                  integer,
2023        beschreibungdesumfangsderbuchung        character(1),
2024        --art                           character(37),
2025        --uri                           character(12),
2026        zaehler                         double precision,
2027        nenner                          integer,
2028        nummerimaufteilungsplan         varchar,   -- (32)
2029        beschreibungdessondereigentums  varchar,  -- (291)
2030        CONSTRAINT ax_buchungsstelle_pk PRIMARY KEY (ogc_fid)
2031);
2032
2033SELECT AddGeometryColumn('ax_buchungsstelle','dummy',25832,'POINT',2);
2034
2035--Index fÃŒr alkis_beziehungen
2036CREATE UNIQUE INDEX ax_buchungsstelle_gml ON ax_buchungsstelle USING btree (gml_id,beginnt);
2037
2038COMMENT ON TABLE  ax_buchungsstelle        IS 'NREO "Buchungsstelle" ist die unter einer laufenden Nummer im Verzeichnis des Buchungsblattes eingetragene Buchung.';
2039COMMENT ON COLUMN ax_buchungsstelle.gml_id IS 'Identifikator, global eindeutig';
2040
2041
2042--*** ############################################################
2043--*** Objektbereich: GebÀude
2044--*** ############################################################
2045
2046--** Objektartengruppe:Angaben zum GebÀude
2047--   ===================================================================
2048
2049--AX_Gebaeude
2050
2051-- G e b a e u d e
2052-- ---------------
2053-- Kennung 31001
2054-- Abgleich 2011-11-15 mit
2055--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/ALKIS-OK-NRW_MAX_20090722.html
2056CREATE TABLE ax_gebaeude (
2057        ogc_fid                 serial NOT NULL,
2058        gml_id                  character(16),
2059        identifier              character(44),
2060        beginnt                 character(20),
2061        endet                   character(20),
2062        advstandardmodell       varchar[],      -- verÀndert [] 2012-02-03
2063        anlass                  integer,
2064        gebaeudefunktion        integer,        -- Werte siehe SchlÃŒsseltabelle
2065        weiteregebaeudefunktion integer,
2066        "name"                  varchar,
2067--      nutzung                 varchar,        -- ???
2068        bauweise                integer,
2069        anzahlderoberirdischengeschosse integer,
2070        anzahlderunterirdischengeschosse        integer,
2071        hochhaus                varchar,        -- Neu 2011-11-15  Boolean "true"/"false", meist aber leer
2072        objekthoehe             integer,
2073        dachform                integer,        -- Neu 2011-11-15
2074        zustand                 integer,
2075        geschossflaeche         integer,        -- Neu 2011-11-15
2076        grundflaeche            integer,        -- Neu 2011-11-15
2077        umbauterraum            integer,        -- Neu 2011-11-15
2078        baujahr                 integer,        -- Neu 2011-11-15
2079        lagezurerdoberflaeche   integer,
2080        dachart                 varchar,        -- Neu 2011-11-15
2081        dachgeschossausbau      integer,        -- Neu 2011-11-15
2082        qualitaetsangaben       varchar,        -- neu 2011-11-15
2083        ax_datenerhebung        integer,        -- OBK, nicht in GeoInfoDok ??
2084        description             integer,        -- neu 2012-02-02
2085        art                     varchar,        -- neu 2012-02-02
2086        individualname          varchar,        -- neu 2012-02-02
2087
2088        CONSTRAINT ax_gebaeude_pk PRIMARY KEY (ogc_fid)
2089);
2090
2091SELECT AddGeometryColumn('ax_gebaeude','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
2092
2093CREATE INDEX ax_gebaeude_geom_idx   ON ax_gebaeude USING gist (wkb_geometry);
2094CREATE UNIQUE INDEX ax_gebaeude_gml ON ax_gebaeude USING btree  (gml_id,beginnt);
2095
2096  COMMENT ON TABLE  ax_gebaeude                    IS '"G e b À u d e" ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient.';
2097  COMMENT ON COLUMN ax_gebaeude.gml_id             IS 'Identifikator, global eindeutig';
2098  COMMENT ON COLUMN ax_gebaeude.gebaeudefunktion   IS 'GFK "GebÀudefunktion" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des GebÀudes (Dominanzprinzip). Werte siehe ax_gebaeude_funktion';
2099  COMMENT ON COLUMN ax_gebaeude.weiteregebaeudefunktion IS 'WGF "Weitere GebÀudefunktion" ist die Funktion, die ein GebÀude neben der dominierenden GebÀudefunktion hat.';
2100  COMMENT ON COLUMN ax_gebaeude."name"             IS 'NAM "Name" ist der Eigenname oder die Bezeichnung des GebÀudes.';
2101--COMMENT ON COLUMN ax_gebaeude.nutzung            IS 'NTZ "Nutzung" ist die GebÀudenutzung und enthÀlt den jeweiligen prozentualen Nutzungsanteil an der Gesamtnutzung.';
2102  COMMENT ON COLUMN ax_gebaeude.bauweise           IS 'BAW "Bauweise" ist die Beschreibung der Art der Bauweise. Werte siehe ax_gebaeude_bauweise';
2103  COMMENT ON COLUMN ax_gebaeude.anzahlderoberirdischengeschosse IS 'AOG "Anzahl der oberirdischen Geschosse" ist die Anzahl der oberirdischen Geschosse des GebÀudes.';
2104  COMMENT ON COLUMN ax_gebaeude.anzahlderunterirdischengeschosse IS 'AUG "Anzahl der unterirdischen Geschosse" ist die Anzahl der unterirdischen Geschosse des GebÀudes.';
2105  COMMENT ON COLUMN ax_gebaeude.hochhaus           IS 'HOH "Hochhaus" ist ein GebÀude, das nach GebÀudehöhe und AusprÀgung als Hochhaus zu bezeichnen ist. FÃŒr GebÀude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, fÃŒr andere GebÀude ab einer GebÀudehöhe von 22 m. Abweichungen hiervon können sich durch die Festlegungen in den lÀnderspezifischen Bauordnungen ergeben.';
2106  COMMENT ON COLUMN ax_gebaeude.objekthoehe        IS 'HHO "Objekthöhe" ist die Höhendifferenz in [m] zwischen dem höchsten Punkt der Dachkonstruktion und der festgelegten GelÀndeoberflÀche des GebÀudes.';
2107  COMMENT ON COLUMN ax_gebaeude.dachform           IS 'DAF "Dachform" beschreibt die charakteristische Form des Daches. Werte siehe ax_gebaeude_dachform';
2108  COMMENT ON COLUMN ax_gebaeude.zustand            IS 'ZUS "Zustand" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von "GebÀude". Diese Attributart wird nur dann optional gefÃŒhrt, wenn der Zustand des GebÀudes vom nutzungsfÀhigen Zustand abweicht. Werte siehe ax_gebaeude_zustand';
2109  COMMENT ON COLUMN ax_gebaeude.geschossflaeche    IS 'GFL "GeschossflÀche" ist die GebÀudegeschossflÀche in [qm].';
2110  COMMENT ON COLUMN ax_gebaeude.grundflaeche       IS 'GRF "GrundflÀche" ist die GebÀudegrundflÀche in [qm].';
2111  COMMENT ON COLUMN ax_gebaeude.umbauterraum       IS 'URA "Umbauter Raum" ist der umbaute Raum [Kubikmeter] des GebÀudes.';
2112  COMMENT ON COLUMN ax_gebaeude.baujahr            IS 'BJA "Baujahr" ist das Jahr der Fertigstellung oder der baulichen VerÀnderung des GebÀudes.';
2113  COMMENT ON COLUMN ax_gebaeude.lagezurerdoberflaeche IS 'OFL "Lage zur ErdoberflÀche" ist die Angabe der relativen Lage des GebÀudes zur ErdoberflÀche. Diese Attributart wird nur bei nicht ebenerdigen GebÀuden gefÃŒhrt. 1200=Unter der ErdoberflÀche, 1400=AufgestÀndert';
2114  COMMENT ON COLUMN ax_gebaeude.dachart            IS 'DAA "Dachart" gibt die Art der Dacheindeckung (z.B. Reetdach) an.';
2115  COMMENT ON COLUMN ax_gebaeude.dachgeschossausbau IS 'DGA "Dachgeschossausbau" ist ein Hinweis auf den Ausbau bzw. die AusbaufÀhigkeit des Dachgeschosses.';
2116  COMMENT ON COLUMN ax_gebaeude.qualitaetsangaben  IS 'QAG Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu reprÀsentieren.';
2117
2118
2119-- Wie oft kommt welcher Typ von GebÀude-Geometrie vor?
2120--
2121--  CREATE VIEW gebauede_geometrie_arten AS
2122--    SELECT geometrytype(wkb_geometry) AS geotyp,
2123--           COUNT(ogc_fid)             AS anzahl
2124--      FROM ax_gebaeude
2125--  GROUP BY geometrytype(wkb_geometry);
2126-- Ergebnis: nur 3 mal MULTIPOLYGON in einer Gemeinde, Rest POLYGON
2127
2128-- Welche sind das?
2129--  CREATE VIEW gebauede_geometrie_multipolygone AS
2130--    SELECT ogc_fid,
2131--           astext(wkb_geometry) AS geometrie
2132--      FROM ax_gebaeude
2133--     WHERE geometrytype(wkb_geometry) = 'MULTIPOLYGON';
2134
2135-- GeometryFromText('MULTIPOLYGON((( AUSSEN ), ( INNEN1 ), ( INNEN2 )))', srid)
2136-- GeometryFromText('MULTIPOLYGON((( AUSSEN1 )),(( AUSSEN2)))', srid)
2137
2138
2139-- B a u t e i l
2140-- -------------
2141CREATE TABLE ax_bauteil (
2142        ogc_fid                 serial NOT NULL,
2143        gml_id                  character(16),
2144        identifier              character(44),
2145        beginnt                 character(20),
2146        endet                   character(20),
2147        advstandardmodell       varchar,
2148        sonstigesmodell         varchar[],
2149        anlass                  integer,
2150        bauart                  integer,
2151        lagezurerdoberflaeche   integer,
2152        CONSTRAINT ax_bauteil_pk PRIMARY KEY (ogc_fid)
2153);
2154
2155SELECT AddGeometryColumn('ax_bauteil','wkb_geometry',25832,'GEOMETRY',2);
2156
2157CREATE INDEX ax_bauteil_geom_idx ON ax_bauteil USING gist (wkb_geometry);
2158
2159CREATE UNIQUE INDEX ax_bauteil_gml ON ax_bauteil USING btree (gml_id,beginnt);
2160
2161COMMENT ON TABLE  ax_bauteil        IS 'B a u t e i l';
2162COMMENT ON COLUMN ax_bauteil.gml_id IS 'Identifikator, global eindeutig';
2163
2164
2165-- B e s o n d e r e   G e b a e u d e l i n i e
2166-- ----------------------------------------------
2167CREATE TABLE ax_besonderegebaeudelinie (
2168        ogc_fid                 serial NOT NULL,
2169        gml_id                  character(16),
2170        identifier              character(44),
2171        beginnt                 character(20),
2172        endet                   character(20),
2173        advstandardmodell       varchar,
2174        beschaffenheit          integer,
2175        anlass                  integer,
2176        CONSTRAINT ax_besonderegebaeudelinie_pk PRIMARY KEY (ogc_fid)
2177);
2178
2179SELECT AddGeometryColumn('ax_besonderegebaeudelinie','wkb_geometry',25832,'LINESTRING',2);
2180
2181CREATE INDEX ax_besonderegebaeudelinie_geom_idx ON ax_besonderegebaeudelinie USING gist (wkb_geometry);
2182CREATE UNIQUE INDEX ax_besonderegebaeudelinie_gml ON ax_besonderegebaeudelinie USING btree (gml_id,beginnt);
2183
2184COMMENT ON TABLE ax_besonderegebaeudelinie IS 'B e s o n d e r e   G e b a e u d e l i n i e';
2185COMMENT ON COLUMN ax_besonderegebaeudelinie.gml_id IS 'Identifikator, global eindeutig';
2186
2187
2188-- F i r s t l i n i e
2189-- -----------------------------------------------------
2190CREATE TABLE ax_firstlinie (
2191        ogc_fid                 serial NOT NULL,
2192        gml_id                  character(16),
2193        identifier              character(44),
2194        beginnt                 character(20),
2195        endet                   character(20),
2196        advstandardmodell       varchar,
2197        sonstigesmodell         varchar,
2198        anlass                  integer,
2199        art                     varchar,
2200        uri                     varchar,
2201        CONSTRAINT ax_firstlinie_pk PRIMARY KEY (ogc_fid)
2202);
2203
2204SELECT AddGeometryColumn('ax_firstlinie','wkb_geometry',25832,'LINESTRING',2);
2205
2206CREATE INDEX ax_firstlinie_geom_idx ON ax_firstlinie USING gist (wkb_geometry);
2207CREATE UNIQUE INDEX ax_firstlinie_gml ON ax_firstlinie USING btree (gml_id,beginnt);
2208
2209COMMENT ON TABLE  ax_firstlinie        IS 'F i r s t l i n i e';
2210COMMENT ON COLUMN ax_firstlinie.gml_id IS 'Identifikator, global eindeutig';
2211
2212
2213-- B e s o n d e r e r   G e b a e u d e p u n k t
2214-- -----------------------------------------------
2215CREATE TABLE ax_besonderergebaeudepunkt (
2216        ogc_fid                 serial NOT NULL,
2217        gml_id                  character(16),
2218        identifier              character(44),
2219        beginnt                 character(20),
2220        endet                   character(20),
2221        advstandardmodell       varchar,
2222        anlass                  integer,
2223        land                    integer,
2224        stelle                  integer,
2225        punktkennung            varchar, -- integer,
2226        art                     varchar, --(37)
2227        "name"                  varchar[],
2228        CONSTRAINT ax_besonderergebaeudepunkt_pk PRIMARY KEY (ogc_fid)
2229);
2230
2231SELECT AddGeometryColumn('ax_besonderergebaeudepunkt','dummy',25832,'POINT',2);
2232
2233CREATE UNIQUE INDEX ax_besonderergebaeudepunkt_gml ON ax_besonderergebaeudepunkt USING btree (gml_id,beginnt);
2234
2235COMMENT ON TABLE  ax_besonderergebaeudepunkt        IS 'B e s o n d e r e r   G e b a e u d e p u n k t';
2236COMMENT ON COLUMN ax_besonderergebaeudepunkt.gml_id IS 'Identifikator, global eindeutig';
2237
2238
2239--AX_Nutzung_Gebaeude
2240-- ** Tabelle bisher noch nicht generiert
2241
2242
2243--*** ############################################################
2244--*** Objektbereich: TatsÀchliche Nutzung (AX_TatsaechlicheNutzung)
2245--*** ############################################################
2246
2247-- Gemeinsame Attribute:
2248--   DLU datumDerLetztenUeberpruefung DateTime
2249--   DAQ qualitaetsangaben
2250
2251
2252--** Objektartengruppe: Siedlung (in Objektbereich:TatsÀchliche Nutzung)
2253--   ===================================================================
2254
2255-- W o h n b a u f l a e c h e
2256-- ----------------------------------------------
2257-- 'WohnbauflÀche' ist eine baulich geprÀgte FlÀche einschließlich der mit ihr im Zusammenhang
2258-- stehenden FreiflÀchen (z.B. VorgÀrten, ZiergÀrten, Zufahrten, StellplÀtze und HofraumflÀchen),
2259-- die ausschließlich oder vorwiegend dem Wohnen dient.
2260CREATE TABLE ax_wohnbauflaeche (
2261        ogc_fid                 serial NOT NULL,
2262        gml_id                  character(16),
2263        identifier              character(44),
2264        beginnt                 character(20),
2265        endet                   character(20),
2266        advstandardmodell       varchar,
2267        anlass                  integer,
2268        artderbebauung          integer,
2269        zustand                 integer,
2270        name                    varchar,
2271        CONSTRAINT ax_wohnbauflaeche_pk PRIMARY KEY (ogc_fid)
2272);
2273
2274SELECT AddGeometryColumn('ax_wohnbauflaeche','wkb_geometry',25832,'GEOMETRY',2);
2275
2276CREATE INDEX ax_wohnbauflaeche_geom_idx ON ax_wohnbauflaeche USING gist (wkb_geometry);
2277
2278CREATE UNIQUE INDEX ax_wohnbauflaeche_gml ON ax_wohnbauflaeche USING btree (gml_id,beginnt);
2279
2280COMMENT ON TABLE  ax_wohnbauflaeche                 IS 'W o h n b a u f l a e c h e  ist eine baulich geprÀgte FlÀche einschließlich der mit ihr im Zusammenhang stehenden FreiflÀchen (z.B. VorgÀrten, ZiergÀrten, Zufahrten, StellplÀtze und HofraumflÀchen), die ausschließlich oder vorwiegend dem Wohnen dient.';
2281COMMENT ON COLUMN ax_wohnbauflaeche.gml_id          IS 'Identifikator, global eindeutig';
2282COMMENT ON COLUMN ax_wohnbauflaeche.artderbebauung  IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
2283COMMENT ON COLUMN ax_wohnbauflaeche.zustand         IS 'ZUS "Zustand" beschreibt, ob "WohnbauflÀche" ungenutzt ist oder ob eine FlÀche als WohnbauflÀche genutzt werden soll.';
2284COMMENT ON COLUMN ax_wohnbauflaeche.name            IS 'NAM "Name" ist der Eigenname von "WohnbauflÀche" insbesondere bei Objekten außerhalb von Ortslagen.';
2285
2286
2287-- Objektart: I n d u s t r i e -   u n d   G e w e r b e f l a e c h e
2288-- --------------------------------------------------------------------
2289-- Industrie- und GewerbeflÀche' ist eine FlÀche, die vorwiegend industriellen oder gewerblichen Zwecken dient.
2290CREATE TABLE ax_industrieundgewerbeflaeche (
2291        ogc_fid                 serial NOT NULL,
2292        gml_id                  character(16),
2293        identifier              character(44),
2294        beginnt                 character(20),
2295        endet                   character(20),
2296        advstandardmodell       varchar,
2297        anlass                  integer,
2298        funktion                integer,
2299        name                    varchar,
2300        zustand                 integer,
2301        foerdergut              integer, -- Die Attributart 'Fördergut' kann nur in Verbindung mit der Attributart 'Funktion' und der Werteart 2510 vorkommen.
2302        primaerenergie          integer, -- Die Attributart 'PrimÀrenergie' kann nur in Verbindung mit der Attributart 'Funktion' und den Wertearten 2530, 2531, 2532, 2570, 2571 und 2572 vorkommen.
2303        lagergut                integer, -- Die Attributart 'Lagergut' kann nur in Verbindung mit der Attributart 'Funktion' und der Werteart 1740 vorkommen.
2304        CONSTRAINT ax_industrieundgewerbeflaeche_pk PRIMARY KEY (ogc_fid)
2305);
2306
2307SELECT AddGeometryColumn('ax_industrieundgewerbeflaeche','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT
2308
2309CREATE INDEX ax_industrieundgewerbeflaeche_geom_idx ON ax_industrieundgewerbeflaeche USING gist (wkb_geometry);
2310
2311CREATE UNIQUE INDEX ax_industrieundgewerbeflaeche_gml ON ax_industrieundgewerbeflaeche USING btree (gml_id,beginnt);
2312
2313COMMENT ON TABLE  ax_industrieundgewerbeflaeche            IS 'I n d u s t r i e -   u n d   G e w e r b e f l a e c h e';
2314COMMENT ON COLUMN ax_industrieundgewerbeflaeche.gml_id     IS 'Identifikator, global eindeutig';
2315COMMENT ON COLUMN ax_industrieundgewerbeflaeche.name       IS 'NAM "Name" ist der Eigenname von "Industrie- und GewerbeflÀche" insbesondere außerhalb von Ortslagen.';
2316COMMENT ON COLUMN ax_industrieundgewerbeflaeche.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Industrie- und GewerbeflÀche".';
2317COMMENT ON COLUMN ax_industrieundgewerbeflaeche.funktion   IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Industrie- und GewerbeflÀche".';
2318COMMENT ON COLUMN ax_industrieundgewerbeflaeche.foerdergut IS 'FGT "Fördergut" gibt an, welches Produkt gefördert wird.';
2319COMMENT ON COLUMN ax_industrieundgewerbeflaeche.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird. Diese Attributart kann nur in Verbindung mit der Attributart "Funktion" und der Werteart 1740 vorkommen.';
2320COMMENT ON COLUMN ax_industrieundgewerbeflaeche.primaerenergie IS 'PEG "PrimÀrenergie" beschreibt die zur Strom- oder WÀrmeerzeugung dienende Energieform oder den EnergietrÀger.';
2321
2322
2323-- H a l d e
2324-- ----------------------------------------------
2325CREATE TABLE ax_halde
2326(       ogc_fid                 serial NOT NULL,
2327        gml_id                  character(16),
2328        identifier              character(44),
2329        beginnt                 character(20),
2330        endet                   character(20),
2331        advstandardmodell       varchar,
2332        anlass                  integer,
2333        lagergut                integer,
2334        "name"                  varchar,
2335        zustand                 integer,
2336        CONSTRAINT ax_halde_pk PRIMARY KEY (ogc_fid)
2337);
2338
2339SELECT AddGeometryColumn('ax_halde','wkb_geometry',25832,'GEOMETRY',2);
2340
2341CREATE INDEX ax_halde_geom_idx ON ax_halde USING gist (wkb_geometry);
2342
2343CREATE UNIQUE INDEX ax_halde_gml ON ax_halde USING btree (gml_id,beginnt);
2344
2345COMMENT ON TABLE ax_halde             IS 'H a l d e';
2346COMMENT ON COLUMN ax_halde.gml_id     IS 'Identifikator, global eindeutig';
2347COMMENT ON COLUMN ax_halde.name       IS 'NAM "Name" ist die einer "Halde" zugehörige Bezeichnung oder deren Eigenname.';
2348COMMENT ON COLUMN ax_halde.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird.';
2349COMMENT ON COLUMN ax_halde.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Halde".';
2350
2351
2352-- B e r b a u b e t r i e b
2353-- -------------------------
2354-- 'Bergbaubetrieb' ist eine FlÀche, die fÌr die Förderung des Abbaugutes unter Tage genutzt wird.
2355CREATE TABLE ax_bergbaubetrieb (
2356        ogc_fid                 serial NOT NULL,
2357        gml_id                  character(16),
2358        identifier              character(44),
2359        beginnt                 character(20),
2360        endet                   character(20),
2361        advstandardmodell       varchar,
2362        anlass                  integer,
2363        abbaugut                integer,
2364        "name"                  varchar,
2365        bezeichnung             varchar,
2366        zustand                 integer,
2367        CONSTRAINT ax_bergbaubetrieb_pk PRIMARY KEY (ogc_fid)
2368);
2369
2370SELECT AddGeometryColumn('ax_bergbaubetrieb','wkb_geometry',25832,'GEOMETRY',2);
2371
2372CREATE INDEX ax_bergbaubetrieb_geom_idx   ON ax_bergbaubetrieb USING gist  (wkb_geometry);
2373CREATE UNIQUE INDEX ax_bergbaubetrieb_gml ON ax_bergbaubetrieb USING btree (gml_id,beginnt);
2374
2375COMMENT ON TABLE  ax_bergbaubetrieb             IS '"Bergbaubetrieb" ist eine FlÀche, die fÃŒr die Förderung des Abbaugutes unter Tage genutzt wird.';
2376COMMENT ON COLUMN ax_bergbaubetrieb.gml_id      IS 'Identifikator, global eindeutig';
2377COMMENT ON COLUMN ax_bergbaubetrieb.abbaugut    IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
2378COMMENT ON COLUMN ax_bergbaubetrieb.name        IS 'NAM "Name" ist der Eigenname von "Bergbaubetrieb".';
2379COMMENT ON COLUMN ax_bergbaubetrieb.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bergbaubetrieb".';
2380COMMENT ON COLUMN ax_bergbaubetrieb.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kurzbezeichnung.';
2381
2382
2383-- T a g e b a u  /  G r u b e  /  S t e i n b r u c h
2384-- ---------------------------------------------------
2385CREATE TABLE ax_tagebaugrubesteinbruch (
2386        ogc_fid                 serial NOT NULL,
2387        gml_id                  character(16),
2388        identifier              character(44),
2389        beginnt                 character(20),
2390        endet                   character(20),
2391        advstandardmodell       varchar,
2392        anlass                  integer,
2393        abbaugut                integer,
2394        "name"                  varchar,
2395        zustand                 integer,
2396        CONSTRAINT ax_tagebaugrubesteinbruch_pk PRIMARY KEY (ogc_fid)
2397);
2398
2399SELECT AddGeometryColumn('ax_tagebaugrubesteinbruch','wkb_geometry',25832,'GEOMETRY',2);
2400
2401CREATE INDEX ax_tagebaugrubesteinbruch_geom_idx ON ax_tagebaugrubesteinbruch USING gist (wkb_geometry);
2402
2403CREATE UNIQUE INDEX ax_tagebaugrubesteinbruchb_gml ON ax_tagebaugrubesteinbruch USING btree (gml_id,beginnt);
2404
2405COMMENT ON TABLE  ax_tagebaugrubesteinbruch          IS '"T a g e b a u ,  G r u b e ,  S t e i n b r u c h"  ist eine FlÀche, auf der oberirdisch Bodenmaterial abgebaut wird. Rekultivierte Tagebaue, Gruben, SteinbrÃŒche werden als Objekte entsprechend der vorhandenen Nutzung erfasst.';
2406COMMENT ON COLUMN ax_tagebaugrubesteinbruch.gml_id   IS 'Identifikator, global eindeutig';
2407COMMENT ON COLUMN ax_tagebaugrubesteinbruch.name     IS 'NAM "Name" ist der Eigenname von "Tagebau, Grube, Steinbruch".';
2408COMMENT ON COLUMN ax_tagebaugrubesteinbruch.abbaugut IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
2409COMMENT ON COLUMN ax_tagebaugrubesteinbruch.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Tagebau, Grube, Steinbruch".';
2410
2411
2412-- F l a e c h e n   g e m i s c h t e r   N u t z u n g
2413-- -----------------------------------------------------
2414CREATE TABLE ax_flaechegemischternutzung (
2415        ogc_fid                 serial NOT NULL,
2416        gml_id                  character(16),
2417        identifier              character(44),
2418        beginnt                 character(20),
2419        endet                   character(20),
2420        advstandardmodell       varchar,
2421        anlass                  integer,
2422        artderbebauung          integer,
2423        funktion                integer,
2424        "name"                  varchar,
2425        zustand                 integer,
2426        CONSTRAINT ax_flaechegemischternutzung_pk PRIMARY KEY (ogc_fid)
2427);
2428
2429SELECT AddGeometryColumn('ax_flaechegemischternutzung','wkb_geometry',25832,'GEOMETRY',2);
2430
2431CREATE INDEX ax_flaechegemischternutzung_geom_idx ON ax_flaechegemischternutzung USING gist (wkb_geometry);
2432
2433CREATE UNIQUE INDEX ax_flaechegemischternutzung_gml ON ax_flaechegemischternutzung USING btree (gml_id,beginnt);
2434
2435COMMENT ON TABLE  ax_flaechegemischternutzung        IS '"FlÀche gemischter Nutzung" ist eine bebaute FlÀche einschließlich der mit ihr im Zusammenhang stehenden FreiflÀche (HofraumflÀche, Hausgarten), auf der keine Art der baulichen Nutzung vorherrscht. Solche FlÀchen sind insbesondere lÀndlich-dörflich geprÀgte FlÀchen mit land- und forstwirtschaftlichen Betrieben, WohngebÀuden u.a. sowie stÀdtisch geprÀgte Kerngebiete mit Handelsbetrieben und zentralen Einrichtungen fÃŒr die Wirtschaft und die Verwaltung.';
2436COMMENT ON COLUMN ax_flaechegemischternutzung.gml_id IS 'Identifikator, global eindeutig';
2437COMMENT ON COLUMN ax_flaechegemischternutzung.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
2438COMMENT ON COLUMN ax_flaechegemischternutzung.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
2439COMMENT ON COLUMN ax_flaechegemischternutzung.name           IS 'NAM "Name" ist der Eigenname von "FlÀche gemischter Nutzung" insbesondere bei Objekten außerhalb von Ortslagen.';
2440COMMENT ON COLUMN ax_flaechegemischternutzung.zustand        IS 'ZUS "Zustand" beschreibt, ob "FlÀche gemischter Nutzung" ungenutzt ist.';
2441
2442
2443-- F l a e c h e   b e s o n d e r e r   f u n k t i o n a l e r   P r a e g u n g
2444-- -------------------------------------------------------------------------------
2445CREATE TABLE ax_flaechebesondererfunktionalerpraegung (
2446        ogc_fid                 serial NOT NULL,
2447        gml_id                  character(16),
2448        identifier              character(44),
2449        beginnt                 character(20),
2450        endet                   character(20),
2451        advstandardmodell       varchar,
2452        anlass                  integer,
2453        funktion                integer,
2454        artderbebauung          integer,
2455        "name"                  varchar,
2456        zustand                 integer,
2457        CONSTRAINT ax_flaechebesondererfunktionalerpraegung_pk PRIMARY KEY (ogc_fid)
2458);
2459
2460SELECT AddGeometryColumn('ax_flaechebesondererfunktionalerpraegung','wkb_geometry',25832,'GEOMETRY',2);
2461
2462CREATE INDEX ax_flaechebesondererfunktionalerpraegung_geom_idx ON ax_flaechebesondererfunktionalerpraegung USING gist (wkb_geometry);
2463CREATE UNIQUE INDEX ax_flaechebesondererfunktionalerpraegung_gml ON ax_flaechebesondererfunktionalerpraegung USING btree (gml_id,beginnt);
2464
2465COMMENT ON TABLE  ax_flaechebesondererfunktionalerpraegung        IS '"FlÀche besonderer funktionaler PrÀgung" ist eine baulich geprÀgte FlÀche einschließlich der mit ihr im Zusammenhang stehenden FreiflÀche, auf denen vorwiegend GebÀude und/oder Anlagen zur ErfÃŒllung öffentlicher Zwecke oder historische Anlagen vorhanden sind.';
2466COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.gml_id IS 'Identifikator, global eindeutig';
2467COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "FlÀche besonderer funktionaler PrÀgung".';
2468COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
2469COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.name           IS 'NAM "Name" ist der Eigenname von "FlÀche besonderer funktionaler PrÀgung" insbesondere außerhalb von Ortslagen.';
2470COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.zustand        IS 'ZUS  "Zustand" beschreibt die Betriebsbereitschaft von "FlÀche funktionaler PrÀgung".';
2471
2472
2473-- S p o r t - ,   F r e i z e i t -   u n d   E r h o h l u n g s f l À c h e
2474-- ---------------------------------------------------------------------------
2475CREATE TABLE ax_sportfreizeitunderholungsflaeche (
2476        ogc_fid                 serial NOT NULL,
2477        gml_id                  character(16),
2478        identifier              character(44),
2479        beginnt                 character(20),
2480        endet                   character(20),
2481        advstandardmodell       varchar,
2482        anlass                  integer,
2483        funktion                integer,
2484        zustand                 integer,
2485        "name"                  varchar,
2486        CONSTRAINT ax_sportfreizeitunderholungsflaeche_pk PRIMARY KEY (ogc_fid)
2487);
2488
2489SELECT AddGeometryColumn('ax_sportfreizeitunderholungsflaeche','wkb_geometry',25832,'GEOMETRY',2);
2490
2491CREATE INDEX ax_sportfreizeitunderholungsflaeche_geom_idx ON ax_sportfreizeitunderholungsflaeche USING gist (wkb_geometry);
2492
2493CREATE UNIQUE INDEX ax_sportfreizeitunderholungsflaeche_gml ON ax_sportfreizeitunderholungsflaeche USING btree (gml_id,beginnt);
2494
2495COMMENT ON TABLE  ax_sportfreizeitunderholungsflaeche          IS '"Sport-, Freizeit- und ErhohlungsflÀche" ist eine bebaute oder unbebaute FlÀche, die dem Sport, der Freizeitgestaltung oder der Erholung dient.';
2496COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.gml_id   IS 'Identifikator, global eindeutig';
2497COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.funktion IS 'FKT "Funktion" ist die Art der Nutzung von "Sport-, Freizeit- und ErholungsflÀche".';
2498COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "SportFreizeitUndErholungsflaeche ".';
2499COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.name     IS 'NAM "Name" ist der Eigenname von "Sport-, Freizeit- und ErholungsflÀche".';
2500
2501
2502-- F r i e d h o f
2503-- ----------------
2504CREATE TABLE ax_friedhof (
2505        ogc_fid                 serial NOT NULL,
2506        gml_id                  character(16),
2507        identifier              character(44),
2508        beginnt                 character(20),
2509        endet                   character(20),
2510        advstandardmodell       varchar,
2511        anlass                  integer,
2512        funktion                integer,
2513        "name"                  varchar,
2514        zustand                 integer,
2515        CONSTRAINT ax_friedhof_pk PRIMARY KEY (ogc_fid)
2516);
2517
2518SELECT AddGeometryColumn('ax_friedhof','wkb_geometry',25832,'GEOMETRY',2);
2519
2520CREATE INDEX ax_friedhof_geom_idx ON ax_friedhof USING gist (wkb_geometry);
2521CREATE UNIQUE INDEX ax_friedhof_gml ON ax_friedhof USING btree (gml_id,beginnt);
2522
2523COMMENT ON TABLE  ax_friedhof           IS '"F r i e d h o f"  ist eine FlÀche, auf der Tote bestattet sind.';
2524COMMENT ON COLUMN ax_friedhof.gml_id    IS 'Identifikator, global eindeutig';
2525COMMENT ON COLUMN ax_friedhof.funktion  IS 'FKT "Funktion" ist die Art der BegrÀbnisstÀtte.';
2526COMMENT ON COLUMN ax_friedhof.name      IS 'NAM "Name" ist der Eigenname von "Friedhof".';
2527COMMENT ON COLUMN ax_friedhof.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Friedhof".';
2528
2529
2530--** Objektartengruppe: Verkehr (in Objektbereich:TatsÀchliche Nutzung)
2531--   ===================================================================
2532
2533
2534-- S t r a s s e n v e r k e h r
2535-- ----------------------------------------------
2536CREATE TABLE ax_strassenverkehr (
2537        ogc_fid                 serial NOT NULL,
2538        gml_id                  character(16),
2539        identifier              character(44),
2540        beginnt                 character(20),
2541        endet                   character(20),
2542        advstandardmodell       varchar,
2543        anlass                  integer,
2544        funktion                integer,
2545        "name"                  varchar,
2546        zweitname               varchar,
2547        zustand                 integer,
2548        land                    integer,        -- neu 2012-02-28
2549        regierungsbezirk        integer,        -- neu 2012-02-28
2550        kreis                   integer,        -- neu 2012-02-28
2551        gemeinde                integer,        -- neu 2012-02-28
2552        lage                    varchar,        -- neu 2012-02-28
2553        CONSTRAINT ax_strassenverkehr_pk PRIMARY KEY (ogc_fid)
2554);
2555
2556SELECT AddGeometryColumn('ax_strassenverkehr','wkb_geometry',25832,'GEOMETRY',2);
2557
2558CREATE INDEX ax_strassenverkehr_geom_idx ON ax_strassenverkehr USING gist (wkb_geometry);
2559CREATE UNIQUE INDEX ax_strassenverkehr_gml ON ax_strassenverkehr USING btree (gml_id,beginnt);
2560
2561COMMENT ON TABLE  ax_strassenverkehr           IS '"S t r a s s e n v e r k e h r" umfasst alle fÃŒr die bauliche Anlage Straße erforderlichen sowie dem Straßenverkehr dienenden bebauten und unbebauten FlÀchen.';
2562COMMENT ON COLUMN ax_strassenverkehr.gml_id    IS 'Identifikator, global eindeutig';
2563COMMENT ON COLUMN ax_strassenverkehr.funktion  IS 'FKT "Funktion" beschreibt die verkehrliche Nutzung von "Straßenverkehr".';
2564COMMENT ON COLUMN ax_strassenverkehr.name      IS 'NAM "Name" ist der Eigenname von "Strassenverkehr".';
2565COMMENT ON COLUMN ax_strassenverkehr.zweitname IS 'ZNM "Zweitname" ist ein von der Lagebezeichnung abweichender Name von "Strassenverkehrsflaeche" (z.B. "Deutsche Weinstraße").';
2566COMMENT ON COLUMN ax_strassenverkehr.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Strassenverkehrsflaeche".';
2567
2568
2569-- W e g
2570-- ----------------------------------------------
2571-- 'Weg' umfasst alle FlÀchen, die zum Befahren und/oder Begehen vorgesehen sind.
2572-- Zum 'Weg' gehören auch Seitenstreifen und GrÀben zur WegentwÀsserung.
2573CREATE TABLE ax_weg (
2574        ogc_fid                 serial NOT NULL,
2575        gml_id                  character(16),
2576        identifier              character(44),
2577        beginnt                 character(20),
2578        endet                   character(20),
2579        advstandardmodell       varchar,
2580        anlass                  integer,
2581        funktion                integer,
2582        name                    varchar,
2583        bezeichnung             varchar,
2584        land                    integer,        -- neu 2012-02-28
2585        regierungsbezirk        integer,        -- neu 2012-02-28
2586        kreis                   integer,        -- neu 2012-02-28
2587        gemeinde                integer,        -- neu 2012-02-28
2588        lage                    varchar,        -- neu 2012-02-28
2589        CONSTRAINT ax_weg_pk PRIMARY KEY (ogc_fid)
2590);
2591
2592SELECT AddGeometryColumn('ax_weg','wkb_geometry',25832,'GEOMETRY',2);
2593
2594CREATE INDEX ax_weg_geom_idx ON ax_weg USING gist (wkb_geometry);
2595CREATE UNIQUE INDEX ax_weg_gml ON ax_weg USING btree (gml_id,beginnt);
2596
2597COMMENT ON TABLE  ax_weg              IS '"W e g" umfasst alle FlÀchen, die zum Befahren und/oder Begehen vorgesehen sind. Zum "Weg" gehören auch Seitenstreifen und GrÀben zur WegentwÀsserung.';
2598COMMENT ON COLUMN ax_weg.gml_id       IS 'Identifikator, global eindeutig';
2599COMMENT ON COLUMN ax_weg.funktion     IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorherrschend vorkommende Nutzung.';
2600COMMENT ON COLUMN ax_weg.name         IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Wegflaeche".';
2601COMMENT ON COLUMN ax_weg.bezeichnung  IS 'BEZ "Bezeichnung" ist die amtliche Nummer des Weges.';
2602
2603
2604-- P l a t z
2605-- ----------------------------------------------
2606-- Platz' ist eine VerkehrsflÀche in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÀche, die bestimmten Zwecken dient (z. B. fÌr Verkehr, MÀrkte, Festveranstaltungen).
2607CREATE TABLE ax_platz (
2608        ogc_fid                 serial NOT NULL,
2609        gml_id                  character(16),
2610        identifier              character(44),
2611        beginnt                 character(20),
2612        endet                   character(20),
2613        advstandardmodell       varchar,
2614        anlass                  integer,
2615        funktion                integer,
2616        "name"                  varchar,
2617        zweitname               varchar,
2618        land                    integer,        -- neu 2012-02-28
2619        regierungsbezirk        integer,        -- neu 2012-02-28
2620        kreis                   integer,        -- neu 2012-02-28
2621        gemeinde                integer,        -- neu 2012-02-28
2622        lage                    varchar,        -- neu 2012-02-28
2623        CONSTRAINT ax_platz_pk PRIMARY KEY (ogc_fid)
2624);
2625
2626SELECT AddGeometryColumn('ax_platz','wkb_geometry',25832,'GEOMETRY',2);
2627
2628CREATE INDEX ax_platz_geom_idx ON ax_platz USING gist (wkb_geometry);
2629CREATE UNIQUE INDEX ax_platz_gml ON ax_platz USING btree (gml_id,beginnt);
2630
2631COMMENT ON TABLE  ax_platz           IS 'P l a t z   ist eine VerkehrsflÀche in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÀche, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÀrkte, Festveranstaltungen).';
2632COMMENT ON COLUMN ax_platz.gml_id    IS 'Identifikator, global eindeutig';
2633COMMENT ON COLUMN ax_platz.funktion  IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorkommende Nutzung.';
2634COMMENT ON COLUMN ax_platz.name      IS 'NAM "Name" ist der Eigenname von "Platz".';
2635COMMENT ON COLUMN ax_platz.zweitname IS 'ZNM "Zweitname" ist der touristische oder volkstÃŒmliche Name von "Platz".';
2636
2637
2638-- B a h n v e r k e h r
2639-- ----------------------------------------------
2640CREATE TABLE ax_bahnverkehr (
2641        ogc_fid                 serial NOT NULL,
2642        gml_id                  character(16),
2643        identifier              character(44),
2644        beginnt                 character(20),
2645        endet                   character(20),
2646        advstandardmodell       varchar,
2647        anlass                  integer,
2648        funktion                integer,
2649        bahnkategorie           integer,
2650        bezeichnung             varchar,
2651        nummerderbahnstrecke    varchar,
2652        zweitname               varchar,
2653        zustand                 integer,
2654        CONSTRAINT ax_bahnverkehr_pk PRIMARY KEY (ogc_fid)
2655);
2656
2657SELECT AddGeometryColumn('ax_bahnverkehr','wkb_geometry',25832,'GEOMETRY',2);
2658
2659CREATE INDEX ax_bahnverkehr_geom_idx ON ax_bahnverkehr USING gist (wkb_geometry);
2660CREATE UNIQUE INDEX ax_bahnverkehr_gml ON ax_bahnverkehr USING btree (gml_id,beginnt);
2661
2662COMMENT ON TABLE  ax_bahnverkehr        IS '"B a h n v e r k e h r"  umfasst alle fÃŒr den Schienenverkehr erforderlichen FlÀchen.';
2663-- FlÀchen von Bahnverkehr sind
2664--  * der Bahnkörper (Unterbau fÃŒr Gleise; bestehend aus DÀmmen oder Einschnitten und deren kleineren Böschungen,
2665--    DurchlÀssen, schmalen GrÀben zur EntwÀsserung, StÃŒtzmauern, Unter- und ÜberfÃŒhrung, Seiten und Schutzstreifen) mit seinen Bahnstrecken
2666--  * an den Bahnkörper angrenzende bebaute und unbebaute FlÀchen (z.B. größere BöschungsflÀchen).
2667
2668COMMENT ON COLUMN ax_bahnverkehr.gml_id               IS 'Identifikator, global eindeutig';
2669COMMENT ON COLUMN ax_bahnverkehr.funktion             IS 'FKT "Funktion" ist die objektiv feststellbare Nutzung von "Bahnverkehr".';
2670COMMENT ON COLUMN ax_bahnverkehr.bahnkategorie        IS 'BKT "Bahnkategorie" beschreibt die Art des Verkehrsmittels.';
2671COMMENT ON COLUMN ax_bahnverkehr.bezeichnung          IS 'BEZ "Bezeichnung" ist die Angabe der Orte, in denen die Bahnlinie beginnt und endet (z. B. "Bahnlinie Frankfurt - WÃŒrzburg").';
2672COMMENT ON COLUMN ax_bahnverkehr.nummerderbahnstrecke IS 'NRB "Nummer der Bahnstrecke" ist die von der Bahn AG festgelegte VerschlÃŒsselung der Bahnstrecke.';
2673COMMENT ON COLUMN ax_bahnverkehr.zweitname            IS 'ZNM "Zweitname" ist der von der Lagebezeichnung abweichende Name von "Bahnverkehr" (z. B. "Höllentalbahn").';
2674COMMENT ON COLUMN ax_bahnverkehr.zustand              IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bahnverkehr".';
2675
2676
2677-- F l u g v e r k e h r
2678-- ----------------------
2679CREATE TABLE ax_flugverkehr (
2680        ogc_fid                 serial NOT NULL,
2681        gml_id                  character(16),
2682        identifier              character(44),
2683        beginnt                 character(20),
2684        endet                   character(20),
2685        advstandardmodell       varchar,
2686        anlass                  integer,
2687        funktion                integer,
2688        art                     integer,
2689        "name"                  varchar,
2690        bezeichnung             varchar,
2691        nutzung                 integer,
2692        zustand                 integer,
2693        CONSTRAINT ax_flugverkehr_pk PRIMARY KEY (ogc_fid)
2694);
2695
2696SELECT AddGeometryColumn('ax_flugverkehr','wkb_geometry',25832,'GEOMETRY',2);
2697
2698CREATE INDEX ax_flugverkehr_geom_idx   ON ax_flugverkehr USING gist  (wkb_geometry);
2699CREATE UNIQUE INDEX ax_flugverkehr_gml ON ax_flugverkehr USING btree (gml_id,beginnt);
2700
2701COMMENT ON TABLE  ax_flugverkehr             IS '"F l u g v e r k e h r"  umfasst die baulich geprÀgte FlÀche und die mit ihr in Zusammenhang stehende FreiflÀche, die ausschließlich oder vorwiegend dem Flugverkehr dient.';
2702COMMENT ON COLUMN ax_flugverkehr.gml_id      IS 'Identifikator, global eindeutig';
2703COMMENT ON COLUMN ax_flugverkehr.funktion    IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
2704COMMENT ON COLUMN ax_flugverkehr.art         IS 'ART "Art" ist Einstufung der FlugverkehrsflÀche durch das Luftfahrtbundesamt.';
2705COMMENT ON COLUMN ax_flugverkehr.name        IS 'NAM "Name" ist der Eigenname von "Flugverkehr".';
2706COMMENT ON COLUMN ax_flugverkehr.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer von "Flugverkehr".';
2707COMMENT ON COLUMN ax_flugverkehr.nutzung     IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Flugverkehr" an.';
2708COMMENT ON COLUMN ax_flugverkehr.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Flugverkehr".';
2709
2710
2711-- S c h i f f s v e r k e h r
2712-- ---------------------------
2713CREATE TABLE ax_schiffsverkehr (
2714        ogc_fid                 serial NOT NULL,
2715        gml_id                  character(16),
2716        identifier              character(44),
2717        beginnt                 character(20),
2718        endet                   character(20),
2719        advstandardmodell       varchar,
2720        anlass                  integer,
2721        funktion                integer,
2722        "name"                  varchar,
2723        zustand                 integer,
2724        CONSTRAINT ax_schiffsverkehr_pk PRIMARY KEY (ogc_fid)
2725);
2726
2727SELECT AddGeometryColumn('ax_schiffsverkehr','wkb_geometry',25832,'GEOMETRY',2);
2728
2729CREATE INDEX ax_schiffsverkehr_geom_idx ON ax_schiffsverkehr USING gist (wkb_geometry);
2730CREATE UNIQUE INDEX ax_schiffsverkehr_gml ON ax_schiffsverkehr USING btree (gml_id,beginnt);
2731
2732COMMENT ON TABLE  ax_schiffsverkehr          IS '"S c h i f f s v e r k e h r"  umfasst die baulich geprÀgte FlÀche und die mit ihr in Zusammenhang stehende FreiflÀche, die ausschließlich oder vorwiegend dem Schiffsverkehr dient.';
2733COMMENT ON COLUMN ax_schiffsverkehr.gml_id   IS 'Identifikator, global eindeutig';
2734COMMENT ON COLUMN ax_schiffsverkehr.funktion IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Schiffsverkehr".';
2735COMMENT ON COLUMN ax_schiffsverkehr.name     IS 'NAM "Name" ist der Eigenname von "Schiffsverkehr".';
2736COMMENT ON COLUMN ax_schiffsverkehr.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Schiffsverkehr".';
2737-- Diese Attributart kann nur in Verbindung mit der Attributart 'Funktion' und der Werteart 5620 vorkommen.
2738
2739
2740--** Objektartengruppe:Vegetation (in Objektbereich:TatsÀchliche Nutzung)
2741--   ===================================================================
2742
2743-- L a n d w i r t s c h a f t
2744-- ----------------------------------------------
2745CREATE TABLE ax_landwirtschaft (
2746        ogc_fid                 serial NOT NULL,
2747        gml_id                  character(16),
2748        identifier              character(44),
2749        beginnt                 character(20),
2750        endet                   character(20),
2751        advstandardmodell       varchar,
2752        anlass                  integer,
2753        vegetationsmerkmal      integer,
2754        name                    varchar,
2755        CONSTRAINT ax_landwirtschaft_pk PRIMARY KEY (ogc_fid)
2756);
2757
2758SELECT AddGeometryColumn('ax_landwirtschaft','wkb_geometry',25832,'GEOMETRY',2);
2759
2760CREATE INDEX ax_landwirtschaft_geom_idx ON ax_landwirtschaft USING gist (wkb_geometry);
2761CREATE UNIQUE INDEX ax_landwirtschaft_gml ON ax_landwirtschaft USING btree (gml_id,beginnt);
2762
2763COMMENT ON TABLE  ax_landwirtschaft                    IS '"L a n d w i r t s c h a f t"  ist eine FlÀche fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÀche, die beweidet und gemÀht werden kann, einschließlich der mit besonderen Pflanzen angebauten FlÀche. Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, ist als "Landwirtschaft" bzw. "Ackerland" zu erfassen';
2764COMMENT ON COLUMN ax_landwirtschaft.gml_id             IS 'Identifikator, global eindeutig';
2765COMMENT ON COLUMN ax_landwirtschaft.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" ist die zum Zeitpunkt der Erhebung erkennbare oder feststellbare vorherrschend vorkommende landwirtschaftliche Nutzung (Dominanzprinzip).';
2766COMMENT ON COLUMN ax_landwirtschaft.name               IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Landwirtschaft".';
2767
2768
2769-- W a l d
2770-- ----------------------------------------------
2771CREATE TABLE ax_wald (
2772        ogc_fid                 serial NOT NULL,
2773        gml_id                  character(16),
2774        identifier              character(44),
2775        beginnt                 character(20),
2776        endet                   character(20),
2777        advstandardmodell       varchar,
2778        anlass                  integer,
2779        vegetationsmerkmal      integer,
2780        name                    varchar,
2781        bezeichnung             varchar,
2782        CONSTRAINT ax_wald_pk PRIMARY KEY (ogc_fid)
2783);
2784
2785SELECT AddGeometryColumn('ax_wald','wkb_geometry',25832,'GEOMETRY',2);
2786
2787CREATE INDEX ax_wald_geom_idx ON ax_wald USING gist (wkb_geometry);
2788CREATE UNIQUE INDEX ax_wald_gml ON ax_wald USING btree (gml_id,beginnt);
2789
2790COMMENT ON TABLE  ax_wald             IS '"W a l d" ist eine FlÀche, die mit Forstpflanzen (WaldbÀume und WaldstrÀucher) bestockt ist.';
2791COMMENT ON COLUMN ax_wald.gml_id      IS 'Identifikator, global eindeutig';
2792COMMENT ON COLUMN ax_wald.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "Wald".';
2793COMMENT ON COLUMN ax_wald.name        IS 'NAM "Name" ist der Eigenname von "Wald".';
2794COMMENT ON COLUMN ax_wald.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer (Forstabteilungsnummer, Jagenzahl) von "Wald".';
2795
2796
2797-- G e h o e l z
2798-- ----------------------------------------------
2799CREATE TABLE ax_gehoelz (
2800        ogc_fid                 serial NOT NULL,
2801        gml_id                  character(16),
2802        identifier              character(44),
2803        beginnt                 character(20),
2804        endet                   character(20),
2805        advstandardmodell       varchar,
2806        anlass                  integer,
2807        vegetationsmerkmal      integer,
2808        "name"                  varchar,
2809        funktion                integer,
2810        CONSTRAINT ax_gehoelz_pk PRIMARY KEY (ogc_fid)
2811);
2812
2813SELECT AddGeometryColumn('ax_gehoelz','wkb_geometry',25832,'GEOMETRY',2);
2814
2815CREATE INDEX ax_gehoelz_geom_idx ON ax_gehoelz USING gist (wkb_geometry);
2816CREATE UNIQUE INDEX ax_gehoelz_gml ON ax_gehoelz USING btree (gml_id,beginnt);
2817
2818COMMENT ON TABLE  ax_gehoelz        IS '"G e h o e l z" ist eine FlÀche, die mit einzelnen BÀumen, Baumgruppen, BÃŒschen, Hecken und StrÀuchern bestockt ist.';
2819COMMENT ON COLUMN ax_gehoelz.gml_id IS 'Identifikator, global eindeutig';
2820
2821COMMENT ON COLUMN ax_gehoelz.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "Gehölz".';
2822COMMENT ON COLUMN ax_gehoelz.name               IS 'NAM "Name" ist der Eigenname von "Wald".';
2823COMMENT ON COLUMN ax_gehoelz.funktion           IS 'FKT "Funktion" beschreibt, welchem Zweck "Gehölz" dient.';
2824
2825
2826-- H e i d e
2827-- ----------------------------------------------
2828CREATE TABLE ax_heide (
2829        ogc_fid                 serial NOT NULL,
2830        gml_id                  character(16),
2831        identifier              character(44),
2832        beginnt                 character(20),
2833        endet                   character(20),
2834        advstandardmodell       varchar,
2835        anlass                  integer,
2836        "name"                  varchar,
2837        CONSTRAINT ax_heide_pk PRIMARY KEY (ogc_fid)
2838);
2839
2840SELECT AddGeometryColumn('ax_heide','wkb_geometry',25832,'GEOMETRY',2);
2841
2842CREATE INDEX ax_heide_geom_idx ON ax_heide USING gist (wkb_geometry);
2843CREATE UNIQUE INDEX ax_heide_gml ON ax_heide USING btree (gml_id,beginnt);
2844
2845COMMENT ON TABLE  ax_heide        IS '"H e i d e"  ist eine meist sandige FlÀche mit typischen StrÀuchern, GrÀsern und geringwertigem Baumbestand.';
2846COMMENT ON COLUMN ax_heide.gml_id IS 'Identifikator, global eindeutig';
2847COMMENT ON COLUMN ax_heide.name   IS 'NAM "Name" ist der Eigenname von "Heide".';
2848
2849
2850-- M o o r
2851-- ----------------------------------------------
2852CREATE TABLE ax_moor (
2853        ogc_fid                 serial NOT NULL,
2854        gml_id                  character(16),
2855        identifier              character(44),
2856        beginnt                 character(20),
2857        endet                   character(20),
2858        advstandardmodell       varchar,
2859        anlass                  integer,
2860        "name"                  varchar,
2861        CONSTRAINT ax_moor_pk PRIMARY KEY (ogc_fid)
2862);
2863
2864SELECT AddGeometryColumn('ax_moor','wkb_geometry',25832,'GEOMETRY',2);
2865
2866CREATE INDEX ax_moor_geom_idx   ON ax_moor USING gist (wkb_geometry);
2867CREATE UNIQUE INDEX ax_moor_gml ON ax_moor USING btree (gml_id,beginnt);
2868
2869COMMENT ON TABLE  ax_moor        IS '"M o o r"  ist eine unkultivierte FlÀche, deren obere Schicht aus vertorften oder zersetzten Pflanzenresten besteht.';
2870-- Torfstich bzw. TorfabbauflÀche wird der Objektart 41005 'Tagebau, Grube, Steinbruch' mit AGT 'Torf' zugeordnet.
2871COMMENT ON COLUMN ax_moor.gml_id IS 'Identifikator, global eindeutig';
2872COMMENT ON COLUMN ax_moor.name IS 'NAM "Name" ist der Eigenname von "Moor".';
2873
2874
2875-- S u m p f
2876-- ----------------------------------------------
2877CREATE TABLE ax_sumpf (
2878        ogc_fid                 serial NOT NULL,
2879        gml_id                  character(16),
2880        identifier              character(44),
2881        beginnt                 character(20),
2882        endet                   character(20),
2883        advstandardmodell       varchar,
2884        anlass                  integer,
2885        "name"                  varchar,
2886        CONSTRAINT ax_sumpf_pk PRIMARY KEY (ogc_fid)
2887);
2888
2889SELECT AddGeometryColumn('ax_sumpf','wkb_geometry',25832,'GEOMETRY',2);
2890
2891CREATE INDEX ax_sumpf_geom_idx ON ax_sumpf USING gist (wkb_geometry);
2892CREATE UNIQUE INDEX ax_sumpf_gml ON ax_sumpf USING btree (gml_id,beginnt);
2893
2894COMMENT ON TABLE  ax_sumpf        IS '"S u m p f" ist ein wassergesÀttigtes, zeitweise unter Wasser stehendes GelÀnde. Nach RegenfÀllen kurzzeitig nasse Stellen im Boden werden nicht als "Sumpf" erfasst.';
2895COMMENT ON COLUMN ax_sumpf.gml_id IS 'Identifikator, global eindeutig';
2896COMMENT ON COLUMN ax_sumpf.name   IS 'NAM "Name" ist der Eigenname von "Sumpf".';
2897
2898
2899-- U n l a n d  /  V e g e t a t i o n s f l a e c h e
2900-- ---------------------------------------------------
2901CREATE TABLE ax_unlandvegetationsloseflaeche (
2902        ogc_fid                 serial NOT NULL,
2903        gml_id                  character(16),
2904        identifier              character(44),
2905        beginnt                 character(20),
2906        endet                   character(20),
2907        advstandardmodell       varchar,
2908        anlass                  integer,
2909        oberflaechenmaterial    integer,
2910        "name"                  varchar,
2911        funktion                integer,
2912        CONSTRAINT ax_unlandvegetationsloseflaeche_pk PRIMARY KEY (ogc_fid)
2913);
2914
2915SELECT AddGeometryColumn('ax_unlandvegetationsloseflaeche','wkb_geometry',25832,'GEOMETRY',2);
2916
2917CREATE INDEX ax_unlandvegetationsloseflaeche_geom_idx ON ax_unlandvegetationsloseflaeche USING gist (wkb_geometry);
2918CREATE UNIQUE INDEX ax_unlandvegetationsloseflaeche_gml ON ax_unlandvegetationsloseflaeche USING btree (gml_id,beginnt);
2919
2920COMMENT ON TABLE  ax_unlandvegetationsloseflaeche        IS '"Unland/Vegetationslose FlÀche" ist eine FlÀche, die dauerhaft landwirtschaftlich nicht genutzt wird, wie z.B. nicht aus dem GelÀnderelief herausragende Felspartien, Sand- oder EisflÀchen, Uferstreifen lÀngs von GewÀssern und SukzessionsflÀchen.';
2921COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.gml_id IS 'Identifikator, global eindeutig';
2922-- Die Attributart 'OberflÀchenmaterial' kann nur im Zusammenhang mit der Attributart 'Funktion' und der Werteart 1000 vorkommen.
2923COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.oberflaechenmaterial IS 'OFM "OberflÀchenmaterial" ist die Beschaffenheit des Bodens von "Unland/Vegetationslose FlÀche".';
2924COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.name                 IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Unland/ VegetationsloseFlaeche".';
2925COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.funktion             IS 'FKT "Funktion" ist die erkennbare Art von "Unland/Vegetationslose FlÀche".';
2926
2927
2928--** Objektartengruppe: GewÀsser (in Objektbereich:TatsÀchliche Nutzung)
2929--   ===================================================================
2930
2931
2932-- F l i e s s g e w a e s s e r
2933-- ----------------------------------------------
2934-- 'FließgewÀsser' ist ein geometrisch begrenztes, oberirdisches, auf dem Festland fließendes GewÀsser,
2935-- das die Wassermengen sammelt, die als NiederschlÀge auf die ErdoberflÀche fallen oder in Quellen austreten,
2936-- und in ein anderes GewÀsser, ein Meer oder in einen See transportiert
2937--   oder
2938-- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser,
2939-- das zur Be- und EntwÀsserung an- oder abgeleitet wird
2940--   oder
2941-- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf,
2942-- der in einem oder in mehreren Abschnitten die jeweils gleiche Höhe des Wasserspiegels besitzt.
2943CREATE TABLE ax_fliessgewaesser (
2944        ogc_fid                 serial NOT NULL,
2945        gml_id                  character(16),
2946        identifier              character(44),
2947        beginnt                 character(20),
2948        endet                   character(20),
2949        advstandardmodell       varchar,
2950        anlass                  integer,
2951        funktion                integer,
2952        "name"                  varchar,
2953        zustand                 integer,
2954        CONSTRAINT ax_fliessgewaesser_pk PRIMARY KEY (ogc_fid)
2955);
2956
2957SELECT AddGeometryColumn('ax_fliessgewaesser','wkb_geometry',25832,'GEOMETRY',2);
2958
2959CREATE INDEX ax_fliessgewaesser_geom_idx ON ax_fliessgewaesser USING gist (wkb_geometry);
2960CREATE UNIQUE INDEX ax_fliessgewaesser_gml ON ax_fliessgewaesser USING btree (gml_id,beginnt);
2961
2962COMMENT ON TABLE  ax_fliessgewaesser          IS '"F l i e s s g e w a e s s e r" ist ein geometrisch begrenztes, oberirdisches, auf dem Festland fließendes GewÀsser, das die Wassermengen sammelt, die als NiederschlÀge auf die ErdoberflÀche fallen oder in Quellen austreten, und in ein anderes GewÀsser, ein Meer oder in einen See transportiert';
2963COMMENT ON COLUMN ax_fliessgewaesser.gml_id   IS 'Identifikator, global eindeutig';
2964COMMENT ON COLUMN ax_fliessgewaesser.funktion IS 'FKT "Funktion" ist die Art von "FließgewÀsser".';
2965COMMENT ON COLUMN ax_fliessgewaesser.name     IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "FließgewÀsser".';
2966COMMENT ON COLUMN ax_fliessgewaesser.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "FließgewÀsser" mit FKT=8300 (Kanal).';
2967
2968
2969-- H a f e n b e c k e n
2970-- ---------------------
2971CREATE TABLE ax_hafenbecken (
2972        ogc_fid                 serial NOT NULL,
2973        gml_id                  character(16),
2974        identifier              character(44),
2975        beginnt                 character(20),
2976        endet                   character(20),
2977        advstandardmodell       varchar,
2978        anlass                  integer,
2979        funktion                integer,
2980        "name"                  varchar,
2981        nutzung                 integer,
2982        CONSTRAINT ax_hafenbecken_pk PRIMARY KEY (ogc_fid)
2983);
2984
2985SELECT AddGeometryColumn('ax_hafenbecken','wkb_geometry',25832,'GEOMETRY',2);
2986
2987CREATE INDEX ax_hafenbecken_geom_idx   ON ax_hafenbecken USING gist  (wkb_geometry);
2988CREATE UNIQUE INDEX ax_hafenbecken_gml ON ax_hafenbecken USING btree (gml_id,beginnt);
2989
2990COMMENT ON TABLE  ax_hafenbecken        IS '"H a f e n b e c k e n"  ist ein natÃŒrlicher oder kÃŒnstlich angelegter oder abgetrennter Teil eines GewÀssers, in dem Schiffe be- und entladen werden.';
2991COMMENT ON COLUMN ax_hafenbecken.gml_id IS 'Identifikator, global eindeutig';
2992
2993COMMENT ON COLUMN ax_hafenbecken.funktion IS 'FKT "Funktion" ist die objektiv erkennbare Nutzung von "Hafenbecken".';
2994COMMENT ON COLUMN ax_hafenbecken.name     IS 'NAM "Name" ist der Eigenname von "Hafenbecken".';
2995COMMENT ON COLUMN ax_hafenbecken.nutzung  IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Hafenbecken" an.';
2996
2997
2998-- s t e h e n d e s   G e w a e s s e r
2999-- ----------------------------------------------
3000-- 'Stehendes GewÀsser' ist eine natÌrliche oder kÌnstliche mit Wasser gefÌllte,
3001-- allseitig umschlossene Hohlform der LandoberflÀche ohne unmittelbaren Zusammenhang mit 'Meer'.
3002CREATE TABLE ax_stehendesgewaesser (
3003        ogc_fid                 serial NOT NULL,
3004        gml_id                  character(16),
3005        identifier              character(44),
3006        beginnt                 character(20),
3007        endet                   character(20),
3008        advstandardmodell       varchar,
3009        anlass                  integer,
3010        funktion                integer,
3011        name                    varchar,
3012        gewaesserkennziffer     varchar,
3013        hydrologischesMerkmal   integer,
3014        CONSTRAINT ax_stehendesgewaesser_pk PRIMARY KEY (ogc_fid)
3015);
3016
3017SELECT AddGeometryColumn('ax_stehendesgewaesser','wkb_geometry',25832,'GEOMETRY',2);
3018
3019CREATE INDEX ax_stehendesgewaesser_geom_idx ON ax_stehendesgewaesser USING gist (wkb_geometry);
3020CREATE UNIQUE INDEX ax_stehendesgewaesser_gml ON ax_stehendesgewaesser USING btree (gml_id,beginnt);
3021
3022COMMENT ON TABLE  ax_stehendesgewaesser           IS 's t e h e n d e s   G e w a e s s e r  ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte, allseitig umschlossene Hohlform der LandoberflÀche ohne unmittelbaren Zusammenhang mit "Meer".';
3023COMMENT ON COLUMN ax_stehendesgewaesser.gml_id    IS 'Identifikator, global eindeutig';
3024COMMENT ON COLUMN ax_stehendesgewaesser.funktion  IS 'FKT "Funktion" ist die Art von "Stehendes GewÀsser".';
3025COMMENT ON COLUMN ax_stehendesgewaesser.name      IS 'NAM "Name" ist der Eigenname von "Stehendes GewÀsser".';
3026COMMENT ON COLUMN ax_stehendesgewaesser.gewaesserkennziffer   IS 'GWK  "GewÀsserkennziffer" ist die von der zustÀndigen Fachstelle vergebene VerschlÃŒsselung.';
3027COMMENT ON COLUMN ax_stehendesgewaesser.hydrologischesMerkmal IS 'HYD  "Hydrologisches Merkmal" gibt die WasserverhÀltnisse von "Stehendes GewÀsser" an.';
3028
3029
3030-- M e e r
3031-- ----------------------------------------------
3032CREATE TABLE ax_meer (
3033        ogc_fid                 serial NOT NULL,
3034        gml_id                  character(16),
3035        identifier              character(44),
3036        beginnt                 character(20),
3037        endet                   character(20),
3038        advstandardmodell       varchar,
3039        anlass                  integer,
3040        funktion                integer,
3041        "name"                  varchar,
3042        bezeichnung             varchar,
3043        tidemerkmal             integer,
3044        CONSTRAINT ax_meer_pk PRIMARY KEY (ogc_fid)
3045);
3046
3047SELECT AddGeometryColumn('ax_meer','wkb_geometry',25832,'GEOMETRY',2);
3048
3049CREATE INDEX ax_meer_geom_idx ON ax_meer USING gist (wkb_geometry);
3050CREATE UNIQUE INDEX ax_meer_gml ON ax_meer USING btree (gml_id,beginnt);
3051
3052COMMENT ON TABLE  ax_meer              IS '"M e e r" ist die das Festland umgebende WasserflÀche.';
3053COMMENT ON COLUMN ax_meer.gml_id       IS 'Identifikator, global eindeutig';
3054COMMENT ON COLUMN ax_meer.funktion     IS 'FKT "Funktion" ist die Art von "Meer".';
3055COMMENT ON COLUMN ax_meer.name         IS 'NAM "Name" ist der Eigenname von "Meer".';
3056COMMENT ON COLUMN ax_meer.bezeichnung  IS 'BEZ "Bezeichnung" ist die von der zustÀndigen Fachbehörde vergebene VerschlÃŒsselung.';
3057COMMENT ON COLUMN ax_meer.tidemerkmal  IS 'TID "Tidemerkmal" gibt an, ob "Meer" von den periodischen WasserstandsÀnderungen beeinflusst wird.';
3058
3059
3060
3061--*** ############################################################
3062--*** Objektbereich: Bauwerke, Einrichtungen und sonstige Angaben
3063--*** ############################################################
3064
3065--AX_BauwerkeEinrichtungenUndSonstigeAngaben
3066-- ** Tabelle bisher noch nicht generiert
3067
3068--AX_DQMitDatenerhebung
3069-- ** Tabelle bisher noch nicht generiert
3070
3071
3072--AX_LI_Lineage_MitDatenerhebung
3073-- ** Tabelle bisher noch nicht generiert
3074
3075--AX_LI_ProcessStep_MitDatenerhebung
3076-- ** Tabelle bisher noch nicht generiert
3077
3078--AX_LI_Source_MitDatenerhebung
3079-- ** Tabelle bisher noch nicht generiert
3080
3081
3082--** Objektartengruppe: Bauwerke und Einrichtungen in SiedlungsflÀchen
3083--   ===================================================================
3084
3085-- T u r m
3086-- ---------------------------------------------------
3087CREATE TABLE ax_turm (
3088        ogc_fid                 serial NOT NULL,
3089        gml_id                  character(16),
3090        identifier              character(44),
3091        beginnt                 character(20),
3092        endet                   character(20),
3093        advstandardmodell       varchar,
3094        anlass                  integer,
3095        bauwerksfunktion        integer,
3096        CONSTRAINT ax_turm_pk PRIMARY KEY (ogc_fid)
3097);
3098
3099SELECT AddGeometryColumn('ax_turm','wkb_geometry',25832,'GEOMETRY',2);
3100
3101CREATE INDEX ax_turm_geom_idx ON ax_turm USING gist (wkb_geometry);
3102CREATE UNIQUE INDEX ax_turm_gml ON ax_turm USING btree (gml_id,beginnt);
3103
3104COMMENT ON TABLE  ax_turm        IS 'T u r m';
3105COMMENT ON COLUMN ax_turm.gml_id IS 'Identifikator, global eindeutig';
3106
3107
3108-- Bauwerk oder Anlage fuer Industrie und Gewerbe
3109-- ----------------------------------------------
3110CREATE TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe (
3111        ogc_fid                 serial NOT NULL,
3112        gml_id                  character(16),
3113        identifier              character(44),
3114        beginnt                 character(20),
3115        endet                   character(20),
3116        advstandardmodell       varchar,
3117        anlass                  integer,
3118        bauwerksfunktion        integer,
3119        CONSTRAINT ax_bauwerkoderanlagefuerindustrieundgewerbe_pk PRIMARY KEY (ogc_fid)
3120);
3121
3122SELECT AddGeometryColumn('ax_bauwerkoderanlagefuerindustrieundgewerbe','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT
3123
3124CREATE INDEX ax_bauwerkoderanlagefuerindustrieundgewerbe_geom_idx ON ax_bauwerkoderanlagefuerindustrieundgewerbe USING gist (wkb_geometry);
3125CREATE UNIQUE INDEX ax_bauwerkoderanlagefuerindustrieundgewerbe_gml ON ax_bauwerkoderanlagefuerindustrieundgewerbe USING btree (gml_id,beginnt);
3126
3127COMMENT ON TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe         IS 'Bauwerk oder Anlage fuer Industrie und Gewerbe';
3128COMMENT ON COLUMN ax_bauwerkoderanlagefuerindustrieundgewerbe.gml_id IS 'Identifikator, global eindeutig';
3129
3130
3131-- V o r r a t s b e h a e l t e r  /  S p e i c h e r b a u w e r k
3132-- -----------------------------------------------------------------
3133CREATE TABLE ax_vorratsbehaelterspeicherbauwerk (
3134        ogc_fid                 serial NOT NULL,
3135        gml_id                  character(16),
3136        identifier              character(44),
3137        beginnt                 character(20),
3138        endet                   character(20),
3139        advstandardmodell       varchar,
3140        anlass                  integer,
3141        speicherinhalt          integer,
3142        bauwerksfunktion        integer,
3143        CONSTRAINT ax_vorratsbehaelterspeicherbauwerk_pk PRIMARY KEY (ogc_fid)
3144);
3145
3146SELECT AddGeometryColumn('ax_vorratsbehaelterspeicherbauwerk','wkb_geometry',25832,'GEOMETRY',2);
3147
3148CREATE INDEX ax_vorratsbehaelterspeicherbauwerk_geom_idx ON ax_vorratsbehaelterspeicherbauwerk USING gist (wkb_geometry);
3149CREATE UNIQUE INDEX ax_vorratsbehaelterspeicherbauwerk_gml ON ax_vorratsbehaelterspeicherbauwerk USING btree (gml_id,beginnt);
3150
3151COMMENT ON TABLE  ax_vorratsbehaelterspeicherbauwerk        IS 'V o r r a t s b e h a e l t e r  /  S p e i c h e r b a u w e r k';
3152COMMENT ON COLUMN ax_vorratsbehaelterspeicherbauwerk.gml_id IS 'Identifikator, global eindeutig';
3153
3154
3155-- T r a n s p o r t a n l a g e
3156-- ---------------------------------------------------
3157CREATE TABLE ax_transportanlage (
3158        ogc_fid                 serial NOT NULL,
3159        gml_id                  character(16),
3160        identifier              character(44),
3161        beginnt                 character(20),
3162        endet                   character(20),
3163        advstandardmodell       varchar,
3164        anlass                  integer,
3165        bauwerksfunktion        integer,
3166        lagezurerdoberflaeche   integer,
3167        art                     varchar,  --(15)
3168        "name"                  varchar,  -- (3) "NPL", "RMR"
3169        CONSTRAINT ax_transportanlage_pk PRIMARY KEY (ogc_fid)
3170);
3171
3172SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',25832,'LINESTRING',2);
3173
3174CREATE INDEX ax_transportanlage_geom_idx ON ax_transportanlage USING gist (wkb_geometry);
3175CREATE UNIQUE INDEX ax_transportanlage_gml ON ax_transportanlage USING btree (gml_id,beginnt);
3176
3177COMMENT ON TABLE  ax_transportanlage        IS 'T r a n s p o r t a n l a g e';
3178COMMENT ON COLUMN ax_transportanlage.gml_id IS 'Identifikator, global eindeutig';
3179
3180
3181-- L e i t u n g
3182-- ----------------------------------------------
3183CREATE TABLE ax_leitung (
3184        ogc_fid                 serial NOT NULL,
3185        gml_id                  character(16),
3186        identifier              character(44),
3187        beginnt                 character(20),
3188        endet                   character(20),
3189        advstandardmodell       varchar,
3190        anlass                  integer,
3191        bauwerksfunktion        integer,
3192        spannungsebene          integer,
3193        CONSTRAINT ax_leitung_pk PRIMARY KEY (ogc_fid)
3194);
3195
3196SELECT AddGeometryColumn('ax_leitung','wkb_geometry',25832,'LINESTRING',2);
3197
3198CREATE INDEX ax_leitung_geom_idx ON ax_leitung USING gist (wkb_geometry);
3199CREATE UNIQUE INDEX ax_leitung_gml ON ax_leitung USING btree (gml_id,beginnt);
3200
3201COMMENT ON TABLE  ax_leitung        IS 'L e i t u n g';
3202COMMENT ON COLUMN ax_leitung.gml_id IS 'Identifikator, global eindeutig';
3203
3204
3205-- Bauwerk oder Anlage fuer Sport, Freizeit und Erholung
3206-- -----------------------------------------------------
3207CREATE TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung (
3208        ogc_fid                 serial NOT NULL,
3209        gml_id                  character(16),
3210        identifier              character(44),
3211        beginnt                 character(20),
3212        endet                   character(20),
3213        advstandardmodell       varchar,
3214        anlass                  integer,
3215        bauwerksfunktion        integer,
3216        -- "name"               varchar,
3217        CONSTRAINT ax_bauwerkoderanlagefuersportfreizeitunderholung_pk PRIMARY KEY (ogc_fid)
3218);
3219
3220SELECT AddGeometryColumn('ax_bauwerkoderanlagefuersportfreizeitunderholung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT
3221
3222CREATE INDEX ax_bauwerkoderanlagefuersportfreizeitunderholung_geom_idx ON ax_bauwerkoderanlagefuersportfreizeitunderholung USING gist (wkb_geometry);
3223CREATE UNIQUE INDEX ax_bauwerkoderanlagefuersportfreizeitunderholung_gml ON ax_bauwerkoderanlagefuersportfreizeitunderholung USING btree (gml_id,beginnt);
3224
3225COMMENT ON TABLE  ax_bauwerkoderanlagefuersportfreizeitunderholung        IS 'Bauwerk oder Anlage fuer Sport, Freizeit und Erholung';
3226COMMENT ON COLUMN ax_bauwerkoderanlagefuersportfreizeitunderholung.gml_id IS 'Identifikator, global eindeutig';
3227
3228
3229-- Historisches Bauwerk oder historische Einrichtung
3230-- -------------------------------------------------
3231CREATE TABLE ax_historischesbauwerkoderhistorischeeinrichtung (
3232        ogc_fid                 serial NOT NULL,
3233        gml_id                  character(16),
3234        identifier              character(44),
3235        beginnt                 character(20),
3236        endet                   character(20),
3237        advstandardmodell       varchar,
3238        sonstigesmodell         varchar[],
3239        anlass                  integer,
3240        archaeologischertyp     integer,
3241        CONSTRAINT ax_historischesbauwerkoderhistorischeeinrichtung_pk PRIMARY KEY (ogc_fid)
3242);
3243
3244SELECT AddGeometryColumn('ax_historischesbauwerkoderhistorischeeinrichtung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT
3245
3246CREATE INDEX ax_historischesbauwerkoderhistorischeeinrichtung_geom_idx ON ax_historischesbauwerkoderhistorischeeinrichtung USING gist (wkb_geometry);
3247CREATE UNIQUE INDEX ax_historischesbauwerkoderhistorischeeinrichtung_gml ON ax_historischesbauwerkoderhistorischeeinrichtung USING btree (gml_id,beginnt);
3248
3249COMMENT ON TABLE  ax_historischesbauwerkoderhistorischeeinrichtung        IS 'Historisches Bauwerk oder historische Einrichtung';
3250COMMENT ON COLUMN ax_historischesbauwerkoderhistorischeeinrichtung.gml_id IS 'Identifikator, global eindeutig';
3251
3252
3253-- H e i l q u e l l e  /  G a s q u e l l e
3254-- ----------------------------------------------
3255CREATE TABLE ax_heilquellegasquelle (
3256        ogc_fid                 serial NOT NULL,
3257        gml_id                  character(16),
3258        identifier              character(44),
3259        beginnt                 character(20),
3260        endet                   character(20),
3261        advstandardmodell       varchar,
3262        sonstigesmodell         varchar,
3263        anlass                  integer,
3264        art                     integer,
3265        "name"                  varchar,
3266        CONSTRAINT ax_heilquellegasquelle_pk PRIMARY KEY (ogc_fid)
3267);
3268
3269SELECT AddGeometryColumn('ax_heilquellegasquelle','wkb_geometry',25832,'POINT',2);
3270
3271CREATE INDEX ax_heilquellegasquelle_geom_idx ON ax_heilquellegasquelle USING gist (wkb_geometry);
3272CREATE UNIQUE INDEX ax_heilquellegasquelle_gml ON ax_heilquellegasquelle USING btree (gml_id,beginnt);
3273
3274COMMENT ON TABLE  ax_heilquellegasquelle        IS 'H e i l q u e l l e  /  G a s q u e l l e';
3275COMMENT ON COLUMN ax_heilquellegasquelle.gml_id IS 'Identifikator, global eindeutig';
3276
3277
3278-- sonstiges Bauwerk oder sonstige Einrichtung
3279-- ----------------------------------------------
3280CREATE TABLE ax_sonstigesbauwerkodersonstigeeinrichtung (
3281        ogc_fid                 serial NOT NULL,
3282        gml_id                  character(16),
3283        identifier              character(44),
3284        beginnt                 character(20),
3285        endet                   character(20),
3286        advstandardmodell       varchar,
3287        anlass                  integer,
3288--      art                     varchar,        -- Inhalt = "urn:adv:fachdatenverbindung:AA_Antrag" oder leer, wozu?
3289        description             integer,                -- neu 03.02.2012
3290        "name"                  varchar,        -- Lippe immer leer, RLP "Relationsbelegung bei Nachmigration"
3291        bauwerksfunktion        integer,
3292        CONSTRAINT ax_sonstigesbauwerkodersonstigeeinrichtung_pk PRIMARY KEY (ogc_fid)
3293);
3294
3295SELECT AddGeometryColumn('ax_sonstigesbauwerkodersonstigeeinrichtung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/LINESTRING
3296
3297CREATE INDEX ax_sonstigesbauwerkodersonstigeeinrichtung_geom_idx ON ax_sonstigesbauwerkodersonstigeeinrichtung USING gist (wkb_geometry);
3298CREATE UNIQUE INDEX ax_sonstigesbauwerkodersonstigeeinrichtung_gml ON ax_sonstigesbauwerkodersonstigeeinrichtung USING btree (gml_id,beginnt);
3299
3300COMMENT ON TABLE  ax_sonstigesbauwerkodersonstigeeinrichtung        IS 'sonstiges Bauwerk oder sonstige Einrichtung';
3301COMMENT ON COLUMN ax_sonstigesbauwerkodersonstigeeinrichtung.gml_id IS 'Identifikator, global eindeutig';
3302
3303
3304-- 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
3305-- ------------------------------------------------------------------------
3306CREATE TABLE ax_einrichtunginoeffentlichenbereichen (
3307        ogc_fid                 serial NOT NULL,
3308        gml_id                  character(16),
3309        identifier              character(44),
3310        beginnt                 character(20),
3311        endet                   character(20),
3312        sonstigesmodell         varchar,
3313        anlass                  integer,
3314        art                     integer,
3315        CONSTRAINT ax_einrichtunginoeffentlichenbereichen_pk PRIMARY KEY (ogc_fid)
3316);
3317
3318SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',25832,'POINT',2);
3319
3320CREATE INDEX ax_einrichtunginoeffentlichenbereichen_geom_idx ON ax_einrichtunginoeffentlichenbereichen USING gist (wkb_geometry);
3321CREATE UNIQUE INDEX ax_einrichtunginoeffentlichenbereichen_gml ON ax_einrichtunginoeffentlichenbereichen USING btree (gml_id,beginnt);
3322
3323COMMENT 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';
3324COMMENT ON COLUMN ax_einrichtunginoeffentlichenbereichen.gml_id IS 'Identifikator, global eindeutig';
3325
3326
3327-- B e s o n d e r e r   B a u w e r k s p u n k t
3328-- -----------------------------------------------
3329CREATE TABLE ax_besondererbauwerkspunkt (
3330        ogc_fid                 serial NOT NULL,
3331        gml_id                  character(16),
3332        identifier              character(44),
3333        beginnt                 character(20),
3334        endet                   character(20),
3335        advstandardmodell       varchar,
3336        anlass                  integer,
3337        punktkennung            varchar, -- integer,
3338        land                    integer,
3339        stelle                  integer,
3340        --sonstigeeigenschaft   character(26),
3341        CONSTRAINT ax_besondererbauwerkspunkt_pk PRIMARY KEY (ogc_fid)
3342);
3343
3344SELECT AddGeometryColumn('ax_besondererbauwerkspunkt','dummy',25832,'POINT',2);
3345
3346CREATE UNIQUE INDEX ax_besondererbauwerkspunkt_gml ON ax_besondererbauwerkspunkt USING btree (gml_id,beginnt);
3347
3348COMMENT ON TABLE  ax_besondererbauwerkspunkt        IS 'B e s o n d e r e r   B a u w e r k s p u n k t';
3349COMMENT ON COLUMN ax_besondererbauwerkspunkt.gml_id IS 'Identifikator, global eindeutig';
3350
3351
3352--** Objektartengruppe: Besondere Anlagen auf SiedlungsflÀchen
3353--   ===================================================================
3354
3355--** Objektartengruppe: Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr
3356--   =======================================================================
3357
3358-- B a u w e r k   i m  V e r k e h s b e r e i c h
3359-- ------------------------------------------------
3360CREATE TABLE ax_bauwerkimverkehrsbereich (
3361        ogc_fid                 serial NOT NULL,
3362        gml_id                  character(16),
3363        identifier              character(44),
3364        beginnt                 character(20),
3365        endet                   character(20),
3366        advstandardmodell       varchar,
3367        anlass                  integer,
3368        bauwerksfunktion        integer,
3369        CONSTRAINT ax_bauwerkimverkehrsbereich_pk PRIMARY KEY (ogc_fid)
3370);
3371
3372SELECT AddGeometryColumn('ax_bauwerkimverkehrsbereich','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
3373
3374CREATE INDEX ax_bauwerkimverkehrsbereich_geom_idx ON ax_bauwerkimverkehrsbereich USING gist (wkb_geometry);
3375CREATE UNIQUE INDEX ax_bauwerkimverkehrsbereich_gml ON ax_bauwerkimverkehrsbereich USING btree (gml_id,beginnt);
3376
3377COMMENT ON TABLE  ax_bauwerkimverkehrsbereich        IS 'B a u w e r k   i m  V e r k e h s b e r e i c h';
3378COMMENT ON COLUMN ax_bauwerkimverkehrsbereich.gml_id IS 'Identifikator, global eindeutig';
3379
3380
3381-- S t r a s s e n v e r k e h r s a n l a g e
3382-- ----------------------------------------------
3383CREATE TABLE ax_strassenverkehrsanlage (
3384        ogc_fid                 serial NOT NULL,
3385        gml_id                  character(16),
3386        beginnt                 character(20),
3387        endet                   character(20),
3388        advstandardmodell       varchar,
3389        sonstigesmodell         varchar[],
3390        anlass                  integer,
3391        art                     integer
3392);
3393
3394SELECT AddGeometryColumn('ax_strassenverkehrsanlage','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/MULTIPOLYGON
3395
3396CREATE INDEX ax_strassenverkehrsanlage_geom_idx ON ax_strassenverkehrsanlage USING gist (wkb_geometry);
3397CREATE UNIQUE INDEX ax_strassenverkehrsanlage_gml ON ax_strassenverkehrsanlage USING btree (gml_id,beginnt);
3398
3399COMMENT ON TABLE  ax_strassenverkehrsanlage        IS 'S t r a s s e n v e r k e h r s a n l a g e';
3400COMMENT ON COLUMN ax_strassenverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
3401
3402
3403-- W e g  /  P f a d  /  S t e i g
3404-- ----------------------------------------------
3405CREATE TABLE ax_wegpfadsteig (
3406        ogc_fid                 serial NOT NULL,
3407        gml_id                  character(16),
3408        identifier              character(44),
3409        beginnt                 character(20),
3410        endet                   character(20),
3411        advstandardmodell       varchar,
3412        sonstigesmodell         varchar[],
3413        anlass                  integer,
3414        art                     integer,
3415        CONSTRAINT ax_wegpfadsteig_pk PRIMARY KEY (ogc_fid)
3416);
3417
3418SELECT AddGeometryColumn('ax_wegpfadsteig','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON
3419
3420CREATE INDEX ax_wegpfadsteig_geom_idx ON ax_wegpfadsteig USING gist (wkb_geometry);
3421CREATE UNIQUE INDEX ax_wegpfadsteig_gml ON ax_wegpfadsteig USING btree (gml_id,beginnt);
3422
3423COMMENT ON TABLE  ax_wegpfadsteig        IS 'W e g  /  P f a d  /  S t e i g';
3424COMMENT ON COLUMN ax_wegpfadsteig.gml_id IS 'Identifikator, global eindeutig';
3425
3426
3427-- B a h n v e r k e h r s a n l a g e
3428-- ----------------------------------------------
3429CREATE TABLE ax_bahnverkehrsanlage (
3430        ogc_fid                 serial NOT NULL,
3431        gml_id                  character(16),
3432        beginnt                 character(20),
3433        endet                   character(20),
3434        advstandardmodell       varchar,
3435        sonstigesmodell         varchar[],
3436        anlass                  integer,
3437        bahnhofskategorie       integer,
3438        bahnkategorie           integer,
3439        CONSTRAINT ax_bahnverkehrsanlage_pk PRIMARY KEY (ogc_fid)
3440);
3441
3442SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',25832,'POINT',2);
3443
3444CREATE INDEX ax_bahnverkehrsanlage_geom_idx ON ax_bahnverkehrsanlage USING gist (wkb_geometry);
3445CREATE UNIQUE INDEX ax_bahnverkehrsanlage_gml ON ax_bahnverkehrsanlage USING btree (gml_id,beginnt);
3446
3447COMMENT ON TABLE  ax_bahnverkehrsanlage        IS 'B a h n v e r k e h r s a n l a g e';
3448COMMENT ON COLUMN ax_bahnverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
3449
3450
3451--AX_SeilbahnSchwebebahn
3452-- ** Tabelle bisher noch nicht generiert
3453
3454
3455-- G l e i s
3456-- ----------------------------------------------
3457CREATE TABLE ax_gleis (
3458        ogc_fid                 serial NOT NULL,
3459        gml_id                  character(16),
3460        identifier              character(44),
3461        beginnt                 character(20),
3462        endet                   character(20),
3463        advstandardmodell       varchar,
3464        sonstigesmodell         varchar[],
3465        anlass                  integer,
3466        bahnkategorie           integer,
3467        CONSTRAINT ax_gleis_pk PRIMARY KEY (ogc_fid)
3468);
3469
3470SELECT AddGeometryColumn('ax_gleis','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON
3471
3472CREATE INDEX ax_gleis_geom_idx ON ax_gleis USING gist (wkb_geometry);
3473CREATE UNIQUE INDEX ax_gleis_gml ON ax_gleis USING btree (gml_id,beginnt);
3474
3475COMMENT ON TABLE  ax_gleis        IS 'G l e i s';
3476COMMENT ON COLUMN ax_gleis.gml_id IS 'Identifikator, global eindeutig';
3477
3478
3479-- F l u g v e r k e h r s a n l a g e
3480-- -----------------------------------
3481CREATE TABLE ax_flugverkehrsanlage (
3482        ogc_fid                 serial NOT NULL,
3483        gml_id                  character(16),
3484        identifier              character(44),
3485        beginnt                 character(20),
3486        endet                   character(20),
3487        advstandardmodell       varchar,
3488        sonstigesmodell         varchar,
3489        anlass                  integer,
3490        art                     integer,
3491        oberflaechenmaterial    integer,
3492        "name"                  varchar,
3493        CONSTRAINT ax_flugverkehrsanlage_pk PRIMARY KEY (ogc_fid)
3494);
3495
3496SELECT AddGeometryColumn('ax_flugverkehrsanlage','wkb_geometry',25832,'GEOMETRY',2);
3497
3498CREATE INDEX ax_flugverkehrsanlage_geom_idx ON ax_flugverkehrsanlage USING gist (wkb_geometry);
3499CREATE UNIQUE INDEX ax_flugverkehrsanlage_gml ON ax_flugverkehrsanlage USING btree (gml_id,beginnt);
3500
3501COMMENT ON TABLE  ax_flugverkehrsanlage             IS 'F l u g v e r k e h r s a n l a g e';
3502COMMENT ON COLUMN ax_flugverkehrsanlage.gml_id      IS 'Identifikator, global eindeutig';
3503
3504
3505--AX_EinrichtungenFuerDenSchiffsverkehr
3506-- ** Tabelle bisher noch nicht generiert
3507
3508
3509-- B a u w e r k   i m   G e w a e s s e r b e r e i c h
3510-- -----------------------------------------------------
3511CREATE TABLE ax_bauwerkimgewaesserbereich (
3512        ogc_fid                 serial NOT NULL,
3513        gml_id                  character(16),
3514        identifier              character(44),
3515        beginnt                 character(20),
3516        endet                   character(20),
3517        advstandardmodell       varchar,
3518        anlass                  integer,
3519        bauwerksfunktion        integer,
3520        CONSTRAINT ax_bauwerkimgewaesserbereich_pk PRIMARY KEY (ogc_fid)
3521);
3522
3523SELECT AddGeometryColumn('ax_bauwerkimgewaesserbereich','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POINT
3524
3525CREATE INDEX ax_bauwerkimgewaesserbereich_geom_idx ON ax_bauwerkimgewaesserbereich USING gist (wkb_geometry);
3526CREATE UNIQUE INDEX ax_bauwerkimgewaesserbereich_gml ON ax_bauwerkimgewaesserbereich USING btree (gml_id,beginnt);
3527
3528COMMENT ON TABLE  ax_bauwerkimgewaesserbereich        IS 'B a u w e r k   i m   G e w a e s s e r b e r e i c h';
3529COMMENT ON COLUMN ax_bauwerkimgewaesserbereich.gml_id IS 'Identifikator, global eindeutig';
3530
3531
3532--** Objektartengruppe: Besondere Vegetationsmerkmale
3533--   ===================================================================
3534
3535-- V e g a t a t i o n s m e r k m a l
3536-- ----------------------------------------------
3537CREATE TABLE ax_vegetationsmerkmal (
3538        ogc_fid                 serial NOT NULL,
3539        gml_id                  character(16),
3540        identifier              character(44),
3541        beginnt                 character(20),
3542        endet                   character(20),
3543        advstandardmodell       varchar,
3544        anlass                  integer,
3545        bewuchs                 integer,
3546        CONSTRAINT ax_vegetationsmerkmal_pk PRIMARY KEY (ogc_fid)
3547);
3548
3549SELECT AddGeometryColumn('ax_vegetationsmerkmal','wkb_geometry',25832,'GEOMETRY',2);
3550
3551CREATE INDEX ax_vegetationsmerkmal_geom_idx ON ax_vegetationsmerkmal USING gist (wkb_geometry);
3552CREATE UNIQUE INDEX ax_vegetationsmerkmal_gml ON ax_vegetationsmerkmal USING btree (gml_id,beginnt);
3553
3554COMMENT ON TABLE  ax_vegetationsmerkmal        IS 'V e g a t a t i o n s m e r k m a l';
3555COMMENT ON COLUMN ax_vegetationsmerkmal.gml_id IS 'Identifikator, global eindeutig';
3556
3557
3558--** Objektartengruppe: Besondere Eigenschaften von GewÀssern
3559--   ===================================================================
3560
3561-- G e w a e s s e r m e r k m a l
3562-- ----------------------------------------------
3563CREATE TABLE ax_gewaessermerkmal (
3564        ogc_fid                 serial NOT NULL,
3565        gml_id                  character(16),
3566        identifier              character(44),
3567        beginnt                 character(20),
3568        endet                   character(20),
3569        advstandardmodell       varchar,
3570        anlass                  integer,
3571        art                     integer,
3572        CONSTRAINT ax_gewaessermerkmal_pk PRIMARY KEY (ogc_fid)
3573);
3574
3575SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',25832,'POINT',2);
3576
3577CREATE INDEX ax_gewaessermerkmal_geom_idx ON ax_gewaessermerkmal USING gist (wkb_geometry);
3578CREATE UNIQUE INDEX ax_gewaessermerkmal_gml ON ax_gewaessermerkmal USING btree (gml_id,beginnt);
3579
3580COMMENT ON TABLE  ax_gewaessermerkmal        IS 'G e w a e s s e r m e r k m a l';
3581COMMENT ON COLUMN ax_gewaessermerkmal.gml_id IS 'Identifikator, global eindeutig';
3582
3583
3584-- u n t e r g e o r d n e t e s   G e w a e s s e r
3585-- -------------------------------------------------
3586CREATE TABLE ax_untergeordnetesgewaesser (
3587        ogc_fid                 serial NOT NULL,
3588        gml_id                  character(16),
3589        identifier              character(44),
3590        beginnt                 character(20),
3591        endet                   character(20),
3592        advstandardmodell       varchar,
3593        anlass                  integer,
3594        funktion                integer,
3595        CONSTRAINT ax_untergeordnetesgewaesser_pk PRIMARY KEY (ogc_fid)
3596);
3597
3598SELECT AddGeometryColumn('ax_untergeordnetesgewaesser','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON
3599
3600CREATE INDEX ax_untergeordnetesgewaesser_geom_idx ON ax_untergeordnetesgewaesser USING gist (wkb_geometry);
3601CREATE UNIQUE INDEX ax_untergeordnetesgewaesser_gml ON ax_untergeordnetesgewaesser USING btree (gml_id,beginnt);
3602
3603COMMENT ON TABLE  ax_untergeordnetesgewaesser        IS 'u n t e r g e o r d n e t e s   G e w a e s s e r';
3604COMMENT ON COLUMN ax_untergeordnetesgewaesser.gml_id IS 'Identifikator, global eindeutig';
3605
3606
3607--** Objektartengruppe: Besondere Angaben zum Verkehr
3608--   ===================================================================
3609
3610--** Objektartengruppe: Besondere Angaben zum GewÀsser
3611--   ===================================================================
3612
3613--AX_Wasserspiegelhoehe
3614-- ** Tabelle bisher noch nicht generiert
3615
3616--AX_SchifffahrtslinieFaehrverkehr
3617-- ** Tabelle bisher noch nicht generiert
3618
3619--*** ############################################################
3620--*** Objektbereich: Relief
3621--*** ############################################################
3622
3623--** Objektartengruppe: Reliefformen
3624--   ===================================================================
3625
3626
3627-- B o e s c h u n g s k l i f f
3628-- -----------------------------
3629CREATE TABLE ax_boeschungkliff (
3630        ogc_fid                 serial NOT NULL,
3631        gml_id                  character(16),
3632        beginnt                 character(20),
3633        endet                   character(20),
3634        advstandardmodell       varchar,
3635        sonstigesmodell         varchar[],
3636        anlass                  integer
3637);
3638
3639SELECT AddGeometryColumn('ax_boeschungkliff','dummy',25832,'POINT',2);
3640
3641CREATE UNIQUE INDEX ax_boeschungkliff_gml ON ax_boeschungkliff USING btree (gml_id,beginnt);
3642
3643COMMENT ON TABLE  ax_boeschungkliff        IS 'B o e s c h u n g s k l i f f';
3644COMMENT ON COLUMN ax_boeschungkliff.gml_id IS 'Identifikator, global eindeutig';
3645
3646
3647-- B o e s c h u n g s f l a e c h e
3648-- ---------------------------------
3649--AX_Boeschungsflaeche GeÀndert (Revisionsnummer: 1623)
3650CREATE TABLE ax_boeschungsflaeche (
3651        ogc_fid                 serial NOT NULL,
3652        gml_id                  character(16),
3653        beginnt                 character(20),
3654        endet                   character(20),
3655        advstandardmodell       varchar,
3656        sonstigesmodell         varchar[],
3657        anlass                  integer,
3658        CONSTRAINT ax_boeschungsflaeche_pk PRIMARY KEY (ogc_fid)
3659);
3660
3661SELECT AddGeometryColumn('ax_boeschungsflaeche','wkb_geometry',25832,'GEOMETRY',2);
3662
3663CREATE INDEX ax_boeschungsflaeche_geom_idx ON ax_boeschungsflaeche USING gist (wkb_geometry);
3664CREATE UNIQUE INDEX ax_boeschungsflaeche_gml ON ax_boeschungsflaeche USING btree (gml_id,beginnt);
3665
3666COMMENT ON TABLE  ax_boeschungsflaeche        IS 'B o e s c h u n g s f l a e c h e';
3667COMMENT ON COLUMN ax_boeschungsflaeche.gml_id IS 'Identifikator, global eindeutig';
3668
3669
3670-- D a m m  /  W a l l  /  D e i c h
3671-- ----------------------------------------------
3672CREATE TABLE ax_dammwalldeich (
3673        ogc_fid                 serial NOT NULL,
3674        gml_id                  character(16),
3675        identifier              character(44),
3676        beginnt                 character(20),
3677        endet                   character(20),
3678        advstandardmodell       varchar,
3679        anlass                  integer,
3680        art                     integer,
3681        CONSTRAINT ax_dammwalldeich_pk PRIMARY KEY (ogc_fid)
3682);
3683
3684SELECT AddGeometryColumn('ax_dammwalldeich','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON
3685
3686CREATE INDEX ax_dammwalldeich_geom_idx ON ax_dammwalldeich USING gist (wkb_geometry);
3687CREATE UNIQUE INDEX ax_dammwalldeich_gml ON ax_dammwalldeich USING btree (gml_id,beginnt);
3688
3689COMMENT ON TABLE  ax_dammwalldeich        IS 'D a m m  /  W a l l  /  D e i c h';
3690COMMENT ON COLUMN ax_dammwalldeich.gml_id IS 'Identifikator, global eindeutig';
3691
3692
3693--AX_Hoehleneingang
3694-- ** Tabelle bisher noch nicht generiert
3695
3696
3697-- F e l s e n ,  F e l s b l o c k ,   F e l s n a d e l
3698-- ------------------------------------------------------
3699-- Nutzung
3700CREATE TABLE ax_felsenfelsblockfelsnadel (
3701        ogc_fid                 serial NOT NULL,
3702        gml_id                  character(16),
3703        identifier              character(44),
3704        beginnt                 character(20),
3705        endet                   character(20),
3706        advstandardmodell       varchar,
3707        anlass                  integer,
3708        name                    varchar,
3709        CONSTRAINT ax_felsenfelsblockfelsnadel_pk PRIMARY KEY (ogc_fid)
3710);
3711
3712SELECT AddGeometryColumn('ax_felsenfelsblockfelsnadel','wkb_geometry',25832,'GEOMETRY',2);
3713
3714CREATE INDEX ax_felsenfelsblockfelsnadel_geom_idx ON ax_felsenfelsblockfelsnadel USING gist (wkb_geometry);
3715CREATE UNIQUE INDEX ax_felsenfelsblockfelsnadel_gml ON ax_felsenfelsblockfelsnadel USING btree (gml_id,beginnt);
3716
3717COMMENT ON TABLE  ax_felsenfelsblockfelsnadel        IS 'F e l s e n ,  F e l s b l o c k ,   F e l s n a d e l';
3718COMMENT ON COLUMN ax_felsenfelsblockfelsnadel.gml_id IS 'Identifikator, global eindeutig';
3719
3720
3721--AX_Duene
3722-- ** Tabelle bisher noch nicht generiert
3723
3724
3725--AX_Hoehenlinie
3726-- ** Tabelle bisher noch nicht generiert
3727
3728
3729--** Objektartengruppe: PrimÀres DGM
3730--   ===================================================================
3731
3732--AX_Erfassung_DGM
3733-- ** Tabelle bisher noch nicht generiert
3734
3735
3736--AX_ErfassungMarkanterGelaendepunkt
3737-- ** Tabelle bisher noch nicht generiert
3738
3739
3740-- G e l a e n d e k a n t e
3741-- ----------------------------------------------
3742CREATE TABLE ax_gelaendekante (
3743        ogc_fid                 serial NOT NULL,
3744        gml_id                  character(16),
3745        identifier              character(44),
3746        beginnt                 character(20),
3747        endet                   character(20),
3748        advstandardmodell       varchar,
3749        sonstigesmodell         varchar,
3750        anlass                  integer,
3751        istteilvon              character varying, -- Beziehung?
3752        artdergelaendekante     integer,
3753        ax_dqerfassungsmethode  integer,
3754        identifikation          integer,
3755        CONSTRAINT ax_gelaendekante_pk PRIMARY KEY (ogc_fid)
3756);
3757
3758SELECT AddGeometryColumn('ax_gelaendekante','wkb_geometry',25832,'LINESTRING',2);
3759
3760CREATE INDEX ax_gelaendekante_geom_idx ON ax_gelaendekante USING gist (wkb_geometry);
3761CREATE UNIQUE INDEX ax_gelaendekante_gml ON ax_gelaendekante USING btree (gml_id,beginnt);
3762
3763COMMENT ON TABLE  ax_gelaendekante        IS 'G e l a e n d e k a n t e';
3764COMMENT ON COLUMN ax_gelaendekante.gml_id IS 'Identifikator, global eindeutig';
3765
3766
3767--AX_MarkanterGelaendepunkt
3768-- ** Tabelle bisher noch nicht generiert
3769
3770
3771-- B e s o n d e r e r   H o e h e n p u n k t
3772-- -------------------------------------------------------------
3773CREATE TABLE ax_besondererhoehenpunkt (
3774        ogc_fid                 serial NOT NULL,
3775        gml_id                  character(16),
3776        identifier              character(44),
3777        beginnt                 character(20),
3778        endet                   character(20),
3779        advstandardmodell       varchar,
3780        sonstigesmodell         varchar,
3781        anlass                  integer,
3782        besonderebedeutung      integer,
3783        CONSTRAINT ax_besondererhoehenpunkt_pk PRIMARY KEY (ogc_fid)
3784);
3785
3786SELECT AddGeometryColumn('ax_besondererhoehenpunkt','wkb_geometry',25832,'POINT',2);
3787
3788CREATE INDEX ax_besondererhoehenpunkt_geom_idx ON ax_besondererhoehenpunkt USING gist (wkb_geometry);
3789CREATE UNIQUE INDEX ax_besondererhoehenpunkt_gml ON ax_besondererhoehenpunkt USING btree (gml_id,beginnt);
3790
3791COMMENT ON TABLE  ax_besondererhoehenpunkt        IS 'B e s o n d e r e r   H ö h e n - P u n k t';
3792COMMENT ON COLUMN ax_besondererhoehenpunkt.gml_id IS 'Identifikator, global eindeutig';
3793
3794
3795
3796--** Objektartengruppe:SekundÀres DGM
3797--   ===================================================================
3798
3799--*** ############################################################
3800--*** Objektbereich: Gesetzliche Festlegungen, Gebietseinheiten, Kataloge
3801--*** ############################################################
3802
3803--** Objektartengruppe: Öffentlich-rechtliche und sonstige Festlegungen
3804--   ===================================================================
3805
3806
3807-- K l a s s i f i z i e r u n g   n a c h   S t r a s s e n r e c h t
3808-- -------------------------------------------------------------------
3809CREATE TABLE ax_klassifizierungnachstrassenrecht (
3810        ogc_fid                 serial NOT NULL,
3811        gml_id                  character(16),
3812        identifier              character(44),
3813        beginnt                 character(20),
3814        endet                   character(20),
3815        advstandardmodell       varchar,
3816        anlass                  integer,
3817        artderfestlegung        integer,
3818        bezeichnung             varchar,
3819        CONSTRAINT ax_klassifizierungnachstrassenrecht_pk PRIMARY KEY (ogc_fid)
3820);
3821
3822SELECT AddGeometryColumn('ax_klassifizierungnachstrassenrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
3823
3824CREATE INDEX ax_klassifizierungnachstrassenrecht_geom_idx   ON ax_klassifizierungnachstrassenrecht USING gist  (wkb_geometry);
3825CREATE UNIQUE INDEX ax_klassifizierungnachstrassenrecht_gml ON ax_klassifizierungnachstrassenrecht USING btree (gml_id,beginnt);
3826
3827COMMENT ON TABLE  ax_klassifizierungnachstrassenrecht        IS 'K l a s s i f i z i e r u n g   n a c h   S t r a s s e n r e c h t';
3828COMMENT ON COLUMN ax_klassifizierungnachstrassenrecht.gml_id IS 'Identifikator, global eindeutig';
3829
3830
3831-- K l a s s i f i z i e r u n g   n a c h   W a s s e r r e c h t
3832-- ---------------------------------------------------------------
3833CREATE TABLE ax_klassifizierungnachwasserrecht (
3834        ogc_fid                 serial NOT NULL,
3835        gml_id                  character(16),
3836        identifier              character(44),
3837        beginnt                 character(20),
3838        endet                   character(20),
3839        advstandardmodell       varchar,
3840        anlass                  integer,
3841        artderfestlegung        integer,
3842        CONSTRAINT ax_klassifizierungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
3843);
3844
3845SELECT AddGeometryColumn('ax_klassifizierungnachwasserrecht','wkb_geometry',25832,'GEOMETRY',2);
3846
3847CREATE INDEX ax_klassifizierungnachwasserrecht_geom_idx ON ax_klassifizierungnachwasserrecht USING gist (wkb_geometry);
3848
3849COMMENT ON TABLE  ax_klassifizierungnachwasserrecht        IS 'K l a s s i f i z i e r u n g   n a c h   W a s s e r r e c h t';
3850COMMENT ON COLUMN ax_klassifizierungnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
3851
3852
3853-- B a u - ,   R a u m -   o d e r   B o d e n o r d n u n g s r e c h t
3854-- ---------------------------------------------------------------------
3855-- 'Bau-, Raum- oder Bodenordnungsrecht' ist ein fachlich Ìbergeordnetes Gebiet von FlÀchen
3856-- mit bodenbezogenen BeschrÀnkungen, Belastungen oder anderen Eigenschaften nach öffentlichen Vorschriften.
3857CREATE TABLE ax_bauraumoderbodenordnungsrecht (
3858        ogc_fid                 serial NOT NULL,
3859        gml_id                  character(16),
3860        identifier              character(44),
3861        beginnt                 character(20),
3862        endet                   character(20),
3863        advstandardmodell       varchar,
3864        anlass                  integer,
3865        art                     varchar, -- (15)
3866        "name"                  varchar,
3867        artderfestlegung        integer,
3868        land                    integer,
3869        stelle                  varchar,
3870        bezeichnung             varchar,
3871        CONSTRAINT ax_bauraumoderbodenordnungsrecht_pk PRIMARY KEY (ogc_fid)
3872);
3873
3874SELECT AddGeometryColumn('ax_bauraumoderbodenordnungsrecht','wkb_geometry',25832,'GEOMETRY',2);
3875
3876CREATE INDEX ax_bauraumoderbodenordnungsrecht_geom_idx ON ax_bauraumoderbodenordnungsrecht USING gist (wkb_geometry);
3877CREATE UNIQUE INDEX ax_bauraumoderbodenordnungsrecht_gml ON ax_bauraumoderbodenordnungsrecht USING btree (gml_id,beginnt);
3878
3879COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht             IS 'REO: Bau-, Raum- oder Bodenordnungsrecht';
3880COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.gml_id      IS 'Identifikator, global eindeutig';
3881COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.artderfestlegung IS 'ADF';
3882COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht."name"      IS 'NAM, Eigenname von "Bau-, Raum- oder Bodenordnungsrecht"';
3883COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.bezeichnung IS 'BEZ, Amtlich festgelegte VerschlÃŒsselung von "Bau-, Raum- oder Bodenordnungsrecht"';
3884
3885
3886-- S o n s t i g e s   R e c h t
3887-- -----------------------------
3888CREATE TABLE ax_sonstigesrecht (
3889        ogc_fid                 serial NOT NULL,
3890        gml_id                  character(16),
3891        identifier              character(44),
3892        beginnt                 character(20),
3893        endet                   character(20),
3894        advstandardmodell       varchar,
3895        anlass                  integer,
3896        artderfestlegung        integer,
3897        land                    integer,
3898        stelle                  varchar,
3899        bezeichnung             varchar,
3900        characterstring         integer,
3901        art                     varchar,  --(15)
3902        "name"                  varchar,
3903--      "qualitaetsangaben|ax_dqmitdatenerhebung|herkunft|li_lineage|pro" varchar,
3904--      datetime                varchar,
3905        CONSTRAINT ax_sonstigesrecht_pk PRIMARY KEY (ogc_fid)
3906);
3907
3908SELECT AddGeometryColumn('ax_sonstigesrecht','wkb_geometry',25832,'GEOMETRY',2);
3909
3910CREATE INDEX ax_sonstigesrecht_geom_idx ON ax_sonstigesrecht USING gist (wkb_geometry);
3911CREATE UNIQUE INDEX ax_sonstigesrecht_gml ON ax_sonstigesrecht USING btree (gml_id,beginnt);
3912
3913COMMENT ON TABLE  ax_sonstigesrecht        IS 'S o n s t i g e s   R e c h t';
3914COMMENT ON COLUMN ax_sonstigesrecht.gml_id IS 'Identifikator, global eindeutig';
3915
3916
3917--** Objektartengruppe: BodenschÀtzung, Bewertung
3918--   ===================================================================
3919
3920
3921-- B o d e n s c h a e t z u n g
3922-- ----------------------------------------------
3923CREATE TABLE ax_bodenschaetzung (
3924        ogc_fid                         serial NOT NULL,
3925        gml_id                          character(16),
3926        identifier                      character(44),
3927        beginnt                         character(20),
3928        endet                           character(20),
3929        advstandardmodell               varchar,
3930        anlass                          integer,
3931        art                             varchar, -- (15)
3932        "name"                          varchar,
3933        kulturart                       integer,
3934        bodenart                        integer,
3935        zustandsstufeoderbodenstufe     integer,
3936        entstehungsartoderklimastufewasserverhaeltnisse integer[], -- veraendert [] 2012-02-03
3937        bodenzahlodergruenlandgrundzahl integer,
3938        ackerzahlodergruenlandzahl      integer,
3939        sonstigeangaben                 integer,
3940        jahreszahl                      integer,
3941        CONSTRAINT ax_bodenschaetzung_pk PRIMARY KEY (ogc_fid)
3942);
3943
3944SELECT AddGeometryColumn('ax_bodenschaetzung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
3945
3946CREATE INDEX ax_bodenschaetzung_geom_idx ON ax_bodenschaetzung USING gist (wkb_geometry);
3947CREATE UNIQUE INDEX ax_bodenschaetzung_gml ON ax_bodenschaetzung USING btree (gml_id,beginnt);
3948
3949COMMENT ON TABLE  ax_bodenschaetzung        IS 'B o d e n s c h a e t z u n g';
3950COMMENT ON COLUMN ax_bodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
3951
3952
3953-- M u s t e r -,  L a n d e s m u s t e r -   u n d   V e r g l e i c h s s t u e c k
3954-- -----------------------------------------------------------------------------------
3955CREATE TABLE ax_musterlandesmusterundvergleichsstueck (
3956        ogc_fid                         serial NOT NULL,
3957        gml_id                          character(16),
3958        identifier                      character(44),
3959        beginnt                         character(20),
3960        endet                           character(20),
3961        advstandardmodell               varchar,
3962        anlass                          integer,
3963        merkmal                         integer,
3964        nummer                          integer,
3965        kulturart                       integer,
3966        bodenart                        integer,
3967        zustandsstufeoderbodenstufe     integer,
3968        entstehungsartoderklimastufewasserverhaeltnisse integer,
3969        bodenzahlodergruenlandgrundzahl integer,
3970        ackerzahlodergruenlandzahl      integer,
3971        art                             varchar,  -- (15)
3972        "name"                          varchar,
3973        CONSTRAINT ax_musterlandesmusterundvergleichsstueck_pk PRIMARY KEY (ogc_fid)
3974);
3975
3976
3977SELECT AddGeometryColumn('ax_musterlandesmusterundvergleichsstueck','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT
3978
3979CREATE INDEX ax_musterlandesmusterundvergleichsstueck_geom_idx ON ax_musterlandesmusterundvergleichsstueck USING gist (wkb_geometry);
3980CREATE UNIQUE INDEX ax_musterlandesmusterundvergleichsstueck_gml ON ax_musterlandesmusterundvergleichsstueck USING btree (gml_id,beginnt);
3981
3982COMMENT ON TABLE  ax_musterlandesmusterundvergleichsstueck        IS 'Muster-, Landesmuster- und Vergleichsstueck';
3983COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.gml_id IS 'Identifikator, global eindeutig';
3984
3985
3986--** Objektartengruppe: Kataloge
3987--   ===================================================================
3988
3989
3990-- B u n d e s l a n d
3991-- ----------------------------------------------
3992CREATE TABLE ax_bundesland (
3993        ogc_fid                 serial NOT NULL,
3994        gml_id                  character(16),
3995        identifier              character(44),
3996        beginnt                 character(20),
3997        endet                   character(20),
3998        advstandardmodell       varchar,
3999        anlass                  integer,
4000        schluesselgesamt        integer,
4001        bezeichnung             varchar, --(22)
4002        land                    integer,
4003        CONSTRAINT ax_bundesland_pk PRIMARY KEY (ogc_fid)
4004);
4005
4006SELECT AddGeometryColumn('ax_bundesland','dummy',25832,'POINT',2);
4007
4008CREATE UNIQUE INDEX ax_bundesland_gml ON ax_bundesland USING btree (gml_id,beginnt);
4009
4010COMMENT ON TABLE  ax_bundesland        IS 'B u n d e s l a n d';
4011COMMENT ON COLUMN ax_bundesland.gml_id IS 'Identifikator, global eindeutig';
4012
4013
4014-- R e g i e r u n g s b e z i r k
4015-- ----------------------------------------------
4016CREATE TABLE ax_regierungsbezirk (
4017        ogc_fid                         serial NOT NULL,
4018        gml_id                          character(16),
4019        identifier                      character(44),
4020        beginnt                         character(20),
4021        endet                           character(20),
4022        advstandardmodell               varchar,
4023        anlass                          integer,
4024        schluesselgesamt                integer,
4025        bezeichnung                     varchar,
4026        land                            integer,
4027        regierungsbezirk                integer,
4028        CONSTRAINT ax_regierungsbezirk_pk PRIMARY KEY (ogc_fid)
4029);
4030
4031SELECT AddGeometryColumn('ax_regierungsbezirk','dummy',25832,'POINT',2);
4032
4033-- Verbindungstabellen indizieren
4034CREATE UNIQUE INDEX ax_regierungsbezirk_gml ON ax_regierungsbezirk USING btree (gml_id,beginnt);
4035
4036COMMENT ON TABLE  ax_regierungsbezirk        IS 'R e g i e r u n g s b e z i r k';
4037COMMENT ON COLUMN ax_regierungsbezirk.gml_id IS 'Identifikator, global eindeutig';
4038
4039
4040--AX_KreisRegion GeÀndert (Revisionsnummer: 1658)
4041
4042-- K r e i s   /   R e g i o n
4043-- ---------------------------
4044CREATE TABLE ax_kreisregion (
4045        ogc_fid                         serial NOT NULL,
4046        gml_id                          character(16),
4047        identifier                      character(44),
4048        beginnt                         character(20),
4049        endet                           character(20),
4050        advstandardmodell               varchar,
4051        anlass                          integer,
4052        schluesselgesamt                integer,
4053        bezeichnung                     varchar,
4054        land                            integer,
4055        regierungsbezirk                integer,
4056        kreis                           integer,
4057        CONSTRAINT ax_kreisregion_pk PRIMARY KEY (ogc_fid)
4058);
4059
4060SELECT AddGeometryColumn('ax_kreisregion','dummy',25832,'POINT',2);
4061
4062CREATE UNIQUE INDEX ax_kreisregion_gml ON ax_kreisregion USING btree (gml_id,beginnt);
4063
4064COMMENT ON TABLE  ax_kreisregion        IS 'K r e i s  /  R e g i o n';
4065COMMENT ON COLUMN ax_kreisregion.gml_id IS 'Identifikator, global eindeutig';
4066
4067
4068-- G e m e i n d e
4069-- ----------------------------------------------
4070CREATE TABLE ax_gemeinde (
4071        ogc_fid                 serial NOT NULL,
4072        gml_id                  character(16),
4073        identifier              character(44),
4074        beginnt                 character(20),
4075        endet                   character(20),
4076        advstandardmodell       varchar,
4077        anlass                  integer,
4078        schluesselgesamt        integer,
4079        bezeichnung             varchar,
4080        land                    integer,
4081        regierungsbezirk        integer,
4082        kreis                   integer,
4083        gemeinde                integer,
4084        CONSTRAINT ax_gemeinde_pk PRIMARY KEY (ogc_fid)
4085);
4086
4087SELECT AddGeometryColumn('ax_gemeinde','dummy',25832,'POINT',2);
4088
4089-- Index fÃŒr alkis_beziehungen
4090CREATE UNIQUE INDEX ax_gemeinde_gml ON ax_gemeinde USING btree (gml_id,beginnt);
4091
4092COMMENT ON TABLE  ax_gemeinde        IS 'G e m e i n d e';
4093COMMENT ON COLUMN ax_gemeinde.gml_id IS 'Identifikator, global eindeutig';
4094
4095
4096-- G e m e i n d e t e i l
4097-- -----------------------------------------
4098CREATE TABLE ax_gemeindeteil (
4099        ogc_fid                 serial NOT NULL,
4100        gml_id                  character(16),
4101        identifier              character(44),
4102        beginnt                 character(20),
4103        endet                   character(20),
4104        advstandardmodell       varchar,
4105        anlass                  integer,
4106        schluesselgesamt        double precision,
4107        bezeichnung             varchar,
4108        administrativefunktion  integer,
4109        land                    integer,
4110        regierungsbezirk        integer,
4111        kreis                   integer,
4112        gemeinde                integer,
4113        gemeindeteil            integer,
4114        CONSTRAINT ax_gemeindeteil_pk PRIMARY KEY (ogc_fid)
4115);
4116
4117SELECT AddGeometryColumn('ax_gemeindeteil','dummy',25832,'POINT',2);
4118
4119-- Index fÃŒr alkis_beziehungen
4120CREATE UNIQUE INDEX ax_gemeindeteil_gml ON ax_gemeindeteil USING btree (gml_id,beginnt);
4121
4122COMMENT ON TABLE  ax_gemeindeteil        IS 'G e m e i n d e - T e i l';
4123COMMENT ON COLUMN ax_gemeindeteil.gml_id IS 'Identifikator, global eindeutig';
4124
4125
4126-- G e m a r k u n g
4127-- ----------------------------------------------
4128-- NREO, nur Schluesseltabelle: Geometrie entbehrlich
4129CREATE TABLE ax_gemarkung (
4130        ogc_fid                 serial NOT NULL,
4131        gml_id                  character(16),
4132        identifier              character(44),
4133        beginnt                 character(20),
4134        endet                   character(20),
4135        advstandardmodell       varchar,
4136        anlass                  integer,
4137        schluesselgesamt        integer,
4138        bezeichnung             varchar,
4139        land                    integer,
4140        gemarkungsnummer        integer,  -- Key
4141--      "istamtsbezirkvon|ax_dienststelle_schluessel|land" integer,
4142        stelle                  integer,
4143        CONSTRAINT ax_gemarkung_pk PRIMARY KEY (ogc_fid)
4144);
4145
4146SELECT AddGeometryColumn('ax_gemarkung','dummy',25832,'POINT',2);
4147
4148CREATE UNIQUE INDEX ax_gemarkung_gml ON ax_gemarkung USING btree (gml_id,beginnt);         -- Index fÃŒr alkis_beziehungen
4149CREATE INDEX ax_gemarkung_nr         ON ax_gemarkung USING btree (land, gemarkungsnummer); -- Such-Index, Verweis aus ax_Flurstueck
4150
4151COMMENT ON TABLE  ax_gemarkung        IS 'G e m a r k u n g';
4152COMMENT ON COLUMN ax_gemarkung.gml_id IS 'Identifikator, global eindeutig';
4153
4154
4155-- G e m a r k u n g s t e i l   /   F l u r
4156-- ----------------------------------------------
4157-- Schluesseltabelle: Geometrie entbehrlich
4158CREATE TABLE ax_gemarkungsteilflur (
4159        ogc_fid                 serial NOT NULL,
4160        gml_id                  character(16),
4161        identifier              character(44),
4162        beginnt                 character(20),
4163        endet                   character(20),
4164        advstandardmodell       varchar,
4165        anlass                  integer,
4166        schluesselgesamt        integer,
4167        bezeichnung             varchar, -- integer,
4168        land                    integer,
4169        gemarkung               integer,
4170        gemarkungsteilflur      integer,
4171        CONSTRAINT ax_gemarkungsteilflur_pk PRIMARY KEY (ogc_fid)
4172);
4173
4174SELECT AddGeometryColumn('ax_gemarkungsteilflur','dummy',25832,'POINT',2);
4175
4176-- Index fÃŒr alkis_beziehungen
4177CREATE UNIQUE INDEX ax_gemarkungsteilflur_gml ON ax_gemarkungsteilflur USING btree (gml_id,beginnt);
4178
4179COMMENT ON TABLE  ax_gemarkungsteilflur        IS 'G e m a r k u n g s t e i l   /   F l u r';
4180COMMENT ON COLUMN ax_gemarkungsteilflur.gml_id IS 'Identifikator, global eindeutig';
4181
4182
4183-- B u c h u n g s b l a t t - B e z i r k
4184-- ----------------------------------------------
4185CREATE TABLE ax_buchungsblattbezirk (
4186        ogc_fid                 serial NOT NULL,
4187        gml_id                  character(16),
4188        identifier              character(44),
4189        beginnt                 character(20),
4190        endet                   character(20),
4191        advstandardmodell       varchar,
4192        anlass                  integer,
4193        schluesselgesamt        integer,
4194        bezeichnung             varchar,
4195        land                    integer,
4196        bezirk                  integer,
4197--      "gehoertzu|ax_dienststelle_schluessel|land" integer,
4198        stelle                  varchar,
4199        CONSTRAINT ax_buchungsblattbezirk_pk PRIMARY KEY (ogc_fid)
4200);
4201
4202SELECT AddGeometryColumn('ax_buchungsblattbezirk','dummy',25832,'POINT',2);
4203
4204CREATE UNIQUE INDEX ax_buchungsblattbezirk_gml ON ax_buchungsblattbezirk USING btree (gml_id,beginnt);
4205
4206-- Such-Index auf Land + Bezirk
4207-- Der Verweis von ax_buchungsblatt hat keine alkis_beziehung.
4208CREATE INDEX ax_buchungsblattbez_key ON ax_buchungsblattbezirk USING btree (land, bezirk);
4209
4210COMMENT ON TABLE  ax_buchungsblattbezirk        IS 'Buchungsblatt- B e z i r k';
4211COMMENT ON COLUMN ax_buchungsblattbezirk.gml_id IS 'Identifikator, global eindeutig';
4212
4213
4214-- D i e n s t s t e l l e
4215-- ----------------------------------------------
4216-- NREO, nur Schluesseltabelle: Geometrie entbehrlich
4217CREATE TABLE ax_dienststelle (
4218        ogc_fid                 serial NOT NULL,
4219        gml_id                  character(16),
4220        identifier              character(44),
4221        beginnt                 character(20),
4222        endet                   character(20),
4223        advstandardmodell       varchar,
4224        sonstigesmodell         varchar,
4225        anlass                  integer,
4226        schluesselgesamt        varchar,
4227        bezeichnung             varchar, -- 102
4228        land                    integer,
4229        stelle                  varchar,
4230        stellenart              integer,
4231        -- hat character        varying,
4232        CONSTRAINT ax_dienststelle_pk PRIMARY KEY (ogc_fid)
4233);
4234
4235SELECT AddGeometryColumn('ax_dienststelle','dummy',25832,'POINT',2);
4236
4237-- Index fÃŒr alkis_beziehungen
4238CREATE UNIQUE INDEX ax_dienststelle_gml ON ax_dienststelle USING btree (gml_id,beginnt);
4239
4240COMMENT ON TABLE  ax_dienststelle        IS 'D i e n s t s t e l l e';
4241COMMENT ON COLUMN ax_dienststelle.gml_id IS 'Identifikator, global eindeutig';
4242
4243
4244-- L a g e b e z e i c h n u n g s - K a t a l o g e i n t r a g
4245-- --------------------------------------------------------------
4246CREATE TABLE ax_lagebezeichnungkatalogeintrag (
4247        ogc_fid                 serial NOT NULL,
4248        gml_id                  character(16),
4249        identifier              character(44),
4250        beginnt                 character(20),
4251        endet                   character(20),
4252        advstandardmodell       varchar,
4253        anlass                  integer,
4254        schluesselgesamt        varchar,
4255        bezeichnung             varchar,
4256        land                    integer,
4257        regierungsbezirk        integer,
4258        kreis                   integer,
4259        gemeinde                integer,
4260        lage                    varchar,
4261        CONSTRAINT ax_lagebezeichnungkatalogeintrag_pk PRIMARY KEY (ogc_fid)
4262);
4263
4264SELECT AddGeometryColumn('ax_lagebezeichnungkatalogeintrag','dummy',25832,'POINT',2);
4265
4266CREATE UNIQUE INDEX ax_lagebezeichnungkatalogeintrag_gml ON ax_lagebezeichnungkatalogeintrag USING btree (gml_id,beginnt);
4267
4268-- NRW: Nummerierung Strassenschluessel innerhalb einer Gemeinde
4269-- Die Kombination Gemeinde und StraßenschlÃŒssel ist also ein eindeutiges Suchkriterium.
4270CREATE INDEX ax_lagebezeichnungkatalogeintrag_lage ON ax_lagebezeichnungkatalogeintrag USING btree (gemeinde, lage);
4271
4272-- Suchindex (Verwendung in Navigations-Programm)
4273CREATE INDEX ax_lagebezeichnungkatalogeintrag_gesa ON ax_lagebezeichnungkatalogeintrag USING btree (schluesselgesamt);
4274CREATE INDEX ax_lagebezeichnungkatalogeintrag_bez  ON ax_lagebezeichnungkatalogeintrag USING btree (bezeichnung);
4275
4276COMMENT ON TABLE  ax_lagebezeichnungkatalogeintrag              IS 'Straßentabelle';
4277COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.gml_id       IS 'Identifikator, global eindeutig';
4278COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.lage         IS 'StraßenschlÃŒssel';
4279COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.bezeichnung  IS 'Straßenname';
4280
4281
4282--** Objektartengruppe: Geographische Gebietseinheiten
4283--   ===================================================================
4284
4285-- k l e i n r a e u m i g e r   L a n d s c h a f t s t e i l
4286-- -----------------------------------------------------------
4287CREATE TABLE ax_kleinraeumigerlandschaftsteil (
4288        ogc_fid                 serial NOT NULL,
4289        gml_id                  character(16),
4290        beginnt                 character(20),
4291        endet                   character(20),
4292        advstandardmodell       varchar,
4293        sonstigesmodell         varchar[],
4294        anlass                  integer,
4295        landschaftstyp          integer,
4296        name                    varchar
4297);
4298
4299SELECT AddGeometryColumn('ax_kleinraeumigerlandschaftsteil','wkb_geometry',25832,'POINT',2);
4300
4301CREATE INDEX ax_kleinraeumigerlandschaftsteil_geom_idx   ON ax_kleinraeumigerlandschaftsteil USING gist (wkb_geometry);
4302CREATE UNIQUE INDEX ax_kleinraeumigerlandschaftsteil_gml ON ax_kleinraeumigerlandschaftsteil USING btree (gml_id,beginnt);
4303
4304COMMENT ON TABLE  ax_kleinraeumigerlandschaftsteil        IS 'k l e i n r a e u m i g e r   L a n d s c h a f t s t e i l';
4305COMMENT ON COLUMN ax_kleinraeumigerlandschaftsteil.gml_id IS 'Identifikator, global eindeutig';
4306
4307
4308-- W o h n p l a t z
4309-- -----------------------------------------------------------
4310CREATE TABLE ax_wohnplatz (
4311        ogc_fid                 serial NOT NULL,
4312        gml_id                  character(16),
4313        identifier              character(44),
4314        beginnt                 character(20),
4315        endet                   character(20),
4316        advstandardmodell       varchar,
4317        anlass                  integer,
4318        "name"                  varchar,
4319        CONSTRAINT ax_wohnplatz_pk PRIMARY KEY (ogc_fid)
4320);
4321
4322SELECT AddGeometryColumn('ax_wohnplatz','wkb_geometry',25832,'POINT',2);
4323
4324CREATE INDEX ax_wohnplatz_geom_idx   ON ax_wohnplatz USING gist (wkb_geometry);
4325CREATE UNIQUE INDEX ax_wohnplatz_gml ON ax_wohnplatz USING btree (gml_id,beginnt);
4326
4327COMMENT ON TABLE  ax_wohnplatz        IS 'W o h n p l a t z';
4328COMMENT ON COLUMN ax_wohnplatz.gml_id IS 'Identifikator, global eindeutig';
4329
4330
4331--** Objektartengruppe: Administrative Gebietseinheiten
4332--   ===================================================================
4333
4334
4335-- K o m m u n a l e s   G e b i e t
4336-- ----------------------------------------------
4337CREATE TABLE ax_kommunalesgebiet (
4338        ogc_fid                 serial NOT NULL,
4339        gml_id                  character(16),
4340        identifier              character(44),
4341        beginnt                 character(20),
4342        endet                   character(20),
4343        advstandardmodell       varchar,
4344        anlass                  integer,
4345        schluesselgesamt        integer,
4346        land                    integer,
4347        regierungsbezirk        integer,
4348        kreis                   integer,
4349        gemeinde                integer,
4350        CONSTRAINT ax_kommunalesgebiet_pk PRIMARY KEY (ogc_fid)
4351);
4352
4353SELECT AddGeometryColumn('ax_kommunalesgebiet','wkb_geometry',25832,'GEOMETRY',2);
4354
4355CREATE INDEX ax_kommunalesgebiet_geom_idx   ON ax_kommunalesgebiet USING gist (wkb_geometry);
4356CREATE UNIQUE INDEX ax_kommunalesgebiet_gml ON ax_kommunalesgebiet USING btree (gml_id,beginnt);
4357
4358COMMENT ON TABLE  ax_kommunalesgebiet        IS 'K o m m u n a l e s   G e b i e t';
4359COMMENT ON COLUMN ax_kommunalesgebiet.gml_id IS 'Identifikator, global eindeutig';
4360
4361
4362--AX_Gebiet
4363-- ** Tabelle bisher noch nicht generiert
4364
4365
4366--*** ############################################################
4367--*** Objektbereich: Nutzerprofile
4368--*** ############################################################
4369
4370--** Objektartengruppe: Nutzerprofile
4371--   ===================================================================
4372
4373--AX_FOLGEVA
4374
4375--*** ############################################################
4376--*** Objektbereich: Migration
4377--*** ############################################################
4378
4379--** Objektartengruppe: Migrationsobjekte
4380--   ===================================================================
4381
4382
4383-- SchlÃŒsseltabelle "advstandardmodell" (9):
4384-- ----------------------------------------
4385-- LiegenschaftskatasterModell = DLKM
4386-- KatasterkartenModell500     = DKKM500
4387-- KatasterkartenModell1000    = DKKM1000
4388-- KatasterkartenModell2000    = DKKM2000
4389-- KatasterkartenModell5000    = DKKM5000
4390-- BasisLandschaftsModell      = Basis-DLM
4391-- LandschaftsModell50         = DLM50
4392-- LandschaftsModell250        = DLM250
4393-- LandschaftsModell1000       = DLM1000
4394-- TopographischeKarte10       = DTK10
4395-- TopographischeKarte25       = DTK25
4396-- TopographischeKarte50       = DTK50
4397-- TopographischeKarte100      = DTK100
4398-- TopographischeKarte250      = DTK250
4399-- TopographischeKarte1000     = DTK1000
4400-- Festpunktmodell             = DFGM
4401-- DigitalesGelaendemodell2    = DGM2
4402-- DigitalesGelaendemodell5    = DGM5
4403-- DigitalesGelaendemodell25   = DGM25
4404-- Digitales Gelaendemodell50  = DGM50
4405
4406
4407-- wenn schon, dann auch alle Tabellen mit Kommentaren versehen:
4408-- COMMENT ON TABLE geometry_columns IS 'Metatabelle der Geometrie-Tabellen, Tabellen ohne Geometrie bekommen Dummy-Eintrag fÃŒr PostNAS-Konverter (GDAL/OGR)';
4409-- COMMENT ON TABLE spatial_ref_sys  IS 'Koordinatensysteme und ihre Projektionssparameter';
4410
4411
4412-- Schema aktualisieren (setzt auch die Indizes neu)
4413-- SELECT alkis_update_schema();
4414
4415
4416-- In allen Tabellen die Objekte Löschen, die ein Ende-Datum haben
4417-- SELECT alkis_delete_all_endet();
4418
4419--
4420--          THE  (happy)  END
4421--
Note: See TracBrowser for help on using the repository browser.