Сводка
Производит перемещение точек или вершин, чтобы их местоположение совпадало с местоположением вершин, ребер или конечных точек других объектов. Правила замыкания могут быть установлены для управления тем, каким образом входные вершины будут замыкаться на ближайшие вершины, ребра или конечные точки в указанном радиусе.
Иллюстрация
Использование
Параметр Параметры замыкания позволит произвести замыкание вершин входных объектов к вершинам, ребрам или конечным точкам других слоев или классов объектов. Когда используется несколько правил замыкания, то порядок их важности будет уменьшаться по мере продвижения вниз в диалоговом окне инструмента или слева направо в коде скрипта.
Вершины входных объектов будут замкнуты на ближайших вершинах, ребрах или конечных точках, расположенных в указанном радиусе поиска.
В параметре Параметры замыкания вы можете указать несколько правил разных типов (END | VERTEX | EDGE) для одного и того же слоя или класса пространственных объектов.
Если в качестве входных данных используется слой или класс пространственных объектов с выборкой, то замыкание будет произведено только для выбранных объектов.
При выполнении замыкания вершин объектов в классе объектов на вершины объектов этого же класса, как правило, вершины с меньшим значением Object ID или Feature ID будут замкнуты на вершинах объектов с более высоким значением в поле OBJECTID или FID (для шейп-файлов). Например, если точки, в которых значения поля OBJECTID -1 и - 2 будут расположены в пределах допуска замыкания, то точка, в которой OBJECTID - 1 будет совмещена с точкой, в которой OBJECTID - 2 (а не наоборот).
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, не создающие выходных данных.
Примечание:
Данный инструмент может использоваться для устранения расхождений между разделяемыми или общими границами между двумя наборами данных. Это можно будет сделать путем замыкания вершин на одной границе к вершинам, ребрам или конечным точкам на другой. Если во входных объектах не будет достаточно вершин для точного повторения контура смежной границы, то во входном объекте могут быть добавлены вершины с помощью инструмента Уплотнить (Densify), чтобы обеспечить необходимый уровень детальности.
Синтаксис
Snap(in_features, snap_environment)
Parameter | Объяснение | Тип данных |
in_features | Входные объекты, вершины которых будут замкнуты на вершинах, ребрах или конечных точках других объектов. Входными объектами могут быть точки, мультиточки, линии или полигоны. | Feature Layer |
snap_environment [[Features, Type, Distance],...] | Укажите классы объектов или векторные слои, содержащие объекты, к которым будет выполняться замыкание. Параметры замыкания:
Типы параметра замыкания:
Примечание:Если в поле Параметры замыкания (Snap Environment) в графе Расстояние не будут указаны единицы измерения (т. е., 10 вместо 10 метров), то по умолчанию будут использоваться линейные или угловые единицы измерения системы координат входных объектов. Если входные объекты будут в системе координат проекции, то будут использоваться соответствующие линейные единицы измерения. | Value Table |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты | Класс пространственных объектов |
Пример кода
В следующем скрипте окна 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"]])
Производит замыкание вершин полигонов климатических зон на вершины полигонов слоя растительности для того, чтобы их границы совпадали
# 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])
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да