Changeset 176 for trunk/data/konvert
- Timestamp:
- 04/17/12 18:35:28 (12 years ago)
- Location:
- trunk/data/konvert/postnas_0.7
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7/pp_definition.sql
r163 r176 8 8 -- 2012-02-13 PostNAS 07, Umbenennung 9 9 -- 2012-02-17 Optimierung 10 -- 2012-02-28 gkz aus View nehmen 11 -- 2012-04-17 Flurstuecksnummern auf Standardposition 12 10 13 11 14 -- ============================ … … 66 69 67 70 68 COMMENT ON TABLE pp_gemeinde IS 'Post-Processing: Gemeinde';69 COMMENT ON COLUMN pp_gemeinde.gemeinde IS 'Gemeindenummer';70 COMMENT ON COLUMN pp_gemeinde.gkz IS 'Gemeindekennziffer fÃŒr Mandant';71 COMMENT ON COLUMN pp_gemeinde.the_geom IS 'prÀzise Geometrie aus Summe aller Gemarkungen';72 COMMENT ON COLUMN pp_gemeinde.simple_geom IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÀben.';71 COMMENT ON TABLE pp_gemeinde IS 'Post-Processing: Gemeinde'; 72 COMMENT ON COLUMN pp_gemeinde.gemeinde IS 'Gemeindenummer'; 73 --COMMENT ON COLUMN pp_gemeinde.gkz IS 'Gemeindekennziffer fÃŒr Mandant'; 74 COMMENT ON COLUMN pp_gemeinde.the_geom IS 'prÀzise Geometrie aus Summe aller Gemarkungen'; 75 COMMENT ON COLUMN pp_gemeinde.simple_geom IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÀben.'; 73 76 74 77 … … 152 155 153 156 154 -- pp_?157 -- Prefix "pp_" verwenden ? 155 158 156 159 --DROP TABLE gemeinde_person; … … 175 178 176 179 180 -- Flurstuecksnummern-Position 181 -- =========================== 182 183 -- ersetzt den View "s_flurstueck_nr" fÃŒr WMS-Layer "ag_t_flurstueck" 184 185 --DROP TABLE pp_flurstueck_nr; 186 187 CREATE TABLE pp_flurstueck_nr ( 188 gid serial, 189 fsgml character(16), 190 fsnum character varying(10), -- zzzzz/nnnn 191 CONSTRAINT pp_flurstueck_nr_pk PRIMARY KEY (gid), 192 CONSTRAINT pp_flurstueck_nr_gml FOREIGN KEY (fsgml) 193 REFERENCES ax_flurstueck (gml_id) MATCH SIMPLE 194 ON UPDATE CASCADE ON DELETE CASCADE 195 ); 196 197 SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2); 198 199 -- Geometrischer Index 200 CREATE INDEX pp_flurstueck_nr_gidx ON pp_flurstueck_nr USING gist(the_geom); 201 202 -- Foreig-Key Index 203 CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr(fsgml); 204 205 COMMENT ON TABLE pp_flurstueck_nr IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte'; 206 COMMENT ON COLUMN pp_flurstueck_nr.fsgml IS 'gml_id des zugehörigen FlurstÃŒcks-Objektes'; 207 COMMENT ON COLUMN pp_flurstueck_nr.fsnum IS 'Label, Darzustellende FS-Nummer als Bruch'; 208 COMMENT ON COLUMN pp_flurstueck_nr.the_geom IS 'Position der FlurstÃŒcksnummer in der Karte'; 209 210 177 211 -- ===== 178 212 -- VIEWs … … 185 219 CREATE VIEW gemeinde_gemarkung 186 220 AS 187 SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname , g.gkz221 SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname 188 222 FROM pp_gemarkung k 189 223 JOIN pp_gemeinde g 190 224 ON k.land = g.land 191 AND k.gemeinde = g.gemeinde 192 ; 225 AND k.gemeinde = g.gemeinde; 193 226 194 227 -- VIEWs fuer die Zuordnung vom EigentÃŒmern zu Gemeinden … … 228 261 AND bnb.beziehungsart = 'istBestandteilVon' 229 262 AND bbg.beziehungsart = 'istBestandteilVon' 230 AND bsf.beziehungsart = 'istGebucht' 231 ; 263 AND bsf.beziehungsart = 'istGebucht'; 232 264 233 265 COMMENT ON VIEW gemeinde_person_typ1 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ1 = nomale Buchungen mit direkter Beziehung.'; … … 289 321 AND p.gemeinde = g.gemeinde 290 322 GROUP BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp 291 ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp 292 ; 323 ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp; 293 324 294 325 COMMENT ON VIEW gemeinde_person_statistik IS 'ZÀhlen der Personen je Gemeinde und Buchungstyp'; -
trunk/data/konvert/postnas_0.7/pp_laden.sql
r163 r176 8 8 -- 2012-02-13 PostNAS 07, Umbenennung 9 9 -- 2012-02-17 Optimierung 10 -- 2012-04-17 Flurstuecksnummern auf Standardposition 10 11 11 12 … … 22 23 23 24 -- Die per PostProcessing gefüllten Tabellen bekommen den Profix "pp_". 25 26 -- Die Ausführung dieses Scriptes auf einer Datenbank für eine 80T-Einwohner-Stadt dauert ca.: 500 Sek. ! 27 28 29 30 -- =========================== 31 -- Flurstuecksnummern-Position 32 -- =========================== 33 34 -- ersetzt den View "s_flurstueck_nr" für WMS-Layer "ag_t_flurstueck" 35 36 DELETE FROM pp_flurstueck_nr; 37 38 INSERT INTO pp_flurstueck_nr 39 ( fsgml, fsnum, the_geom ) 40 SELECT f.gml_id, 41 f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum, 42 p.wkb_geometry -- manuelle Position des Textes 43 FROM ap_pto p 44 JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von 45 JOIN ax_flurstueck f ON v.beziehung_zu = f.gml_id 46 WHERE v.beziehungsart = 'dientZurDarstellungVon' 47 --AND p."art" = 'ZAE_NEN' 48 UNION 49 SELECT f.gml_id, 50 f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum, 51 ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry -- Flaechenmitte als Position des Textes 52 FROM ax_flurstueck f 53 LEFT JOIN alkis_beziehungen v ON v.beziehung_zu = f.gml_id 54 WHERE v.beziehungsart is NULL 55 ; 56 -- Ausführung: mittlere Stadt: ca. 4 - 18 Sec. 24 57 25 58 -
trunk/data/konvert/postnas_0.7/sichten.sql
r162 r176 6 6 7 7 -- 2012-02-25 PostNAS 07, Umbenennung 8 -- 2012-04-17 flstnr_ohne_position 9 8 10 9 11 -- ----------------------------------------- … … 12 14 13 15 14 -- Layer "ag_t_flurstueck"15 -- ----------------------- 16 -- WMS-Layer "ag_t_flurstueck" 17 -- --------------------------- 16 18 17 19 -- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck" … … 20 22 21 23 -- Bruchnummerierung erzeugen 24 -- ALT 2012-04-17: Diese Version zeigt nur die manuell gesetzten Positionen 22 25 CREATE OR REPLACE VIEW s_flurstueck_nr 23 26 AS 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' 38 35 ; 39 36 40 37 COMMENT 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 49 CREATE OR REPLACE VIEW s_flurstueck_nr2 50 AS 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 68 COMMENT ON VIEW s_flurstueck_nr2 IS 'Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden'; 41 69 42 70 … … 313 341 -- Sichten fuer Fehlersuche und Daten-Analyse 314 342 -- ------------------------------------------ 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 357 CREATE OR REPLACE VIEW flstnr_ohne_position 358 AS 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 368 COMMENT ON VIEW flstnr_ohne_position IS 'FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÀsentation der FS-Nr'; 369 315 370 316 371 -- Zeigt die Texte an, die nicht in einem der Mapfile-Views verarbeitet werden
Note: See TracChangeset
for help on using the changeset viewer.