Сводка
Добавляет вершины вдоль линейных или полигональных объектов и заменяет сегменты кривых (параметрические кривые, дуги окружности и эллиптические дуги) линейными сегментами.
Иллюстрация
Использование
Прямые линейные сегменты будут уплотнены со значением параметра Расстояние. Вершины будут добавляться с интервалом, не превышающим заданного расстояния. Кривые будут упрощены посредством добавления вершин по значению параметров Расстояние, Максимальный угол отклонения или Отклонение максимального сдвига.
Уплотнение производится посегментно.
При запуске инструмента Уплотнить может быть использован только один метод уплотнения.
Пространственная привязка данных важна для корректной работы инструмента. Уплотняйте данные с использованием нужной системы координат для поддержания корректной формы пространственных объектов.
Для каждой вершины исходного объекта, включая точку начала и конца, будет совпадающая вершина в результирующем объекте.
Параметр Максимальное количество вершин задает максимальное число вершин в каждом уплотненном выходном сегменте. Если для операции уплотнения требуется больше вершин, чем заданное значение, сегменты будут выровнены таким образом, чтобы количество вершин не было превышено (+/- 1). Если указано некорректное значение (0 или меньше), то ограничения для линейных сегментов не будет , а для изогнутых сегментов инструмент будет использовать значение по умолчанию - 12000.
Настройка Максимальное число вершин приведет к тому, чтобы заданное значение использовалось для определения максимального числа вершин как для прямых, так и для изогнутых сегментов.
Примечание:
Чем больше это значение, тем больше риск того, что объект станет слишком большим. Такие большие и сложные объекты могут снизить производительность при отрисовке. Если же используется слишком низкое значение, то выходной объект может быть искажен очень сильно, что приведет к его нулевой геометрии. Слишком низкие значения также могут привести к созданию некорректных объектов, что скажется на дальнейших операциях анализа.При уплотнении с помощью параметра Отклонение максимального сдвига, если входные объекты содержат дуги окружности, то максимальное значение сдвига будет ограничено таким образом, чтобы угол между двумя последовательными линейными сегментами в выходных данных не превышал десяти градусов. Значение этого угла может быть превышено, если вы используете параметр Максимальный угол отклонения.
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Синтаксис
arcpy.edit.Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle}, {max_vertex_per_segment})
Parameter | Объяснение | Тип данных |
in_features | Класс пространственных объектов линий или полигонов, объекты которого будут уплотнены. | Feature Layer |
densification_method (Дополнительный) | Определяет используемый метод уплотнения.
| String |
distance (Дополнительный) | Максимальное расстояние между вершинами. Это расстояние всегда будет использоваться для линейных сегментов, а также для упрощения кривых. Значением по умолчанию является функция допуска данных x,y. Новые вершины не могут быть вставлены на этом точном интервале вдоль линии, скорее они будут вставлены на этом расстоянии от предыдущей вершины. Невозможно гарантировать, что вершина будет добавлена точно через заданный интервал вдоль отрезка линии. | Linear Unit |
max_deviation (Дополнительный) | Максимальное расстояние, на которое может быть удален выходной сегмент от исходного. Этот параметр влияет только на кривые. Значением по умолчанию является функция допуска данных x,y. | Linear Unit |
max_angle (Дополнительный) | Максимальный угол, на который выходные объекты могут отклоняться от входных. Допустимым является диапазон от 0 до 90. Значение по умолчанию 10. Этот параметр влияет только на кривые. | Double |
max_vertex_per_segment (Дополнительный) | Максимальное число вершин, разрешенное в сегменте. Если ничего не указано или задано некорректное значение (0 или меньше), то для прямых сегментов ограничений не будет, а для кривых будет использоваться ограничение по умолчанию - 12000. | Long |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Уплотненные входные объекты. | Класс пространственных объектов |
Пример кода
Пример скрипта окна Python для использования функции Densify в режиме прямого запуска.
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE", "", "", 0.75)
Автономный скрипт, в котором функция 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])
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да