Changeset 275 for trunk/import


Ignore:
Timestamp:
04/15/13 11:55:47 (11 years ago)
Author:
frank.jaeger
Message:

Buchauskunft: deprecated "import_request_variables" ersetzt. In 'sichten.sql' die Mehrfachdarstellung unterdrückt, nur noch advstandardmodell='DKKM1000'.

Location:
trunk/import
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/alkis_PostNAS_schema.sql

    r215 r275  
    4848--                Typ 'GEOMETRY' bei Tabellen: AX_WegPfadSteig, AX_UntergeordnetesGewaesser 
    4949 
    50 -- 2012-10-31 FJ  Trigger fuer NAS-Replace-SÀtze repariert: 
     50-- 2012-10-31 FJ  Trigger fuer NAS-Replace-Saetze repariert: 
    5151--                siehe: FUNCTION delete_feature_kill() 
    5252--                ax_historischesflurstueck.buchungsart ist Text nicht integer. 
    5353 
    54 -- 2012-10-31 AE  Tabellen löschen wurde auskommentiert, DB wird leer angelegt SELECT alkis_drop(); 
     54-- 2012-10-31 AE  Tabellen löschen wurde auskommetiert, DB wird leer angelegt SELECT alkis_drop(); 
    5555 
    5656-- ** zwischenzeitliche Änderungen: siehe Kommentare im SVN 
    5757 
    5858-- 2013-01-15 FJ  Kommentare zu den letztlich hinzugekommenen Tabellen. 
    59 --                DarÃŒber können Tabellen aus diesem Script unterschieden werden 
     59--                DarÃŒber können Tabellen aus diesem Script unterschieden werden  
    6060--                von Tabellen, die PostNAS selbst generiert hat. 
     61 
     62-- 2013-04-15 FJ  Tabelle ax_wirtschaftlicheeinheit 
    6163 
    6264 
     
    7072-- Zur Datenstruktur siehe Dokument: 
    7173-- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/5-1-1_ALKIS-OK-NRW_GDB.html 
     74-- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/ALKIS_NRW/Pflichtenheft/Anlage03/Anlage3_ALKIS-OK-NRW_MAX.html 
     75 
     76-- Übersicht "Landesspezifische Festlegungen zu ALKIS in NRW": 
     77-- http://www.bezreg-koeln.nrw.de/extra/33alkis/alkis_nrw.htm 
    7278 
    7379  SET client_encoding = 'UTF8'; 
     
    9096 
    9197-- Alle Tabellen löschen 
    92 -- SELECT alkis_drop(); 
     98--SELECT alkis_drop(); 
    9399 
    94100-- Tabelle delete fÃŒr Lösch- und FortfÃŒhrungsdatensÀtze 
     
    234240 
    235241-- B a u b l o c k 
    236 -- ---------------------------------------------- 
     242-- ---------------------------------------------- Objektartengruppe: Administrative Gebietseinheiten 
    237243CREATE TABLE ax_baublock ( 
    238244        ogc_fid                 serial NOT NULL, 
     
    280286 
    281287 
    282 -- S o l l 
     288-- S o l l  
    283289-- ------- 
    284290CREATE TABLE ax_soll ( 
     
    299305CREATE UNIQUE INDEX ax_soll_gml ON ax_soll USING btree (gml_id,beginnt); 
    300306 
    301 COMMENT ON TABLE ax_soll IS '''Soll'' ist eine runde, oft steilwandige Vertiefung in den norddeutschen GrundmorÀnenlandschaften; kann durch Abschmelzen von ÃŒberschÃŒtteten Toteisblöcken (Toteisloch) oder durch Schmelzen periglazialer Eislinsen entstanden sein.'; 
     307-- COMMENT ON TABLE ax___  IS 'XXXX'; 
    302308 
    303309 
     
    324330COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig'; 
    325331 
    326 COMMENT ON TABLE ax_bewertung  IS '''Bewertung'' ist die Klassifizierung einer FlÀche nach dem Bewertungsgesetz (BewertungsflÀche).'; 
     332-- COMMENT ON TABLE ax___  IS 'XXXX'; 
    327333 
    328334 
     
    346352CREATE UNIQUE INDEX ax_tagesabschnitt_gml ON ax_tagesabschnitt USING btree (gml_id,beginnt); 
    347353 
    348 COMMENT ON TABLE ax_tagesabschnitt  IS '''Tagesabschnitt'' ist ein Ordnungskriterium der SchÀtzungsarbeiten fÃŒr eine BewertungsflÀche. Innerhalb der Tagesabschnitte sind die Grablöcher eindeutig zugeordnet.'; 
     354-- COMMENT ON TABLE ax___  IS 'XXXX'; 
    349355 
    350356 
     
    400406CREATE INDEX ax_forstrecht_afs ON ax_forstrecht(land,stelle); 
    401407 
    402 COMMENT ON TABLE ax_forstrecht IS '''Forstrecht'' ist die auf den Grund und Boden bezogene BeschrÀnkung, Belastung oder andere Eigenschaft einer FlÀche nach öffentlichen, forstrechtlichen Vorschriften.'; 
     408-- COMMENT ON TABLE ax___  IS 'XXXX'; 
    403409 
    404410-- G e b À u d e a u s g e s t a l t u n g 
     
    561567 
    562568CREATE INDEX idx_histfsalb_nach 
    563    ON ax_historischesflurstueckalb USING btree (nachfolgerflurstueckskennzeichen /* ASC */); 
    564  
     569   ON ax_historischesflurstueckalb USING btree (vorgaengerflurstueckskennzeichen /* ASC */); 
    565570  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck'; 
    566571  COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB'; 
     
    642647-- Wirkt das ÃŒberhaupt bei der Suche nach einem einzelnen Wert aus dem Array? 
    643648CREATE INDEX idx_histfs_vor ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */); 
    644 CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (nachfolgerflurstueckskennzeichen /* ASC */); 
     649CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */); 
    645650 
    646651-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck'; 
     
    904909CREATE INDEX ap_pto_endet_idx  ON ap_pto USING btree (endet); 
    905910CREATE INDEX ap_pto_sn_idx     ON ap_pto USING btree (signaturnummer); 
     911--CREATE INDEX ap_pto_txt_idx    ON ap_pto USING btree (schriftinhalt); 
    906912 
    907913COMMENT ON TABLE  ap_pto               IS 'PTO: Textförmiges PrÀsentationsobjekt mit punktförmiger Textgeometrie '; 
     
    16131619-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÀnger-FlurstÃŒck'; 
    16141620 
    1615 CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (nachfolgerflurstueckskennzeichen /* ASC */); 
     1621CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen /* ASC */); 
    16161622-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck'; 
    16171623 
     
    35803586 
    35813587-- H ö h l e n e i n g a n g 
    3582 -- ------------------------- 
     3588-- -------------------------  
    35833589CREATE TABLE ax_hoehleneingang ( 
    35843590        ogc_fid                 serial NOT NULL, 
     
    42464252        anlass                  varchar, 
    42474253        landschaftstyp          integer, 
    4248         name                    varchar, 
    4249         CONSTRAINT ax_kleinraeumigerlandschaftsteil_pk PRIMARY KEY (ogc_fid) 
     4254        name                    varchar 
    42504255); 
    42514256 
     
    42844289--** Objektartengruppe: Administrative Gebietseinheiten 
    42854290--   =================================================================== 
     4291 
     4292-- ax_baublock 
     4293 
     4294 
     4295-- w i r t s c h a f t l i c h e   E i n h e i t 
     4296-- --------------------------------------------- 
     4297-- neu 2013-04-15 
     4298CREATE TABLE ax_wirtschaftlicheeinheit ( 
     4299  ogc_fid                       serial NOT NULL, 
     4300  gml_id                        character varying(16), 
     4301  identifier            character varying(28), 
     4302  beginnt                       character varying(20), 
     4303  advstandardmodell     character varying(4), 
     4304  sonstigesmodell       character varying[], 
     4305  anlass                        integer, 
     4306  CONSTRAINT            ax_wirtschaftlicheeinheit_pk PRIMARY KEY (ogc_fid) 
     4307); 
     4308 
     4309SELECT AddGeometryColumn('ax_wirtschaftlicheeinheit','dummy',:alkis_epsg,'POINT',2); 
     4310 
     4311COMMENT ON TABLE  ax_wirtschaftlicheeinheit  IS 'w i r t s c h a f t l i c h e   E i n h e i t'; 
    42864312 
    42874313 
     
    43174343-- ** Tabelle bisher noch nicht generiert 
    43184344 
     4345-- ENDE Objektartengruppe  Administrative Gebietseinheiten 
     4346 
     4347 
    43194348-- V e r t r e t u n g 
    4320 -- ------------------- 
     4349-- -------------------  Objektartengruppe: Personen- und Bestandsdaten 
    43214350CREATE TABLE ax_vertretung ( 
    43224351        ogc_fid                 serial NOT NULL, 
     
    43364365 
    43374366-- V e r w a l t u n g s g e m e i n s c h a f t 
    4338 -- --------------------------------------------- 
     4367-- ---------------------------------------------  Objektartengruppe: Kataloge 
    43394368CREATE TABLE ax_verwaltungsgemeinschaft ( 
    43404369        ogc_fid                 serial NOT NULL, 
     
    43614390 
    43624391-- V e r w a l t u n g 
    4363 -- ------------------- 
     4392-- -------------------   Objektartengruppe: Personen- und Bestandsdaten 
    43644393CREATE TABLE ax_verwaltung ( 
    43654394        ogc_fid                 serial NOT NULL, 
     
    44184447-- Digitales Gelaendemodell50  = DGM50 
    44194448 
     4449 
     4450-- wenn schon, dann auch alle Tabellen mit Kommentaren versehen: 
     4451COMMENT ON TABLE geometry_columns IS 'Metatabelle der Geometrie-Tabellen, Tabellen ohne Geometrie bekommen Dummy-Eintrag fÃŒr PostNAS-Konverter (GDAL/OGR)'; 
     4452COMMENT ON TABLE spatial_ref_sys  IS 'Koordinatensysteme und ihre Projektionssparameter'; 
     4453 
    44204454-- Schema aktualisieren (setzt auch die Indizes neu) 
    44214455-- SELECT alkis_update_schema(); 
  • trunk/import/sichten.sql

    r269 r275  
    1212--  2013-03-05 Beschriftungen aus ap_pto auseinander sortieren, neuer View "grenzpunkt" 
    1313--  2013-03-12 Optimierung Hausnummern, View "gebaeude_txt" (Funktion und Name) 
     14--  2013-04-15 UnterdrÃŒcken doppelter Darstellung in den Views 'ap_pto_stra', 'ap_pto_nam', 'ap_pto_rest' 
    1415 
    1516--  ----------------------------------------- 
     
    279280   WHERE NOT p.schriftinhalt IS NULL  
    280281     AND  p.endet IS NULL                            -- nichts historisches 
    281      AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- CLASSES in LAYER 
     282     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln.  
    282283     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
    283284     AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     
    298299         ) 
    299300; 
    300 COMMENT ON VIEW ap_pto_stra IS 'Beschriftung fÃŒr ap_pto mit Art "Straße", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe'; 
     301COMMENT ON VIEW ap_pto_stra IS 'Beschriftung aus ap_pto fÃŒr Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe'; 
     302 
     303 
     304-- Layer NAME "ap_pto_nam" GROUP "praesentation" 
     305-- ------------------------------------------------------- 
     306-- 'NAM' = Name (Eigenname) und 'ZNM' = Zweitname (touristischer oder volkstÃŒmlicher Name) zu ... 
     307--   -- AX_Strassenverkehr oder AX_Platz usw. 
     308--  ap_pto >dientZurDarstellungVon> ?irgendwas? 
     309 
     310-- Dieser View wird bisher nicht verwendet. Dazu mÃŒsste ein neuer Layer erzeugt werden und die  
     311-- Arten 'NAM' und 'ZNM' dann aus den View 'ap_pto_rest' heraus genommen werden. 
     312 
     313-- Entweder Layer trennen nach Text-Typen "NAM"+"ZNM" und dem Rest 
     314-- ODER           trennen nach fachlichen Ebenen wie "Nutzung" und "GebÀude" und .... 
     315 
     316CREATE OR REPLACE VIEW ap_pto_nam  
     317AS  
     318  SELECT p.ogc_fid, 
     319          -- p.advstandardmodell       AS modell,    -- TEST 
     320         p.schriftinhalt,                        -- WMS: LABELITEM 
     321         p.art,                                  -- WMS: CLASSITEM 
     322         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position .. 
     323         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver 
     324         p.drehwinkel * 57.296     AS winkel,    -- * 180 / Pi 
     325         p.wkb_geometry 
     326    FROM ap_pto p 
     327    JOIN alkis_beziehungen v        
     328      ON p.gml_id = v.beziehung_von 
     329  --JOIN nutzung l                      -- Im PostProcessing zusammen gefasste Nutzungsarten-Abschnitte 
     330  --  ON v.beziehung_zu = l.gml_id 
     331   WHERE NOT p.schriftinhalt IS NULL  
     332     AND  p.endet IS NULL                            -- nichts historisches 
     333     AND  p.art   IN ('NAM','ZNM') -- Diese Werte als CLASSES in LAYER behandeln.  
     334     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     335     AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     336           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt 
     337           OR (p.advstandardmodell IS NULL 
     338               AND (SELECT vs.beziehung_zu          -- irgend ein Feld 
     339                                          FROM ap_pto s                 -- eines anderen Textes (suchen) 
     340                      JOIN alkis_beziehungen vs     -- zur gleichen ?irgendwas? 
     341                        ON s.gml_id = vs.beziehung_von 
     342                     WHERE vs.beziehung_zu = v.beziehung_zu 
     343                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     344                       AND NOT s.advstandardmodell IS NULL  
     345                     LIMIT 1  -- einer reicht als Beweis 
     346                                        ) IS NULL  
     347              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird 
     348         ) 
     349; 
     350COMMENT ON VIEW ap_pto_nam IS 'Beschriftung mit Art = Name/Zweitname. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe'; 
    301351 
    302352 
     
    305355-- REST: Texte, die nicht schon in einem anderen Layer ausgegeben werden 
    306356-- Ersetzt den View "s_beschriftung" 
     357 
     358-- alte Version bis 2013-04-15 
     359-- Nachteil: es werden mehrere Texte zum gleichen Objekt angezeigt die fÃŒr verschiedene MaßstÀbe gedacht sind. 
     360--CREATE OR REPLACE VIEW ap_pto_rest  
     361--AS  
     362--  SELECT p.ogc_fid,  
     363--         p.schriftinhalt,  
     364--         p.art,  
     365--         p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi 
     366--         p.wkb_geometry  
     367--    FROM ap_pto p 
     368--   WHERE not p.schriftinhalt IS NULL  
     369--     AND p.endet IS NULL 
     370--     AND p.art NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG'); 
     371 
     372 
     373-- 2013-04-15 Doppelte Darstellung aufgrund verschiedener "advstandardmodell" zum Objekt unterdrÃŒcken analog ap_pto_stra und ap_pto_nam 
    307374CREATE OR REPLACE VIEW ap_pto_rest  
     375AS  
     376  SELECT p.ogc_fid,  
     377         p.schriftinhalt,  
     378         p.art,  
     379         p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi 
     380         p.wkb_geometry  
     381    FROM ap_pto p 
     382    JOIN alkis_beziehungen v   -- Relation zur ?irgendwas? 
     383      ON p.gml_id = v.beziehung_von 
     384   WHERE not p.schriftinhalt IS NULL  
     385     AND p.endet IS NULL 
     386     AND p.art   NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG') 
     387     -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles 
     388     -- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÀude) kommt nicht mehr vor? 
     389    AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     390    AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     391           -- Ersatzweise auch "keine Angabe" (nul) akzeptieren, aber nur wenn es keinen besseren Text zu ?irgendwas? gibt 
     392           -- Es wird hier nur bis zur Verbindungstabelle "alkis_beziehungen" gesucht, ob am anderen Ende die gleiche gml_id verlinkt ist. 
     393           -- Diese gml_id können dann zu verschiedenen, unbekannten Objekttabellen linken. 
     394           OR (p.advstandardmodell IS NULL 
     395               AND (SELECT vs.beziehung_zu          -- irgend ein Feld 
     396                                          FROM ap_pto s                 -- eines anderen Textes (suchen) 
     397                      JOIN alkis_beziehungen vs     -- zur gleichen ?irgendwas? 
     398                        ON s.gml_id = vs.beziehung_von 
     399                     WHERE vs.beziehung_zu = v.beziehung_zu 
     400                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     401                       AND NOT s.advstandardmodell IS NULL  
     402                     LIMIT 1  -- einer reicht als Ausschlußkriterium 
     403                                        ) IS NULL  
     404              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird 
     405         ); 
     406COMMENT ON VIEW ap_pto_rest IS 'Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden'; 
     407 
     408 
     409-- Texte, die NICHT dargestellt werden sollen. 
     410-- ------------------------------------------- 
     411-- Texte und Text-Fragmente aus der Konvertierung ALK+ALB, die noch nicht gelöscht worden sind. 
     412CREATE OR REPLACE VIEW ap_pto_muell  
    308413AS  
    309414  SELECT p.ogc_fid,  
     
    315420   WHERE not p.schriftinhalt IS NULL  
    316421     AND p.endet IS NULL 
    317      AND p.art NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG'); 
    318      -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles 
    319 -- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÀude) kommt nicht mehr vor? 
    320 COMMENT ON VIEW ap_pto_rest IS 'Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden'; 
     422     AND p.art IN ('AOG_AUG','PNR'); 
     423COMMENT ON VIEW ap_pto_muell IS 'Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.'; 
    321424 
    322425-- ENDE BESCHRIFTUNG 
Note: See TracChangeset for help on using the changeset viewer.