도시 지역과 같이 넓은 지역을 나타내는 다각형 세트가 있습니다. 그들 사이에 큰 겹치는 영역을 식별하고 싶습니다.
그러나 문제가 있습니다. 때때로 이러한 다각형은 주변을 따라 겹치게됩니다 (정확도가 거의 없기 때문에). 이것은 내가 신경 쓰지 않는 길고 좁은 겹침을 생성합니다.
그러나 다른 경우에는 견고한 다각형이 겹치게됩니다. 즉, 이웃 다각형이 다른 영역과 겹치는 넓은 영역을 의미합니다. 이 중 하나만 선택하고 싶습니다.
겹치는 부분 만 아래 그림을 참조하십시오. 왼쪽 하단에서 파란색 다각형 만 선택하고 싶다고 상상해보십시오.
영역을 볼 수는 있지만 때로는 좁은 영역이 너무 길어 파란색 다각형만큼 큰 영역이 생깁니다. 면적 / 둘레의 비율을 시도했지만 혼합 결과가 나왔습니다.
나는 심지어 사용하려고 시도 ST_MinimumClearance
했지만 때로는 넓은 영역에 좁은 부분이 붙어 있거나 두 개의 매우 가까운 정점이 있습니다.
다른 접근법에 대한 아이디어가 있습니까?
결국 저에게 가장 효과적인 것은 아래 @Cyril과 @FGreg에서 제안한 것처럼 네거티브 버퍼를 사용하는 것이 었습니다.
나는 다음과 같은 것을 사용했다 :
ST_Area(ST_Buffer(geom, -10)) as neg_buffer_area
필자의 경우 단위는 미터이므로 10m 네거티브 버퍼입니다.
좁은 다각형의 경우이 영역은 0을 반환했습니다 (도형은 비어 있음). 그런 다음이 열을 사용하여 좁은 다각형을 필터링했습니다.