В качестве фона, этот вопрос возник из попытки ответить на вопрос о том, как генерировать перекрывающиеся полигоны из линий, выводимых из инструмента «Таблица в эллипс»?
Используя графический интерфейс ArcMap 10.1, очень просто оцифровать полигоны истинной кривой в класс пространственных объектов файловой базы геоданных, используя Ellipse Construction Tool, но ...
Можно ли написать эллиптические многоугольники истинной кривой при чтении строк (arcpy.da.SearchCursor) из таблицы, содержащей центральную точку, главную ось, вспомогательную ось и азимут для каждого?
Я надеялся, что для этого может быть доступен токен с arcpy.da.InsertCursor , но, SHAPE@
похоже, он ограничен тем, что поддерживает объект Geometry , и в него не входят истинные кривые.
arcpy
arcgis-10.1
geometry
ellipse
true-curves
PolyGeo
источник
источник
Ответы:
Хотя объекты arcpy Geometry не поддерживают истинные кривые, в 10.3 Esri реализовала True Curves в REST API и поэтому должна была реализовать поддержку JSON для них в FeatureSets. Таким образом, вы можете «обмануть» arcpy, сделав это за вас, если создадите кривую в структуре JSON .
Вот пример: создайте файл JSON с истинными кривыми (для этого используются круговая дуга и кривая Безье), примерно так:
Затем загрузите его в набор функций и сохраните его в классе объектов.
И бум, у вас есть истинные изгибы! Вот что он создал в ArcMap:
Таким образом, в вашем случае, возможно, вы можете построить структуру json, либо приведя исходные объекты к набору функций и играя с JSON, либо во время итерации по строкам в поисковом курсоре. Математика может быть немного сложнее, чтобы получить то, что вы хотите, но, безусловно, выполнимо.
Я также должен отметить, что вам не нужно формировать полный набор объектов, вы можете просто передать геометрию JSON непосредственно в
arcpy.AsShape(geojson, True)
объект, чтобы вернуть объект геометрии.источник
Мы столкнулись с той же проблемой, когда нам нужно было вывести сотни посылок из юридических описаний в базу геоданных. Инструменты COGO были единственным, что позволило бы нам рисовать и сохранять истинные кривые. К сожалению, инструменты COGO не являются сценариями.
Однако мы смогли преобразовать юридические описания в текстовый формат, после чего мы могли бы загрузить их в окно перемещения для создания наших фигур. В зависимости от формата таблицы вы можете (используя Python) преобразовать ваши таблицы в txt, а затем загрузить их в окно перемещения.
Сегодня я пытался импортировать истинные контуры кривой в FGDB и наткнулся на надстройку преобразования Curve . Не уверен, поможет ли это, но подумал, что это полезно для манипулирования истинными кривыми.
источник