Сводка
Производит перемещение точек или вершин, чтобы их местоположение совпадало с местоположением вершин, ребер или конечных точек других объектов. Правила замыкания могут быть установлены для управления тем, каким образом входные вершины будут замыкаться на ближайшие вершины, ребра или конечные точки в указанном радиусе.
Иллюстрация
Использование
Параметр Параметры замыкания позволит произвести замыкание вершин входных объектов к вершинам, ребрам или конечным точкам других слоев или классов объектов. Когда используется несколько правил замыкания, то порядок их важности будет уменьшаться по мере продвижения вниз в диалоговом окне инструмента или слева направо в коде скрипта.
Вершины входных объектов будут замкнуты на ближайших вершинах, ребрах или конечных точках, расположенных в указанном радиусе поиска.
В параметре Параметры замыкания вы можете указать несколько правил разных типов для одного и того же слоя или класса пространственных объектов.
Если в качестве входных данных используется слой или класс пространственных объектов с выборкой, то замыкание будет произведено только для выбранных объектов.
При выполнении замыкания вершин объектов в классе объектов на вершины объектов этого же класса, как правило, вершины с меньшим значением Object ID или Feature ID будут замкнуты на вершинах объектов с более высоким значением в поле OBJECTID или FID (для шейп-файлов). Например, если точки, в которых значения поля OBJECTID -1 и - 2 будут расположены в пределах допуска замыкания, то точка, в которой OBJECTID - 1 будет совмещена с точкой, в которой OBJECTID - 2 (а не наоборот).
Синтаксис
arcpy.edit.Snap(in_features, snap_environment)
Параметр | Объяснение | Тип данных |
in_features | Входные объекты, вершины которых будут замкнуты на вершинах, ребрах или конечных точках других объектов. Входными объектами могут быть точки, мультиточки, линии или полигоны. | Feature Layer |
snap_environment [[Features, Type, Distance],...] | Классы объектов или векторные слои, содержащие объекты, к которым будет выполняться замыкание. Параметры среды замыкания включают следующие компоненты:
Доступны следующие типы замыкания:
| Value Table |
Производные выходные данные
Имя | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты. | Feature Class |
Пример кода
Snap, пример 1(окно Python)
Пример скрипта в окне Python для использования функции Snap.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Snap_edit("climate.shp",
[["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"],
["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]])
Snap, пример 2 (автономный скрипт)
Производит замыкание вершин полигонов климатических зон на вершины полигонов слоя растительности для того, чтобы их границы совпадали.
# 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
climate = "climate.shp"
climateBackup = "C:/output/Output.gdb/climateBackup"
arcpy.CopyFeatures_management(climate, 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, "DISTANCE", "10 Feet")
# Snap climate regions feature class to vegetation layer vertices and edge
veg = "Habitat_Analysis.gdb/vegtype"
# First, snap climate region vertices to the nearest vegetation layer vertex
# within 30 Feet
snapEnv1 = [veg, "VERTEX", "30 Feet"]
# Second, snap climate region vertices to the nearest vegetation layer edge
# within 20 Feet
snapEnv2 = [veg, "EDGE", "20 Feet"]
arcpy.Snap_edit(climate, [snapEnv1, snapEnv2])
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да