Я шукаю інструмент чи алгоритм для виявлення увігнутих багатокутників та розбиття їх на опуклі багатокутники. Як пояснено на малюнку, синій багатокутник розбивається на багатокутники А та В
Я використовую Arcpy під Arcgis 10.1
Я шукаю інструмент чи алгоритм для виявлення увігнутих багатокутників та розбиття їх на опуклі багатокутники. Як пояснено на малюнку, синій багатокутник розбивається на багатокутники А та В
Я використовую Arcpy під Arcgis 10.1
Відповіді:
ось кілька кроків для виявлення вершин з увігнутих частин:
з посилкою: мінімальна обмежувальна геометрія (корпус) -> parcelHull
з посилкою: FeatureVerticesToPoint -> parcelPoints
з parcelHull: FeatureVerticesToPoint -> parcelHullPoints
з parcelPoint та parcelHullPoint: симетричний Diff -> concavePoints
виходячи з цих точок, ви можете намалювати бісектрису, щоб вирізати ваш багатокутник (відстань несучої до лінії), вибрати краї трикутника Вороної, які перетинають вашу точку, але не ділять відрізок з кордоном вашої посилки (виберіть за місцем розташування після розбиття трикутника лінії у вершинах), виберіть вершину на протилежному місці та зробіть лінію (вказує на лінію), виберіть найближчу точку на протилежному краю та зробіть лінію (вказує на лінію) ...
Наприкінці використовуйте уподобані лінії та оригінальні посилки з "функцією багатокутника", щоб розділити багатокутники.