Arcpy에서 오목 다각형을 볼록 다각형으로 분할하는 방법?


20

오목 다각형을 감지하고 볼록 다각형으로 분할하는 도구 또는 알고리즘을 찾고 있습니다. 그림에서 설명한 것처럼 파란색 다각형은 A와 B 다각형으로 나뉩니다.

Arcgis 10.1에서 Arcpy를 사용하고 있습니다.

다각형 분할


15
아마도 왜 당신이 이것을하고 있는지 자세히 설명 할 수 있습니까? 결국, (a) 감지가 쉽습니다. 오목 다각형은 볼록 껍질보다 면적이 적습니다. (b) 모든 삼각형이 볼록하기 때문에 다각형을 삼각 측량하면 자동으로 볼록 다각형으로 분할됩니다. 이것은 많은 가능한 솔루션 중에서 선택하는 데 약간의 유연성이 있음을 보여줍니다.
whuber

2
이 툴셋을 사용하면 Bill이 resources.arcgis.com/gallery/file/geoprocessing/… 에 대해 이야기하고있는 것을 볼 수 있습니다 . 다각형을 포인트로 변환 한 다음 Delaunay 옵션을 실행하십시오.

1
스택 오버플로이에 대한 답변을 통해이있다 : stackoverflow.com/a/6686842/1300519 너무 어려운해서는 안됩니다 설명 된 알고리즘은 arcpy를 사용하여 작성.
Snorfalorpagus

1
@snorf 그것은 약간, 그러나 중요하게는 다른 질문에 대답하는 것처럼 보입니다. 해결책은 분명히 "다각형"과 "구멍" 의 조합을 포함하는데 , 이는 일반적으로 "분할"이 의미하는 것이 아니다. 최소한, 그 대답은 여기서 유용하게하기 위해 더 많은 정교함이 필요합니다. (BTW, 귀하의 답변은 추가 설명없이 웹상의 다른 솔루션에 대한 상호 참조가 여기에 대한 답변으로 간주되지 않기 때문에 의견으로 변경되었습니다.)
whuber

2
여기에있는 의견을 바탕으로 답변이 나오면 답변이 없습니다. 피드백을 반영하고 현상금 제공을 고려하여 질문을 편집하는 것이 좋습니다.
PolyGeo

답변:


1

다음은 오목한 부분에서 꼭짓점을 식별하는 몇 가지 단계입니다.

소포 사용 : 최소 경계 지오메트리 (헐)-> parcelHull

소포 사용 : FeatureVerticesToPoint-> parcelPoints

parcelHull 사용 : FeatureVerticesToPoint-> parcelHullPoints

parcelPoint 및 parcelHullPoint 사용 : 대칭 Diff-> concavePoints

이러한 점을 기준으로 비스 텍트리스를 그려 다각형 (선까지의 거리)을 자르고, 점과 교차하지만 구획 경계와 세그먼트를 공유하지 않는 Voronoï 삼각형의 가장자리를 선택합니다 (삼각형 분할 후 위치로 선택) 정점에서 선)을 선택하고 반대쪽 사이트에서 정점을 선택하고 선 (점에서 선으로)을 만들고 반대쪽 가장자리에서 가장 가까운 점을 선택한 후 선 (점에서 선으로)을 만듭니다.

마지막으로 원하는 선과 "다각형에 특징"이있는 원래 구획을 사용하여 다각형을 분할하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.