Skip To Content

Уплотнить

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

Добавляет вершины вдоль линейных и многоугольных объектов. Инструмент произведет замену отрезков кривых (кривых Безье, дуг окружности, дуг эллипса) на линейные сегменты с множеством вершин.

Иллюстрация

Кривая уплотняется в линейные сегменты с учетом Смещения, Расстояния или Угла
Кривая уплотняется в линейные сегменты с учетом Смещения, Расстояния или Угла.

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

    Внимание:

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

  • Прямые линейные сегменты будут уплотнены со значением параметра Расстояние. Кривые будут упрощены посредством добавления вершин по значению параметров Расстояние, Максимальный угол отклонения или Отклонение максимального сдвига.

  • Уплотнение производится посегментно.

  • При запуске инструмента Уплотнить может быть использован только один метод уплотнения.

  • Пространственная привязка данных очень важна для корректной работы инструмента. Пространственные объекты должны быть уплотнены с использованием нужной системы координат для поддержания корректной формы пространственных объектов.

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

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

Синтаксис

Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle})
ПараметрОбъяснениеТип данных
in_features

Класс пространственных объектов линий или полигонов, объекты которого будут уплотнены.

Feature Layer
densification_method
(Дополнительный)

Метод уплотнения пространственных объектов.

  • DISTANCEИнструмент будет применять значение параметра distance для кривых, так же как он это делает для прямых линий. Используется по умолчанию.
  • OFFSETИнструмент будет применять значение параметра max_deviation для кривых.
  • ANGLEИнструмент будет применять значение параметра max_angle для кривых.
String
distance
(Дополнительный)

Максимальное линейное расстояние между вершинами. Это расстояние всегда будет использоваться для линейных сегментов, а также для упрощения кривых. Значением по умолчанию является X,Y-допуск данных.

Linear unit
max_deviation
(Дополнительный)

Максимальное расстояние, на которое может быть удален выходной сегмент от исходного. Этот параметр влияет только на кривые. Значением по умолчанию является функция допуска данных X,Y.

Linear unit
max_angle
(Дополнительный)

Максимальный угол, который может быть получен при пересечении входного и выходного объектов. Допустимый диапазон от 0 до 90. Значение по умолчанию 10. Этот параметр влияет только на кривые.

Double

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

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

Уплотненные входные объекты.

Класс пространственных объектов

Пример кода

Пример 1 функции Densify (окно Python)

Пример скрипта окна Python для использования функции Densify в режиме прямого запуска.

import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE","", "", "0.75")
Densify, пример 2 (автономный скрипт)

Автономный скрипт, в котором функция Densify используется как часть рабочего процесса, где применяется инструмент редактирования Snap.

# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer
#              boundary to ensure common boundary is coincident
# import system modules 
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Make backup copy of climate regions feature class, 
# since modification with the Editing tools below is permanent
climateBackup = "backups/climate.shp"
arcpy.CopyFeatures_management('climate.shp', climateBackup)
# Densify climate regions feature class to make sure there are enough
# vertices to match detail of vegetation layer when layers are snapped
arcpy.Densify_edit('climate.shp', "DISTANCE", "10 Feet") 
# Snap climate regions feature class to  vegetation layer vertices and edge
# first, snap climate region vertices to the nearest vegetation vertex within 30 Feet
# second, snap climate region vertices to the nearest vegetation edge within 20 Feet
snapEnv1 = ["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"]    
snapEnv2 = ["Habitat_Analysis.gdb/vegtype", "EDGE",   "20 Feet"]       
arcpy.Snap_edit('climate.shp', [snapEnv1, snapEnv2])

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

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы