Ignore:
Timestamp:
09/19/14 13:52:07 (10 years ago)
Author:
frank.jaeger
Message:

Schema zurück auf 16stellige gml_id.
Überarbeiten Trigger-Funktion "delete_feature_hist()" - noch nicht ausgetestet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/pp_laden.sql

    r330 r336  
    2121--             Beseitigung eines Fehlers beim Laden der Straßennamen-Label. 
    2222--             Dabei Trennung in pp_strassenname_p und -_l (Punkt- und Liniengeometrie). 
     23--  2014-09-19 Substring auf gml_id, Korrektur "endet IS NULL" 
     24 
     25-- ToDo: substring(gml_id,1,16) wieder zurÃŒck bauen 
    2326 
    2427-- ============================ 
     
    5154-- AusfÃŒhrung: mittlere Stadt: ca. 4 - 18 Sec. 
    5255 
    53  
    5456-- 1:1 umgestellt (UNION) unter Verwendeung der neuen Relationenspalten 
    55 -- Das lÀuft das viel zu lange (wegen ANY(array) ?) 
    5657 
    5758INSERT INTO pp_flurstueck_nr 
     
    8687UPDATE pp_flurstueck_nr n 
    8788  SET the_geom = ( 
    88       SELECT p.wkb_geometry FROM ap_pto p 
    89        WHERE n.fsgml=ANY(p.dientzurdarstellungvon) AND p.endet IS NULL 
     89      SELECT p.wkb_geometry  
     90        FROM ap_pto p 
     91       WHERE substring(n.fsgml,1,16)=ANY(p.dientzurdarstellungvon)  
     92         AND p.endet IS NULL 
    9093       LIMIT 1 -- wegen vereinzelt FEHLER: als Ausdruck verwendete Unteranfrage ergab mehr als eine Zeile 
    9194    ); 
    92 -- PG 8.4: Dies lÀuft sehr lange (> 10 Min.!). Optimierbar? 
    93  
    94 -- 2a. Alternative mit Text Search statt any? 
    95 /* UPDATE pp_flurstueck_nr n 
    96   SET the_geom = ( 
    97       SELECT p.wkb_geometry FROM ap_pto p 
    98        WHERE n.fsgml <@ p.dientzurdarstellungvon AND p.endet IS NULL 
    99     ); */ 
    100 -- Nein, Operator ist nicht auf Array anwendbar. 
    101  
    102 -- Menge? VerhÀltnis?  nach 2. 
    103 -- SELECT COUNT(fsgml) AS anz_leer FROM pp_flurstueck_nr WHERE     the_geom IS NULL; --  5440 
    104 -- SELECT COUNT(fsgml) AS anz_gef  FROM pp_flurstueck_nr WHERE NOT the_geom IS NULL; -- 17154  
     95-- Dies lÀuft sehr lange. Optimierbar? 
     96 
    10597 
    10698-- 3. Geometrie auf FlÀchenmitte (Standard), wenn jetzt noch leer 
    10799UPDATE pp_flurstueck_nr n 
    108100  SET the_geom = ( 
    109       SELECT ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry FROM ax_flurstueck  f  
    110        WHERE f.gml_id = n.fsgml 
     101      SELECT ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry  
     102       FROM ax_flurstueck  f  
     103       WHERE f.gml_id = n.fsgml  
     104         AND f.endet IS NULL 
    111105      ) 
    112106   WHERE n.the_geom IS NULL; --- nur die Fehlenden, nichts ÃŒberschreiben 
Note: See TracChangeset for help on using the changeset viewer.