테이블의 다각형 피처 사이에 공유 경계를 해소하는 함수를 찾고 있습니다. ST_UNION ()은 내가 찾고있는 것을 거의 수행하지만 공통 경계를 공유하는지 여부에 관계없이 레이어의 모든 다각형에서 다중 다각형을 만듭니다. 차라리 서로 닿는 다각형 사이의 경계 만 녹이려고합니다. ST_TOUCHES ()를 사용하는 방법이 있어야하지만 디졸브 함수의 필요성이 너무 일반적으로 보이므로 내장 함수가 없으면 놀랄 것입니다.
유스 케이스는 다음과 같습니다. 유럽의 큰 국가에 대한 Corine Landcover 데이터를 다운로드했으며 서로 다른 포리스트 유형 (한 테이블에 약 75,000 개의 다각형) 사이의 경계를 없애고 싶습니다. ST_UNION을 시도했지만 "메모리 부족"오류로 인해 실패합니다 (30,000 개의 다각형이 작동했습니다).
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)
참고 : 모든 포리스트 코드는 '31'로 시작하며 PostGIS 1.4, GEOS 버전 : 3.2.0-CAPI-1.6.0을 사용하고 있습니다.