Краткая информация
Упрощает входные объекты на основе заданного максимального допуска смещения. Выходные объекты будут содержать набор исходных входных вершин.
Иллюстрация
Использование
Этот инструмент использует тот же алгоритм, что и инструмент Упростить линию в методе точечного удаления (point remove) (алгоритм Дугласа-Пьюкера). Инструмент Упростить линию имеет больше параметров и создает новые выходные данные, а этот инструмент изменяет входной класс пространственных объектов.
Данный инструмент производит генерализацию объектов пообъектно. Секции линий и границ многоугольников, которые совпадали между объектами, могут не совпадать после применения этого инструмента.
Кривые Безье, дуги окружности и сегменты эллиптических дуг будут преобразованы в прямые линейные сегменты.
Данный инструмент не производит удаление записей или объектов. Если допуск больше многоугольника, многоугольник будет уменьшен до трех вершин.
Синтаксис
Generalize_edit (in_features, {tolerance})
Параметр | Объяснение | Тип данных |
in_features | Полигональные или линейные объекты для генерализации. | Feature Layer |
tolerance (Дополнительный) | Допуск производит установку максимально допустимого сдвига, который, по сути и определяет степень генерализации. Данное значение ограничивает расстояние, на которое выходные объекты могут быть сдвинуты по сравнению с исходными. Вы можете выбрать произвольную единицу измерения. По умолчанию используются единицы объектов. | Linear unit |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Класс пространственных объектов |
Пример кода
Пример 1 Generalize (окно Python)
Ниже приводится окно Python со скриптом, в котором используется функция Generalize в прямом режиме:
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Generalize, пример 2 (автономный скрипт)
Ниже приводится код автономного скрипта, в котором используется функция Generalize; в этом скрипте производится генерализация объектов, а затем их буферизация:
#Name: BufferZones.py
#Purpose: Simplify features using the Generalize tool and then Buffer them
#Import script modules
import arcpy
try:
#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 FC
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)
except Exception as err:
print(err)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Нет
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да