Генерализовать (Generalize) (Редактирование)

Уровень лицензии:BasicStandardAdvanced

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

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

Рисунок

Линия будет упрощена в рамках указанного максимального значения сдвига
Линия будет упрощена в рамках указанного максимального значения сдвига

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

Синтаксис

Generalize_edit (in_features, {tolerance})
ПараметрОбъяснениеТип данных
in_features

Полигональные или линейные объекты для генерализации.

Feature Layer
tolerance
(дополнительно)

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

Linear unit

Пример кода

Пример 1 (окно Python)

Ниже приводится окно Python со скриптом, в котором используется функция Generalize в прямом режиме:

import arcpy
from arcpy import env
env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Пример 2 (автономный скрипт)

Ниже приводится код автономного скрипта, в котором используется функция Generalize; в этом скрипте производится генерализация объектов, а затем их буферизация:

#Name: BufferZones.py
#Purpose: Simplify features using the Generalize tool and then Buffer them
#Author: ESRI

#Import script modules
import arcpy
from arcpy import env

try:
    #Set the workspace
    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, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
5/10/2014