Ignore:
Timestamp:
04/17/12 18:35:28 (10 years ago)
Author:
frank.jaeger
Message:

Flurstücksnummern an Standard-Position aus Fläche generieren

File:
1 edited

Legend:

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

    r162 r176  
    66 
    77--  2012-02-25 PostNAS 07, Umbenennung 
     8--  2012-04-17 flstnr_ohne_position 
     9 
    810 
    911--  ----------------------------------------- 
     
    1214 
    1315 
    14 -- Layer "ag_t_flurstueck" 
    15 -- ----------------------- 
     16-- WMS-Layer "ag_t_flurstueck" 
     17-- --------------------------- 
    1618 
    1719-- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck" 
     
    2022 
    2123-- Bruchnummerierung erzeugen 
     24-- ALT 2012-04-17: Diese Version zeigt nur die manuell gesetzten Positionen 
    2225CREATE OR REPLACE VIEW s_flurstueck_nr 
    2326AS  
    24  SELECT ap_pto.ogc_fid,  
    25         ap_pto.wkb_geometry,   -- Position des Textes 
    26     --  ax_flurstueck.flurstueckskennzeichen,   -- am Stueck, aufgefuellt, unpraktisch 
    27     --  ax_flurstueck.gemarkungsnummer,  -- integer 
    28     --  ax_flurstueck.flurnummer,        -- integer 
    29     --  ax_flurstueck.zaehler,           -- integer 
    30     --  ax_flurstueck.nenner,            -- integer oder NULL 
    31         ax_flurstueck.zaehler::text || COALESCE ('/' || ax_flurstueck.nenner::text, '') AS fsnum 
    32    FROM ap_pto 
    33    JOIN alkis_beziehungen  
    34      ON ap_pto.gml_id = alkis_beziehungen.beziehung_von 
    35    JOIN ax_flurstueck  
    36      ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id 
    37   WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon' 
     27 SELECT f.ogc_fid,  
     28        p.wkb_geometry,  -- Position des Textes 
     29        f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     30   FROM ap_pto             p 
     31   JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
     32   JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
     33  WHERE v.beziehungsart = 'dientZurDarstellungVon'  
     34  --AND p."art" = 'ZAE_NEN' 
    3835  ; 
    3936 
    4037COMMENT ON VIEW s_flurstueck_nr IS 'fuer Kartendarstellung: Bruchnummerierung FlurstÃŒck'; 
     38 
     39-- NEU 2012-04-17 
     40-- Wenn keine manuelle Position gesetzt ist, wird die Flaechenmitte verwendet 
     41 
     42-- ACHTUNG: Dieser View kann nicht direkt im Mapserver-WMS verwendet werden. 
     43-- Die Anzeige ist zu langsam. Filterung ÃŒber BBOX kann nicht funktionieren, da zunÀchst ALLE Standardpositionen  
     44-- berechnet werden mÃŒssen, bevor darÃŒber gefiltert werden kann. 
     45 
     46-- FAZIT: In einer Hilfstabelle mit geometrischem Index zwischenspeichern. 
     47--        Siehe PostProcessing Tabelle "pp_flurstueck_nr" 
     48 
     49CREATE OR REPLACE VIEW s_flurstueck_nr2 
     50AS  
     51  SELECT f.ogc_fid,  
     52         p.wkb_geometry,  -- manuelle Position des Textes 
     53         f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     54    FROM ap_pto             p 
     55    JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von 
     56    JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id 
     57   WHERE v.beziehungsart = 'dientZurDarstellungVon'  
     58   --AND p."art" = 'ZAE_NEN' 
     59 UNION  
     60  SELECT f.ogc_fid, 
     61         ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry,  -- Flaechenmitte als Position des Textes 
     62         f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum 
     63    FROM      ax_flurstueck     f  
     64    LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id 
     65   WHERE v.beziehungsart is NULL 
     66  ; 
     67 
     68COMMENT ON VIEW s_flurstueck_nr2 IS 'Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden'; 
    4169 
    4270 
     
    313341--  Sichten fuer Fehlersuche und Daten-Analyse 
    314342--  ------------------------------------------ 
     343 
     344 
     345-- FlurstÃŒcke mit Anzeige der FlurstÃŒcksnummer an der "Standardposition" 
     346 
     347-- Nach der Konvertierung aus ALK hat zunÀchst jedes FlurstÃŒck eine explizit gesetzte Position der FlurstÃŒcksnummer. 
     348 
     349-- Nach einer manuellen Teilung bekommen die neuen FlurstÃŒcke im ALKIS nur dann eine Position, 
     350-- wenn die Positioin manuell bestimmt (verschoben) wurde. 
     351-- Wenn die FlurstÃŒcksnummer an ihrer "Standardposition" angezeigt werden soll,  
     352-- dann wird diese in den Daten (DHK, NAS) nicht gesetzt. 
     353-- Der Konverter PostNAS konvertiert aber nur die Daten, die er bekommt, er setzt nicht die Standard-Position  
     354-- fÃŒr die FlurstÃŒcke, die ohne eine manuelle Position kommen. 
     355 
     356-- Diese FÀlle identifizieren 
     357CREATE OR REPLACE VIEW flstnr_ohne_position 
     358AS  
     359 SELECT f.gml_id,  
     360        f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS such -- Suchstring fÃŒr ALKIS-Navigation nach FS-Kennzeichen 
     361 FROM        ax_flurstueck     f  
     362   LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id 
     363 --LEFT JOIN ap_pto            p  ON p.gml_id       = v.beziehung_von 
     364  WHERE v.beziehungsart is NULL 
     365--ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler 
     366  ; 
     367 
     368COMMENT ON VIEW flstnr_ohne_position IS 'FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÀsentation der FS-Nr'; 
     369 
    315370 
    316371-- Zeigt die Texte an, die nicht in einem der Mapfile-Views verarbeitet werden 
Note: See TracChangeset for help on using the changeset viewer.