Saya mencari fungsi untuk melarutkan batas bersama antara fitur poligon dalam sebuah tabel. ST_UNION () hampir melakukan apa yang saya cari, tetapi ini menciptakan multipolygon dari semua poligon di lapisan terlepas dari apakah mereka berbagi batas bersama atau tidak. Saya lebih suka hanya melarutkan batas antara poligon yang saling menyentuh. Saya pikir, harus ada beberapa cara menggunakan ST_TOUCHES () tetapi kemudian kebutuhan untuk fungsi larut tampaknya sangat umum sehingga saya akan terkejut jika tidak ada fungsi bawaan untuk mencapai ini.
Kasus penggunaannya terlihat seperti ini: Saya mengunduh data Corine Landcover untuk negara besar di Eropa dan saya ingin membubarkan batas antara berbagai jenis hutan (sekitar 75.000 poligon dalam satu tabel). Saya mencoba ST_UNION, tetapi gagal dengan kesalahan "kehabisan memori" (30.000 poligon berhasil):
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)
Catatan: Semua kode hutan dimulai dengan '31' dan saya menggunakan PostGIS 1.4, versi GEOS: 3.2.0-CAPI-1.6.0