Рассматривая буферизацию с физическим барьером, используя ArcGIS for Desktop? Мне пришло в голову, что я не уверен, как можно использовать инструменты геообработки в ArcGIS для программного разбиения многоугольника с линией.
Вручную вы бы использовали инструмент « Вырезать полигоны» или « Разрезать полигоны» на панели инструментов «Топология» , но как бы вы выполнили ту же задачу, используя инструменты скриптинга для сборщика моделей или Python?
С самого начала я думаю обо всех инструментах в тобоксе Analysis, таких как Union, Identity и т. Д., Но это все инструменты Polygon-Polygon, а не Polygon-Line. Даже инструмент Split является Polygon-Polygon.
Любые идеи?
arcpy
arcgis-10.0
RyanKDalton
источник
источник
aPolygon.Split (aPolyLine)
:-).Ответы:
Используя ET Geowizard, вы можете получить доступ к коду для инструмента Разделить полигоны с помощью полилиний:
Вот ссылка на скрипт .
Кроме того, вы можете использовать ArcObjects для этого:
Вырезать фрагмент многоугольника
Вы также можете использовать метод одностороннего буфера, описанный здесь .
источник
После этого я создал собственный инструмент ModelBuilder. Я забыл об этом вопросе и отправил свое решение к другому подобному вопросу . Для полноты, это репост ответа:
источник
Если вы хотите выйти за пределы ArcGIS, используйте geom.splitpolysbylines .
Лично я никогда не использовал его в программе, но я думаю, что вы можете получить доступ к этому каналу связи с python, пожалуйста, обратитесь к справке для более подробной информации.
источник
если у вас нет проблем с высокой точностью, вы буферизуете линию с минимальным расстоянием, например, (0,002, я думаю, это должно быть выше, чем точность вашего класса пространственных объектов), затем применяете инструмент стирания к многоугольнику по буферизованной линии.
источник
Обновлен код arcpy для разделения полигонов по горизонтали или вертикали с использованием процентных значений
источник