Changeset 190 for trunk


Ignore:
Timestamp:
12/08/12 19:14:37 (8 years ago)
Author:
j.e.fischer
Message:

Allgemeinde Änderungen (Schemaänderungen gesondert im Anschluß):

2012-06-24

Festen Pfad zu PostNAS entfernt: ordner_konvertieren.sh,
datenbank_anlegen.sh, konv_batch.sh, konvertierung_kommandos_beispiele.txt

alkis-trigger-hist.sql und alkis-trigger-kill.sql:

ergänzt (setzt den jeweiligen delete-Trigger)

alkis-trigger.sql in svn:ignore aufgenommen


datenbank_anlegen.sh:

Ggf. Symlink alkis-trigger.sql auf alkis-trigger-kill.sql anlegen

konv_batch.sh:

  • GDAL in PATH aufgenommen und ogr2ogr in ohne Pfad aufgerufen
  • Löschen der historischen Daten wird ausgeführt, wenn Symlink auf alkis-trigger-kill.sql zeigt.

alkis-functions.sql:

Stored Procedures aus alkis_PostNAS_0.7_schema.sql ausgelagert

CRLF => LF:

pp_laden.sql, ordner_konvertieren.sh, datenbank_anlegen.sh, konv_batch.sh

Schemaanpassungen:

2012-12-03

ap_darstellung.advstandardmodell: varchar => varchar[]

2012-11-21

ax_besonderegebaeudelinie kann LINESTRING oder MULTILINESTRING sein (=>GEOMETRY)

2012-11-20

Koordinatensystem konfigurierbar anlegen (Variable :alkis_epsg)

2012-11-20

  • Ausführende Stellen ergänzt
    • Felder zu ax_historischesflurstueckalb ergänzt:
    • buchungsblattnummermitbuchstabenerweiterung/laufendenummerderbuchungsstelle zu Array
    • laufendenummerderfortfuehrung/fortfuehrungsart ergänzt
    • Indizes gesetzt
  • Felder zu ax_historischesflurstueck ergänzt:
    • buchungsblattnummermitbuchstabenerweiterung/buchungsblattkennzeichen zu Array
  • Feld relativehoehe zu ax_grenzpunkt / ax_aufnahmepunkt / ax_sicherungspunkt /
  • Tabelle ax_sonstigervermessungspunkt ergänzt
  • Koordinatenstatus zu ax_punktortag / ax_punktortau / ax_punktortta ergänzt
  • Felder zu ax_anschrift ergänzt: postleitzahlpostfach / postfach / ortsteil / weitereAdressen
  • Feld objekthoehe zu ax_bauwerkoderanlagefuerindustrieundgewerbe ergänzt
  • Feld sonstigeeigenschaft (Array) zu ax_besondererbauwerkspunkt ergänzt
  • Feld gemeindeflaeche zu ax_kommunalesgebiet hinzugefügt
  • Triggerausgabe korrigiert


2012-10-17

identifier bei ax_boeschungkliff und ax_boeschungsflaeche ergänzt

2012-09-09

  • ax_flurstueck/ax_historischesflurstueckalb/ax_historischesflurstueck
    • rechtsbehelfsverfahren / zweifelhafterFlurstuecksnachweis: integer => varchar default 'false'
  • ax_punktortag/ax_punktortau/ax_punktortta.kartendarstellung: integer => varchar
  • Neue Indizes:
    • auf endet in ap_ppo, ap_lpo, ap_darstellung, ap_pto, ax_punktortta,
    • ax_flurstueck auf:
      • land,gemarkungsnummer,flurnummer,zaehler,nenner
      • abweichenderrechtszustand
    • ax_buchungsblatt(land,bezirk,buchungsblattnummermitbuchstabenerweiterung)
    • ax_grenzpunkt(abmarkung_marke)
    • ap_pto(sn)
  • Indizes auf alkis_beziehungen / ax_historischesflurstueckalb / ax_grenzpunkt_abmm auf USING btree geändert
  • ap_lpo / ax_gebaeudeausgestaltung kann LINESTRING und MULTILINESTRING enthalten (=>GEOMETRY)

2012-06-24

  • Stored Procedures in alkis-funktions.sql ausgelagert
  • alkis_drop() aus Schema wird aufgerufen
  • Löschtrigger wird durch \i alkis-trigger.sql gesetzt (Symlink auf alkis-trigger-kill.sql oder alkis-trigger-hist.sql konfiguriert die Fortführungsoption)
  • Angleichung von ax_sicherungspunkt.beginnt, .identifier und .endet
  • Angleichung von ax_punktkennunguntergegangen.beginnt, .identifier und .endet
  • ax_vertretung und ax_verwaltungsgemeinschaft ergänzt
  • ax_besonderertopographischerpunkt.sonstigeeigenschaft varchar[] ergänzt
  • ax_grenzpunkt.besonderepunktnummer ergänzt
  • ax_gebaeude.weiteregebaeudefunktion => integer[]
  • ax_bauteil.dachform & anzahlderoberirdischengeschosse ergänzt
  • ax_besonderegebaeudelinie.beschaffenheit => integer[]
  • ap_lto.signaturnummer ergänzt
  • ax_gebaeude.name => name[]
  • ax_turm.zustand und name ergänzt
  • ax_bauwerkoderanlagefuerindustrieundgewerbe.name und zustand ergänzt
  • ax_vorratsbehaelterspeicherbauwerk.lagezurerdoberflaeche und name ergänzt
  • ax_transportanlage.produkt ergänzt
  • ax_bauwerkoderanlagefuersportfreizeitunderholung.name und sportart ergänzt
  • ax_historischesbauwerkoderhistorischeeinrichtung.name ergänzt
  • ax_einrichtunginoeffentlichenbereichen.kilometerangaben ergänzt
  • ax_bauwerkimverkehrsbereich.name und zustand ergänzt
  • ax_strassenverkehrsanlage.bezeichnung und name ergänzt
  • ax_wegpfadsteig.name ergänzt
  • ax_bahnverkehrsanlage.name ergänzt
  • ax_gleis.art, lagezuroberflaeche und name ergänzt
  • ax_bauwerkimgewaesserbereich.name und zustand ergänzt
  • ax_vegetationsmerkmal.zustand und name ergänzt
  • ax_gewaessermerkmal.name ergänzt
  • ax_untergeordnetesgewaesser.lagezurerdoberflaeche, name und hydrologischesmerkmal ergänzt
  • ap_darstellung.positionierungsregel ergänzt
  • ax_bodenschaetzung.sonstigeAngaben integer => integer[]
  • ax_grablochderbodenschaetzung.bedeutung integer => integer[]
  • ax_dammwalldeich.name ergänzt
  • ax_naturumweltoderbodenschutzrecht.name ergänzt
  • ax_gelaendekante.art ergänzt
  • ax_bauteil.advstandardmodel varchar => varchar[]
  • ax_gemarkung.advstandardmodel varchar => varchar[]
  • ax_buchungsstelle.advstandardmodel.zaehler/nenner => double precision
  • signaturnummer: integer => varchar
  • anlass: integer => varchar
  • ax_historischesflurstueckalb.buchungsblattkennzeichen: double precision => varchar
  • ax_verwaltung ergänzt
  • ax_kommunalesgebiet.schluesselgesamt: integer => varchar
Location:
trunk/data/konvert/postnas_0.7
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/konvert/postnas_0.7

    • Property svn:ignore set to
      alkis-trigger.sql
  • trunk/data/konvert/postnas_0.7/alkis_PostNAS_0.7_schema.sql

    r183 r190  
    11-- 
    22-- ***************************** 
    3 --       A  L   K   I   S        
     3--       A  L   K   I   S 
    44-- ***************************** 
    55-- 
    66-- Datenbankstruktur PostNAS 0.7  (GDAL aus aktuellem Trunk) 
    77-- 
     8 
     9-- Damit die Includes (\i) funktionieren muß psql im Verzeichnis ausgefÃŒhrt 
     10-- werden in dem das Skript liegt. Z.B. per 
     11-- (cd /pfad/zu/postnas; psql -f alkis_PostNAS_0.7_schema.sql) 
     12 
    813-- Stand 
    914-- ----- 
     
    1217 
    1318-- 2011-11-02 FJ: Neue Tabellen 
    14 -- 2011-11-04 FJ: Anpassungen fuer Buchauskunft "Historie"  
     19-- 2011-11-04 FJ: Anpassungen fuer Buchauskunft "Historie" 
    1520-- 2011-11-21 FJ: siehe Version 0.6 
    1621-- 2011-12-16 FJ: Neue Tabelle "ax_sicherungspunkt" 
     
    2025 
    2126-- 2012-02-28 FJ: ZusammenfÃŒhren von Änderungen aus SVN (AE: Anfang Februar) mit eigener Version 
     27--                Auskommentierte Zeilen "identifier" entfernt. 
    2228--                Feld "gemeindezugehoerigkeit" auskommentiert. 
    2329--                Bereinigung Kommentare. 
     
    3541 
    3642-- 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 
     43--                Umschaltung mit/ohne Historie ÃŒber VerknÃŒpfung Trigger -> Function 
    3844--                Typ 'GEOMETRY' bei Tabellen: AX_WegPfadSteig, AX_UntergeordnetesGewaesser 
    3945 
    40 -- 2012-10-31 FJ  Trigger fuer NAS-Replace-Saetze repariert:  
    41 --                siehe: FUNCTION delete_feature_kill()  
     46-- 2012-10-31 FJ  Trigger fuer NAS-Replace-Saetze repariert: 
     47--                siehe: FUNCTION delete_feature_kill() 
    4248--                ax_historischesflurstueck.buchungsart ist Text nicht integer. 
    4349 
     
    4955 
    5056 
    51 -- Zur Datenstruktur siehe Dokument:  
     57-- Zur Datenstruktur siehe Dokument: 
    5258-- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/5-1-1_ALKIS-OK-NRW_GDB.html 
    5359 
     
    5561  SET default_with_oids = false; 
    5662 
    57 -- \set ON_ERROR_STOP 
     63-- Abbruch bei Fehlern 
     64\set ON_ERROR_STOP 
    5865 
    5966-- T u n i n g : 
    60 --   Die Tabelle 'spatial_ref_sys' einer PostGIS-Datenbank auf  
     67--   Die Tabelle 'spatial_ref_sys' einer PostGIS-Datenbank auf 
    6168--   die notwendigen Koordinatensysteme reduzieren. Das Loescht >3000 Eintraege. 
    6269 
    6370--  DELETE FROM spatial_ref_sys 
    64 --  WHERE srid NOT  
     71--  WHERE srid NOT 
    6572--  IN (2397, 2398, 2399, 4326,    25830, 25831, 25832, 25833, 25834,  31466, 31467, 31468, 31469); 
    6673--  --  Krassowski        lat/lon  UTM                                 GK 
    6774 
    68  
    69  
    70 -- ======================= 
    7175-- Stored Procedures laden 
    72 -- ======================= 
    73 -- \i alkis-functions.sql 
    74  
    75 -- Alle ALKIS-Tabellen löschen 
    76 CREATE OR REPLACE FUNCTION alkis_drop() RETURNS void AS $$ 
    77 DECLARE 
    78         c RECORD; 
    79 BEGIN 
    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') ); 
    98 END; 
    99 $$ LANGUAGE plpgsql; 
    100  
    101 -- Alle ALKIS-Tabellen leeren 
    102 CREATE OR REPLACE FUNCTION alkis_delete() RETURNS void AS $$ 
    103 DECLARE 
    104         c RECORD; 
    105 BEGIN 
    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; 
    111 END; 
    112 $$ LANGUAGE plpgsql; 
    113  
    114 -- Übersicht erzeugen, die alle alkis_beziehungen mit den Typen der beteiligen ALKIS-Objekte versieht 
    115 CREATE OR REPLACE FUNCTION alkis_mviews() RETURNS void AS $$ 
    116 DECLARE 
    117         sql TEXT; 
    118         delim TEXT; 
    119         c RECORD; 
    120 BEGIN 
    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); 
    150 END; 
    151 $$ LANGUAGE plpgsql; 
    152  
    153 -- Indizes erzeugen 
    154 CREATE OR REPLACE FUNCTION alkis_update_schema() RETURNS void AS $$ 
    155 DECLARE 
    156         sql TEXT; 
    157         c RECORD; 
    158         i RECORD; 
    159         n INTEGER; 
    160 BEGIN 
    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; 
    230 END; 
    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 
    237 CREATE OR REPLACE FUNCTION delete_feature_hist() RETURNS TRIGGER AS $$ 
    238 DECLARE 
    239         sql TEXT; 
    240         gml_id TEXT; 
    241         endete TEXT; 
    242         n INTEGER; 
    243 BEGIN 
    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; 
    325 END; 
    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 
    333 CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $$ 
    334 DECLARE 
    335         query TEXT; 
    336         begsql TEXT; 
    337         aktbeg TEXT; 
    338         gml_id TEXT; 
    339 BEGIN 
    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; 
    404 END; 
    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. 
    412 CREATE OR REPLACE FUNCTION alkis_delete_all_endet() RETURNS void AS $$ 
    413 DECLARE 
    414         c RECORD; 
    415 BEGIN 
    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; 
    426 END; 
    427 $$ LANGUAGE plpgsql; 
    428  
    429  
    430 -- Alle Tabellen löschen: 
    431 --  SELECT alkis_drop(); 
    432  
     76\i alkis-functions.sql 
     77 
     78-- Alle Tabellen löschen 
     79SELECT alkis_drop(); 
    43380 
    43481-- Tabelle delete fÃŒr Lösch- und FortfÃŒhrungsdatensÀtze 
     
    44794 
    44895-- Dummy-Eintrag in Metatabelle 
    449 SELECT AddGeometryColumn('delete','dummy',25832,'POINT',2); 
     96SELECT AddGeometryColumn('delete','dummy',:alkis_epsg,'POINT',2); 
    45097 
    45198CREATE UNIQUE INDEX delete_fid ON "delete"(featureid); 
     
    460107COMMENT ON COLUMN delete.ignored      IS 'Löschsatz wurde ignoriert'; 
    461108 
    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  
     109-- 
     110-- Löschtrigger setzen 
     111-- 
     112-- Option (A) ohne Historie: 
     113--  - Symlink von alkis-trigger-kill.sql auf alkis-trigger.sql setzen (Default; macht datenbank_anlegen.sh 
     114--    ggf. automatisch) 
     115--  - Lösch- und ÄnderungssÀtze werden ausgefÃŒhrt und die alten Objekte werden sofort entfernt 
     116-- 
     117-- Option (B) mit Historie: 
     118--  - Symlink von alkis-trigger-hist.sql auf alkis-trigger.sql setzen 
     119--  - Bei Lösch- und ÄnderungssÀtzen werden die Objekte nicht gelöscht, sondern 
     120--    im Feld 'endet' als ungegangen markiert (die den aktuellen gilt: WHERE endet 
     121--    IS NULL) 
     122-- 
     123\i alkis-trigger.sql 
    484124 
    485125-- COMMENT ON DATABASE *** IS 'ALKIS - PostNAS 0.7'; 
    486126 
    487127-- =========================================================== 
    488 --              A L K I S  -  L a y e r  
     128--              A L K I S  -  L a y e r 
    489129-- =========================================================== 
    490130 
    491131 
    492 -- S o n s t i g e s   B a u w e r k  
     132-- S o n s t i g e s   B a u w e r k 
    493133-- ---------------------------------- 
    494134CREATE TABLE ks_sonstigesbauwerk ( 
     
    499139        endet                   character(20), 
    500140        sonstigesmodell         varchar, 
    501         anlass                  integer, 
     141        anlass                  varchar, 
    502142        bauwerksfunktion        integer, 
    503143        CONSTRAINT ks_sonstigesbauwerk_pk PRIMARY KEY (ogc_fid) 
    504144); 
    505145 
    506 SELECT AddGeometryColumn('ks_sonstigesbauwerk','wkb_geometry',25832,'GEOMETRY',2); 
     146SELECT AddGeometryColumn('ks_sonstigesbauwerk','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    507147 
    508148CREATE INDEX ks_sonstigesbauwerk_geom_idx ON ks_sonstigesbauwerk USING gist (wkb_geometry); 
     
    510150 
    511151 
    512 -- B e z i e h u n g e n  
     152-- B e z i e h u n g e n 
    513153-- ---------------------------------------------- 
    514154-- Zentrale Tabelle fuer alle Relationen im Buchwerk. 
    515155 
    516 -- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen  
     156-- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen 
    517157-- in der ALKIS-Datenstruktur alle Beziehungen zwischen zwei Tabellen ÃŒber diese Verbindungstabelle. 
    518158 
     
    529169        CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid) 
    530170); 
    531 CREATE INDEX id_alkis_beziehungen_von ON alkis_beziehungen USING btree (beziehung_von); 
    532 CREATE INDEX id_alkis_beziehungen_zu  ON alkis_beziehungen USING btree (beziehung_zu); 
     171 
     172CREATE INDEX alkis_beziehungen_von_idx ON alkis_beziehungen USING btree (beziehung_von); 
     173CREATE INDEX alkis_beziehungen_zu_idx  ON alkis_beziehungen USING btree (beziehung_zu); 
     174CREATE INDEX alkis_beziehungen_art_idx ON alkis_beziehungen USING btree (beziehungsart); 
    533175 
    534176-- Dummy-Eintrag in Metatabelle 
    535 SELECT AddGeometryColumn('alkis_beziehungen','dummy',25832,'POINT',2); 
     177SELECT AddGeometryColumn('alkis_beziehungen','dummy',:alkis_epsg,'POINT',2); 
    536178 
    537179COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle'; 
     
    554196-- -------------------------------------------------------------------- 
    555197CREATE 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, 
     198        ogc_fid                 serial NOT NULL, 
     199        gml_id                  character(16), 
     200        identifier              character(44), 
     201        beginnt                 character(20), 
     202        endet                   character(20), 
     203        advstandardmodell       varchar, 
     204        anlass                  varchar, 
     205        artderfestlegung        integer, 
     206        land                    integer, 
     207        stelle                  varchar, 
    564208        CONSTRAINT ax_anderefestlegungnachwasserrecht_pk PRIMARY KEY (ogc_fid) 
    565209); 
    566210 
    567 SELECT AddGeometryColumn('ax_anderefestlegungnachwasserrecht','wkb_geometry',25832,'GEOMETRY',2); 
     211SELECT AddGeometryColumn('ax_anderefestlegungnachwasserrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    568212 
    569213CREATE INDEX ax_anderefestlegungnachwasserrecht_geom_idx ON ax_anderefestlegungnachwasserrecht USING gist (wkb_geometry); 
    570214CREATE UNIQUE INDEX ax_anderefestlegungnachwasserrecht_gml ON ax_anderefestlegungnachwasserrecht USING btree (gml_id,beginnt); 
     215CREATE INDEX ax_anderefestlegungnachwasserrecht_afs ON ax_anderefestlegungnachwasserrecht(land,stelle); 
    571216 
    572217COMMENT ON TABLE  ax_anderefestlegungnachwasserrecht        IS 'Andere Festlegung nach  W a s s e r r e c h t'; 
     
    583228        endet                   character(20), 
    584229        advstandardmodell       character(9), 
    585         anlass                  integer, 
     230        anlass                  varchar, 
    586231        baublockbezeichnung     integer, 
    587232        CONSTRAINT ax_baublock_pk PRIMARY KEY (ogc_fid) 
    588233); 
    589 SELECT AddGeometryColumn('ax_baublock','wkb_geometry',25832,'GEOMETRY',2); 
     234SELECT AddGeometryColumn('ax_baublock','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    590235 
    591236CREATE INDEX ax_baublock_geom_idx ON ax_baublock USING gist (wkb_geometry); 
     
    605250        endet                   character(20), 
    606251        advstandardmodell       varchar, 
    607         anlass                  integer, 
     252        anlass                  varchar, 
    608253        land                    integer, 
    609254        stelle                  integer, 
    610255        punktkennung            varchar, -- integer 
    611         --sonstigeeigenschaft character(26), 
     256        sonstigeeigenschaft     varchar[], 
    612257        CONSTRAINT ax_besonderertopographischerpunkt_pk PRIMARY KEY (ogc_fid) 
    613258); 
    614259 
    615 SELECT AddGeometryColumn('ax_besonderertopographischerpunkt','dummy',25832,'POINT',2); 
     260SELECT AddGeometryColumn('ax_besonderertopographischerpunkt','dummy',:alkis_epsg,'POINT',2); 
    616261 
    617262CREATE UNIQUE INDEX ax_besonderertopographischerpunkt_gml ON ax_besonderertopographischerpunkt USING btree (gml_id,beginnt); 
     
    630275        endet                   character(20), 
    631276        advstandardmodell       varchar, 
    632         anlass                  integer, 
     277        anlass                  varchar, 
    633278        klassifizierung         integer, 
    634279        CONSTRAINT ax_bewertung_pk PRIMARY KEY (ogc_fid) 
    635280); 
    636281 
    637 SELECT AddGeometryColumn('ax_bewertung','wkb_geometry',25832,'GEOMETRY',2); 
     282SELECT AddGeometryColumn('ax_bewertung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    638283 
    639284CREATE INDEX ax_bewertung_geom_idx   ON ax_bewertung USING gist  (wkb_geometry); 
     
    653298        endet                   character(20), 
    654299        advstandardmodell       varchar, 
    655         anlass                  integer, 
     300        anlass                  varchar, 
    656301        artderfestlegung        integer, 
     302        land                    integer, 
     303        stelle                  varchar, 
    657304        art                     varchar, -- (15) 
    658         "name"                  varchar, -- (15) 
     305        name                    varchar, -- (15) 
    659306        CONSTRAINT ax_denkmalschutzrecht_pk PRIMARY KEY (ogc_fid) 
    660307); 
    661308 
    662 SELECT AddGeometryColumn('ax_denkmalschutzrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     309SELECT AddGeometryColumn('ax_denkmalschutzrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    663310 
    664311CREATE INDEX ax_denkmalschutzrecht_geom_idx   ON ax_denkmalschutzrecht USING gist  (wkb_geometry); 
    665312CREATE UNIQUE INDEX ax_denkmalschutzrecht_gml ON ax_denkmalschutzrecht USING btree (gml_id,beginnt); 
     313CREATE INDEX ax_denkmalschutzrecht_afs ON ax_denkmalschutzrecht(land,stelle); 
    666314 
    667315COMMENT ON TABLE  ax_denkmalschutzrecht        IS 'D e n k m a l s c h u t z r e c h t'; 
     
    678326        endet                   character(20), 
    679327        advstandardmodell       character(4), 
    680         anlass                  integer, 
     328        anlass                  varchar, 
    681329        darstellung             integer, 
    682330        zeigtauf                varchar, 
     
    684332); 
    685333 
    686 SELECT AddGeometryColumn('ax_gebaeudeausgestaltung','wkb_geometry',25832,'LINESTRING',2); 
     334SELECT AddGeometryColumn('ax_gebaeudeausgestaltung','wkb_geometry',:alkis_epsg,'GEOMETRY',2);   -- LINESTRING/MULTILINESTRING 
    687335 
    688336CREATE INDEX ax_gebaeudeausgestaltung_geom_idx ON ax_gebaeudeausgestaltung USING gist (wkb_geometry); 
     
    704352--      beginnt                 timestamp,              -- timestamp-Format wird nicht geladen, bleibt leer 
    705353        advstandardmodell       varchar, 
    706         anlass                  integer, 
     354        anlass                  varchar, 
    707355        qualitaetsangaben       integer,                -- zb: "1000" (= Massstab) 
    708356        --                      --                      -- Gemeindeschluessel, bestehend aus: 
     
    714362        --                      --                      -- -- 
    715363        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 
     364        ortsnamepost            varchar,        -- 
     365        zusatzortsname          varchar,        -- 
     366        strassenname            varchar,        -- 
     367        strassenschluessel      integer,        -- max.  5 Stellen 
     368        hausnummer              varchar,        -- meist 3 Stellen 
    721369        adressierungszusatz     varchar,        -- Hausnummernzusatz-Buchstabe 
    722370        CONSTRAINT ax_georeferenziertegebaeudeadresse_pk PRIMARY KEY (ogc_fid) 
    723371); 
    724372 
    725 SELECT AddGeometryColumn('ax_georeferenziertegebaeudeadresse','wkb_geometry',25832,'POINT',2); 
     373SELECT AddGeometryColumn('ax_georeferenziertegebaeudeadresse','wkb_geometry',:alkis_epsg,'POINT',2); 
    726374 
    727375CREATE INDEX ax_georeferenziertegebaeudeadresse_geom_idx ON ax_georeferenziertegebaeudeadresse USING gist (wkb_geometry); 
     
    746394        endet                   character(20), 
    747395        advstandardmodell       varchar, 
    748         anlass                  integer, 
     396        anlass                  varchar, 
    749397        art                     varchar, 
    750         "name"                  varchar, 
    751         bedeutung               integer, 
     398        name                    varchar, 
     399        bedeutung               integer[], 
    752400        land                    integer, 
    753401        nummerierungsbezirk     varchar, 
    754402        gemarkungsnummer        integer, 
    755         nummerdesgrablochs      integer, 
     403        nummerdesgrablochs      varchar, 
    756404        CONSTRAINT ax_grablochderbodenschaetzung_pk PRIMARY KEY (ogc_fid) 
    757405); 
    758406 
    759 SELECT AddGeometryColumn('ax_grablochderbodenschaetzung','wkb_geometry',25832,'POINT',2); 
     407SELECT AddGeometryColumn('ax_grablochderbodenschaetzung','wkb_geometry',:alkis_epsg,'POINT',2); 
    760408 
    761409CREATE INDEX ax_grablochderbodenschaetzung_geom_idx   ON ax_grablochderbodenschaetzung USING gist  (wkb_geometry); 
     
    774422 
    775423CREATE TABLE ax_historischesflurstueckalb ( 
    776         ogc_fid                         serial NOT NULL, 
    777         gml_id                          character(16), 
     424        ogc_fid                                         serial NOT NULL, 
     425        gml_id                                          character(16), 
    778426 
    779427        -- GID: AX_Flurstueck_Kerndaten 
    780428        -- '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,         -- 
     429        land                                            integer,         -- 
     430        gemarkungsnummer                                integer,            -- 
     431        flurnummer                                      integer,               -- Teile des FlurstÃŒckskennzeichens 
     432        zaehler                                         integer,            --    (redundant zu flurstueckskennzeichen) 
     433        nenner                                          integer,         -- 
    786434        -- 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, 
     435        flurstueckskennzeichen                          character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt 
     436 
     437        amtlicheflaeche                                 double precision,      -- AFL 
     438        abweichenderrechtszustand                       varchar default 'false',        -- ARZ 
     439        zweifelhafterFlurstuecksnachweis                varchar default 'false',        -- ZFM Boolean 
     440        rechtsbehelfsverfahren                          varchar default 'false',        -- RBV 
     441        zeitpunktderentstehung                          character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ? 
     442--      gemeindezugehoerigkeit                          integer, 
     443        gemeinde                                        integer, 
    796444        -- GID: ENDE AX_Flurstueck_Kerndaten 
    797445 
    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, 
     446        identifier                                      character(44), 
     447        beginnt                                         character(20), 
     448        endet                                           character(20), 
     449        advstandardmodell                               varchar, 
     450        anlass                                          varchar, 
     451        name                                            varchar[], 
     452        blattart                                        integer, 
     453        buchungsart                                     varchar[], 
     454        buchungsblattkennzeichen                        varchar[], 
     455        bezirk                                          integer, 
     456        buchungsblattnummermitbuchstabenerweiterung     varchar[], 
     457        laufendenummerderbuchungsstelle                 varchar[], 
    810458        zeitpunktderentstehungdesbezugsflurstuecks      varchar, 
    811  
    812         vorgaengerflurstueckskennzeichen        varchar[], 
    813         nachfolgerflurstueckskennzeichen        varchar[], 
     459        laufendenummerderfortfuehrung                   varchar, 
     460        fortfuehrungsart                                varchar, 
     461 
     462        vorgaengerflurstueckskennzeichen                varchar[], 
     463        nachfolgerflurstueckskennzeichen                varchar[], 
    814464        CONSTRAINT ax_historischesflurstueckalb_pk PRIMARY KEY (ogc_fid) 
    815465); 
    816466 
    817 SELECT AddGeometryColumn('ax_historischesflurstueckalb','dummy',25832,'POINT',2); 
     467SELECT AddGeometryColumn('ax_historischesflurstueckalb','dummy',:alkis_epsg,'POINT',2); 
    818468 
    819469CREATE UNIQUE INDEX ax_historischesflurstueckalb_gml ON ax_historischesflurstueckalb USING btree (gml_id,beginnt); 
     
    822472COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig'; 
    823473CREATE INDEX idx_histfsalb_vor 
    824    ON ax_historischesflurstueckalb (vorgaengerflurstueckskennzeichen ASC); 
     474   ON ax_historischesflurstueckalb USING btree (vorgaengerflurstueckskennzeichen /* ASC */); 
    825475  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck'; 
    826476 
    827477CREATE INDEX idx_histfsalb_nach 
    828    ON ax_historischesflurstueckalb (vorgaengerflurstueckskennzeichen ASC); 
     478   ON ax_historischesflurstueckalb USING btree (vorgaengerflurstueckskennzeichen /* ASC */); 
    829479  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck'; 
    830480  COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB'; 
     
    864514        land                            integer,         -- 
    865515        gemarkungsnummer                integer,            -- 
    866         flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens  
     516        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens 
    867517        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen) 
    868518        nenner                          integer,         -- 
    869519        -- daraus abgeleitet: 
    870520        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 
     521        amtlicheflaeche                 double precision,               -- AFL 
     522        abweichenderrechtszustand       varchar default 'false',        -- ARZ 
     523        zweifelhafterFlurstuecksnachweis varchar default 'false',       -- ZFM Boolean 
     524        rechtsbehelfsverfahren          varchar default 'false',        -- RBV 
    875525        zeitpunktderentstehung          character(10),          -- ZDE  Inhalt jjjj-mm-tt  besser Format date ? 
    876526--      gemeindezugehoerigkeit          integer, 
     
    881531        endet                           character(20), 
    882532        advstandardmodell               varchar, 
    883         anlass                          integer, 
     533        anlass                          varchar, 
    884534        art                             varchar[], 
    885         "name"                          varchar[], 
     535        name                            varchar[], 
    886536        regierungsbezirk                integer, 
    887537        kreis                           integer, 
     
    889539        nachfolgerflurstueckskennzeichen        varchar[], 
    890540        blattart                        integer, 
    891         --buchungsart                   integer,  -- Aenderung krz FJ 2012-10-31: Meldung aus Konverter 
    892         buchungsart                     varchar, 
    893         buchungsblattkennzeichen        double precision, 
     541        buchungsart                     integer, 
     542        buchungsblattkennzeichen        varchar[], 
    894543        bezirk                          integer, 
    895         buchungsblattnummermitbuchstabenerweiterung     character(20), -- hier lÀnger als (7)! 
     544        buchungsblattnummermitbuchstabenerweiterung     varchar[], -- hier lÀnger als (7)! 
    896545        laufendenummerderbuchungsstelle integer, 
    897546        CONSTRAINT ax_historischesflurstueck_pk PRIMARY KEY (ogc_fid) 
    898547); 
    899548 
    900 SELECT AddGeometryColumn('ax_historischesflurstueck','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     549SELECT AddGeometryColumn('ax_historischesflurstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    901550 
    902551CREATE INDEX ax_historischesflurstueck_geom_idx   ON ax_historischesflurstueck USING gist (wkb_geometry); 
     
    904553 
    905554-- Suche nach VorgÀnger / Nachfolger 
    906 -- ++ Welche Methode fÃŒr ein Array?  
     555-- ++ Welche Methode fÃŒr ein Array? 
    907556-- Wirkt das ÃŒberhaupt bei der Suche nach einem einzelnen Wert aus dem Array? 
    908 CREATE INDEX idx_histfs_vor ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen ASC); 
    909 CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen ASC); 
     557CREATE INDEX idx_histfs_vor ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */); 
     558CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */); 
    910559 
    911560-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck'; 
     
    913562 
    914563-- Die postgresql-Doku sagt dazu (http://www.postgresql.org/docs/9.1/static/arrays.html): 
    915 --  "Arrays are not sets;  
     564--  "Arrays are not sets; 
    916565--   searching for specific array elements can be a sign of database misdesign. 
    917566--   Consider using a separate table with a row for each item that would be an array element. 
     
    947596-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie 
    948597CREATE INDEX ax_historischesflurstueck_kennz 
    949    ON ax_historischesflurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST); 
     598   ON ax_historischesflurstueck(flurstueckskennzeichen /* ASC NULLS LAST */); 
    950599COMMENT ON INDEX ax_historischesflurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen'; 
    951600 
     
    961610        endet                   character(20), 
    962611        advstandardmodell       varchar, 
    963         anlass                  integer, 
     612        anlass                  varchar, 
    964613        artderfestlegung        integer, 
     614        land                    integer, 
     615        stelle                  varchar, 
     616        name                    varchar, 
    965617        CONSTRAINT ax_naturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid) 
    966618); 
    967619 
    968 SELECT AddGeometryColumn('ax_naturumweltoderbodenschutzrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     620SELECT AddGeometryColumn('ax_naturumweltoderbodenschutzrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    969621 
    970622CREATE INDEX ax_naturumweltoderbodenschutzrecht_geom_idx   ON ax_naturumweltoderbodenschutzrecht USING gist (wkb_geometry); 
    971623CREATE UNIQUE INDEX ax_naturumweltoderbodenschutzrecht_gml ON ax_naturumweltoderbodenschutzrecht USING btree (gml_id,beginnt); 
     624CREATE INDEX ax_naturumweltoderbodenschutzrecht_afs ON ax_naturumweltoderbodenschutzrecht(land,stelle); 
    972625 
    973626COMMENT 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'; 
     
    984637        endet                   character(20), 
    985638        advstandardmodell       varchar, 
    986         anlass                  integer, 
     639        anlass                  varchar, 
    987640        artderfestlegung        integer, 
     641        land                    integer, 
     642        stelle                  varchar, 
    988643        art                     varchar[], --(15) 
    989         "name"                  varchar[], 
     644        name                    varchar[], 
    990645        nummerdesschutzgebietes varchar, 
    991646        CONSTRAINT ax_schutzgebietnachwasserrecht_pk PRIMARY KEY (ogc_fid) 
    992647); 
    993648 
    994 SELECT AddGeometryColumn('ax_schutzgebietnachwasserrecht','dummy',25832,'POINT',2); 
     649SELECT AddGeometryColumn('ax_schutzgebietnachwasserrecht','dummy',:alkis_epsg,'POINT',2); 
    995650 
    996651CREATE UNIQUE INDEX ax_schutzgebietnachwasserrecht_gml ON ax_schutzgebietnachwasserrecht USING btree (gml_id,beginnt); 
     652CREATE INDEX ax_schutzgebietnachwasserrecht_afs ON ax_schutzgebietnachwasserrecht(land,stelle); 
    997653 
    998654COMMENT 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'; 
     
    1008664        endet                   character(20), 
    1009665        advstandardmodell       varchar, 
    1010         anlass                  integer, 
     666        anlass                  varchar, 
    1011667        artderfestlegung        integer, 
     668        land                    integer, 
     669        stelle                  varchar, 
    1012670        CONSTRAINT ax_schutzgebietnachnaturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid) 
    1013671); 
    1014672 
    1015 SELECT AddGeometryColumn('ax_schutzgebietnachnaturumweltoderbodenschutzrecht','dummy',25832,'POINT',2); 
     673SELECT AddGeometryColumn('ax_schutzgebietnachnaturumweltoderbodenschutzrecht','dummy',:alkis_epsg,'POINT',2); 
    1016674 
    1017675CREATE UNIQUE INDEX ax_schutzgebietnachnaturumweltoderbodenschutzrecht_gml ON ax_schutzgebietnachnaturumweltoderbodenschutzrecht USING btree (gml_id,beginnt); 
     676CREATE INDEX ax_schutzgebietnachnaturumweltoderbodenschutzrecht_afs ON ax_schutzgebietnachnaturumweltoderbodenschutzrecht(land,stelle); 
    1018677 
    1019678COMMENT 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'; 
     
    1030689        endet                   character(20), 
    1031690        advstandardmodell       varchar, 
    1032         anlass                  integer, 
     691        anlass                  varchar, 
    1033692        "zone"                  integer, 
    1034693        art                     varchar[], --(15) 
     
    1036695); 
    1037696 
    1038 SELECT AddGeometryColumn('ax_schutzzone','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     697SELECT AddGeometryColumn('ax_schutzzone','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    1039698 
    1040699CREATE INDEX ax_schutzzone_geom_idx   ON ax_schutzzone USING gist (wkb_geometry); 
     
    1045704 
    1046705 
    1047 -- T o p o g r a p h i s c h e   L i n i e  
     706-- T o p o g r a p h i s c h e   L i n i e 
    1048707-- --------------------------------------------------- 
    1049708CREATE TABLE ax_topographischelinie ( 
     
    1054713        endet                   character(20), 
    1055714        advstandardmodell       varchar, 
    1056         anlass                  integer, 
     715        anlass                  varchar, 
    1057716        liniendarstellung       integer, 
    1058717        sonstigeeigenschaft     varchar, 
     
    1060719); 
    1061720 
    1062 SELECT AddGeometryColumn('ax_topographischelinie','wkb_geometry',25832,'LINESTRING',2); 
     721SELECT AddGeometryColumn('ax_topographischelinie','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    1063722 
    1064723CREATE INDEX ax_topographischelinie_geom_idx   ON ax_topographischelinie USING gist(wkb_geometry); 
     
    1087746        advstandardmodell       varchar[], 
    1088747        sonstigesmodell         varchar, 
    1089         anlass                  integer, 
    1090         signaturnummer          integer, 
     748        anlass                  varchar, 
     749        signaturnummer          varchar, 
     750        darstellungsprioritaet  integer, 
    1091751        art                     varchar, 
    1092752        drehwinkel              double precision, 
     
    1094754); 
    1095755 
    1096 SELECT AddGeometryColumn('ap_ppo','wkb_geometry',25832,'GEOMETRY',2); -- POINT/MULTIPOLYGON 
     756SELECT AddGeometryColumn('ap_ppo','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/MULTIPOLYGON 
    1097757 
    1098758CREATE INDEX ap_ppo_geom_idx   ON ap_ppo USING gist (wkb_geometry); 
    1099759CREATE UNIQUE INDEX ap_ppo_gml ON ap_ppo USING btree (gml_id,beginnt); 
     760CREATE INDEX ap_ppo_endet      ON ap_ppo USING btree (endet); 
    1100761 
    1101762COMMENT ON TABLE  ap_ppo        IS 'PPO: Punktförmiges PrÀsentationsobjekt'; 
     
    1112773        endet                   character(20), 
    1113774        advstandardmodell       varchar[],              -- Array! 
    1114         anlass                  integer, 
    1115         signaturnummer          integer, 
     775        anlass                  varchar, 
     776        signaturnummer          varchar, 
     777        darstellungsprioritaet  integer, 
    1116778        art                     varchar, 
    1117779        CONSTRAINT ap_lpo_pk PRIMARY KEY (ogc_fid) 
    1118780); 
    1119 SELECT AddGeometryColumn('ap_lpo','wkb_geometry',25832,'LINESTRING',2); 
     781SELECT AddGeometryColumn('ap_lpo','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING 
    1120782 
    1121783CREATE INDEX ap_lpo_geom_idx   ON ap_lpo USING gist (wkb_geometry); 
    1122784CREATE UNIQUE INDEX ap_lpo_gml ON ap_lpo USING btree (gml_id,beginnt); 
     785CREATE INDEX ap_lpo_endet      ON ap_lpo USING btree (endet); 
    1123786 
    1124787COMMENT ON TABLE  ap_lpo        IS 'LPO: Linienförmiges PrÀsentationsobjekt'; 
     
    1135798        endet                   character(20), 
    1136799        advstandardmodell       varchar[], 
    1137         anlass                  integer, 
     800        anlass                  varchar, 
    1138801        schriftinhalt           varchar,  -- (47) 
    1139802        fontsperrung            double precision, 
     
    1141804        horizontaleausrichtung  varchar, 
    1142805        vertikaleausrichtung    varchar, 
    1143         signaturnummer          integer, 
     806        signaturnummer          varchar, 
     807        darstellungsprioritaet  integer, 
    1144808        art                     varchar,  -- Inhalte z.B. "ZAE_NEN" siehe unten 
    1145809        drehwinkel              double precision,       -- falsche Masseinheit fÃŒr Mapserver, im View umrechnen 
     
    1147811); 
    1148812 
    1149 SELECT AddGeometryColumn('ap_pto','wkb_geometry',25832,'POINT',2); 
     813SELECT AddGeometryColumn('ap_pto','wkb_geometry',:alkis_epsg,'POINT',2); 
    1150814 
    1151815CREATE INDEX ap_pto_geom_idx   ON ap_pto USING gist (wkb_geometry); 
    1152816CREATE UNIQUE INDEX ap_pto_gml ON ap_pto USING btree (gml_id,beginnt); 
    1153817CREATE INDEX art_idx           ON ap_pto USING btree (art); 
     818CREATE INDEX ap_pto_endet_idx  ON ap_pto USING btree (endet); 
     819CREATE INDEX ap_pto_sn_idx     ON ap_pto USING btree (signaturnummer); 
    1154820 
    1155821COMMENT ON TABLE  ap_pto               IS 'PTO: Textförmiges PrÀsentationsobjekt mit punktförmiger Textgeometrie '; 
     
    1176842        advstandardmodell       varchar, 
    1177843        sonstigesmodell         varchar, 
    1178         anlass                  integer, 
     844        anlass                  varchar, 
    1179845        art                     varchar, 
    1180846        schriftinhalt           varchar, 
    1181         fontsperrung            integer, 
    1182         skalierung              integer, 
     847        fontsperrung            double precision, 
     848        skalierung              double precision, 
    1183849        horizontaleausrichtung  varchar, 
    1184850        vertikaleausrichtung    varchar, 
     851        signaturnummer          varchar, 
     852        darstellungsprioritaet  integer, 
    1185853        CONSTRAINT ap_lto_pk PRIMARY KEY (ogc_fid) 
    1186854); 
    1187855 
    1188 SELECT AddGeometryColumn('ap_lto','wkb_geometry',25832,'LINESTRING',2); 
     856SELECT AddGeometryColumn('ap_lto','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    1189857 
    1190858CREATE INDEX ap_lto_geom_idx   ON ap_lto USING gist (wkb_geometry); 
    1191859CREATE UNIQUE INDEX ap_lto_gml ON ap_lto USING btree (gml_id,beginnt); 
     860CREATE INDEX ap_lto_endet_idx  ON ap_lto USING btree (endet); 
    1192861 
    1193862COMMENT ON TABLE  ap_lto        IS 'LTO: Textförmiges PrÀsentationsobjekt mit linienförmiger Textgeometrie'; 
     
    1198867-- ---------------------------------------------- 
    1199868CREATE TABLE ap_darstellung ( 
    1200         ogc_fid                 serial NOT NULL,  
    1201         gml_id                  character(16),  
     869        ogc_fid                 serial NOT NULL, 
     870        gml_id                  character(16), 
    1202871        identifier              character(44), 
    1203872        beginnt                 character(20),                  -- Datumsformat 
    1204873        endet                   character(20),                  -- Datumsformat 
    1205         advstandardmodell       varchar, 
    1206         anlass                  integer,  
     874        advstandardmodell       varchar[], 
     875        anlass                  varchar, 
    1207876        art                     varchar,                -- (37) 
    1208         signaturnummer          integer, 
     877        darstellungsprioritaet  integer, 
     878        signaturnummer          varchar, 
     879        positionierungsregel    integer, 
    1209880        CONSTRAINT ap_darstellung_pk PRIMARY KEY (ogc_fid) 
    1210881); 
    1211882 
    1212883-- Dummy-Eintrag in Metatabelle 
    1213 SELECT AddGeometryColumn('ap_darstellung','dummy',25832,'POINT',2); 
     884SELECT AddGeometryColumn('ap_darstellung','dummy',:alkis_epsg,'POINT',2); 
    1214885 
    1215886CREATE UNIQUE INDEX ap_darstellung_gml ON ap_darstellung USING btree (gml_id,beginnt); 
     887CREATE INDEX ap_darstellung_endet_idx  ON ap_darstellung USING btree (endet); 
    1216888 
    1217889COMMENT ON TABLE  ap_darstellung        IS 'A P  D a r s t e l l u n g'; 
     
    1239911        land                            integer,         -- 
    1240912        gemarkungsnummer                integer,            -- 
    1241         flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens  
     913        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens 
    1242914        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen) 
    1243915        nenner                          integer,         -- 
     
    1246918 
    1247919        amtlicheflaeche                 double precision,      -- AFL 
    1248         abweichenderrechtszustand       varchar,              -- ARZ 
    1249         zweifelhafterFlurstuecksnachweis varchar,              -- ZFM Boolean 
    1250         rechtsbehelfsverfahren          integer,              -- RBV 
     920        abweichenderrechtszustand       varchar default 'false', -- ARZ 
     921        zweifelhafterFlurstuecksnachweis varchar default 'false',-- ZFM Boolean 
     922        rechtsbehelfsverfahren          varchar default 'false', -- RBV 
    1251923        zeitpunktderentstehung          character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ? 
    1252924 
     
    1258930        endet                           character(20),         -- Timestamp des Untergangs 
    1259931        advstandardmodell               varchar,               -- steuert die Darstellung nach Kartentyp 
    1260         anlass                          integer, 
     932        anlass                          varchar, 
    1261933--      art                             varchar[],   -- Wozu braucht man das? Weglassen? 
    1262         "name"                          varchar[],   -- 03.11.2011: array, Buchauskunft anpassen! 
     934        name                            varchar[],   -- 03.11.2011: array, Buchauskunft anpassen! 
    1263935        regierungsbezirk                integer, 
    1264936        kreis                           integer, 
     937        stelle                          varchar, 
    1265938 
    1266939-- neu aus SVN-Version 28.02.2012 hinzugefuegt 
     
    1274947        angabenzumabschnittbemerkung    varchar[], 
    1275948 
    1276         -- siehe alkis_relationen 
    1277 --      istgebucht                      character varying, 
    1278 --      zeigtauf                        character varying, 
    1279 --      weistauf                        character varying, 
    1280 -- neu-Ende  
    1281949        CONSTRAINT ax_flurstueck_pk PRIMARY KEY (ogc_fid) 
    1282950); 
    1283951 
    1284 SELECT AddGeometryColumn('ax_flurstueck','wkb_geometry',25832,'GEOMETRY',2); 
     952SELECT AddGeometryColumn('ax_flurstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    1285953 
    1286954CREATE INDEX ax_flurstueck_geom_idx   ON ax_flurstueck USING gist (wkb_geometry); 
    1287955CREATE UNIQUE INDEX ax_flurstueck_gml ON ax_flurstueck USING btree (gml_id,beginnt); 
     956CREATE INDEX ax_flurstueck_lgfzn ON ax_flurstueck USING btree (land,gemarkungsnummer,flurnummer,zaehler,nenner); 
     957CREATE INDEX ax_flurstueck_arz ON ax_flurstueck USING btree (abweichenderrechtszustand); 
    1288958 
    1289959  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.'; 
     
    1319989-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie 
    1320990CREATE INDEX ax_flurstueck_kennz 
    1321    ON ax_flurstueck USING btree (flurstueckskennzeichen ASC NULLS LAST); 
     991   ON ax_flurstueck USING btree (flurstueckskennzeichen /* ASC NULLS LAST*/ ); 
    1322992COMMENT ON INDEX ax_flurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen'; 
    1323993 
     
    13301000 
    13311001 
    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  
    13471002 
    13481003-- 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 
     
    13551010        endet                   character(20), 
    13561011        advstandardmodell       varchar, 
    1357         anlass                  integer, 
     1012        anlass                  varchar, 
    13581013        artderflurstuecksgrenze integer[],  -- geaendert. 18.09.2011 
    13591014        CONSTRAINT ax_besondereflurstuecksgrenze_pk PRIMARY KEY (ogc_fid) 
    13601015); 
    13611016 
    1362 SELECT AddGeometryColumn('ax_besondereflurstuecksgrenze','wkb_geometry',25832,'LINESTRING',2); 
     1017SELECT AddGeometryColumn('ax_besondereflurstuecksgrenze','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    13631018 
    13641019CREATE INDEX ax_besondereflurstuecksgrenze_geom_idx   ON ax_besondereflurstuecksgrenze USING gist (wkb_geometry); 
     
    13781033        endet                           character(20), 
    13791034        advstandardmodell               varchar, 
    1380         anlass                          integer, 
     1035        anlass                          varchar, 
    13811036        punktkennung                    varchar, -- integer, 
    13821037        land                            integer, 
     
    13841039        abmarkung_marke                 integer, 
    13851040        festgestelltergrenzpunkt        varchar, 
     1041        besonderepunktnummer            varchar, 
    13861042        bemerkungzurabmarkung           integer, 
    13871043        sonstigeeigenschaft             varchar[], 
    13881044        art                             varchar, --(37) 
    1389         "name"                          varchar[], 
     1045        name                            varchar[], 
    13901046        zeitpunktderentstehung          integer, 
     1047        relativehoehe                   double precision, 
    13911048        CONSTRAINT ax_grenzpunkt_pk PRIMARY KEY (ogc_fid) 
    13921049); 
    13931050 
    1394 SELECT AddGeometryColumn('ax_grenzpunkt','dummy',25832,'POINT',2); 
     1051SELECT AddGeometryColumn('ax_grenzpunkt','dummy',:alkis_epsg,'POINT',2); 
    13951052 
    13961053CREATE UNIQUE INDEX ax_grenzpunkt_gml ON ax_grenzpunkt USING btree (gml_id,beginnt); 
     1054CREATE INDEX ax_grenzpunkt_abmm ON ax_grenzpunkt USING btree (abmarkung_marke); 
    13971055 
    13981056COMMENT ON TABLE  ax_grenzpunkt        IS 'G r e n z p u n k t'; 
     
    14121070        endet                   character(20), 
    14131071        advstandardmodell       varchar, 
    1414         anlass                  integer, 
     1072        anlass                  varchar, 
    14151073        unverschluesselt        varchar, -- Straßenname 
    14161074        land                    integer, 
     
    14221080); 
    14231081 
    1424 SELECT AddGeometryColumn('ax_lagebezeichnungohnehausnummer','dummy',25832,'POINT',2); 
     1082SELECT AddGeometryColumn('ax_lagebezeichnungohnehausnummer','dummy',:alkis_epsg,'POINT',2); 
    14251083 
    14261084-- Verbindungstabellen indizieren 
     
    14451103        endet                   character(20), 
    14461104        advstandardmodell       varchar, 
    1447         anlass                  integer, 
     1105        anlass                  varchar, 
    14481106        land                    integer, 
    14491107        regierungsbezirk        integer, 
     
    14551113); 
    14561114 
    1457 SELECT AddGeometryColumn('ax_lagebezeichnungmithausnummer','dummy',25832,'POINT',2); 
     1115SELECT AddGeometryColumn('ax_lagebezeichnungmithausnummer','dummy',:alkis_epsg,'POINT',2); 
    14581116 
    14591117CREATE UNIQUE INDEX ax_lagebezeichnungmithausnummer_gml ON ax_lagebezeichnungmithausnummer USING btree (gml_id,beginnt); -- Verbindungstabellen indizieren 
     
    14741132        endet                   character(20), 
    14751133        advstandardmodell       varchar, 
    1476         anlass                  integer, 
     1134        anlass                  varchar, 
    14771135        land                    integer, 
    14781136        regierungsbezirk        integer, 
     
    14851143); 
    14861144 
    1487 SELECT AddGeometryColumn('ax_lagebezeichnungmitpseudonummer','dummy',25832,'POINT',2); 
     1145SELECT AddGeometryColumn('ax_lagebezeichnungmitpseudonummer','dummy',:alkis_epsg,'POINT',2); 
    14881146 
    14891147-- Verbindungstabellen indizieren 
     
    15081166        endet                   character(20), 
    15091167        advstandardmodell       varchar, 
    1510         anlass                  integer, 
     1168        anlass                  varchar, 
    15111169        punktkennung            varchar,   --integer ist zu klein, 
    15121170        land                    integer, 
     
    15141172        sonstigeeigenschaft     varchar[], 
    15151173        vermarkung_marke        integer, 
     1174        relativehoehe           double precision, 
    15161175        CONSTRAINT ax_aufnahmepunkt_pk PRIMARY KEY (ogc_fid) 
    15171176); 
    15181177 
    1519 SELECT AddGeometryColumn('ax_aufnahmepunkt','dummy',25832,'POINT',2); 
     1178SELECT AddGeometryColumn('ax_aufnahmepunkt','dummy',:alkis_epsg,'POINT',2); 
    15201179 
    15211180CREATE UNIQUE INDEX ax_aufnahmepunkt_gml ON ax_aufnahmepunkt USING btree (gml_id,beginnt); 
     
    15311190        ogc_fid                 serial NOT NULL, 
    15321191        gml_id                  varchar, 
    1533         beginnt                 varchar, 
    1534         advstandardmodell       varchar, 
    1535         anlass                  integer, 
    1536         "name"                  varchar, 
     1192        identifier              character(44), 
     1193        beginnt                 character(20), 
     1194        endet                   character(20), 
     1195        advstandardmodell       varchar, 
     1196        anlass                  varchar, 
     1197        name                    varchar, 
    15371198        punktkennung            varchar, 
    15381199        land                    integer, 
    15391200        stelle                  integer, 
    1540         sonstigeeigenschaft     varchar, 
     1201        sonstigeeigenschaft     varchar[], 
    15411202        vermarkung_marke        integer, 
     1203        relativehoehe           double precision, 
    15421204        CONSTRAINT ax_sicherungspunkt_pk PRIMARY KEY (ogc_fid) 
    15431205); 
    15441206 
    1545 SELECT AddGeometryColumn('ax_sicherungspunkt','dummy',25832,'POINT',2); 
     1207SELECT AddGeometryColumn('ax_sicherungspunkt','dummy',:alkis_epsg,'POINT',2); 
    15461208 
    15471209 
     
    15551217        endet                   character(20), 
    15561218        advstandardmodell       varchar, 
    1557         anlass                  integer, 
     1219        anlass                  varchar, 
    15581220        vermarkung_marke        integer, 
    15591221        punktkennung            varchar, -- integer, 
     1222        art                     varchar, 
    15601223        land                    integer, 
    15611224        stelle                  integer, 
    15621225        sonstigeeigenschaft     varchar[], 
     1226        relativehoehe           double precision, 
    15631227        CONSTRAINT ax_sonstigervermessungspunkt_pk PRIMARY KEY (ogc_fid) 
    15641228); 
    15651229 
    1566 SELECT AddGeometryColumn('ax_sonstigervermessungspunkt','dummy',25832,'POINT',2); 
     1230SELECT AddGeometryColumn('ax_sonstigervermessungspunkt','dummy',:alkis_epsg,'POINT',2); 
    15671231 
    15681232CREATE UNIQUE INDEX ax_sonstigervermessungspunkt_gml ON ax_sonstigervermessungspunkt USING btree (gml_id,beginnt); 
     
    15921256        endet                   character(20), 
    15931257        advstandardmodell       varchar, 
    1594         anlass                  integer, 
     1258        anlass                  varchar, 
    15951259        art                     varchar[], 
    1596         "name"                  varchar[], 
    1597         --kartendarstellung     varchar, -- true/false 
    1598         kartendarstellung       integer, 
     1260        name                    varchar[], 
     1261        kartendarstellung       varchar,        -- boolean 
    15991262--      "qualitaetsangaben|ax_dqpunktort|herkunft|li_lineage|processstep" integer, -- varchar[], 
    16001263        genauigkeitsstufe       integer, 
    16011264        vertrauenswuerdigkeit   integer, 
     1265        koordinatenstatus       integer, 
    16021266        CONSTRAINT ax_punktortag_pk PRIMARY KEY (ogc_fid) 
    16031267); 
    16041268 
    1605 SELECT AddGeometryColumn('ax_punktortag','wkb_geometry',25832,'POINT',2); 
     1269SELECT AddGeometryColumn('ax_punktortag','wkb_geometry',:alkis_epsg,'POINT',2); 
    16061270 
    16071271CREATE INDEX ax_punktortag_geom_idx ON ax_punktortag USING gist (wkb_geometry); 
     
    16211285        endet                   character(20), 
    16221286        advstandardmodell       varchar, 
    1623         anlass                  integer, 
    1624 --      kartendarstellung       varchar, -- true / false: boolean 
    1625         kartendarstellung       integer,  
     1287        anlass                  varchar, 
     1288        kartendarstellung       varchar,        -- boolean 
    16261289--      art                     varchar, -- entbehrlich 
    1627         "name"                  varchar[], 
     1290        name                    varchar[], 
    16281291--      "qualitaetsangaben|ax_dqpunktort|herkunft|li_lineage|processstep" integer,  --varchar[], 
    16291292--      datetime                character(24)[], 
     
    16311294        vertrauenswuerdigkeit   integer, 
    16321295        genauigkeitsstufe       integer, 
     1296        koordinatenstatus       integer, 
    16331297        CONSTRAINT ax_punktortau_pk PRIMARY KEY (ogc_fid) 
    16341298); 
    16351299 
    1636 SELECT AddGeometryColumn('ax_punktortau','wkb_geometry',25832,'POINT',3); -- 0,0,Höhe 
     1300SELECT AddGeometryColumn('ax_punktortau','wkb_geometry',:alkis_epsg,'POINT',3); -- 0,0,Höhe 
    16371301 
    16381302CREATE INDEX ax_punktortau_geom_idx ON ax_punktortau USING gist (wkb_geometry); 
     
    16521316        endet                   character(20), 
    16531317        advstandardmodell       varchar, 
    1654         anlass                  integer, 
    1655         kartendarstellung       integer,      -- boolean 
     1318        anlass                  varchar, 
     1319        kartendarstellung       varchar, -- boolean 
    16561320        description             integer, 
    16571321        art                     varchar[], 
    1658         "name"                  varchar[], 
     1322        name                    varchar[], 
    16591323        genauigkeitsstufe       integer, 
    16601324        vertrauenswuerdigkeit   integer, 
     1325        koordinatenstatus       integer, 
    16611326        CONSTRAINT ax_punktortta_pk PRIMARY KEY (ogc_fid) 
    16621327); 
    16631328 
    1664 SELECT AddGeometryColumn('ax_punktortta','wkb_geometry',25832,'POINT',2); 
     1329SELECT AddGeometryColumn('ax_punktortta','wkb_geometry',:alkis_epsg,'POINT',2); 
    16651330 
    16661331CREATE INDEX ax_punktortta_geom_idx ON ax_punktortta USING gist (wkb_geometry); 
    16671332CREATE UNIQUE INDEX ax_punktortta_gml ON ax_punktortta USING btree (gml_id,beginnt); 
     1333CREATE INDEX ax_punktortta_endet_idx ON ax_punktortta USING btree (endet); 
    16681334 
    16691335COMMENT ON TABLE  ax_punktortta        IS 'P u n k t o r t   T A'; 
     
    16831349        endet                           character(20), 
    16841350        advstandardmodell               varchar, 
    1685         anlass                          integer, 
     1351        anlass                          varchar, 
    16861352--      art                             varchar,                -- entbehrlich 
    16871353        uri                             varchar, 
     
    16951361        fortfuehrungsentscheidungvon    varchar,                -- Bearbeiter-Name und -Titel 
    16961362        bemerkung                       varchar, 
    1697         beziehtsichauf                  character varying, 
     1363        beziehtsichauf                  varchar, 
    16981364        CONSTRAINT ax_fortfuehrungsnachweisdeckblatt_pk PRIMARY KEY (ogc_fid) 
    16991365); 
    17001366 
    1701 SELECT AddGeometryColumn('ax_fortfuehrungsnachweisdeckblatt','dummy',25832,'POINT',2); 
     1367SELECT AddGeometryColumn('ax_fortfuehrungsnachweisdeckblatt','dummy',:alkis_epsg,'POINT',2); 
    17021368 
    17031369COMMENT ON TABLE  ax_fortfuehrungsnachweisdeckblatt 
     
    17141380        endet                                   character(20), 
    17151381        advstandardmodell                       varchar, 
    1716         anlass                                  integer, 
     1382        anlass                                  varchar, 
    17171383--      art                                     varchar,  -- entbehrlich 
    17181384        uri                                     varchar, 
     
    17271393); 
    17281394 
    1729 SELECT AddGeometryColumn('ax_fortfuehrungsfall','dummy',25832,'POINT',2); 
     1395SELECT AddGeometryColumn('ax_fortfuehrungsfall','dummy',:alkis_epsg,'POINT',2); 
    17301396 
    17311397COMMENT ON TABLE  ax_fortfuehrungsfall IS 'F o r t f u e h r u n g s f a l l'; 
     
    17401406        ogc_fid                 serial NOT NULL, 
    17411407        gml_id                  character(16), 
    1742         beginnt                 varchar, 
     1408        identifier              character(44), 
     1409        beginnt                 character(20), 
     1410        endet                   character(20), 
    17431411        advstandardmodell       varchar, 
    17441412        art                     integer, 
     
    17521420); 
    17531421 
    1754 SELECT AddGeometryColumn('ax_reservierung','dummy',25832,'POINT',2); 
     1422SELECT AddGeometryColumn('ax_reservierung','dummy',:alkis_epsg,'POINT',2); 
    17551423 
    17561424-- 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 
     
    17591427        ogc_fid                 serial NOT NULL, 
    17601428        gml_id                  character(16), 
    1761         beginnt                 varchar, 
     1429        identifier              character(44), 
     1430        beginnt                 character(20), 
     1431        endet                   character(20), 
    17621432        advstandardmodell       varchar, 
    17631433        sonstigesmodell         varchar, 
    1764         anlass                  integer, 
     1434        anlass                  varchar, 
    17651435        punktkennung            varchar, 
    17661436        art                     integer, 
     
    17681438); 
    17691439 
    1770 SELECT AddGeometryColumn('ax_punktkennunguntergegangen','dummy',25832,'POINT',2); 
     1440SELECT AddGeometryColumn('ax_punktkennunguntergegangen','dummy',:alkis_epsg,'POINT',2); 
    17711441 
    17721442 
     
    17831453        land                            integer,         -- 
    17841454        gemarkungsnummer                integer,            -- 
    1785         flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens  
     1455        flurnummer                      integer,               -- Teile des FlurstÃŒckskennzeichens 
    17861456        zaehler                         integer,            --    (redundant zu flurstueckskennzeichen) 
    17871457        nenner                          integer,         -- 
     
    18001470        endet                           character(20), 
    18011471        advstandardmodell               character(4), 
    1802         anlass                          integer, 
     1472        anlass                          varchar, 
    18031473--      art                             varchar[], -- Array {a,b,c} 
    1804         "name"                          varchar[], -- Array {a,b,c} 
     1474        name                            varchar[], -- Array {a,b,c} 
    18051475        nachfolgerflurstueckskennzeichen        varchar[], -- Array {a,b,c} 
    18061476        vorgaengerflurstueckskennzeichen        varchar[], -- Array {a,b,c} 
     
    18341504  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.anlass                    IS '?'; 
    18351505  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer'; 
    1836   COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nachfolgerflurstueckskennzeichen  
     1506  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nachfolgerflurstueckskennzeichen 
    18371507  IS '"Nachfolger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezug" direkt nachfolgen. 
    18381508Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"'; 
    1839   COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.vorgaengerflurstueckskennzeichen  
     1509  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.vorgaengerflurstueckskennzeichen 
    18401510  IS '"VorgÀnger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezugs" direkt vorangehen. 
    18411511Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"'; 
     
    18431513 
    18441514-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle 
    1845 SELECT AddGeometryColumn('ax_historischesflurstueckohneraumbezug','dummy',25832,'POINT',2); 
     1515SELECT AddGeometryColumn('ax_historischesflurstueckohneraumbezug','dummy',:alkis_epsg,'POINT',2); 
    18461516-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie 
    1847 CREATE INDEX ax_hist_fs_ohne_kennz ON ax_historischesflurstueckohneraumbezug USING btree (flurstueckskennzeichen ASC NULLS LAST); 
     1517CREATE INDEX ax_hist_fs_ohne_kennz ON ax_historischesflurstueckohneraumbezug USING btree (flurstueckskennzeichen /* ASC NULLS LAST */ ); 
    18481518COMMENT ON INDEX ax_hist_fs_ohne_kennz IS 'Suche nach FlurstÃŒckskennzeichen'; 
    18491519 
    18501520-- Suche nach VorgÀnger / Nachfolger 
    18511521-- ++ Welche Methode fÃŒr ein Array? Wirkt das bei der Suche nach einem einzelnen Wert aus dem Array? 
    1852 CREATE INDEX idx_histfsor_vor ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen ASC); 
     1522CREATE INDEX idx_histfsor_vor ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen /* ASC */); 
    18531523-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck'; 
    18541524 
    1855 CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen ASC); 
     1525CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen /* ASC */); 
    18561526-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck'; 
    18571527 
     
    18781548        advstandardmodell               varchar, 
    18791549        --sonstigesmodell               varchar, 
    1880         anlass                          integer, 
     1550        anlass                          varchar, 
    18811551        nachnameoderfirma               varchar, --(97), 
    18821552        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. 
     
    18921562        --art                           varchar,  -- (37)  Wozu? 
    18931563        --uri                           varchar,  -- Wozu ? 
    1894         -- hat                          varchar,      -- bliebt leer, Beziehung? 
    18951564        CONSTRAINT ax_person_pk PRIMARY KEY (ogc_fid) 
    18961565); 
    18971566 
    1898 SELECT AddGeometryColumn('ax_person','dummy',25832,'POINT',2); 
     1567SELECT AddGeometryColumn('ax_person','dummy',:alkis_epsg,'POINT',2); 
    18991568 
    19001569-- Verbindungstabellen indizieren 
     
    19271596        advstandardmodell               varchar, 
    19281597        --sonstigesmodell               varchar, 
    1929         anlass                          integer, 
     1598        anlass                          varchar, 
    19301599        --art                           varchar[], 
    19311600        --uri                           varchar[], 
    19321601        ort_post                        varchar, 
    1933         postleitzahlpostzustellung      integer, 
     1602        postleitzahlpostzustellung      varchar, 
    19341603        strasse                         varchar, 
    19351604        hausnummer                      varchar, -- integer 
    19361605        bestimmungsland                 varchar, 
     1606        postleitzahlpostfach            varchar, 
     1607        postfach                        varchar, 
     1608        ortsteil                        varchar, 
     1609        weitereAdressen                 varchar, 
    19371610        CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid) 
    19381611); 
    19391612 
    19401613-- Dummy-Eintrag in Metatabelle 
    1941 SELECT AddGeometryColumn('ax_anschrift','dummy',25832,'POINT',2); 
     1614SELECT AddGeometryColumn('ax_anschrift','dummy',:alkis_epsg,'POINT',2); 
    19421615 
    19431616-- Index fÃŒr alkis_beziehungen 
     
    19581631        endet                           character(20), 
    19591632        advstandardmodell               varchar, 
    1960         anlass                          integer, 
     1633        anlass                          varchar, 
    19611634        laufendenummernachdin1421       character(16),      -- 0000.00.00.00.00 
    19621635        zaehler                         double precision,   -- Anteil .. 
    1963         nenner                          double precision,   --    .. als Bruch  
     1636        nenner                          double precision,   --    .. als Bruch 
    19641637        eigentuemerart                  integer, 
    19651638        nummer                          varchar, -- immer leer ? 
     
    19711644-- Filter   istbestandteilvon <> '' or benennt <> '' or bestehtausrechtsverhaeltnissenzu <> '' 
    19721645 
    1973 SELECT AddGeometryColumn('ax_namensnummer','dummy',25832,'POINT',2); 
     1646SELECT AddGeometryColumn('ax_namensnummer','dummy',:alkis_epsg,'POINT',2); 
    19741647 
    19751648-- Verbindungstabellen indizieren 
     
    19891662        endet                   character(20), 
    19901663        advstandardmodell       varchar, 
    1991         anlass                  integer, 
     1664        anlass                  varchar, 
    19921665        buchungsblattkennzeichen        varchar, -- integer 
    19931666        land                    integer, 
     
    19961669        blattart                integer, 
    19971670        art                     varchar, 
    1998         -- "name" character(13),  -- immer leer? 
     1671        -- name character(13),  -- immer leer? 
    19991672        CONSTRAINT ax_buchungsblatt_pk PRIMARY KEY (ogc_fid) 
    20001673); 
    20011674 
    2002 SELECT AddGeometryColumn('ax_buchungsblatt','dummy',25832,'POINT',2); 
     1675SELECT AddGeometryColumn('ax_buchungsblatt','dummy',:alkis_epsg,'POINT',2); 
    20031676 
    20041677-- Index fÃŒr alkis_beziehungen 
    20051678CREATE UNIQUE INDEX ax_buchungsblatt_gml ON ax_buchungsblatt USING btree (gml_id,beginnt); 
     1679CREATE INDEX ax_buchungsblatt_lbb ON ax_buchungsblatt USING btree (land,bezirk,buchungsblattnummermitbuchstabenerweiterung); 
    20061680 
    20071681COMMENT ON TABLE  ax_buchungsblatt        IS 'NREO "Buchungsblatt" enthÀlt die Buchungen (Buchungsstellen und Namensnummern) des Grundbuchs und des Liegenschhaftskatasters (bei buchungsfreien GrundstÃŒcken).'; 
     
    20181692        endet                           character(20), 
    20191693        advstandardmodell               varchar, 
    2020         anlass                          integer, 
     1694        anlass                          varchar, 
    20211695        buchungsart                     integer, 
    2022         laufendenummer                  integer, 
     1696        laufendenummer                  varchar, 
    20231697        beschreibungdesumfangsderbuchung        character(1), 
    20241698        --art                           character(37), 
    20251699        --uri                           character(12), 
    20261700        zaehler                         double precision, 
    2027         nenner                          integer, 
     1701        nenner                          double precision, 
    20281702        nummerimaufteilungsplan         varchar,   -- (32) 
    20291703        beschreibungdessondereigentums  varchar,  -- (291) 
     
    20311705); 
    20321706 
    2033 SELECT AddGeometryColumn('ax_buchungsstelle','dummy',25832,'POINT',2); 
     1707SELECT AddGeometryColumn('ax_buchungsstelle','dummy',:alkis_epsg,'POINT',2); 
    20341708 
    20351709--Index fÃŒr alkis_beziehungen 
     
    20521726-- --------------- 
    20531727-- Kennung 31001 
    2054 -- Abgleich 2011-11-15 mit  
     1728-- Abgleich 2011-11-15 mit 
    20551729--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/ALKIS-OK-NRW_MAX_20090722.html 
    20561730CREATE TABLE ax_gebaeude ( 
     
    20611735        endet                   character(20), 
    20621736        advstandardmodell       varchar[],      -- verÀndert [] 2012-02-03 
    2063         anlass                  integer, 
     1737        anlass                  varchar, 
    20641738        gebaeudefunktion        integer,        -- Werte siehe SchlÃŒsseltabelle 
    2065         weiteregebaeudefunktion integer, 
    2066         "name"                  varchar, 
     1739        weiteregebaeudefunktion integer[], 
     1740        name                    varchar[], 
    20671741--      nutzung                 varchar,        -- ??? 
    20681742        bauweise                integer, 
    20691743        anzahlderoberirdischengeschosse integer, 
    2070         anzahlderunterirdischengeschosse        integer,  
     1744        anzahlderunterirdischengeschosse        integer, 
    20711745        hochhaus                varchar,        -- Neu 2011-11-15  Boolean "true"/"false", meist aber leer 
    20721746        objekthoehe             integer, 
     
    20891763); 
    20901764 
    2091 SELECT AddGeometryColumn('ax_gebaeude','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     1765SELECT AddGeometryColumn('ax_gebaeude','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    20921766 
    20931767CREATE INDEX ax_gebaeude_geom_idx   ON ax_gebaeude USING gist (wkb_geometry); 
    2094 CREATE UNIQUE INDEX ax_gebaeude_gml ON ax_gebaeude USING btree  (gml_id,beginnt); 
     1768CREATE UNIQUE INDEX ax_gebaeude_gml ON ax_gebaeude USING btree (gml_id,beginnt); 
    20951769 
    20961770  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.'; 
    20971771  COMMENT ON COLUMN ax_gebaeude.gml_id             IS 'Identifikator, global eindeutig'; 
    20981772  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.'; 
     1773  COMMENT ON COLUMN ax_gebaeude.weiteregebaeudefunktion IS 'WGF "Weitere GebÀudefunktion" sind weitere Funktionen, die ein GebÀude neben der dominierenden GebÀudefunktion hat.'; 
     1774  COMMENT ON COLUMN ax_gebaeude.name             IS 'NAM "Name" ist der Eigenname oder die Bezeichnung des GebÀudes.'; 
    21011775--COMMENT ON COLUMN ax_gebaeude.nutzung            IS 'NTZ "Nutzung" ist die GebÀudenutzung und enthÀlt den jeweiligen prozentualen Nutzungsanteil an der Gesamtnutzung.'; 
    21021776  COMMENT ON COLUMN ax_gebaeude.bauweise           IS 'BAW "Bauweise" ist die Beschreibung der Art der Bauweise. Werte siehe ax_gebaeude_bauweise'; 
     
    21281802-- Welche sind das? 
    21291803--  CREATE VIEW gebauede_geometrie_multipolygone AS 
    2130 --    SELECT ogc_fid,  
     1804--    SELECT ogc_fid, 
    21311805--           astext(wkb_geometry) AS geometrie 
    21321806--      FROM ax_gebaeude 
     
    21451819        beginnt                 character(20), 
    21461820        endet                   character(20), 
    2147         advstandardmodell       varchar, 
     1821        advstandardmodell       varchar[], 
    21481822        sonstigesmodell         varchar[], 
    2149         anlass                  integer, 
     1823        anlass                  varchar, 
    21501824        bauart                  integer, 
     1825        dachform                integer, 
     1826        anzahlderoberirdischengeschosse integer, 
     1827        anzahlderunterirdischengeschosse        integer, 
    21511828        lagezurerdoberflaeche   integer, 
    21521829        CONSTRAINT ax_bauteil_pk PRIMARY KEY (ogc_fid) 
    21531830); 
    21541831 
    2155 SELECT AddGeometryColumn('ax_bauteil','wkb_geometry',25832,'GEOMETRY',2); 
     1832SELECT AddGeometryColumn('ax_bauteil','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    21561833 
    21571834CREATE INDEX ax_bauteil_geom_idx ON ax_bauteil USING gist (wkb_geometry); 
     
    21721849        endet                   character(20), 
    21731850        advstandardmodell       varchar, 
    2174         beschaffenheit          integer, 
    2175         anlass                  integer, 
     1851        beschaffenheit          integer[], 
     1852        anlass                  varchar, 
    21761853        CONSTRAINT ax_besonderegebaeudelinie_pk PRIMARY KEY (ogc_fid) 
    21771854); 
    21781855 
    2179 SELECT AddGeometryColumn('ax_besonderegebaeudelinie','wkb_geometry',25832,'LINESTRING',2); 
     1856SELECT AddGeometryColumn('ax_besonderegebaeudelinie','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING 
    21801857 
    21811858CREATE INDEX ax_besonderegebaeudelinie_geom_idx ON ax_besonderegebaeudelinie USING gist (wkb_geometry); 
     
    21961873        advstandardmodell       varchar, 
    21971874        sonstigesmodell         varchar, 
    2198         anlass                  integer, 
     1875        anlass                  varchar, 
    21991876        art                     varchar, 
    22001877        uri                     varchar, 
     
    22021879); 
    22031880 
    2204 SELECT AddGeometryColumn('ax_firstlinie','wkb_geometry',25832,'LINESTRING',2); 
     1881SELECT AddGeometryColumn('ax_firstlinie','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    22051882 
    22061883CREATE INDEX ax_firstlinie_geom_idx ON ax_firstlinie USING gist (wkb_geometry); 
     
    22201897        endet                   character(20), 
    22211898        advstandardmodell       varchar, 
    2222         anlass                  integer, 
     1899        anlass                  varchar, 
    22231900        land                    integer, 
    22241901        stelle                  integer, 
    22251902        punktkennung            varchar, -- integer, 
    22261903        art                     varchar, --(37) 
    2227         "name"                  varchar[], 
     1904        name                    varchar[], 
     1905        sonstigeeigenschaft     varchar[], 
    22281906        CONSTRAINT ax_besonderergebaeudepunkt_pk PRIMARY KEY (ogc_fid) 
    22291907); 
    22301908 
    2231 SELECT AddGeometryColumn('ax_besonderergebaeudepunkt','dummy',25832,'POINT',2); 
     1909SELECT AddGeometryColumn('ax_besonderergebaeudepunkt','dummy',:alkis_epsg,'POINT',2); 
    22321910 
    22331911CREATE UNIQUE INDEX ax_besonderergebaeudepunkt_gml ON ax_besonderergebaeudepunkt USING btree (gml_id,beginnt); 
     
    22551933-- W o h n b a u f l a e c h e 
    22561934-- ---------------------------------------------- 
    2257 -- 'WohnbauflÀche' ist eine baulich geprÀgte FlÀche einschließlich der mit ihr im Zusammenhang  
     1935-- 'WohnbauflÀche' ist eine baulich geprÀgte FlÀche einschließlich der mit ihr im Zusammenhang 
    22581936-- stehenden FreiflÀchen (z.B. VorgÀrten, ZiergÀrten, Zufahrten, StellplÀtze und HofraumflÀchen), 
    22591937-- die ausschließlich oder vorwiegend dem Wohnen dient. 
     
    22651943        endet                   character(20), 
    22661944        advstandardmodell       varchar, 
    2267         anlass                  integer, 
     1945        anlass                  varchar, 
    22681946        artderbebauung          integer, 
    22691947        zustand                 integer, 
     
    22721950); 
    22731951 
    2274 SELECT AddGeometryColumn('ax_wohnbauflaeche','wkb_geometry',25832,'GEOMETRY',2); 
     1952SELECT AddGeometryColumn('ax_wohnbauflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    22751953 
    22761954CREATE INDEX ax_wohnbauflaeche_geom_idx ON ax_wohnbauflaeche USING gist (wkb_geometry); 
     
    22951973        endet                   character(20), 
    22961974        advstandardmodell       varchar, 
    2297         anlass                  integer, 
     1975        anlass                  varchar, 
    22981976        funktion                integer, 
    22991977        name                    varchar, 
     
    23051983); 
    23061984 
    2307 SELECT AddGeometryColumn('ax_industrieundgewerbeflaeche','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT 
     1985SELECT AddGeometryColumn('ax_industrieundgewerbeflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT 
    23081986 
    23091987CREATE INDEX ax_industrieundgewerbeflaeche_geom_idx ON ax_industrieundgewerbeflaeche USING gist (wkb_geometry); 
     
    23302008        endet                   character(20), 
    23312009        advstandardmodell       varchar, 
    2332         anlass                  integer, 
     2010        anlass                  varchar, 
    23332011        lagergut                integer, 
    2334         "name"                  varchar, 
     2012        name                    varchar, 
    23352013        zustand                 integer, 
    23362014        CONSTRAINT ax_halde_pk PRIMARY KEY (ogc_fid) 
    23372015); 
    23382016 
    2339 SELECT AddGeometryColumn('ax_halde','wkb_geometry',25832,'GEOMETRY',2); 
     2017SELECT AddGeometryColumn('ax_halde','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    23402018 
    23412019CREATE INDEX ax_halde_geom_idx ON ax_halde USING gist (wkb_geometry); 
     
    23532031-- ------------------------- 
    23542032-- 'Bergbaubetrieb' ist eine FlÀche, die fÃŒr die Förderung des Abbaugutes unter Tage genutzt wird. 
    2355 CREATE 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, 
     2033CREATE TABLE ax_bergbaubetrieb ( 
     2034        ogc_fid                 serial NOT NULL, 
     2035        gml_id                  character(16), 
     2036        identifier              character(44), 
     2037        beginnt                 character(20), 
     2038        endet                   character(20), 
     2039        advstandardmodell       varchar, 
     2040        anlass                  varchar, 
    23632041        abbaugut                integer, 
    2364         "name"                  varchar, 
     2042        name                    varchar, 
    23652043        bezeichnung             varchar, 
    23662044        zustand                 integer, 
     
    23682046); 
    23692047 
    2370 SELECT AddGeometryColumn('ax_bergbaubetrieb','wkb_geometry',25832,'GEOMETRY',2); 
     2048SELECT AddGeometryColumn('ax_bergbaubetrieb','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    23712049 
    23722050CREATE INDEX ax_bergbaubetrieb_geom_idx   ON ax_bergbaubetrieb USING gist  (wkb_geometry); 
     
    23902068        endet                   character(20), 
    23912069        advstandardmodell       varchar, 
    2392         anlass                  integer, 
     2070        anlass                  varchar, 
    23932071        abbaugut                integer, 
    2394         "name"                  varchar, 
     2072        name                    varchar, 
    23952073        zustand                 integer, 
    23962074        CONSTRAINT ax_tagebaugrubesteinbruch_pk PRIMARY KEY (ogc_fid) 
    23972075); 
    23982076 
    2399 SELECT AddGeometryColumn('ax_tagebaugrubesteinbruch','wkb_geometry',25832,'GEOMETRY',2); 
     2077SELECT AddGeometryColumn('ax_tagebaugrubesteinbruch','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    24002078 
    24012079CREATE INDEX ax_tagebaugrubesteinbruch_geom_idx ON ax_tagebaugrubesteinbruch USING gist (wkb_geometry); 
     
    24192097        endet                   character(20), 
    24202098        advstandardmodell       varchar, 
    2421         anlass                  integer, 
     2099        anlass                  varchar, 
    24222100        artderbebauung          integer, 
    24232101        funktion                integer, 
    2424         "name"                  varchar, 
     2102        name                    varchar, 
    24252103        zustand                 integer, 
    24262104        CONSTRAINT ax_flaechegemischternutzung_pk PRIMARY KEY (ogc_fid) 
    24272105); 
    24282106 
    2429 SELECT AddGeometryColumn('ax_flaechegemischternutzung','wkb_geometry',25832,'GEOMETRY',2); 
     2107SELECT AddGeometryColumn('ax_flaechegemischternutzung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    24302108 
    24312109CREATE INDEX ax_flaechegemischternutzung_geom_idx ON ax_flaechegemischternutzung USING gist (wkb_geometry); 
     
    24502128        endet                   character(20), 
    24512129        advstandardmodell       varchar, 
    2452         anlass                  integer, 
     2130        anlass                  varchar, 
    24532131        funktion                integer, 
    24542132        artderbebauung          integer, 
    2455         "name"                  varchar, 
     2133        name                    varchar, 
    24562134        zustand                 integer, 
    24572135        CONSTRAINT ax_flaechebesondererfunktionalerpraegung_pk PRIMARY KEY (ogc_fid) 
    24582136); 
    24592137 
    2460 SELECT AddGeometryColumn('ax_flaechebesondererfunktionalerpraegung','wkb_geometry',25832,'GEOMETRY',2); 
     2138SELECT AddGeometryColumn('ax_flaechebesondererfunktionalerpraegung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    24612139 
    24622140CREATE INDEX ax_flaechebesondererfunktionalerpraegung_geom_idx ON ax_flaechebesondererfunktionalerpraegung USING gist (wkb_geometry); 
     
    24802158        endet                   character(20), 
    24812159        advstandardmodell       varchar, 
    2482         anlass                  integer, 
     2160        anlass                  varchar, 
    24832161        funktion                integer, 
    24842162        zustand                 integer, 
    2485         "name"                  varchar, 
     2163        name                    varchar, 
    24862164        CONSTRAINT ax_sportfreizeitunderholungsflaeche_pk PRIMARY KEY (ogc_fid) 
    24872165); 
    24882166 
    2489 SELECT AddGeometryColumn('ax_sportfreizeitunderholungsflaeche','wkb_geometry',25832,'GEOMETRY',2); 
     2167SELECT AddGeometryColumn('ax_sportfreizeitunderholungsflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    24902168 
    24912169CREATE INDEX ax_sportfreizeitunderholungsflaeche_geom_idx ON ax_sportfreizeitunderholungsflaeche USING gist (wkb_geometry); 
     
    25092187        endet                   character(20), 
    25102188        advstandardmodell       varchar, 
    2511         anlass                  integer, 
     2189        anlass                  varchar, 
    25122190        funktion                integer, 
    2513         "name"                  varchar, 
     2191        name                    varchar, 
    25142192        zustand                 integer, 
    25152193        CONSTRAINT ax_friedhof_pk PRIMARY KEY (ogc_fid) 
    25162194); 
    25172195 
    2518 SELECT AddGeometryColumn('ax_friedhof','wkb_geometry',25832,'GEOMETRY',2); 
     2196SELECT AddGeometryColumn('ax_friedhof','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    25192197 
    25202198CREATE INDEX ax_friedhof_geom_idx ON ax_friedhof USING gist (wkb_geometry); 
     
    25412219        endet                   character(20), 
    25422220        advstandardmodell       varchar, 
    2543         anlass                  integer, 
     2221        anlass                  varchar, 
    25442222        funktion                integer, 
    2545         "name"                  varchar, 
     2223        name                    varchar, 
    25462224        zweitname               varchar, 
    25472225        zustand                 integer, 
     
    25542232); 
    25552233 
    2556 SELECT AddGeometryColumn('ax_strassenverkehr','wkb_geometry',25832,'GEOMETRY',2); 
     2234SELECT AddGeometryColumn('ax_strassenverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    25572235 
    25582236CREATE INDEX ax_strassenverkehr_geom_idx ON ax_strassenverkehr USING gist (wkb_geometry); 
     
    25672245 
    25682246 
    2569 -- W e g  
    2570 -- ---------------------------------------------- 
    2571 -- 'Weg' umfasst alle FlÀchen, die zum Befahren und/oder Begehen vorgesehen sind.  
     2247-- W e g 
     2248-- ---------------------------------------------- 
     2249-- 'Weg' umfasst alle FlÀchen, die zum Befahren und/oder Begehen vorgesehen sind. 
    25722250-- Zum 'Weg' gehören auch Seitenstreifen und GrÀben zur WegentwÀsserung. 
    25732251CREATE TABLE ax_weg ( 
     
    25782256        endet                   character(20), 
    25792257        advstandardmodell       varchar, 
    2580         anlass                  integer, 
     2258        anlass                  varchar, 
    25812259        funktion                integer, 
    25822260        name                    varchar, 
     
    25902268); 
    25912269 
    2592 SELECT AddGeometryColumn('ax_weg','wkb_geometry',25832,'GEOMETRY',2); 
     2270SELECT AddGeometryColumn('ax_weg','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    25932271 
    25942272CREATE INDEX ax_weg_geom_idx ON ax_weg USING gist (wkb_geometry); 
     
    26122290        endet                   character(20), 
    26132291        advstandardmodell       varchar, 
    2614         anlass                  integer, 
     2292        anlass                  varchar, 
    26152293        funktion                integer, 
    2616         "name"                  varchar, 
     2294        name                    varchar, 
    26172295        zweitname               varchar, 
    26182296        land                    integer,        -- neu 2012-02-28 
     
    26242302); 
    26252303 
    2626 SELECT AddGeometryColumn('ax_platz','wkb_geometry',25832,'GEOMETRY',2); 
     2304SELECT AddGeometryColumn('ax_platz','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    26272305 
    26282306CREATE INDEX ax_platz_geom_idx ON ax_platz USING gist (wkb_geometry); 
     
    26362314 
    26372315 
    2638 -- B a h n v e r k e h r  
     2316-- B a h n v e r k e h r 
    26392317-- ---------------------------------------------- 
    26402318CREATE TABLE ax_bahnverkehr ( 
     
    26452323        endet                   character(20), 
    26462324        advstandardmodell       varchar, 
    2647         anlass                  integer, 
     2325        anlass                  varchar, 
    26482326        funktion                integer, 
    26492327        bahnkategorie           integer, 
     
    26552333); 
    26562334 
    2657 SELECT AddGeometryColumn('ax_bahnverkehr','wkb_geometry',25832,'GEOMETRY',2); 
     2335SELECT AddGeometryColumn('ax_bahnverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    26582336 
    26592337CREATE INDEX ax_bahnverkehr_geom_idx ON ax_bahnverkehr USING gist (wkb_geometry); 
     
    26622340COMMENT 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.'; 
    26632341-- FlÀchen von Bahnverkehr sind 
    2664 --  * der Bahnkörper (Unterbau fÃŒr Gleise; bestehend aus DÀmmen oder Einschnitten und deren kleineren Böschungen,  
     2342--  * der Bahnkörper (Unterbau fÃŒr Gleise; bestehend aus DÀmmen oder Einschnitten und deren kleineren Böschungen, 
    26652343--    DurchlÀssen, schmalen GrÀben zur EntwÀsserung, StÃŒtzmauern, Unter- und ÜberfÃŒhrung, Seiten und Schutzstreifen) mit seinen Bahnstrecken 
    26662344--  * an den Bahnkörper angrenzende bebaute und unbebaute FlÀchen (z.B. größere BöschungsflÀchen). 
     
    26842362        endet                   character(20), 
    26852363        advstandardmodell       varchar, 
    2686         anlass                  integer, 
     2364        anlass                  varchar, 
    26872365        funktion                integer, 
    26882366        art                     integer, 
    2689         "name"                  varchar, 
     2367        name                    varchar, 
    26902368        bezeichnung             varchar, 
    26912369        nutzung                 integer, 
     
    26942372); 
    26952373 
    2696 SELECT AddGeometryColumn('ax_flugverkehr','wkb_geometry',25832,'GEOMETRY',2); 
     2374SELECT AddGeometryColumn('ax_flugverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    26972375 
    26982376CREATE INDEX ax_flugverkehr_geom_idx   ON ax_flugverkehr USING gist  (wkb_geometry); 
     
    27182396        endet                   character(20), 
    27192397        advstandardmodell       varchar, 
    2720         anlass                  integer, 
     2398        anlass                  varchar, 
    27212399        funktion                integer, 
    2722         "name"                  varchar, 
     2400        name                    varchar, 
    27232401        zustand                 integer, 
    27242402        CONSTRAINT ax_schiffsverkehr_pk PRIMARY KEY (ogc_fid) 
    27252403); 
    27262404 
    2727 SELECT AddGeometryColumn('ax_schiffsverkehr','wkb_geometry',25832,'GEOMETRY',2); 
     2405SELECT AddGeometryColumn('ax_schiffsverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    27282406 
    27292407CREATE INDEX ax_schiffsverkehr_geom_idx ON ax_schiffsverkehr USING gist (wkb_geometry); 
     
    27502428        endet                   character(20), 
    27512429        advstandardmodell       varchar, 
    2752         anlass                  integer, 
     2430        anlass                  varchar, 
    27532431        vegetationsmerkmal      integer, 
    27542432        name                    varchar, 
     
    27562434); 
    27572435 
    2758 SELECT AddGeometryColumn('ax_landwirtschaft','wkb_geometry',25832,'GEOMETRY',2); 
     2436SELECT AddGeometryColumn('ax_landwirtschaft','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    27592437 
    27602438CREATE INDEX ax_landwirtschaft_geom_idx ON ax_landwirtschaft USING gist (wkb_geometry); 
     
    27672445 
    27682446 
    2769 -- W a l d  
     2447-- W a l d 
    27702448-- ---------------------------------------------- 
    27712449CREATE TABLE ax_wald ( 
     
    27762454        endet                   character(20), 
    27772455        advstandardmodell       varchar, 
    2778         anlass                  integer, 
     2456        anlass                  varchar, 
    27792457        vegetationsmerkmal      integer, 
    27802458        name                    varchar, 
     
    27832461); 
    27842462 
    2785 SELECT AddGeometryColumn('ax_wald','wkb_geometry',25832,'GEOMETRY',2); 
     2463SELECT AddGeometryColumn('ax_wald','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    27862464 
    27872465CREATE INDEX ax_wald_geom_idx ON ax_wald USING gist (wkb_geometry); 
     
    28042482        endet                   character(20), 
    28052483        advstandardmodell       varchar, 
    2806         anlass                  integer, 
     2484        anlass                  varchar, 
    28072485        vegetationsmerkmal      integer, 
    2808         "name"                  varchar, 
     2486        name                    varchar, 
    28092487        funktion                integer, 
    28102488        CONSTRAINT ax_gehoelz_pk PRIMARY KEY (ogc_fid) 
    28112489); 
    28122490 
    2813 SELECT AddGeometryColumn('ax_gehoelz','wkb_geometry',25832,'GEOMETRY',2); 
     2491SELECT AddGeometryColumn('ax_gehoelz','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    28142492 
    28152493CREATE INDEX ax_gehoelz_geom_idx ON ax_gehoelz USING gist (wkb_geometry); 
     
    28332511        endet                   character(20), 
    28342512        advstandardmodell       varchar, 
    2835         anlass                  integer, 
    2836         "name"                  varchar, 
     2513        anlass                  varchar, 
     2514        name                    varchar, 
    28372515        CONSTRAINT ax_heide_pk PRIMARY KEY (ogc_fid) 
    28382516); 
    28392517 
    2840 SELECT AddGeometryColumn('ax_heide','wkb_geometry',25832,'GEOMETRY',2); 
     2518SELECT AddGeometryColumn('ax_heide','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    28412519 
    28422520CREATE INDEX ax_heide_geom_idx ON ax_heide USING gist (wkb_geometry); 
     
    28572535        endet                   character(20), 
    28582536        advstandardmodell       varchar, 
    2859         anlass                  integer, 
    2860         "name"                  varchar, 
     2537        anlass                  varchar, 
     2538        name                    varchar, 
    28612539        CONSTRAINT ax_moor_pk PRIMARY KEY (ogc_fid) 
    28622540); 
    28632541 
    2864 SELECT AddGeometryColumn('ax_moor','wkb_geometry',25832,'GEOMETRY',2); 
     2542SELECT AddGeometryColumn('ax_moor','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    28652543 
    28662544CREATE INDEX ax_moor_geom_idx   ON ax_moor USING gist (wkb_geometry); 
     
    28822560        endet                   character(20), 
    28832561        advstandardmodell       varchar, 
    2884         anlass                  integer, 
    2885         "name"                  varchar, 
     2562        anlass                  varchar, 
     2563        name                    varchar, 
    28862564        CONSTRAINT ax_sumpf_pk PRIMARY KEY (ogc_fid) 
    28872565); 
    28882566 
    2889 SELECT AddGeometryColumn('ax_sumpf','wkb_geometry',25832,'GEOMETRY',2); 
     2567SELECT AddGeometryColumn('ax_sumpf','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    28902568 
    28912569CREATE INDEX ax_sumpf_geom_idx ON ax_sumpf USING gist (wkb_geometry); 
     
    29062584        endet                   character(20), 
    29072585        advstandardmodell       varchar, 
    2908         anlass                  integer, 
     2586        anlass                  varchar, 
    29092587        oberflaechenmaterial    integer, 
    2910         "name"                  varchar, 
     2588        name                    varchar, 
    29112589        funktion                integer, 
    29122590        CONSTRAINT ax_unlandvegetationsloseflaeche_pk PRIMARY KEY (ogc_fid) 
    29132591); 
    29142592 
    2915 SELECT AddGeometryColumn('ax_unlandvegetationsloseflaeche','wkb_geometry',25832,'GEOMETRY',2); 
     2593SELECT AddGeometryColumn('ax_unlandvegetationsloseflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    29162594 
    29172595CREATE INDEX ax_unlandvegetationsloseflaeche_geom_idx ON ax_unlandvegetationsloseflaeche USING gist (wkb_geometry); 
     
    29322610-- F l i e s s g e w a e s s e r 
    29332611-- ---------------------------------------------- 
    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,  
     2612-- 'FließgewÀsser' ist ein geometrisch begrenztes, oberirdisches, auf dem Festland fließendes GewÀsser, 
     2613-- das die Wassermengen sammelt, die als NiederschlÀge auf die ErdoberflÀche fallen oder in Quellen austreten, 
    29362614-- und in ein anderes GewÀsser, ein Meer oder in einen See transportiert 
    29372615--   oder 
    2938 -- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser,  
     2616-- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser, 
    29392617-- das zur Be- und EntwÀsserung an- oder abgeleitet wird 
    29402618--   oder 
    2941 -- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf,  
     2619-- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf, 
    29422620-- der in einem oder in mehreren Abschnitten die jeweils gleiche Höhe des Wasserspiegels besitzt. 
    29432621CREATE TABLE ax_fliessgewaesser ( 
     
    29482626        endet                   character(20), 
    29492627        advstandardmodell       varchar, 
    2950         anlass                  integer, 
     2628        anlass                  varchar, 
    29512629        funktion                integer, 
    2952         "name"                  varchar, 
     2630        name                    varchar, 
    29532631        zustand                 integer, 
    29542632        CONSTRAINT ax_fliessgewaesser_pk PRIMARY KEY (ogc_fid) 
    29552633); 
    29562634 
    2957 SELECT AddGeometryColumn('ax_fliessgewaesser','wkb_geometry',25832,'GEOMETRY',2); 
     2635SELECT AddGeometryColumn('ax_fliessgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    29582636 
    29592637CREATE INDEX ax_fliessgewaesser_geom_idx ON ax_fliessgewaesser USING gist (wkb_geometry); 
     
    29762654        endet                   character(20), 
    29772655        advstandardmodell       varchar, 
    2978         anlass                  integer, 
     2656        anlass                  varchar, 
    29792657        funktion                integer, 
    2980         "name"                  varchar, 
     2658        name                    varchar, 
    29812659        nutzung                 integer, 
    29822660        CONSTRAINT ax_hafenbecken_pk PRIMARY KEY (ogc_fid) 
    29832661); 
    29842662 
    2985 SELECT AddGeometryColumn('ax_hafenbecken','wkb_geometry',25832,'GEOMETRY',2); 
     2663SELECT AddGeometryColumn('ax_hafenbecken','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    29862664 
    29872665CREATE INDEX ax_hafenbecken_geom_idx   ON ax_hafenbecken USING gist  (wkb_geometry); 
     
    29982676-- s t e h e n d e s   G e w a e s s e r 
    29992677-- ---------------------------------------------- 
    3000 -- 'Stehendes GewÀsser' ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte,  
     2678-- 'Stehendes GewÀsser' ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte, 
    30012679-- allseitig umschlossene Hohlform der LandoberflÀche ohne unmittelbaren Zusammenhang mit 'Meer'. 
    30022680CREATE TABLE ax_stehendesgewaesser ( 
     
    30072685        endet                   character(20), 
    30082686        advstandardmodell       varchar, 
    3009         anlass                  integer, 
     2687        anlass                  varchar, 
    30102688        funktion                integer, 
    30112689        name                    varchar, 
     
    30152693); 
    30162694 
    3017 SELECT AddGeometryColumn('ax_stehendesgewaesser','wkb_geometry',25832,'GEOMETRY',2); 
     2695SELECT AddGeometryColumn('ax_stehendesgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    30182696 
    30192697CREATE INDEX ax_stehendesgewaesser_geom_idx ON ax_stehendesgewaesser USING gist (wkb_geometry); 
     
    30372715        endet                   character(20), 
    30382716        advstandardmodell       varchar, 
    3039         anlass                  integer, 
     2717        anlass                  varchar, 
    30402718        funktion                integer, 
    3041         "name"                  varchar, 
     2719        name                    varchar, 
    30422720        bezeichnung             varchar, 
    30432721        tidemerkmal             integer, 
     
    30452723); 
    30462724 
    3047 SELECT AddGeometryColumn('ax_meer','wkb_geometry',25832,'GEOMETRY',2); 
     2725SELECT AddGeometryColumn('ax_meer','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    30482726 
    30492727CREATE INDEX ax_meer_geom_idx ON ax_meer USING gist (wkb_geometry); 
     
    30922770        endet                   character(20), 
    30932771        advstandardmodell       varchar, 
    3094         anlass                  integer, 
     2772        anlass                  varchar, 
    30952773        bauwerksfunktion        integer, 
     2774        zustand                 integer, 
     2775        name                    varchar, 
    30962776        CONSTRAINT ax_turm_pk PRIMARY KEY (ogc_fid) 
    30972777); 
    30982778 
    3099 SELECT AddGeometryColumn('ax_turm','wkb_geometry',25832,'GEOMETRY',2); 
     2779SELECT AddGeometryColumn('ax_turm','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    31002780 
    31012781CREATE INDEX ax_turm_geom_idx ON ax_turm USING gist (wkb_geometry); 
     
    31152795        endet                   character(20), 
    31162796        advstandardmodell       varchar, 
    3117         anlass                  integer, 
     2797        anlass                  varchar, 
    31182798        bauwerksfunktion        integer, 
     2799        name                    varchar, 
     2800        zustand                 integer, 
     2801        objekthoehe             double precision, 
    31192802        CONSTRAINT ax_bauwerkoderanlagefuerindustrieundgewerbe_pk PRIMARY KEY (ogc_fid) 
    31202803); 
    31212804 
    3122 SELECT AddGeometryColumn('ax_bauwerkoderanlagefuerindustrieundgewerbe','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT 
     2805SELECT AddGeometryColumn('ax_bauwerkoderanlagefuerindustrieundgewerbe','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT 
    31232806 
    31242807CREATE INDEX ax_bauwerkoderanlagefuerindustrieundgewerbe_geom_idx ON ax_bauwerkoderanlagefuerindustrieundgewerbe USING gist (wkb_geometry); 
     
    31382821        endet                   character(20), 
    31392822        advstandardmodell       varchar, 
    3140         anlass                  integer, 
     2823        anlass                  varchar, 
    31412824        speicherinhalt          integer, 
    31422825        bauwerksfunktion        integer, 
     2826        lagezurerdoberflaeche   integer, 
     2827        name                    varchar, 
    31432828        CONSTRAINT ax_vorratsbehaelterspeicherbauwerk_pk PRIMARY KEY (ogc_fid) 
    31442829); 
    31452830 
    3146 SELECT AddGeometryColumn('ax_vorratsbehaelterspeicherbauwerk','wkb_geometry',25832,'GEOMETRY',2); 
     2831SELECT AddGeometryColumn('ax_vorratsbehaelterspeicherbauwerk','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    31472832 
    31482833CREATE INDEX ax_vorratsbehaelterspeicherbauwerk_geom_idx ON ax_vorratsbehaelterspeicherbauwerk USING gist (wkb_geometry); 
     
    31622847        endet                   character(20), 
    31632848        advstandardmodell       varchar, 
    3164         anlass                  integer, 
     2849        anlass                  varchar, 
    31652850        bauwerksfunktion        integer, 
    31662851        lagezurerdoberflaeche   integer, 
    31672852        art                     varchar,  --(15) 
    3168         "name"                  varchar,  -- (3) "NPL", "RMR" 
     2853        name                    varchar,  -- (3) "NPL", "RMR" 
     2854        produkt                 integer, 
    31692855        CONSTRAINT ax_transportanlage_pk PRIMARY KEY (ogc_fid) 
    31702856); 
    31712857 
    3172 SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',25832,'LINESTRING',2); 
     2858SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    31732859 
    31742860CREATE INDEX ax_transportanlage_geom_idx ON ax_transportanlage USING gist (wkb_geometry); 
     
    31882874        endet                   character(20), 
    31892875        advstandardmodell       varchar, 
    3190         anlass                  integer, 
     2876        anlass                  varchar, 
    31912877        bauwerksfunktion        integer, 
    31922878        spannungsebene          integer, 
     
    31942880); 
    31952881 
    3196 SELECT AddGeometryColumn('ax_leitung','wkb_geometry',25832,'LINESTRING',2); 
     2882SELECT AddGeometryColumn('ax_leitung','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    31972883 
    31982884CREATE INDEX ax_leitung_geom_idx ON ax_leitung USING gist (wkb_geometry); 
     
    32122898        endet                   character(20), 
    32132899        advstandardmodell       varchar, 
    3214         anlass                  integer, 
     2900        anlass                  varchar, 
    32152901        bauwerksfunktion        integer, 
    3216         -- "name"               varchar, 
     2902        sportart                integer, 
     2903        name                    varchar, 
    32172904        CONSTRAINT ax_bauwerkoderanlagefuersportfreizeitunderholung_pk PRIMARY KEY (ogc_fid) 
    32182905); 
    32192906 
    3220 SELECT AddGeometryColumn('ax_bauwerkoderanlagefuersportfreizeitunderholung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT 
     2907SELECT AddGeometryColumn('ax_bauwerkoderanlagefuersportfreizeitunderholung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT 
    32212908 
    32222909CREATE INDEX ax_bauwerkoderanlagefuersportfreizeitunderholung_geom_idx ON ax_bauwerkoderanlagefuersportfreizeitunderholung USING gist (wkb_geometry); 
     
    32372924        advstandardmodell       varchar, 
    32382925        sonstigesmodell         varchar[], 
    3239         anlass                  integer, 
     2926        anlass                  varchar, 
    32402927        archaeologischertyp     integer, 
     2928        name                    varchar, 
    32412929        CONSTRAINT ax_historischesbauwerkoderhistorischeeinrichtung_pk PRIMARY KEY (ogc_fid) 
    32422930); 
    32432931 
    3244 SELECT AddGeometryColumn('ax_historischesbauwerkoderhistorischeeinrichtung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT 
     2932SELECT AddGeometryColumn('ax_historischesbauwerkoderhistorischeeinrichtung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT 
    32452933 
    32462934CREATE INDEX ax_historischesbauwerkoderhistorischeeinrichtung_geom_idx ON ax_historischesbauwerkoderhistorischeeinrichtung USING gist (wkb_geometry); 
     
    32612949        advstandardmodell       varchar, 
    32622950        sonstigesmodell         varchar, 
    3263         anlass                  integer, 
     2951        anlass                  varchar, 
    32642952        art                     integer, 
    3265         "name"                  varchar, 
     2953        name                    varchar, 
    32662954        CONSTRAINT ax_heilquellegasquelle_pk PRIMARY KEY (ogc_fid) 
    32672955); 
    32682956 
    3269 SELECT AddGeometryColumn('ax_heilquellegasquelle','wkb_geometry',25832,'POINT',2); 
     2957SELECT AddGeometryColumn('ax_heilquellegasquelle','wkb_geometry',:alkis_epsg,'POINT',2); 
    32702958 
    32712959CREATE INDEX ax_heilquellegasquelle_geom_idx ON ax_heilquellegasquelle USING gist (wkb_geometry); 
     
    32852973        endet                   character(20), 
    32862974        advstandardmodell       varchar, 
    3287         anlass                  integer, 
     2975        anlass                  varchar, 
    32882976--      art                     varchar,        -- Inhalt = "urn:adv:fachdatenverbindung:AA_Antrag" oder leer, wozu? 
    32892977        description             integer,                -- neu 03.02.2012 
    3290         "name"                  varchar,        -- Lippe immer leer, RLP "Relationsbelegung bei Nachmigration" 
     2978        name                    varchar,        -- Lippe immer leer, RLP "Relationsbelegung bei Nachmigration" 
    32912979        bauwerksfunktion        integer, 
    32922980        CONSTRAINT ax_sonstigesbauwerkodersonstigeeinrichtung_pk PRIMARY KEY (ogc_fid) 
    32932981); 
    32942982 
    3295 SELECT AddGeometryColumn('ax_sonstigesbauwerkodersonstigeeinrichtung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/LINESTRING 
     2983SELECT AddGeometryColumn('ax_sonstigesbauwerkodersonstigeeinrichtung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/LINESTRING 
    32962984 
    32972985CREATE INDEX ax_sonstigesbauwerkodersonstigeeinrichtung_geom_idx ON ax_sonstigesbauwerkodersonstigeeinrichtung USING gist (wkb_geometry); 
     
    33022990 
    33032991 
    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  
     2992-- 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 
    33052993-- ------------------------------------------------------------------------ 
    33062994CREATE TABLE ax_einrichtunginoeffentlichenbereichen ( 
     
    33112999        endet                   character(20), 
    33123000        sonstigesmodell         varchar, 
    3313         anlass                  integer, 
     3001        anlass                  varchar, 
    33143002        art                     integer, 
     3003        kilometerangabe         varchar, 
    33153004        CONSTRAINT ax_einrichtunginoeffentlichenbereichen_pk PRIMARY KEY (ogc_fid) 
    33163005); 
    33173006 
    3318 SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',25832,'POINT',2); 
     3007SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',:alkis_epsg,'POINT',2); 
    33193008 
    33203009CREATE INDEX ax_einrichtunginoeffentlichenbereichen_geom_idx ON ax_einrichtunginoeffentlichenbereichen USING gist (wkb_geometry); 
     
    33343023        endet                   character(20), 
    33353024        advstandardmodell       varchar, 
    3336         anlass                  integer, 
     3025        anlass                  varchar, 
    33373026        punktkennung            varchar, -- integer, 
    33383027        land                    integer, 
    33393028        stelle                  integer, 
    3340         --sonstigeeigenschaft   character(26), 
     3029        sonstigeeigenschaft     varchar[], 
    33413030        CONSTRAINT ax_besondererbauwerkspunkt_pk PRIMARY KEY (ogc_fid) 
    33423031); 
    33433032 
    3344 SELECT AddGeometryColumn('ax_besondererbauwerkspunkt','dummy',25832,'POINT',2); 
     3033SELECT AddGeometryColumn('ax_besondererbauwerkspunkt','dummy',:alkis_epsg,'POINT',2); 
    33453034 
    33463035CREATE UNIQUE INDEX ax_besondererbauwerkspunkt_gml ON ax_besondererbauwerkspunkt USING btree (gml_id,beginnt); 
     
    33653054        endet                   character(20), 
    33663055        advstandardmodell       varchar, 
    3367         anlass                  integer, 
     3056        anlass                  varchar, 
    33683057        bauwerksfunktion        integer, 
     3058        name                    varchar, 
     3059        zustand                 integer, 
    33693060        CONSTRAINT ax_bauwerkimverkehrsbereich_pk PRIMARY KEY (ogc_fid) 
    33703061); 
    33713062 
    3372 SELECT AddGeometryColumn('ax_bauwerkimverkehrsbereich','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     3063SELECT AddGeometryColumn('ax_bauwerkimverkehrsbereich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    33733064 
    33743065CREATE INDEX ax_bauwerkimverkehrsbereich_geom_idx ON ax_bauwerkimverkehrsbereich USING gist (wkb_geometry); 
     
    33883079        advstandardmodell       varchar, 
    33893080        sonstigesmodell         varchar[], 
    3390         anlass                  integer, 
    3391         art                     integer  
    3392 ); 
    3393  
    3394 SELECT AddGeometryColumn('ax_strassenverkehrsanlage','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/MULTIPOLYGON 
     3081        anlass                  varchar, 
     3082        art                     integer, 
     3083        bezeichnung             varchar, 
     3084        name                    varchar, 
     3085        CONSTRAINT ax_strassenverkehrsanlage_pk PRIMARY KEY (ogc_fid) 
     3086); 
     3087 
     3088SELECT AddGeometryColumn('ax_strassenverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTIPOLYGON 
    33953089 
    33963090CREATE INDEX ax_strassenverkehrsanlage_geom_idx ON ax_strassenverkehrsanlage USING gist (wkb_geometry); 
     
    34113105        advstandardmodell       varchar, 
    34123106        sonstigesmodell         varchar[], 
    3413         anlass                  integer, 
     3107        anlass                  varchar, 
    34143108        art                     integer, 
     3109        name                    varchar, 
    34153110        CONSTRAINT ax_wegpfadsteig_pk PRIMARY KEY (ogc_fid) 
    34163111); 
    34173112 
    3418 SELECT AddGeometryColumn('ax_wegpfadsteig','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON 
     3113SELECT AddGeometryColumn('ax_wegpfadsteig','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON 
    34193114 
    34203115CREATE INDEX ax_wegpfadsteig_geom_idx ON ax_wegpfadsteig USING gist (wkb_geometry); 
     
    34343129        advstandardmodell       varchar, 
    34353130        sonstigesmodell         varchar[], 
    3436         anlass                  integer, 
     3131        anlass                  varchar, 
    34373132        bahnhofskategorie       integer, 
    34383133        bahnkategorie           integer, 
     3134        name                    varchar, 
    34393135        CONSTRAINT ax_bahnverkehrsanlage_pk PRIMARY KEY (ogc_fid) 
    34403136); 
    34413137 
    3442 SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',25832,'POINT',2); 
     3138SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',:alkis_epsg,'POINT',2); 
    34433139 
    34443140CREATE INDEX ax_bahnverkehrsanlage_geom_idx ON ax_bahnverkehrsanlage USING gist (wkb_geometry); 
     
    34633159        advstandardmodell       varchar, 
    34643160        sonstigesmodell         varchar[], 
    3465         anlass                  integer, 
     3161        anlass                  varchar, 
    34663162        bahnkategorie           integer, 
     3163        art                     integer, 
     3164        lagezuroberflaeche      integer, 
     3165        name                    varchar, 
    34673166        CONSTRAINT ax_gleis_pk PRIMARY KEY (ogc_fid) 
    34683167); 
    34693168 
    3470 SELECT AddGeometryColumn('ax_gleis','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON 
     3169SELECT AddGeometryColumn('ax_gleis','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON 
    34713170 
    34723171CREATE INDEX ax_gleis_geom_idx ON ax_gleis USING gist (wkb_geometry); 
     
    34873186        advstandardmodell       varchar, 
    34883187        sonstigesmodell         varchar, 
    3489         anlass                  integer, 
     3188        anlass                  varchar, 
    34903189        art                     integer, 
    34913190        oberflaechenmaterial    integer, 
    3492         "name"                  varchar, 
     3191        name                    varchar, 
    34933192        CONSTRAINT ax_flugverkehrsanlage_pk PRIMARY KEY (ogc_fid) 
    34943193); 
    34953194 
    3496 SELECT AddGeometryColumn('ax_flugverkehrsanlage','wkb_geometry',25832,'GEOMETRY',2); 
     3195SELECT AddGeometryColumn('ax_flugverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    34973196 
    34983197CREATE INDEX ax_flugverkehrsanlage_geom_idx ON ax_flugverkehrsanlage USING gist (wkb_geometry); 
     
    35163215        endet                   character(20), 
    35173216        advstandardmodell       varchar, 
    3518         anlass                  integer, 
     3217        anlass                  varchar, 
    35193218        bauwerksfunktion        integer, 
     3219        name                    varchar, 
     3220        zustand                 integer, 
    35203221        CONSTRAINT ax_bauwerkimgewaesserbereich_pk PRIMARY KEY (ogc_fid) 
    35213222); 
    35223223 
    3523 SELECT AddGeometryColumn('ax_bauwerkimgewaesserbereich','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POINT 
     3224SELECT AddGeometryColumn('ax_bauwerkimgewaesserbereich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POINT 
    35243225 
    35253226CREATE INDEX ax_bauwerkimgewaesserbereich_geom_idx ON ax_bauwerkimgewaesserbereich USING gist (wkb_geometry); 
     
    35423243        endet                   character(20), 
    35433244        advstandardmodell       varchar, 
    3544         anlass                  integer, 
     3245        anlass                  varchar, 
    35453246        bewuchs                 integer, 
     3247        zustand                 integer, 
     3248        name                    varchar, 
    35463249        CONSTRAINT ax_vegetationsmerkmal_pk PRIMARY KEY (ogc_fid) 
    35473250); 
    35483251 
    3549 SELECT AddGeometryColumn('ax_vegetationsmerkmal','wkb_geometry',25832,'GEOMETRY',2); 
     3252SELECT AddGeometryColumn('ax_vegetationsmerkmal','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    35503253 
    35513254CREATE INDEX ax_vegetationsmerkmal_geom_idx ON ax_vegetationsmerkmal USING gist (wkb_geometry); 
     
    35683271        endet                   character(20), 
    35693272        advstandardmodell       varchar, 
    3570         anlass                  integer, 
     3273        anlass                  varchar, 
    35713274        art                     integer, 
     3275        name                    varchar, 
    35723276        CONSTRAINT ax_gewaessermerkmal_pk PRIMARY KEY (ogc_fid) 
    35733277); 
    35743278 
    3575 SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',25832,'POINT',2); 
     3279SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',:alkis_epsg,'POINT',2); 
    35763280 
    35773281CREATE INDEX ax_gewaessermerkmal_geom_idx ON ax_gewaessermerkmal USING gist (wkb_geometry); 
     
    35913295        endet                   character(20), 
    35923296        advstandardmodell       varchar, 
    3593         anlass                  integer, 
     3297        anlass                  varchar, 
    35943298        funktion                integer, 
     3299        lagezurerdoberflaeche   integer, 
     3300        hydrologischesmerkmal   integer, 
     3301        name                    varchar, 
    35953302        CONSTRAINT ax_untergeordnetesgewaesser_pk PRIMARY KEY (ogc_fid) 
    35963303); 
    35973304 
    3598 SELECT AddGeometryColumn('ax_untergeordnetesgewaesser','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON 
     3305SELECT AddGeometryColumn('ax_untergeordnetesgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON 
    35993306 
    36003307CREATE INDEX ax_untergeordnetesgewaesser_geom_idx ON ax_untergeordnetesgewaesser USING gist (wkb_geometry); 
     
    36303337        ogc_fid                 serial NOT NULL, 
    36313338        gml_id                  character(16), 
     3339        identifier              character(44), 
    36323340        beginnt                 character(20), 
    36333341        endet                   character(20), 
    36343342        advstandardmodell       varchar, 
    36353343        sonstigesmodell         varchar[], 
    3636         anlass                  integer 
    3637 ); 
    3638  
    3639 SELECT AddGeometryColumn('ax_boeschungkliff','dummy',25832,'POINT',2); 
     3344        anlass                  varchar 
     3345); 
     3346 
     3347SELECT AddGeometryColumn('ax_boeschungkliff','dummy',:alkis_epsg,'POINT',2); 
    36403348 
    36413349CREATE UNIQUE INDEX ax_boeschungkliff_gml ON ax_boeschungkliff USING btree (gml_id,beginnt); 
     
    36513359        ogc_fid                 serial NOT NULL, 
    36523360        gml_id                  character(16), 
     3361        identifier              character(44), 
    36533362        beginnt                 character(20), 
    36543363        endet                   character(20), 
    36553364        advstandardmodell       varchar, 
    36563365        sonstigesmodell         varchar[], 
    3657         anlass                  integer, 
     3366        anlass                  varchar, 
    36583367        CONSTRAINT ax_boeschungsflaeche_pk PRIMARY KEY (ogc_fid) 
    36593368); 
    36603369 
    3661 SELECT AddGeometryColumn('ax_boeschungsflaeche','wkb_geometry',25832,'GEOMETRY',2); 
     3370SELECT AddGeometryColumn('ax_boeschungsflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    36623371 
    36633372CREATE INDEX ax_boeschungsflaeche_geom_idx ON ax_boeschungsflaeche USING gist (wkb_geometry); 
     
    36773386        endet                   character(20), 
    36783387        advstandardmodell       varchar, 
    3679         anlass                  integer, 
     3388        anlass                  varchar, 
    36803389        art                     integer, 
     3390        name                    varchar, 
    36813391        CONSTRAINT ax_dammwalldeich_pk PRIMARY KEY (ogc_fid) 
    36823392); 
    36833393 
    3684 SELECT AddGeometryColumn('ax_dammwalldeich','wkb_geometry',25832,'GEOMETRY',2); -- LINESTRING/POLYGON 
     3394SELECT AddGeometryColumn('ax_dammwalldeich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON 
    36853395 
    36863396CREATE INDEX ax_dammwalldeich_geom_idx ON ax_dammwalldeich USING gist (wkb_geometry); 
     
    37053415        endet                   character(20), 
    37063416        advstandardmodell       varchar, 
    3707         anlass                  integer, 
     3417        anlass                  varchar, 
    37083418        name                    varchar, 
    37093419        CONSTRAINT ax_felsenfelsblockfelsnadel_pk PRIMARY KEY (ogc_fid) 
    37103420); 
    37113421 
    3712 SELECT AddGeometryColumn('ax_felsenfelsblockfelsnadel','wkb_geometry',25832,'GEOMETRY',2); 
     3422SELECT AddGeometryColumn('ax_felsenfelsblockfelsnadel','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    37133423 
    37143424CREATE INDEX ax_felsenfelsblockfelsnadel_geom_idx ON ax_felsenfelsblockfelsnadel USING gist (wkb_geometry); 
     
    37483458        advstandardmodell       varchar, 
    37493459        sonstigesmodell         varchar, 
    3750         anlass                  integer, 
    3751         istteilvon              character varying, -- Beziehung? 
     3460        anlass                  varchar, 
     3461        istteilvon              varchar, -- Beziehung? 
    37523462        artdergelaendekante     integer, 
    37533463        ax_dqerfassungsmethode  integer, 
    37543464        identifikation          integer, 
     3465        art                     integer, 
    37553466        CONSTRAINT ax_gelaendekante_pk PRIMARY KEY (ogc_fid) 
    37563467); 
    37573468 
    3758 SELECT AddGeometryColumn('ax_gelaendekante','wkb_geometry',25832,'LINESTRING',2); 
     3469SELECT AddGeometryColumn('ax_gelaendekante','wkb_geometry',:alkis_epsg,'LINESTRING',2); 
    37593470 
    37603471CREATE INDEX ax_gelaendekante_geom_idx ON ax_gelaendekante USING gist (wkb_geometry); 
     
    37793490        advstandardmodell       varchar, 
    37803491        sonstigesmodell         varchar, 
    3781         anlass                  integer, 
     3492        anlass                  varchar, 
    37823493        besonderebedeutung      integer, 
    37833494        CONSTRAINT ax_besondererhoehenpunkt_pk PRIMARY KEY (ogc_fid) 
    37843495); 
    37853496 
    3786 SELECT AddGeometryColumn('ax_besondererhoehenpunkt','wkb_geometry',25832,'POINT',2); 
     3497SELECT AddGeometryColumn('ax_besondererhoehenpunkt','wkb_geometry',:alkis_epsg,'POINT',2); 
    37873498 
    37883499CREATE INDEX ax_besondererhoehenpunkt_geom_idx ON ax_besondererhoehenpunkt USING gist (wkb_geometry); 
     
    38143525        endet                   character(20), 
    38153526        advstandardmodell       varchar, 
    3816         anlass                  integer, 
    3817         artderfestlegung        integer, 
    3818         bezeichnung             varchar, 
    3819         CONSTRAINT ax_klassifizierungnachstrassenrecht_pk PRIMARY KEY (ogc_fid) 
    3820 ); 
    3821  
    3822 SELECT AddGeometryColumn('ax_klassifizierungnachstrassenrecht','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    3823  
    3824 CREATE INDEX ax_klassifizierungnachstrassenrecht_geom_idx   ON ax_klassifizierungnachstrassenrecht USING gist  (wkb_geometry); 
    3825 CREATE UNIQUE INDEX ax_klassifizierungnachstrassenrecht_gml ON ax_klassifizierungnachstrassenrecht USING btree (gml_id,beginnt); 
    3826  
    3827 COMMENT 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'; 
    3828 COMMENT 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 -- --------------------------------------------------------------- 
    3833 CREATE 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  
    3845 SELECT AddGeometryColumn('ax_klassifizierungnachwasserrecht','wkb_geometry',25832,'GEOMETRY',2); 
    3846  
    3847 CREATE INDEX ax_klassifizierungnachwasserrecht_geom_idx ON ax_klassifizierungnachwasserrecht USING gist (wkb_geometry); 
    3848  
    3849 COMMENT 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'; 
    3850 COMMENT 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. 
    3857 CREATE 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  
    3874 SELECT AddGeometryColumn('ax_bauraumoderbodenordnungsrecht','wkb_geometry',25832,'GEOMETRY',2); 
    3875  
    3876 CREATE INDEX ax_bauraumoderbodenordnungsrecht_geom_idx ON ax_bauraumoderbodenordnungsrecht USING gist (wkb_geometry); 
    3877 CREATE UNIQUE INDEX ax_bauraumoderbodenordnungsrecht_gml ON ax_bauraumoderbodenordnungsrecht USING btree (gml_id,beginnt); 
    3878  
    3879 COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht             IS 'REO: Bau-, Raum- oder Bodenordnungsrecht'; 
    3880 COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.gml_id      IS 'Identifikator, global eindeutig'; 
    3881 COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.artderfestlegung IS 'ADF'; 
    3882 COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht."name"      IS 'NAM, Eigenname von "Bau-, Raum- oder Bodenordnungsrecht"'; 
    3883 COMMENT 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 -- ----------------------------- 
    3888 CREATE 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, 
     3527        anlass                  varchar, 
    38963528        artderfestlegung        integer, 
    38973529        land                    integer, 
    38983530        stelle                  varchar, 
    38993531        bezeichnung             varchar, 
    3900         characterstring         integer, 
     3532        CONSTRAINT ax_klassifizierungnachstrassenrecht_pk PRIMARY KEY (ogc_fid) 
     3533); 
     3534 
     3535SELECT AddGeometryColumn('ax_klassifizierungnachstrassenrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     3536 
     3537CREATE INDEX ax_klassifizierungnachstrassenrecht_geom_idx   ON ax_klassifizierungnachstrassenrecht USING gist  (wkb_geometry); 
     3538CREATE UNIQUE INDEX ax_klassifizierungnachstrassenrecht_gml ON ax_klassifizierungnachstrassenrecht USING btree (gml_id,beginnt); 
     3539CREATE INDEX ax_klassifizierungnachstrassenrecht_afs ON ax_klassifizierungnachstrassenrecht(land,stelle); 
     3540 
     3541COMMENT 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'; 
     3542COMMENT ON COLUMN ax_klassifizierungnachstrassenrecht.gml_id IS 'Identifikator, global eindeutig'; 
     3543 
     3544 
     3545-- 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 
     3546-- --------------------------------------------------------------- 
     3547CREATE TABLE ax_klassifizierungnachwasserrecht ( 
     3548        ogc_fid                 serial NOT NULL, 
     3549        gml_id                  character(16), 
     3550        identifier              character(44), 
     3551        beginnt                 character(20), 
     3552        endet                   character(20), 
     3553        advstandardmodell       varchar, 
     3554        anlass                  varchar, 
     3555        artderfestlegung        integer, 
     3556        land                    integer, 
     3557        stelle                  varchar, 
     3558        CONSTRAINT ax_klassifizierungnachwasserrecht_pk PRIMARY KEY (ogc_fid) 
     3559); 
     3560 
     3561SELECT AddGeometryColumn('ax_klassifizierungnachwasserrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
     3562 
     3563CREATE INDEX ax_klassifizierungnachwasserrecht_geom_idx ON ax_klassifizierungnachwasserrecht USING gist (wkb_geometry); 
     3564CREATE INDEX ax_klassifizierungnachwasserrecht_afs ON ax_klassifizierungnachwasserrecht(land,stelle); 
     3565 
     3566COMMENT 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'; 
     3567COMMENT ON COLUMN ax_klassifizierungnachwasserrecht.gml_id IS 'Identifikator, global eindeutig'; 
     3568 
     3569 
     3570-- 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 
     3571-- --------------------------------------------------------------------- 
     3572-- 'Bau-, Raum- oder Bodenordnungsrecht' ist ein fachlich ÃŒbergeordnetes Gebiet von FlÀchen 
     3573-- mit bodenbezogenen BeschrÀnkungen, Belastungen oder anderen Eigenschaften nach öffentlichen Vorschriften. 
     3574CREATE TABLE ax_bauraumoderbodenordnungsrecht ( 
     3575        ogc_fid                 serial NOT NULL, 
     3576        gml_id                  character(16), 
     3577        identifier              character(44), 
     3578        beginnt                 character(20), 
     3579        endet                   character(20), 
     3580        advstandardmodell       varchar, 
     3581        anlass                  varchar, 
     3582        art                     varchar, -- (15) 
     3583        name                    varchar, 
     3584        artderfestlegung        integer, 
     3585        land                    integer, 
     3586        stelle                  varchar, 
     3587        bezeichnung             varchar, 
     3588        CONSTRAINT ax_bauraumoderbodenordnungsrecht_pk PRIMARY KEY (ogc_fid) 
     3589); 
     3590 
     3591SELECT AddGeometryColumn('ax_bauraumoderbodenordnungsrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
     3592 
     3593CREATE INDEX ax_bauraumoderbodenordnungsrecht_geom_idx ON ax_bauraumoderbodenordnungsrecht USING gist (wkb_geometry); 
     3594CREATE UNIQUE INDEX ax_bauraumoderbodenordnungsrecht_gml ON ax_bauraumoderbodenordnungsrecht USING btree (gml_id,beginnt); 
     3595 
     3596COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht             IS 'REO: Bau-, Raum- oder Bodenordnungsrecht'; 
     3597COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.gml_id      IS 'Identifikator, global eindeutig'; 
     3598COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.artderfestlegung IS 'ADF'; 
     3599COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.name      IS 'NAM, Eigenname von "Bau-, Raum- oder Bodenordnungsrecht"'; 
     3600COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.bezeichnung IS 'BEZ, Amtlich festgelegte VerschlÃŒsselung von "Bau-, Raum- oder Bodenordnungsrecht"'; 
     3601 
     3602 
     3603-- S o n s t i g e s   R e c h t 
     3604-- ----------------------------- 
     3605CREATE TABLE ax_sonstigesrecht ( 
     3606        ogc_fid                 serial NOT NULL, 
     3607        gml_id                  character(16), 
     3608        identifier              character(44), 
     3609        beginnt                 character(20), 
     3610        endet                   character(20), 
     3611        advstandardmodell       varchar, 
     3612        anlass                  varchar, 
     3613        artderfestlegung        integer, 
     3614        land                    integer, 
     3615        stelle                  varchar, 
     3616        bezeichnung             varchar, 
     3617        characterstring         varchar, 
    39013618        art                     varchar,  --(15) 
    3902         "name"                  varchar, 
     3619        name                    varchar, 
    39033620--      "qualitaetsangaben|ax_dqmitdatenerhebung|herkunft|li_lineage|pro" varchar, 
    39043621--      datetime                varchar, 
     
    39063623); 
    39073624 
    3908 SELECT AddGeometryColumn('ax_sonstigesrecht','wkb_geometry',25832,'GEOMETRY',2); 
     3625SELECT AddGeometryColumn('ax_sonstigesrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    39093626 
    39103627CREATE INDEX ax_sonstigesrecht_geom_idx ON ax_sonstigesrecht USING gist (wkb_geometry); 
     
    39283645        endet                           character(20), 
    39293646        advstandardmodell               varchar, 
    3930         anlass                          integer, 
     3647        anlass                          varchar, 
    39313648        art                             varchar, -- (15) 
    3932         "name"                          varchar, 
     3649        name                            varchar, 
    39333650        kulturart                       integer, 
    39343651        bodenart                        integer, 
     
    39373654        bodenzahlodergruenlandgrundzahl integer, 
    39383655        ackerzahlodergruenlandzahl      integer, 
    3939         sonstigeangaben                 integer, 
     3656        sonstigeangaben                 integer[], 
    39403657        jahreszahl                      integer, 
    39413658        CONSTRAINT ax_bodenschaetzung_pk PRIMARY KEY (ogc_fid) 
    39423659); 
    39433660 
    3944 SELECT AddGeometryColumn('ax_bodenschaetzung','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
     3661SELECT AddGeometryColumn('ax_bodenschaetzung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON 
    39453662 
    39463663CREATE INDEX ax_bodenschaetzung_geom_idx ON ax_bodenschaetzung USING gist (wkb_geometry); 
     
    39573674        gml_id                          character(16), 
    39583675        identifier                      character(44), 
    3959         beginnt                         character(20),  
    3960         endet                           character(20),  
     3676        beginnt                         character(20), 
     3677        endet                           character(20), 
    39613678        advstandardmodell               varchar, 
    3962         anlass                          integer, 
     3679        anlass                          varchar, 
    39633680        merkmal                         integer, 
    39643681        nummer                          integer, 
     
    39703687        ackerzahlodergruenlandzahl      integer, 
    39713688        art                             varchar,  -- (15) 
    3972         "name"                          varchar, 
     3689        name                            varchar, 
    39733690        CONSTRAINT ax_musterlandesmusterundvergleichsstueck_pk PRIMARY KEY (ogc_fid) 
    39743691); 
    39753692 
    39763693 
    3977 SELECT AddGeometryColumn('ax_musterlandesmusterundvergleichsstueck','wkb_geometry',25832,'GEOMETRY',2); -- POLYGON/POINT 
     3694SELECT AddGeometryColumn('ax_musterlandesmusterundvergleichsstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT 
    39783695 
    39793696CREATE INDEX ax_musterlandesmusterundvergleichsstueck_geom_idx ON ax_musterlandesmusterundvergleichsstueck USING gist (wkb_geometry); 
     
    39973714        endet                   character(20), 
    39983715        advstandardmodell       varchar, 
    3999         anlass                  integer, 
     3716        anlass                  varchar, 
    40003717        schluesselgesamt        integer, 
    40013718        bezeichnung             varchar, --(22) 
    40023719        land                    integer, 
     3720        stelle                  varchar, 
    40033721        CONSTRAINT ax_bundesland_pk PRIMARY KEY (ogc_fid) 
    40043722); 
    40053723 
    4006 SELECT AddGeometryColumn('ax_bundesland','dummy',25832,'POINT',2); 
     3724SELECT AddGeometryColumn('ax_bundesland','dummy',:alkis_epsg,'POINT',2); 
    40073725 
    40083726CREATE UNIQUE INDEX ax_bundesland_gml ON ax_bundesland USING btree (gml_id,beginnt); 
     
    40213739        endet                           character(20), 
    40223740        advstandardmodell               varchar, 
    4023         anlass                          integer, 
     3741        anlass                          varchar, 
    40243742        schluesselgesamt                integer, 
    40253743        bezeichnung                     varchar, 
     
    40293747); 
    40303748 
    4031 SELECT AddGeometryColumn('ax_regierungsbezirk','dummy',25832,'POINT',2); 
     3749SELECT AddGeometryColumn('ax_regierungsbezirk','dummy',:alkis_epsg,'POINT',2); 
    40323750 
    40333751-- Verbindungstabellen indizieren 
     
    40493767        endet                           character(20), 
    40503768        advstandardmodell               varchar, 
    4051         anlass                          integer, 
     3769        anlass                          varchar, 
    40523770        schluesselgesamt                integer, 
    40533771        bezeichnung                     varchar, 
     
    40583776); 
    40593777 
    4060 SELECT AddGeometryColumn('ax_kreisregion','dummy',25832,'POINT',2); 
     3778SELECT AddGeometryColumn('ax_kreisregion','dummy',:alkis_epsg,'POINT',2); 
    40613779 
    40623780CREATE UNIQUE INDEX ax_kreisregion_gml ON ax_kreisregion USING btree (gml_id,beginnt); 
     
    40753793        endet                   character(20), 
    40763794        advstandardmodell       varchar, 
    4077         anlass                  integer, 
     3795        anlass                  varchar, 
    40783796        schluesselgesamt        integer, 
    40793797        bezeichnung             varchar, 
     
    40853803); 
    40863804 
    4087 SELECT AddGeometryColumn('ax_gemeinde','dummy',25832,'POINT',2); 
     3805SELECT AddGeometryColumn('ax_gemeinde','dummy',:alkis_epsg,'POINT',2); 
    40883806 
    40893807-- Index fÃŒr alkis_beziehungen 
     
    41033821        endet                   character(20), 
    41043822        advstandardmodell       varchar, 
    4105         anlass                  integer, 
     3823        anlass                  varchar, 
    41063824        schluesselgesamt        double precision, 
    41073825        bezeichnung             varchar, 
     
    41153833); 
    41163834 
    4117 SELECT AddGeometryColumn('ax_gemeindeteil','dummy',25832,'POINT',2); 
     3835SELECT AddGeometryColumn('ax_gemeindeteil','dummy',:alkis_epsg,'POINT',2); 
    41183836 
    41193837-- Index fÃŒr alkis_beziehungen 
     
    41333851        beginnt                 character(20), 
    41343852        endet                   character(20), 
    4135         advstandardmodell       varchar, 
    4136         anlass                  integer, 
     3853        advstandardmodell       varchar[], 
     3854        anlass                  varchar, 
    41373855        schluesselgesamt        integer, 
    41383856        bezeichnung             varchar, 
     
    41443862); 
    41453863 
    4146 SELECT AddGeometryColumn('ax_gemarkung','dummy',25832,'POINT',2); 
     3864SELECT AddGeometryColumn('ax_gemarkung','dummy',:alkis_epsg,'POINT',2); 
    41473865 
    41483866CREATE UNIQUE INDEX ax_gemarkung_gml ON ax_gemarkung USING btree (gml_id,beginnt);         -- Index fÃŒr alkis_beziehungen 
     
    41633881        endet                   character(20), 
    41643882        advstandardmodell       varchar, 
    4165         anlass                  integer, 
     3883        anlass                  varchar, 
    41663884        schluesselgesamt        integer, 
    41673885        bezeichnung             varchar, -- integer, 
     
    41723890); 
    41733891 
    4174 SELECT AddGeometryColumn('ax_gemarkungsteilflur','dummy',25832,'POINT',2); 
     3892SELECT AddGeometryColumn('ax_gemarkungsteilflur','dummy',:alkis_epsg,'POINT',2); 
    41753893 
    41763894-- Index fÃŒr alkis_beziehungen 
     
    41903908        endet                   character(20), 
    41913909        advstandardmodell       varchar, 
    4192         anlass                  integer, 
     3910        anlass                  varchar, 
    41933911        schluesselgesamt        integer, 
    41943912        bezeichnung             varchar, 
     
    42003918); 
    42013919 
    4202 SELECT AddGeometryColumn('ax_buchungsblattbezirk','dummy',25832,'POINT',2); 
     3920SELECT AddGeometryColumn('ax_buchungsblattbezirk','dummy',:alkis_epsg,'POINT',2); 
    42033921 
    42043922CREATE UNIQUE INDEX ax_buchungsblattbezirk_gml ON ax_buchungsblattbezirk USING btree (gml_id,beginnt); 
    42053923 
    4206 -- Such-Index auf Land + Bezirk  
     3924-- Such-Index auf Land + Bezirk 
    42073925-- Der Verweis von ax_buchungsblatt hat keine alkis_beziehung. 
    42083926CREATE INDEX ax_buchungsblattbez_key ON ax_buchungsblattbezirk USING btree (land, bezirk); 
     
    42233941        advstandardmodell       varchar, 
    42243942        sonstigesmodell         varchar, 
    4225         anlass                  integer, 
     3943        anlass                  varchar, 
    42263944        schluesselgesamt        varchar, 
    42273945        bezeichnung             varchar, -- 102 
     
    42333951); 
    42343952 
    4235 SELECT AddGeometryColumn('ax_dienststelle','dummy',25832,'POINT',2); 
     3953SELECT AddGeometryColumn('ax_dienststelle','dummy',:alkis_epsg,'POINT',2); 
    42363954 
    42373955-- Index fÃŒr alkis_beziehungen 
     
    42513969        endet                   character(20), 
    42523970        advstandardmodell       varchar, 
    4253         anlass                  integer, 
     3971        anlass                  varchar, 
    42543972        schluesselgesamt        varchar, 
    42553973        bezeichnung             varchar, 
     
    42623980); 
    42633981 
    4264 SELECT AddGeometryColumn('ax_lagebezeichnungkatalogeintrag','dummy',25832,'POINT',2); 
     3982SELECT AddGeometryColumn('ax_lagebezeichnungkatalogeintrag','dummy',:alkis_epsg,'POINT',2); 
    42653983 
    42663984CREATE UNIQUE INDEX ax_lagebezeichnungkatalogeintrag_gml ON ax_lagebezeichnungkatalogeintrag USING btree (gml_id,beginnt); 
     
    42924010        advstandardmodell       varchar, 
    42934011        sonstigesmodell         varchar[], 
    4294         anlass                  integer, 
     4012        anlass                  varchar, 
    42954013        landschaftstyp          integer, 
    42964014        name                    varchar 
    42974015); 
    42984016 
    4299 SELECT AddGeometryColumn('ax_kleinraeumigerlandschaftsteil','wkb_geometry',25832,'POINT',2); 
     4017SELECT AddGeometryColumn('ax_kleinraeumigerlandschaftsteil','wkb_geometry',:alkis_epsg,'POINT',2); 
    43004018 
    43014019CREATE INDEX ax_kleinraeumigerlandschaftsteil_geom_idx   ON ax_kleinraeumigerlandschaftsteil USING gist (wkb_geometry); 
     
    43154033        endet                   character(20), 
    43164034        advstandardmodell       varchar, 
    4317         anlass                  integer, 
    4318         "name"                  varchar, 
     4035        anlass                  varchar, 
     4036        name                    varchar, 
    43194037        CONSTRAINT ax_wohnplatz_pk PRIMARY KEY (ogc_fid) 
    43204038); 
    43214039 
    4322 SELECT AddGeometryColumn('ax_wohnplatz','wkb_geometry',25832,'POINT',2); 
     4040SELECT AddGeometryColumn('ax_wohnplatz','wkb_geometry',:alkis_epsg,'POINT',2); 
    43234041 
    43244042CREATE INDEX ax_wohnplatz_geom_idx   ON ax_wohnplatz USING gist (wkb_geometry); 
     
    43424060        endet                   character(20), 
    43434061        advstandardmodell       varchar, 
    4344         anlass                  integer, 
    4345         schluesselgesamt        integer, 
     4062        anlass                  varchar, 
     4063        schluesselgesamt        varchar, 
    43464064        land                    integer, 
    43474065        regierungsbezirk        integer, 
    43484066        kreis                   integer, 
    43494067        gemeinde                integer, 
     4068        gemeindeflaeche         double precision, 
    43504069        CONSTRAINT ax_kommunalesgebiet_pk PRIMARY KEY (ogc_fid) 
    43514070); 
    43524071 
    4353 SELECT AddGeometryColumn('ax_kommunalesgebiet','wkb_geometry',25832,'GEOMETRY',2); 
     4072SELECT AddGeometryColumn('ax_kommunalesgebiet','wkb_geometry',:alkis_epsg,'GEOMETRY',2); 
    43544073 
    43554074CREATE INDEX ax_kommunalesgebiet_geom_idx   ON ax_kommunalesgebiet USING gist (wkb_geometry); 
     
    43634082-- ** Tabelle bisher noch nicht generiert 
    43644083 
     4084CREATE TABLE ax_vertretung ( 
     4085        ogc_fid serial NOT NULL, 
     4086        gml_id varchar(16), 
     4087        identifier varchar(28), 
     4088        beginnt varchar(20), 
     4089        endet character(20), 
     4090        advstandardmodell varchar(4), 
     4091        anlass varchar, 
     4092        haengtan varchar, 
     4093        CONSTRAINT ax_vertretung_pk PRIMARY KEY (ogc_fid) 
     4094); 
     4095 
     4096SELECT AddGeometryColumn('ax_vertretung','dummy',:alkis_epsg,'POINT',2); 
     4097 
     4098CREATE TABLE ax_verwaltungsgemeinschaft ( 
     4099        ogc_fid serial NOT NULL, 
     4100        gml_id varchar(16), 
     4101        identifier varchar(28), 
     4102        beginnt varchar(20), 
     4103        endet character(20), 
     4104        advstandardmodell varchar(4), 
     4105        anlass varchar, 
     4106        schluesselgesamt integer, 
     4107        bezeichnung varchar, 
     4108        bezeichnungart integer, 
     4109        land integer, 
     4110        regierungsbezirk integer, 
     4111        kreis integer, 
     4112        verwaltungsgemeinschaft integer, 
     4113        CONSTRAINT ax_verwaltungsgemeinschaft_pk PRIMARY KEY (ogc_fid) 
     4114); 
     4115 
     4116SELECT AddGeometryColumn('ax_verwaltungsgemeinschaft','dummy',:alkis_epsg,'POINT',2); 
     4117 
     4118CREATE TABLE ax_verwaltung ( 
     4119        ogc_fid serial NOT NULL, 
     4120        gml_id varchar(16), 
     4121        identifier varchar(28), 
     4122        beginnt varchar(20), 
     4123        endet character(20), 
     4124        advstandardmodell varchar(4), 
     4125        anlass varchar, 
     4126        haengtan varchar, 
     4127        CONSTRAINT ax_verwaltung_pk PRIMARY KEY (ogc_fid) 
     4128); 
     4129 
     4130SELECT AddGeometryColumn('ax_verwaltung','dummy',:alkis_epsg,'POINT',2); 
    43654131 
    43664132--*** ############################################################ 
     
    44094175-- COMMENT ON TABLE spatial_ref_sys  IS 'Koordinatensysteme und ihre Projektionssparameter'; 
    44104176 
    4411  
    44124177-- Schema aktualisieren (setzt auch die Indizes neu) 
    44134178-- SELECT alkis_update_schema(); 
    44144179 
    4415  
    4416 -- In allen Tabellen die Objekte Löschen, die ein Ende-Datum haben  
     4180-- In allen Tabellen die Objekte Löschen, die ein Ende-Datum haben 
    44174181-- SELECT alkis_delete_all_endet(); 
    44184182 
  • trunk/data/konvert/postnas_0.7/datenbank_anlegen.sh

    r184 r190  
    11#!/bin/bash 
    2 ## 
    3 ## Konvertierung von ALKIS NAS-Format nach PosGIS - 
    4 ## Teil 1: Eine neue PostGIS-Datenbank anlegen    - 
    5 ## ------------------------------------------------ 
     2## ------------------------------------------------- 
     3## Konvertierung von ALKIS NAS-Format nach PostGIS - 
     4## Teil 1: Eine neue PostGIS-Datenbank anlegen     - 
     5## ------------------------------------------------- 
    66## 
    77## Stand: 
    88##  2012-02-10 PostNAS 07, Umbenennung 
    99## 
     10 
     11POSTNAS_HOME=$(dirname $0) 
     12MANDANT_HOME=$PWD 
     13EPSG=25832 
     14 
    1015## Dialog mit Anwender 
    1116function get_db_config(){ 
     
    4348        exit 1 
    4449fi 
     50 
     51cd $POSTNAS_HOME 
     52 
     53if ! [ -e alkis-trigger.sql ]; then 
     54        if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then 
     55                echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) angelegt" 
     56        else 
     57                echo "** alkis-trigger.sql FEHLT!" 
     58                exit 1 
     59        fi 
     60fi 
     61         
     62 
    4563## Datenbank-Connection: 
    4664# -h localhost 
     
    5674echo " " 
    5775echo "** Anlegen (leere) PostGIS-Datenbank" 
    58 createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE}  ${DBNAME} 
     76createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE} ${DBNAME} 
    5977echo " " 
    6078echo "** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)" 
    61 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/alkis_PostNAS_0.7_schema.sql 
     79psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_0.7_schema.sql 
    6280echo " " 
    6381echo "** Anlegen der Datenbank-Struktur - zusaetzliche Schluesseltabellen" 
    6482## Nur die benoetigten Tabellen fuer die Buchauskunft 
    65 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/alkis_PostNAS_0.7_keytables.sql 
     83psql $con -U ${DBUSER} -f alkis_PostNAS_0.7_keytables.sql 
    6684echo " " 
    6785echo "** Anlegen Optimierung Nutzungsarten (nutzungsart_definition.sql)" 
    68 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/nutzungsart_definition.sql 
     86psql $con -U ${DBUSER} -f nutzungsart_definition.sql 
    6987echo " " 
    7088echo "** Laden NUA-Metadaten (nutzungsart_metadaten.sql) Protokoll siehe log" 
    71 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/nutzungsart_metadaten.sql 1> log/meta.log 
     89psql $con -U ${DBUSER} -f nutzungsart_metadaten.sql >$MANDANT_HOME/log/meta.log 
    7290echo " " 
    7391echo "** Anlegen Post Processing (pp_definition.sql)" 
    74 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/pp_definition.sql 
     92psql $con -U ${DBUSER} -f pp_definition.sql 
    7593echo " " 
    7694echo "** Definition von Views (sichten.sql)" 
    77 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/sichten.sql 
     95psql $con -U ${DBUSER} -f sichten.sql 
    7896echo " " 
    7997echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER}  
    8098echo " " 
    8199echo "** Berechtigung (grant.sql) Protokoll siehe log" 
    82 psql $con -U ${DBUSER}  < /data/konvert/postnas_0.7/grant.sql 1> log/grant.log 
     100psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/grant.log 
    83101echo " " 
    84102echo "***************************" 
  • trunk/data/konvert/postnas_0.7/konv_batch.sh

    r183 r190  
    1 #!/bin/bash 
     1#!/bin/bash 
    22## ------------------------------------------------- 
    3 ## Konvertierung von ALKIS NAS-Format nach PosGIS - 
     3## Konvertierung von ALKIS NAS-Format nach PostGIS - 
    44## NAS-Daten in einem Ordner konvertieren          - 
    55## Batch-Teil, Aufruf mit geprueften Parametern    - 
     
    1313##           /temp/ 
    1414##   Auf der gleichen Ebene wie die Datenordner muss ein Ordner /temp/ existieren. 
    15 ##   Dort werden die NAS-Daten temporär ausgepackt. 
     15##   Dort werden die NAS-Daten temporaer ausgepackt. 
    1616##   Relativ zum mitgegebenen Parameter ist das: '../temp/' 
    1717##   Parallel laufende Konvertierungen zum gleichen Mandanten  
    18 ##   würden hier durcheinander geraten. Vermeiden! 
     18##   wuerden hier durcheinander geraten. Vermeiden! 
    1919## 
    2020## Stand:  
    2121##   2012-02-10 Umbennung nach 0.7 
    2222##   2012-02-17 Optimierung 
    23 ##   2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdrücken 
    24 ##   2012-04-25 Durch GDAL Patch #5444 werden die Löschungen als Trigger auf Tabelle 'delete' verarbeitet 
     23##   2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdruecken 
     24##   2012-04-25 Durch GDAL Patch #5444 werden die Loeschungen als Trigger auf Tabelle 'delete' verarbeitet 
    2525##   2012-05-18 Umzug neue GDI, GDAL-Trunk unter Pfad  
    26 ##   2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende für Analyse gefüllt lassen. 
     26##   2012-06-04 SQL-Skripte in deren Verzeichnis ausfuehren (Voraussetzung fuer \i Includes) 
     27##   2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende fuer Analyse gefuellt lassen. 
    2728##              Test als 0.7a mit gepatchter gdal-Version (noch 2.0dev) 
    2829## 
    29 ## Konverter:   /opt/gdal-2.0/bin/ = GDAL 2.0-DEV / PostNAS 0.7 
     30## ToDo: Option "-skipfailures" nach Test entfernen ? 
     31## 
    3032## Koordinaten: EPSG:25832  UTM, Zone 32 
    3133##              -a_srs EPSG:25832   - bleibt im UTM-System (korrigierte Werte) 
    3234## 
     35 
     36POSTNAS_HOME=$(dirname $0) 
     37 
     38# Konverterpfad 
     39PATH=/opt/gdal-2.0/bin:$PATH 
     40EPSG=25832 
     41 
     42 
    3343echo "**************************************************" 
    3444echo "**   K o n v e r t i e r u n g     PostNAS 0.7a **" 
     
    7686fi 
    7787# Fehlerprotokoll: 
    78   errprot='/data/konvert/postnas_0.7a/log/postnas_err_'$DBNAME'.prot' 
     88  errprot='$POSTNAS_HOME/log/postnas_err_'$DBNAME'.prot' 
    7989# 
    8090# DB-Connection 
     
    109119        export GML_FIELDTYPES=ALWAYS_STRINGS    # PostNAS behandelt Zahlen wie Strings, PostgreSQL-Treiber macht daraus Zahlen 
    110120        export OGR_SETFIELD_NUMERIC_WARNING=YES # Meldung abgeschnittene Zahlen? 
    111        #export CPL_DEBUG=ON                     # Meldung, wenn Attribute überschrieben werden 
     121       #export CPL_DEBUG=ON                     # Meldung, wenn Attribute ueberschrieben werden 
    112122      # 
    113123      # PostNAS Konverter-Aufruf 
     
    115125      # -skipfailures    # 
    116126      # -overwrite       # 
    117       /opt/gdal-2.0/bin/ogr2ogr -f "PostgreSQL" -append  ${update} -skipfailures \ 
    118          PG:"dbname=${DBNAME} host=localhost port=5432" -a_srs EPSG:25832 ${nasdatei} 2>> $errprot 
     127      ogr2ogr -f "PostgreSQL" -append  ${update} -skipfailures \ 
     128         PG:"dbname=${DBNAME} host=localhost port=5432" -a_srs EPSG:$EPSG ${nasdatei} 2>> $errprot 
    119129      nasresult=$? 
    120       echo "* Resultat: " $nasresult " fuer " ${nasdatei} 
    121           echo "* Resultat: " $nasresult " fuer " ${nasdatei}  >> $errprot 
     130      echo "* Resultat: " $nasresult " fuer " ${nasdatei} | tee -a $errprot 
    122131    done # Ende Zipfile 
    123132  done # Ende Ordner 
     
    130139  if [ $PP == "nopp" ] 
    131140  then 
    132     echo "** KEIN Post-Processing - Dies Spaeter nachholen." 
    133     # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem großen Bestand laufen 
    134     # Der Aufwand für das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig. 
     141    echo "** KEIN Post-Processing - Dies spaeter nachholen." 
     142    # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem grossen Bestand laufen 
     143    # Der Aufwand fuer das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig. 
    135144  else 
    136145    echo "** Post-Processing (Nacharbeiten zur Konvertierung)" 
    137146    echo "** - Optimierte Nutzungsarten neu Laden:" 
    138     psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7a/nutzungsart_laden.sql 
     147    (cd $POSTNAS_HOME; psql -p 5432 -d ${DBNAME} -f nutzungsart_laden.sql) 
    139148    ## 
    140149    echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:" 
    141     psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7a/pp_laden.sql 
     150    (cd $POSTNAS_HOME; psql -p 5432 -d ${DBNAME} -f pp_laden.sql) 
    142151  fi 
     152 
     153  if [ "$(readlink $POSTNAS_HOME/alkis-trigger.sql)" = "alkis-trigger-kill.sql" ]; then 
    143154# Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert 
    144   echo "** delete-Tabelle enthält:" 
    145   echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con 
    146  #echo "   delete-Tabelle loeschen:" 
    147  #echo 'TRUNCATE table "delete";' | psql $con 
     155    echo "** delete-Tabelle enthaelt:" 
     156    echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con 
     157    #echo "   delete-Tabelle loeschen:" 
     158    #echo 'TRUNCATE table "delete";' | psql $con 
    148159 # Fuer Analyse-Zwecke sollten die Delete-Eintraege erhalten bleiben bis zum naechsten Lauf. 
    149160 # TRUNCATE erfolgt VOR der Konnvertierung. 
    150161# 
    151162# Wenn die Datenbank MIT Historie angelegt wurde, man diese aber gar nicht braucht, 
    152 # dann hinterher aufräumen der historischen Objekte  
    153  #echo "** geendete Objekte entfernen:" 
    154 # Function : 
    155  #echo 'SELECT alkis_delete_all_endet();' | psql $con 
    156  #echo "  ... geendete Objekte entfernen wurde fuer Test dektiviert." 
    157  #echo "  Bitte manuell ausfuehren:  SELECT alkis_delete_all_endet(); " 
     163# dann hinterher aufraeumen der historischen Objekte  
     164    #echo "** geendete Objekte entfernen:" 
     165# Function: 
     166    #echo 'SELECT alkis_delete_all_endet();' | psql $con 
     167    #echo "  ... geendete Objekte entfernen wurde fuer Test dektiviert." 
     168    #echo "  Bitte manuell ausfuehren:  SELECT alkis_delete_all_endet(); " 
    158169# 
    159   echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot" 
    160  #echo "HINWEIS: -skipfailures  fuer Produktion wieder einschalten." 
    161 # 
     170    echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot" 
     171    #echo "HINWEIS: -skipfailures  fuer Produktion wieder einschalten." 
     172  fi 
  • trunk/data/konvert/postnas_0.7/konvertierung_kommandos_beispiele.txt

    r165 r190  
    1818 
    1919Packen: 
    20  /data/konvert/postnas_0.7/zip_ordner.sh /data/nas_daten/290/0003 
     20 /pfad/zu/postnas/zip_ordner.sh /data/nas_daten/290/0003 
    2121 
    2222Neu-Laden: 
    23  /data/konvert/postnas_0.7/konv_batch.sh /data/nas_daten/290/0000 alkis07290_neu e  pp 
     23 /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0000 alkis07290_neu e  pp 
    2424 
    2525 
     
    2929 
    3030Aktualisieren: 
    31  /data/konvert/postnas_0.7/konv_batch.sh /data/nas_daten/290/0002 alkis07290 a  nopp 
    32  /data/konvert/postnas_0.7/konv_batch.sh /data/nas_daten/290/0003 alkis07290 a  pp 
     31 /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0002 alkis07290 a  nopp 
     32 /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0003 alkis07290 a  pp 
    3333 
    3434Kontrolle: 
    35  less /data/konvert/postnas_0.7/log/postnas_err.prot 
     35 less /pfad/zu/postnas/log/postnas_err.prot 
  • trunk/data/konvert/postnas_0.7/ordner_konvertieren.sh

    r165 r190  
    1010##  2012-02-28  Parameter 4 = 'pp' (mit Post-Processing) 
    1111##  
     12 
     13POSTNAS_HOME=$(dirname $0) 
     14 
    1215function get_db_config(){ 
    1316        # 
     
    7376fi 
    7477# Protokolldatei ueberschreiben 
    75 echo "** Konvertierung ALKIS **" > /data/konvert/postnas_0.7/log/postnas_err.prot 
     78echo "** Konvertierung ALKIS **" > $POSTNAS_HOME/log/postnas_err.prot 
    7679echo "** Beginn Batch **" 
    7780##                                       1        2        3     4 
    78 /data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp 
     81$POSTNAS_HOME/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp 
    7982result=$? 
    8083if [ $result = 0 ] 
     
    8689echo " " 
    8790echo " Kommando fuer Wiederholung:" 
    88 echo " /data/konvert/postnas_0.7/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp" 
     91echo " $POSTNAS_HOME/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp" 
    8992echo " " 
    9093### 
  • trunk/data/konvert/postnas_0.7/pp_laden.sql

    r183 r190  
    3535-- Redundanzen aus alkis_beziehungen beseitigen, die nach NAS replace auftreten 
    3636-- ============================================================================ 
    37 -- Work arround: alle Redundazen nach einem Lauf entfernen. 
     37-- Workaround: alle Redundazen nach einem Lauf entfernen. 
    3838-- Besser wäre: sofort im Trigger bei replace entfernen. 
    3939-- Siehe Schema in FUNCTION delete_feature_kill 
Note: See TracChangeset for help on using the changeset viewer.