Упростить прямыми линиями и дугами окружности (Редактирование)

Краткая информация

Упрощает форму полигональных или линейных объектов, заменяя последовательные линейные сегменты или ребра меньшим числом сегментов линий или ребер. Сегменты линий и ребра полигонов упрощаются на основе указанного максимально допустимого сдвига. Кроме того из последовательных сегментов линий и ребер полигонов могут быть созданы дуги окружностей.

Иллюстрация

Иллюстрация работы инструмента Упростить прямыми линиями и дугами окружности
Выходные линии и ребра полигонов создаются путем подгонки прямых линий и дуг окружностей в пределах максимально допустимого сдвига.

Использование

    Внимание:

    Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.

  • Инструмент можно использовать для упрощения геометрии линейных и полигональных объектов, которые содержат скопления нежелательных вершин и осколки сегментов, например, после конвертации или какой-либо другой обработки данных. Цепочка сегментов нелинейных сегментов или ребер может быть заменена двух-точечной прямой линией, а серии сегментов, представляющих дуги – истинными кривыми. Инструмент вычисляет аппроксимацию и заменяет множественные сегменты или ребра прямыми линиями и дугами окружности в пределах максимально допустимого сдвига.

  • Входными объектами могут быть полигоны или линии. Выходные линии и ребра полигонов будут частично содержать вершины оригинальных объектов. Новые вершины не будут вставлены, и никакие объекты не будут удалены.

  • Существующие параметрические кривые, например кривые Безье, дуги окружности и сегменты дуги эллипса не изменяются.

    Примечание:

    Если входные объекты хранятся в шейп-файле, дуги окружности в выходных объектах остаются в виде серий множества мелких прямых отрезков. Шейп-файлы не поддерживают истинные кривые. Для получения истинных кривых экспортируйте шейп-файл в класс объектов.

  • Используйте параметр Создать дуги окружности для построения истинных кривых в дополнении к прямым линиям. Есть пять дополнительных параметров, Максимальный шаг угла дуги, Минимальное число вершин, Минимальный радиус, Максимальный радиус и Минимальный угол дуги, которые определяют, как дуги окружности будут вписываться в сегменты.

    • Максимальный шаг угла дуги (десятичные градусы) – максимальный угол дуги, используемый для построения дуг окружности. Угол дуги - центральный угол кривой-кандидата (кривой, которая будет построена). Шаг максимального угла дуги определяет верхний предел ширины поля поиска центрального угла при размещении вершин для построения окружностей. Если в каждом шаге максимального угла дуги найдено более одной вершины, все эти вершины вписываются в дуги окружности. Используйте минимальный угол дуги, чтобы плотно размещенные сегменты в дуги окружности и предотвратить избыточное упрощение больших сегментов. Используйте максимальный угол, чтобы вписать неплотно размещенные сегменты в дуги окружности. Допустимый диапазон значений составляет от 2 до 95 десятичных градусов. Значение по умолчанию равно 20 градусам.

      На рисунке ниже сегмент со значением центрального угла 90 градусов считается вписанным в дугу окружности. Если угол в 89 градусов указан в качестве максимального шага угла дуги, сегмент не учитывается, и выходные данные состоят из кривой и прямой линии (средняя схема). Если указан угол в 91 градус, сегмент используется для формирования дуги окружности, и в выходных данных будет только дуга (правая схема).

      Максимальный шаг угла дуги
      Параметр максимальный шаг угла дуги используется для определения местоположений вершин для построения дуг окружности.

    • Примечание:

      Параметр Максимальный шаг угла дуги не доступен, если опция Вписать в сегменты задана для параметра Тип переходных элементов.

  • Отметьте параметр Сохранить конечные точки для замкнутой линии для сохранения конечных точек для линии, имеющей совпадающие конечные точки (петли). Если опция Сохранить конечные точки для замкнутой линии не отмечена, конечные точки для замкнутых линий могут быть смещены или удалены.

  • Чтобы сохранить существующую топологическую целостность, убедитесь, что все слои, которые должны быть топологически совпадающими, включены в качестве входных данных при запуске инструмента.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Объекты, которые необходимо упростить. Объектами могут быть линии или полигоны. Если используется несколько входных данных, они должны быть в одной пространственной привязке.

Feature Layer
Максимально допустимый сдвиг

Максимальное расстояние для выходных объектов ребер вычисляется из геометрии входных объектов. Если задана опция Вписать в вершины для параметра Тип переходных элементов, расстояние измеряется между входными вершинами и выходными ребрами объектов. Если задана опция Вписать в сегменты, расстояние измеряется между ребрами входных объектов и ребрами выходных объектов.

Linear Unit
Тип переходных элементов
(Дополнительный)

Указывает, как выходные ребра и души окружности вписываются в геометрию входных объектов.

Если задано Вписать в сегменты, параметры Максимальный шаг угла дуги и Минимальное число вершин недоступны.

  • Вписать в вершиныПромежуток между выходными ребрами объектов и вершинами входных объектов будет минимален. Выходные ребра и кривые будут подогнаны автоматически к позиции вершин входных объектов. Это значение по умолчанию
  • Вписать в сегментыПромежуток между выходными ребрами объектов и вершинами входных объектов будет минимизирован. Выходные ребра и кривые будут подогнаны автоматически к геометрии входных объектов.
String
Создать дуговые сегменты
(Дополнительный)

Указывает, будут ли созданы дуги окружности.

  • Отмечено – дуги окружности будут создаваться. Это значение по умолчанию
  • Не отмечено – дуги окружности не будут создаваться.
Boolean
Максимальный шаг угла дуги (десятичные градусы)
(Дополнительный)

Максимальный шаг угла дуги (десятичные градусы), который будет использован для построения дуг окружности. Угол дуги определяет ширину визуального поля для каждого шага при размещении вершин для построения окружностей.. Угол дуги - центральный угол кривой-кандидата (кривой, которая будет построена). Если в пределах каждого максимального шага угла дуги найдены вершины, дуга будет построена. Например, если вершины и ребра разрежены, используйте большой шаг угла дуги. Допустимый диапазон значений составляет от 2 до 95 десятичных градусов. Значение по умолчанию равно 20 градусам. Параметр не доступен, если опция Вписать в сегменты задана для параметра Тип переходных элементов.

Double
Минимальное число вершин
(Дополнительный)

Минимальное количество вершин, необходимых для создания дугового сегмента. Значение должно быть больше 3. Значение по умолчанию равно 4. Параметр не доступен, если опция Вписать в сегменты задана для параметра Тип переходных элементов.

Long
Минимальный радиус
(Дополнительный)

Самый малый допустимый радиус выходных дуговых сегментов. Значение должно быть больше 0 и меньше, чем указано для Минимального радиуса. Если значение не указано, радиус выходной дуги окружности не отмечается (по умолчанию).

Linear Unit
Максимальный радиус
(Дополнительный)

Самый большой допустимый радиус выходных дуговых сегментов. Значение должно быть больше, чем задано для Минимального радиуса. Если значение не указано, радиус выходной дуги окружности не отмечается (по умолчанию).

Linear Unit
Минимальный угол дуги (десятичные градусы)
(Дополнительный)

Минимальный шаг угла дуги (десятичные градусы), который будет использован для построения дуг окружности. Минимальный угол дуги – это наименьший возможный центральный угол выходных дуг окружности. Если центральный угол любой выходной дуги будет меньше этого значения, она не будет создана. Допустимый диапазон составляет от 2 до 360 десятичных градусов. Значение по умолчанию равно 2 десятичным градусам.

Double
Сохранить конечные точки для замкнутой линии
(Дополнительный)

Указывает, будут ли сохраняться конечные точки для замкнутой линии. Замкнутая линия - линия, конечные точки которой совпадают (петля).

  • Отмечено - конечные точки замкнутых линий сохраняются. Это значение по умолчанию
  • Не отмечено – конечные точки для замкнутых линий не сохраняются; они могут быть смещены или удалены.
Boolean
Точки якоря
(Дополнительный)

Путь и имя класса объектов, содержащего точки якоря. Точки якоря накладываются на вершины входных объектов и указывают, что эти вершины не могут быть удалены или смещены во время упрощения.

Feature Layer

Производные выходные данные

ПодписьОписаниеТип данных
Выходные объекты

Обновленные объекты.

Feature Layer
Имя выходного слоя

Обновленные имена слоев.

Feature Layer

arcpy.management.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})
ИмяОписаниеТип данных
in_features
[in_features,...]

Объекты, которые необходимо упростить. Объектами могут быть линии или полигоны. Если используется несколько входных данных, они должны быть в одной пространственной привязке.

Feature Layer
max_offset

Максимальное расстояние для выходных объектов ребер вычисляется из геометрии входных объектов. Если задана опция Вписать в вершины для параметра Тип переходных элементов, расстояние измеряется между входными вершинами и выходными ребрами объектов. Если задана опция Вписать в сегменты, расстояние измеряется между ребрами входных объектов и ребрами выходных объектов.

Linear Unit
fitting_type
(Дополнительный)

Указывает, как выходные ребра и души окружности вписываются в геометрию входных объектов.

Если задано Вписать в сегменты, параметры Максимальный шаг угла дуги и Минимальное число вершин недоступны.

  • FIT_TO_VERTICESПромежуток между выходными ребрами объектов и вершинами входных объектов будет минимален. Выходные ребра и кривые будут подогнаны автоматически к позиции вершин входных объектов. Это значение по умолчанию
  • FIT_TO_SEGMENTSПромежуток между выходными ребрами объектов и вершинами входных объектов будет минимизирован. Выходные ребра и кривые будут подогнаны автоматически к геометрии входных объектов.
String
circular_arcs
(Дополнительный)

Указывает, будут ли созданы дуги окружности.

  • CREATEДуги окружности создаются. Это значение по умолчанию
  • NOT_CREATEДуговые сегменты не будут создаваться.
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
(Дополнительный)

Указывает, будут ли сохраняться конечные точки для замкнутой линии. Замкнутая линия - линия, конечные точки которой совпадают (петля).

  • PRESERVEКонечные точки замкнутых линий будут сохраняться. Это значение по умолчанию
  • NOT_PRESERVEКонечные точки для замкнутых линий не сохраняются; они могут быть смещены или удалены.
Boolean
anchor_points
(Дополнительный)

Путь и имя класса объектов, содержащего точки якоря. Точки якоря накладываются на вершины входных объектов и указывают, что эти вершины не могут быть удалены или смещены во время упрощения.

Feature Layer

Производные выходные данные

ИмяОписаниеТип данных
out_feature_class

Обновленные объекты.

Feature Layer
out_feature_layers

Обновленные имена слоев.

Feature Layer

Пример кода

SimplifyByStraightLinesAndCircularArcs, пример 1 (окно Python)

Скрипт окна Python, демонстрирующий использование функции SimplifyByStraightLinesAndCircularArcs для упрощения линий.


import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs_edit("myDensifiedLines", 
                                                       "1.5 feet")
SimplifyByStraightLinesAndCircularArcs, пример 2 (окно Python)

Скрипт окна Python, демонстрирующий использование функции SimplifyByStraightLinesAndCircularArcs для упрощения линий или полигонов с использованием точки якоря.


import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.edit.SimplifyByStraightLinesAndCircularArcs("myDensifiedPolygons;myDensifiedLines", 
                                                  "0.4 Meters", 
                                                  anchor_points="myAnchorPoints")