Bir tablodaki çokgen özellikleri arasındaki paylaşılan sınırları çözme işlevi arıyorum. ST_UNION () aradığım şeyi neredeyse yapar, ancak ortak bir sınırı paylaşıp paylaşmadıklarına bakılmaksızın, katmandaki tüm çokgenlerden bir çokgen oluşturur. Sadece birbirine dokunan çokgenler arasındaki sınırları çözmeyi tercih ederim. ST_TOUCHES () yöntemini kullanmanın bir yolu olmalı, ancak çözme işlevine duyulan ihtiyaç o kadar yaygın görünüyor ki bunu başarmak için yerleşik bir işlev yoksa şaşırırdım.
Kullanım durumu şöyle: Büyük bir Avrupa ülkesi için Corine Landcover verilerini indirdim ve farklı orman türleri arasındaki sınırları (bir tabloda yaklaşık 75.000 çokgen) çözmek istiyorum. ST_UNION'u denedim, ancak bu "bellek yetersiz" hatasıyla başarısız oluyor (30.000 çokgen de işe yarıyordu):
create table corine00 as
select st_union(the_geom) as the_geom,
sum(area_ha) as area_ha,
substr(code_00,1,2) as code_00
from clc00_c31_forests
group by substr(code_00,1,2)
Not: Tüm orman kodları '31' ile başlar ve PostGIS 1.4, GEOS versiyonunu kullanıyorum: 3.2.0-CAPI-1.6.0