Tôi đang tìm một hàm để xóa các ranh giới được chia sẻ giữa các tính năng đa giác trong một bảng. ST_UNION () gần như thực hiện những gì tôi đang tìm kiếm, nhưng nó tạo ra một đa giác từ tất cả các đa giác trong lớp bất kể chúng có chia sẻ một ranh giới chung hay không. Tôi chỉ muốn xóa tan ranh giới giữa các đa giác chạm vào nhau. Tôi hình dung, nên có một số cách sử dụng ST_TOUCHES () nhưng sau đó, nhu cầu về hàm hòa tan có vẻ phổ biến đến mức tôi sẽ ngạc nhiên nếu không có chức năng tích hợp để đạt được điều này.
Trường hợp sử dụng trông như thế này: Tôi đã tải xuống dữ liệu Corine Landcover cho một quốc gia lớn ở châu Âu và tôi muốn xóa tan ranh giới giữa các loại rừng khác nhau (khoảng 75.000 đa giác trong một bảng). Tôi đã thử ST_UNION, nhưng nó không thành công với lỗi "hết bộ nhớ" (mặc dù 30.000 đa giác đã hoạt động):
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)
Lưu ý: Tất cả các mã rừng bắt đầu bằng '31' và tôi đang sử dụng PostGIS 1.4, phiên bản GEOS: 3.2.0-CAPI-1.6.0