Сводка
Упрощает форму полигональных или линейных объектов, заменяя последовательные линейные сегменты или ребра меньшим числом сегментов линий или ребер. Сегменты линий и ребра полигонов упрощаются на основе указанного максимально допустимого сдвига. Кроме того из последовательных сегментов линий и ребер полигонов могут быть созданы дуги окружностей.
Иллюстрация
Использование
Инструмент можно использовать для упрощения геометрии линейных и полигональных объектов, которые содержат скопления нежелательных вершин и осколки сегментов, например, после конвертации или какой-либо другой обработки данных. Цепочка сегментов нелинейных сегментов или ребер может быть заменена двух-точечной прямой линией, а серии сегментов, представляющих дуги – истинными кривыми. Инструмент вычисляет аппроксимацию и заменяет множественные сегменты или ребра прямыми линиями и дугами окружности в пределах максимально допустимого сдвига.
Входными объектами могут быть полигоны или линии. Выходные линии и ребра полигонов частично содержат вершины оригинальных объектов. Новые вершины не вставляются, объекты не удаляются.
Существующие параметрические кривые, например кривые Безье, дуги окружности и сегменты дуги эллипса не изменяются.
Примечание:
Если входные объекты хранятся в шейп-файле, дуги окружности в выходных объектах остаются в виде серий множества мелких прямых отрезков. Шейп-файлы не поддерживают истинные кривые. Для получения истинных кривых экспортируйте шейп-файл в класс объектов.
Используйте параметр Создать дуги окружности для построения истинных кривых в дополнении к прямым линиям. Есть 5 дополнительных параметров, Максимальный шаг угла дуги, Минимальное число вершин, Минимальный радиус, Максимальный радиус и Минимальный угол дуги, которые определяют, как дуги окружности вписываются в сегменты.
- Максимальный шаг угла дуги (десятичные градусы) – максимальный угол дуги, используемый для построения дуг окружности. Угол дуги - центральный угол кривой-кандидата (кривой, которая будет построена). Шаг максимального угла дуги определяет верхний предел ширины поля поиска центрального угла при размещении вершин для построения окружностей. Если в каждом шаге максимального угла дуги найдено более одной вершины, все эти вершины вписываются в дуги окружности. Используйте минимальный угол дуги, чтобы плотно размещенные сегменты в дуги окружности и предотвратить избыточное упрощение больших сегментов. Используйте максимальный угол, чтобы вписать неплотно размещенные сегменты в дуги окружности. Допустимый диапазон составляет от 2 до 95 десятичных градусов. Значение по умолчанию равно 20 градусам.
На рисунке ниже сегмент со значением центрального угла 90 градусов считается вписанным в дугу окружности. Если угол в 89 градусов указан в качестве максимального шага угла дуги, сегмент не учитывается, и выходные данные состоят из кривой и прямой линии (средняя схема). Если указан угол в 91 градус, сегмент используется для формирования дуги окружности, и в выходных данных будет только дуга (правая схема).
Примечание:
Параметр Максимальный шаг угла дуги не доступен, если опция Вписать в сегменты выбрана для параметра Тип переходных элементов.
- Максимальный шаг угла дуги (десятичные градусы) – максимальный угол дуги, используемый для построения дуг окружности. Угол дуги - центральный угол кривой-кандидата (кривой, которая будет построена). Шаг максимального угла дуги определяет верхний предел ширины поля поиска центрального угла при размещении вершин для построения окружностей. Если в каждом шаге максимального угла дуги найдено более одной вершины, все эти вершины вписываются в дуги окружности. Используйте минимальный угол дуги, чтобы плотно размещенные сегменты в дуги окружности и предотвратить избыточное упрощение больших сегментов. Используйте максимальный угол, чтобы вписать неплотно размещенные сегменты в дуги окружности. Допустимый диапазон составляет от 2 до 95 десятичных градусов. Значение по умолчанию равно 20 градусам.
Отметьте параметр Сохранить конечные точки для замкнутой линии для сохранения конечных точек для линии, имеющей совпадающие конечные точки (петли). Если опция Сохранить конечные точки для замкнутой линии не отмечена, конечные точки для замкнутых линий могут быть смещены или удалены.
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Синтаксис
arcpy.edit.SimplifyByStraightLinesAndCircularArcs(in_features, max_offset, {fitting_type}, {circular_arcs}, {max_arc_angle_step}, {min_vertex_count}, {min_radius}, {max_radius}, {min_arc_angle}, {closed_ends}, {anchor_points})
Parameter | Объяснение | Тип данных |
in_features [in_features,...] | Объекты, которые необходимо упростить. Объектами могут быть линии или полигоны. Если используется несколько входных данных, они должны быть в одной пространственной привязке. | Feature Layer |
max_offset | Максимальное расстояние для выходных объектов ребер вычисляется из геометрии входных объектов. Если выбрана опция Вписать в вершины для параметра Тип переходных элементов, расстояние измеряется между входными вершинами и выходными ребрами объектов. Если выбрана опция Вписать в вершины, расстояние измеряется между ребрами входных объектов и ребрами выходных объектов. | Linear Unit |
fitting_type (Дополнительный) | Указывает, как выходные ребра и души окружности вписываются в геометрию входных объектов. Если выбрано Вписать в сегменты, параметры Максимальный шаг угла дуги и Минимальное число вершин недоступны.
| String |
circular_arcs (Дополнительный) | Указывает, будут ли созданы дуги окружности.
| Boolean |
max_arc_angle_step (Дополнительный) | Максимальный шаг угла дуги (десятичные градусы), который будет использован для построения дуг окружности. Угол дуги определяет ширину визуального поля для каждого шага при размещении вершин для построения окружностей.. Угол дуги - центральный угол кривой-кандидата (кривой, которая будет построена). Если в пределах каждого максимального шага угла дуги найдены вершины, дуга будет построена. Например, если вершины и ребра разрежены, используйте большой шаг угла дуги. Допустимый диапазон составляет от 2 до 95 десятичных градусов. Значение по умолчанию равно 20 десятичные градусам. Параметр не доступен, если опция Вписать в сегменты выбрана для параметра Тип переходных элементов. | Double |
min_vertex_count (Дополнительный) | Минимальное количество вершин, необходимых для создания дугового сегмента. Значение должно быть больше 3. Значение по умолчанию равно 4. Параметр не доступен, если опция Вписать в сегменты выбрана для параметра Тип переходных элементов. | Long |
min_radius (Дополнительный) | Самый малый допустимый радиус выходных дуговых сегментов. Значение должно быть больше 0 и меньше, чем указано для Минимального радиуса. Если значение не указано, радиус выходной дуги окружности не отмечается (по умолчанию). | Linear Unit |
max_radius (Дополнительный) | Самый большой допустимый радиус выходных дуговых сегментов. Значение должно быть больше, чем указано для Минимального радиуса. Если значение не указано, радиус выходной дуги окружности не отмечается (по умолчанию). | Linear Unit |
min_arc_angle (Дополнительный) | Минимальный шаг угла дуги (десятичные градусы), который будет использован для построения дуг окружности. Минимальный угол дуги – это наименьший возможный центральный угол выходных дуг окружности. Если центральный угол любой выходной дуги будет меньше этого значения, она не будет создана. Допустимый диапазон составляет от 2 до 360 десятичных градусов. Значение по умолчанию равно 2 десятичные градусам. | Double |
closed_ends (Дополнительный) | Указывает, сохранять ли конечные точки для замкнутой линии. Замкнутая линия - линия, конечные точки которой совпадают (петля).
| Boolean |
anchor_points (Дополнительный) | Путь и имя класса объектов, содержащего точки якоря. Точки якоря накладываются на вершины входных объектов и указывают, что эти вершины не могут быть удалены или смещены во время упрощения. | Feature Layer |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные объекты. | Векторный слой |
out_feature_layers | Обновленные имена слоев. | Векторный слой |
Пример кода
Скрипт окна Python, демонстрирующий использование функции SimplifyByStraightLinesAndCircularArcs для упрощения линий.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs_edit("myDensifiedLines",
"1.5 feet")
Скрипт окна Python, демонстрирующий использование функции SimplifyByStraightLinesAndCircularArcs для упрощения линий или полигонов с использованием точки якоря.
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs("myDensifiedPolygons;myDensifiedLines",
"0.4 Meters",
anchor_points="myAnchorPoints")
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да