Единственный хороший способ создания кругов в ArcMap - это использовать истинную дугу (составные кривые), но мне нужно преобразовать их в вершину (уплотнение) из-за проблемы совместимости. Мне нужна информация для базы геоданных и SDO_geometry (arcsde)
и да, есть способ. Я использую:
UPDATE layer1 a SET arctype = 'compound' WHERE has_compound_curves(a.shape) <> 0;
а затем с помощью ET Geotools уплотнять слой за слоем.
Но должен быть более простой способ сделать это прямо в Oracle или ArcMap, и я просто хочу уплотнить функции, которые имеют истинную дугу. Я не хочу ненужных вершин на прямых и так далее.
Как я могу определить истинные дуги в ArcMap, и как я могу уплотнить их как можно быстрее и проще?
То же самое для Oracle SQL.
Ответы:
Мне задали этот вопрос сегодня («Как я могу определить, есть ли в классе объектов кривые), и мне предложили несколько вариантов кода arcpy . Измените следующий код по своему усмотрению (например, переменная-флаг вместо сообщения)
источник
При использовании Densify сегменты кривой упрощаются за счет уплотнения с помощью параметра «Максимальный угол отклонения» или «Максимальное отклонение смещения».
Таким образом, отрезки прямых будут сохранены.
источник
Я думаю, что, выбрав их, вы можете уплотнить их. (Непроверенный) код ниже может быть адаптирован для этого. (Предполагается, что кривые Безье квалифицируются как дуги).
источник
это дополнение для кривых и линий позволяет выбирать фигуры с кривыми в них: http://www.arcgis.com/home/item.html?id=b59665cb906a435da3f8c45332d7cfdf
источник
Основываясь на ответе @ KHibma, курсор доступа к данным имеет токен,
SHAPE@JSON
который можно использовать для проверки кривых без импортаjson
модуля.источник
Я также создал собственное решение для этого, основываясь на предложении @geogeek. Я создал модель, которая сравнивает вершины исходных слоев с вершинами из уплотненной (используя опцию ANGLE) копии исходного слоя. Выходные данные представляют собой слой вершин, которые «не соответствуют» источнику. На последнем шаге выбираются все исходные объекты, которые пересекают несопоставленные точки, тем самым идентифицируя объекты, которые содержат истинные кривые.
Поскольку эта модель не разделяет объекты в начальной и конечной точках дуги, весь объект будет экспортирован. Поэтому, если у вас есть одна геометрия, которая связана как «линия-кривая-линия-кривая-обратная кривая-линия», будет выводиться весь объект, а не только части кривой. Используйте точки, чтобы определить, где существуют фактические кривые.
Вы можете загрузить модель под названием « Определение истинных кривых » из галереи «Анализ» в ArcGIS Resource Center.
источник