[PostNAS Suite] pp_flur pp_gmarkung pp_gemeinde ohne Splitterflächen

Astrid Emde astrid.emde at wheregroup.com
Do Jun 22 08:23:08 PDT 2017


Hallo,

ich habe die SQLs überarbeitet, mit denen die Tabellen pp_flur 
pp_gmarkung pp_gemeinde gefüllt werden.

Mit diesen SQLs sollten keine Splitterflächen mehr auftauchen.

Könntet ihr einmal ausprobieren, ob hiermit alle Fälle abgefangen werden 
und ob das SQL durchläuft? Ich würde es dann im SVN ersetzten.

https://trac.wheregroup.com/PostNAS/browser/trunk/import/pp_gebiete.sql

Delete from pp_flur;
INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemarkung, 
flurnummer, anz_fs, the_geom )
SELECT f.land, f.regierungsbezirk, f.kreis, gemarkung, f.flurnummer,  
anz_fs, st_multi(st_union(st_makepolygon(st_exteriorring(the_geom)))) 
from (
    SELECT  f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer as 
gemarkung, f.flurnummer,
            count(gml_id) as anz_fs,
		(ST_DUMP(st_union(st_buffer(f.wkb_geometry,0)))).geom AS the_geom
      FROM  ax_flurstueck f
      WHERE f.endet IS NULL
   GROUP BY f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer, 
f.flurnummer
   ) as f
    GROUP BY f.land, f.regierungsbezirk, f.kreis, f.gemarkung, 
f.flurnummer, anz_fs
   ;


UPDATE pp_gemarkung a
   SET the_geom =
    (
     Select 
st_multi(st_union(st_makepolygon(st_exteriorring(foo.the_geom)))) from
     (
      SELECT
      (ST_DUMP(st_union(st_buffer(b.the_geom,0)))).geom AS the_geom
      FROM    pp_flur b
      WHERE a.land=b.land AND a.gemarkung=b.gemarkung
     ) as foo
    );


UPDATE pp_gemeinde a
   SET the_geom =
    (
     Select 
st_multi(st_union(st_makepolygon(st_exteriorring(foo.the_geom)))) from
     (
      SELECT
      (ST_DUMP(st_union(st_buffer(b.the_geom,0)))).geom AS the_geom
      FROM    pp_gemarkung b
      WHERE a.land=b.land AND a.gemeinde=b.gemeinde
     ) as foo
   );



-- 
Viele Grüße
Astrid Emde
GIS-Consultant

**********************************
AGIT 2017
5.-7. Juli 2017 in Salzburg
Besuchen Sie uns an Stand Nr. 31
www.agit.at
**********************************

  Astrid Emde
  WhereGroup GmbH & Co.KG
  Eifelstraße 7
  53119 Bonn
  Germany

  Fon: +49(0)228 90 90 38 - 22
  Fax: +49(0)228 90 90 38 - 11

  astrid.emde at wheregroup.com
  www.wheregroup.com

  Folgen Sie der WhereGroup auf twitter: 
http://twitter.com/WhereGroup_com

Amtsgericht Bonn, HRA 6788
-------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
-------------------------------


Mehr Informationen über die Mailingliste NAS