[FOSSGIS-Talk] PostGIS Multipart to Singlepart

Claas Leiner claas.leiner at gkg-kassel.de
Fr Jun 7 11:45:56 CEST 2019


Hallo Zusammen,

folgendes Problem bei einer PostGis-Abfrage sieht einfach aus, aber es 
scheint nicht so einfach zu sein:

Ein Linienlayer mit ca. 800 Objekten soll nach einem Attribut "typ" 
verschmolzen werden. Am Ende sollen jedoch nicht zusammenhängende 
Linienteile des gleichen Typs als eigene Objekte erscheinen. Ziel ist 
ein Singlepart-Layer, bei dem nur zusammenhängende Linienobjekte des 
gleichen Typs verschmolzen sind.

Schritt 1:

-- Nach dem Attribut typ verschmelzen

create table trassen_zus as
select
st_Union(geometry)::geometry('Multilinestring',25832) as 	geometry,
typ
from trassen
group by typ
;

Jetzt habe ich für jeden Typ ein Multlinestring-Objekt. Es gibt so viele 
Objekt wie Typen (8). Die Multi-Objekte verfügen jedoch über Teil-Linien 
die im Gebiet verstreut sind. Jedes Teilobjekt, welches nicht mit einem 
anderen zusamenhängt, soll nun ein einzelne Objekt werden. Also 
Multipart zu Singelepart.

Schritt 2
Mit

  create table trassen_zus_diff as
  select
  (ST_Dum(geometry)).geom::geometry('Linestring',25832) as geometry,
  typ

  from trassen
  ;

Bekomme  ich jedoch die Ausgangsgeometrie zurück. Ich möchte aber für 
jeden seperat liegenden Linienabschnitt mit identischem Typ eine 
Singlepart-Geometrie bekommen.

Hat jemand mit dieser Problemstellung Erfahrungen und kann mir einen Tip 
geben?

Viele Grüße,

Claas


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste