Changeset 296 for trunk/import/pp_laden.sql
- Timestamp:
- 10/24/13 14:48:50 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/pp_laden.sql
r278 r296 14 14 -- 2013-02-06 A.E. Function-Name an PostGIS 2 angepasst: multi() -> st_multi(), simplify() -> st_simplify() 15 15 -- 2013-02-21 F.J. doppelte Buchungen zum Flurstück aus alkis_beziehungen beseitigen, die nach NAS replace auftreten 16 -- 2013-07-10 F.J. Bereinigen der alkis_beziehungen auskommentiert, wird jetzt im Trigger gelöst. 17 -- 2012-10-24 Neue Tabelle für die Präsentation von Straßennamen und -Klassifikationen 16 18 17 19 -- ============================ … … 40 42 -- Siehe Schema in FUNCTION delete_feature_kill 41 43 42 DELETE 43 FROM alkis_beziehungen AS bezalt -- Beziehung Alt 44 WHERE EXISTS 45 (SELECT ogc_fid 46 FROM alkis_beziehungen AS bezneu -- Beziehung Neu 47 WHERE bezalt.beziehung_von = bezneu.beziehung_von 48 AND bezalt.beziehung_zu = bezneu.beziehung_zu 49 AND bezalt.beziehungsart = bezneu.beziehungsart 50 AND bezalt.ogc_fid < bezneu.ogc_fid 51 ); 44 -- 2013-07-10 Das folgende Delete auskommentiert. Das wird jetzt im Trigger gelöst. 45 ------ 46 -- DELETE 47 -- FROM alkis_beziehungen AS bezalt -- Beziehung Alt 48 -- WHERE EXISTS 49 -- (SELECT ogc_fid 50 -- FROM alkis_beziehungen AS bezneu -- Beziehung Neu 51 -- WHERE bezalt.beziehung_von = bezneu.beziehung_von 52 -- AND bezalt.beziehung_zu = bezneu.beziehung_zu 53 -- AND bezalt.beziehungsart = bezneu.beziehungsart 54 -- AND bezalt.ogc_fid < bezneu.ogc_fid 55 -- ); 56 ------ 57 52 58 -- Denkbar ist eine Variante für den Trigger, die zusätzlich 53 59 -- auf eine bestimmte gml_id filtert. … … 95 101 96 102 97 -- Version Frank Jäger, Lemgo 98 DELETE 99 -- SELECT * -- TEST: erst mal schauen, was gelöscht würde, wenn ... 100 FROM alkis_beziehungen b 101 WHERE b.beziehungsart = 'istGebucht' 102 -- Die erste subquery zählt die Buchungen zu einer (Flurstücks-) gml_id. 103 -- Es wird nur dort gelöscht, wo mehrerer Buchungen existieren. 104 AND 1 < 105 ( SELECT count(f1.ogc_fid) AS anzfs 106 FROM ax_flurstueck f1 107 JOIN alkis_beziehungen z 108 ON f1.gml_id = z.beziehung_von 109 WHERE f1.gml_id = b.beziehung_von 110 AND z.beziehungsart = 'istGebucht' 111 GROUP BY f1.gml_id ) 112 -- Die zweite Subquery liefert die letzte (= aktuelle) Beziehung. 113 -- Diese aktuelle Buchung wird vom Löschen ausgeschlossen. 114 AND b.ogc_fid < 115 ( SELECT max(a.ogc_fid) AS maxi 116 FROM ax_flurstueck f2 117 JOIN alkis_beziehungen a 118 ON f2.gml_id = a.beziehung_von 119 WHERE f2.gml_id = b.beziehung_von 120 AND a.beziehungsart = 'istGebucht' 121 GROUP BY a.beziehung_von ) 122 -- bei Test mit SELECT darf man sortieren: 123 -- ORDER BY b.beziehung_von, b.ogc_fid 124 ; 125 103 -- 2013-07-10 Das folgende Delete auskommentiert. Das wird jetzt im Trigger gelöst 104 ------ 105 -- -- Version Frank Jäger, Lemgo 106 -- DELETE 107 -- -- SELECT * -- TEST: erst mal schauen, was gelöscht würde, wenn ... 108 -- FROM alkis_beziehungen b 109 -- WHERE b.beziehungsart = 'istGebucht' 110 -- -- Die erste subquery zählt die Buchungen zu einer (Flurstücks-) gml_id. 111 -- -- Es wird nur dort gelöscht, wo mehrerer Buchungen existieren. 112 -- AND 1 < 113 -- ( SELECT count(f1.ogc_fid) AS anzfs 114 -- FROM ax_flurstueck f1 115 -- JOIN alkis_beziehungen z 116 -- ON f1.gml_id = z.beziehung_von 117 -- WHERE f1.gml_id = b.beziehung_von 118 -- AND z.beziehungsart = 'istGebucht' 119 -- GROUP BY f1.gml_id ) 120 -- -- Die zweite Subquery liefert die letzte (= aktuelle) Beziehung. 121 -- -- Diese aktuelle Buchung wird vom Löschen ausgeschlossen. 122 -- AND b.ogc_fid < 123 -- ( SELECT max(a.ogc_fid) AS maxi 124 -- FROM ax_flurstueck f2 125 -- JOIN alkis_beziehungen a 126 -- ON f2.gml_id = a.beziehung_von 127 -- WHERE f2.gml_id = b.beziehung_von 128 -- AND a.beziehungsart = 'istGebucht' 129 -- GROUP BY a.beziehung_von ) 130 -- -- bei Test mit SELECT darf man sortieren: 131 -- -- ORDER BY b.beziehung_von, b.ogc_fid 132 -- ; 133 ------ 126 134 127 135 … … 190 198 191 199 200 -- Straßen - N a m e n und - K l a s s i f i k a t i o n 201 -- NEU 2013-10-24 202 -- Tabellen für die Präsentation von Straßen-Namen und -Klassifikationen 203 -- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname". 204 -- Der View übernimmt die Auswahl des passenden "advstandardmodell" und rechnet den Winkel passend um. 205 -- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt. 206 207 -- Tabelle aus View befüllen 208 TRUNCATE pp_strassenname; 209 INSERT INTO pp_strassenname (schriftinhalt, hor, ver, art, winkel, the_geom) 210 SELECT schriftinhalt, hor, ver, art, winkel, wkb_geometry 211 FROM ap_pto_stra; -- View sucht das passende advstandardmodell 212 213 -- Schriftinhalt ergänzen 214 --DATE ap_pto p -- Präsentationsobjekte Punktförmig 215 UPDATE pp_strassenname p 216 SET schriftinhalt = -- Hier fehlt der Label 217 -- Subquery "Gib mir den Straßennamen": 218 ( SELECT k.bezeichnung -- Straßenname .. 219 FROM ax_lagebezeichnungkatalogeintrag k -- .. aus Katalog 220 JOIN ax_lagebezeichnungohnehausnummer l -- verwendet als Lage o.H. 221 ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 222 AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage ) 223 JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu -- Relation zum Präsentationsobjekt 224 WHERE p.gml_id = x.beziehung_von 225 AND x.beziehungsart = 'dientZurDarstellungVon' 226 -- LIMIT 1 -- war in einem Fall notwendig, wo 2mal der gleiche Text zugeordnet war, Ursache? 227 ) 228 WHERE p.schriftinhalt IS NULL 229 AND NOT p.the_geom IS NULL; 230 231 192 232 -- ======================================================== 193 233 -- Tabellen fuer die Zuordnung vom Gemarkungen zu Gemeinden
Note: See TracChangeset
for help on using the changeset viewer.