Changeset 351 for trunk/import
- Timestamp:
- 01/08/15 17:13:59 (9 years ago)
- Location:
- trunk/import
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/pp_definition.sql
r344 r351 22 22 -- Wie im Schema: SchlÃŒssel von integer nach varchar fÃŒr land, regierungsbezirk usw. 23 23 -- 2014-10-28 letzte FÀlle von "substring(gml_id,1,16)" wieder raus 24 24 -- 2014-12-17 Spalte gemeinde in Tabelle pp_flur, dient der Filterung im WMS-Layer "Gebiete" 25 26 /* Patch 2014-12-17: 27 ALTER TABLE pp_flur ADD COLUMN gemeinde character varying; 28 COMMENT ON COLUMN pp_flur.gemeinde IS 'Gemeindenummer'; 29 */ 25 30 26 31 -- ============================ … … 143 148 regierungsbezirk character varying, 144 149 kreis character varying, 150 gemeinde character varying NOT NULL, 145 151 gemarkung character varying NOT NULL, 146 152 flurnummer integer NOT NULL, … … 162 168 163 169 COMMENT ON TABLE pp_flur IS 'Post-Processing: Flur'; 170 COMMENT ON COLUMN pp_flur.gemeinde IS 'Gemeindenummer'; 164 171 COMMENT ON COLUMN pp_flur.gemarkung IS 'Gemarkungsnummer'; 165 172 COMMENT ON COLUMN pp_flur.the_geom IS 'Geometrie aus Summe aller FlurstÃŒcke'; -
trunk/import/pp_laden.sql
r339 r351 23 23 -- 2014-09-19 Substring auf gml_id, Korrektur "endet IS NULL" 24 24 -- 2014-09-30 RÃŒckbau substring(gml_id) 25 -- 2014-12-17 Neue Spalte "gemeinde" in Tabelle "pp_flur", dient der Filterung im WMS-Layer "Gebiete" 26 -- 2015-01-08 Mehrfach-Versuche der Geometrie-Zusammenfassung mit wachsender PuffergröÃe. 25 27 26 28 … … 32 34 -- Die dynamische Aufbereitung ÃŒber Views und Functions wÃŒrde zu lange dauern und somit lange 33 35 -- Antwortzeiten in WMS, WFS, Buchauskunft oder Navigation (Suche) verursachen. 36 37 -- Geometrie glÀtten und vereinfachen fÃŒr Flur, Gemarkung und Gemeinde: 38 -- Die "simplen" Geometrien sollen nur fÃŒr die Darstellung einer Ãbersicht verwendet werden. 39 -- Ablage der simplen Geometrie in einem alternativen Geometriefeld im gleichen Datensatz. 34 40 35 41 -- Im Rahmen eines "Post-Processing" werden diese Daten nach jeder Konvertierung (NBA-Aktualisierung) … … 232 238 -- Geometrien der FlurstÃŒcke schrittweise zu groesseren Einheiten zusammen fassen 233 239 -- ============================================================================== 234 235 -- Dies macht nur Sinn, wenn der Inhalt der Datenbank einen ganzen Katasterbezirk enthÀlt. 236 -- Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 237 -- die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch! 240 -- http://postgis.net/docs/manual-1.5/ST_Union.html (Aggregate version) 241 -- http://postgis.net/docs/manual-1.5/ST_Collect.html 242 243 -- Wenn ein Gebiet durch geometrische Filter im NBA-Verfahren ausgegeben wurde, dann gibt es 244 -- Randstreifen, die zu Pseudo-Fluren zusammen gefasst werden. 245 -- Diese werden fÃŒr den WMS durch einen View ausgefiltert, der nur eine Gemeinde darstellt. 238 246 239 247 -- AusfÃŒhrungszeit: 1 mittlere Stadt mit ca. 14.000 FlurstÃŒcken > 100 Sek 240 248 241 249 TRUNCATE pp_flur; 242 INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemarkung, flurnummer, anz_fs, the_geom ) 243 SELECT f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer as gemarkung, f.flurnummer, 250 251 INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemeinde, gemarkung, flurnummer, anz_fs, the_geom ) 252 SELECT f.land, f.regierungsbezirk, f.kreis, f.gemeinde, f.gemarkungsnummer as gemarkung, f.flurnummer, 244 253 count(gml_id) as anz_fs, 245 st_multi(st_union(st_buffer(f.wkb_geometry,0.06))) AS the_geom -- Zugabe um ZwischenrÀume zu vermeiden254 ST_Multi(st_union(st_buffer(f.wkb_geometry,0.06))) AS the_geom -- Zugabe um ZwischenrÀume zu vermeiden 246 255 FROM ax_flurstueck f 247 256 WHERE f.endet IS NULL AND NOT f.wkb_geometry IS NULL 248 GROUP BY f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer, f.flurnummer; 257 GROUP BY f.land, f.regierungsbezirk, f.kreis, f.gemeinde, f.gemarkungsnummer, f.flurnummer; 258 259 -- Vereinfachte Geometrie der Flur fÃŒr die Darstelung im WMS in einem kleinen MaÃstab 260 UPDATE pp_flur SET simple_geom = st_simplify(the_geom, 0.5); 249 261 250 262 … … 255 267 UPDATE pp_gemarkung a 256 268 SET the_geom = 257 ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.12))) AS the_geom -- Puffer/Zugabe um Löcher zu vermeiden269 ( SELECT ST_Multi(ST_Union(ST_Buffer(b.the_geom,0.15))) AS the_geom -- Puffer/Zugabe um Löcher zu vermeiden 258 270 FROM pp_flur b 259 271 WHERE a.land = b.land 260 272 AND a.gemarkung = b.gemarkung 261 273 ); 262 263 -- Fluren zaehlen 274 -- Hierbei können Exceptions auftreten wobei das Geometriefeld einzelner Gemarkungen leer bleibt. 275 -- Die Ursache ist unklar. 276 -- TopologyException: found non-noded intersection between LINESTRING 277 278 -- Praktische Lösung: 279 -- Bei den Gemarkungen, die nichts abbekommen haben, mit schrittweise groesserem Buffer noch mal versuchen. 280 UPDATE pp_gemarkung a 281 SET the_geom = 282 ( SELECT ST_Multi(ST_Union(ST_Buffer(b.the_geom,0.20))) AS the_geom -- Puffer vergroessert 283 FROM pp_flur b 284 WHERE a.land = b.land 285 AND a.gemarkung = b.gemarkung 286 ) WHERE the_geom IS NULL; 287 288 UPDATE pp_gemarkung a 289 SET the_geom = 290 ( SELECT ST_Multi(ST_Union(ST_Buffer(b.the_geom,0.30))) AS the_geom -- Puffer vergroessert 291 FROM pp_flur b 292 WHERE a.land = b.land 293 AND a.gemarkung = b.gemarkung 294 ) WHERE the_geom IS NULL; 295 296 /* Guggst du (auf leeren Geometry-Typ achten: 297 298 SELECT gemarkungsname, geometrytype(the_geom) AS typ, 299 st_isvalid(the_geom) AS vali, st_asewkt(the_geom) AS ewkt 300 FROM pp_gemarkung; 301 302 */ 303 304 -- Die Fluren in der Gemarkung zaehlen 264 305 UPDATE pp_gemarkung a 265 306 SET anz_flur = … … 271 312 272 313 314 -- Vereinfachte Geometrie der Gemarkung fÃŒr die Darstellung im WMS in einem kleinen MaÃstab 315 -- Gemarkung (Wirkung siehe pp_gemarkung_analyse) 316 UPDATE pp_gemarkung SET simple_geom = st_simplify(the_geom, 2.2); 317 318 273 319 -- Gemarkungen zu Gemeinden zusammen fassen 274 320 -- ---------------------------------------- 275 321 276 -- FlÀchen vereinigen (aus der bereits vereinfachten Geometrie)277 UPDATE pp_gemeinde a 278 SET the_geom = 279 ( SELECT st_multi(st_union(st_buffer(b.the_geom,0. 1))) AS the_geom -- noch mal Zugabe322 -- FlÀchen vereinigen 323 UPDATE pp_gemeinde a 324 SET the_geom = 325 ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.2))) AS the_geom -- noch mal Zugabe 280 326 FROM pp_gemarkung b 281 327 WHERE a.land = b.land 282 328 AND a.gemeinde = b.gemeinde 283 329 ); 284 285 -- Gemarkungen zÀhlen 330 -- Hierbei können Exceptions auftreten wobei das Geometriefeld einzelner Gemarkungen leer bleibt. 331 -- Die Ursache ist unklar. 332 333 -- Praktische Lösung: 334 -- weitere Versuche mit mehr Puffer, wenn Exception auftrat 335 UPDATE pp_gemeinde a 336 SET the_geom = 337 ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.3))) AS the_geom -- MEHR Zugabe 338 FROM pp_gemarkung b 339 WHERE a.land = b.land 340 AND a.gemeinde = b.gemeinde 341 ) WHERE the_geom IS NULL; 342 343 UPDATE pp_gemeinde a 344 SET the_geom = 345 ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.4))) AS the_geom -- noch MEHR Zugabe 346 FROM pp_gemarkung b 347 WHERE a.land = b.land 348 AND a.gemeinde = b.gemeinde 349 ) WHERE the_geom IS NULL; 350 351 352 -- Vereinfachte Geometrie der Gemeinde fÃŒr die Darstellung im WMS in einem kleinen MaÃstab 353 -- Gemeinde (Wirkung siehe pp_gemeinde_analyse) 354 UPDATE pp_gemeinde SET simple_geom = st_simplify(the_geom, 5.0); 355 356 -- Gemarkungen in der Gemeinde zÀhlen 286 357 UPDATE pp_gemeinde a 287 358 SET anz_gemarkg = … … 291 362 AND a.gemeinde = b.gemeinde 292 363 ); 293 294 295 -- Geometrie glÀtten und vereinfachen.296 -- Diese "simplen" Geometrien sollen nur fÃŒr die Darstellung einer Ãbersicht verwendet werden.297 -- Ablage der simplen Geometrie in einem alternativen Geometriefeld im gleichen Datensatz.298 299 UPDATE pp_flur SET simple_geom = st_simplify(the_geom, 0.5); -- Flur300 301 UPDATE pp_gemarkung SET simple_geom = st_simplify(the_geom, 2.2); -- Gemarkung (Wirkung siehe pp_gemarkung_analyse)302 303 UPDATE pp_gemeinde SET simple_geom = st_simplify(the_geom, 5.0); -- Gemeinde (Wirkung siehe pp_gemeinde_analyse)304 364 305 365 -
trunk/import/staedtische_FS_aus_ALKIS_rlp.sql
r349 r351 13 13 -- 2014-09-30 RÃŒckbau subsrting(gml_id), Umbenennung SchlÃŒsseltabellen "ax_*" nach "v_*" 14 14 -- 2014-12-16 Views fÃŒr Gebiete im WMS, gefiltert nach individueller Gemeinde 15 -- 2014-12-17 Spalte "gemeinde" in "pp_flur" nutzen 15 16 16 17 -- Voraussetzung = View "doppelverbindung" aus ALKIS PostNAS-Projekt Datei "sichten.sql" 18 19 -- ToDo: Umbenennen der Datei von "staedtische_FS" nach "staedtische_views" oder so Àhnlich. 17 20 18 21 … … 97 100 98 101 -- Flur gefiltert 99 -- +++ Im PostProcessing auch Gemeinde in Tabelle "pp_flur" einfÃŒgen und fÃŒllen.100 102 CREATE OR REPLACE VIEW gebiet_flur 101 103 AS 102 SELECT f.gid, f.gemarkung, f.flurnummer, f.the_geom 103 FROM pp_flur f 104 JOIN pp_gemarkung g ON f.gemarkung = g.gemarkung -- JOIN = Work-Arround weil gemeinde in "pp_flur" fehlt 105 WHERE g.gemeinde = '103'; -- Osann-Monzel 104 SELECT gid, gemarkung, flurnummer, the_geom 105 FROM pp_flur 106 WHERE gemeinde = '103'; -- Osann-Monzel 106 107 COMMENT ON VIEW gebiet_flur IS 'FlurflÀchen (vereinfachte Geometrie), gefiltert nach Gemeinde.'; 107 108 GRANT SELECT ON TABLE gebiet_flur TO ms6;
Note: See TracChangeset
for help on using the changeset viewer.