PostGIS : 동일한 속성 값을 공유하는 연속 기능을 병합하는 방법?


9

큰 PostGIS 테이블 저장 라인 기능이 있습니다.

서로 연결되어 있고 속성 값이 동일한 기능을 병합하고 싶습니다. 다음은 달성하고자하는 예입니다.

  • 속성 값이 동일한 경우에도 연속적이지 않기 때문에 가장 검은 색 및 파란색 기능은 병합되지 않습니다.
  • 녹색과 빨간색 기능은 두 조건에 모두 일치하므로 병합됩니다.
  • 이전과 같이 기능 노랑이 남습니다.

SQL 쿼리로 어떻게 달성 할 수 있습니까? 여기에 이미지 설명을 입력하십시오

답변:


7

ST_ClusterIntersecting으로 이를 수행 할 수 있습니다 .

SELECT attr, unnest(ST_ClusterIntersecting(geom))
FROM lines
GROUP by attr;

@dbaston에게 감사합니다! 앞으로 몇 일 동안 사용 해보고 알려 드리겠습니다.
wiltomap

이 기능 ST_ClusterIntersecting()은 PostGIS 2.2에서 사용할 수 있습니다. 이전 버전의 솔루션이 있습니까? PostGIS 2.1.8을 사용 중이며 현재 PostGIS를 업그레이드 할 수 없습니다.
wiltomap

내가 좋은 것으로 생각하는 것은 없습니다. ... 실제로 글을 쓰게 된 것은 바로 이런 상황입니다 ST_ClusterIntersecting. 2.2 이전의 일부 아이디어는 gis.stackexchange.com/q/94203/18189에 있습니다
dbaston
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.