Сводка
Упрощает входные объекты на основе заданного максимального допуска смещения. Выходные объекты будут содержать набор исходных входных вершин.
Иллюстрация
Использование
В этом инструменте используется такой же алгоритм, что и в методе точечного удаления при использовании инструмента Упростить линию (алгоритм упрощения Дугласа-Пьюкера). Инструмент Упростить линию имеет больше параметров и создает новые выходные данные, поскольку этот инструмент изменяет входной класс пространственных объектов.
Данный инструмент производит генерализацию объектов пообъектно. Секции линий и границ многоугольников, которые совпадали между объектами, могут не совпадать после применения этого инструмента.
Кривые Безье, дуги окружности и сегменты эллиптических дуг будут преобразованы в прямые линейные сегменты.
Данный инструмент не производит удаление записей или объектов. Если допуск больше многоугольника, многоугольник будет уменьшен до трех вершин.
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Синтаксис
arcpy.edit.Generalize(in_features, {tolerance})
Parameter | Объяснение | Тип данных |
in_features | Полигональные или линейные объекты для генерализации. | Feature Layer |
tolerance (Дополнительный) | Допуск производит установку максимально допустимого сдвига, который, по сути и определяет степень генерализации. Данное значение ограничивает расстояние, на которое выходные объекты могут быть сдвинуты по сравнению с исходными. Вы можете выбрать произвольную единицу измерения. По умолчанию используются единицы объектов. | Linear Unit |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты | Класс пространственных объектов |
Пример кода
Окно Python скрипта с примером использования функции Generalize в прямом режиме:
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Ниже приводится автономный скрипт с примером использования функции Generalize в рабочем процессе, когда объекты сначала упрощаются, а потом выполняется их буферизация:
# Name: BufferZones.py
# Purpose: Simplify features using the Generalize tool and then Buffer them
# Import script modules
import arcpy
# Set the workspace
arcpy.env.workspace = "C:/data/data.gdb"
# Set local parameters
inFeatures = "zones"
gTolerance = "4 Feet"
copFeatures = "zones_cp"
bufDist = "50 Miles"
bufOutput = "zones_buff"
# Since Generalize permanently updates the input, first make a copy of the
# original feature class
arcpy.CopyFeatures_management (inFeatures, copFeatures)
# Use the Generalize tool to simplify the Buffer input to shorten Buffer
# processing time
arcpy.Generalize_edit(copFeatures, gTolerance)
# Buffer the output
arcpy.Buffer_analysis(copFeatures, bufOutput, bufDist)
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да