Замкнуть (Редактирование)

Сводка

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

Иллюстрация

Иллюстрация замыкания
Примеры замыкания

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

    Внимание:

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

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

  • Вершины входных объектов будут замкнуты на ближайших вершинах, ребрах или конечных точках, расположенных в указанном радиусе поиска.

  • В параметре Параметры замыкания вы можете указать несколько правил разных типов (END | VERTEX | EDGE) для одного и того же слоя или класса пространственных объектов.

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

  • При выполнении замыкания вершин объектов в классе объектов на вершины объектов этого же класса, как правило, вершины с меньшим значением Object ID или Feature ID будут замкнуты на вершинах объектов с более высоким значением в поле OBJECTID или FID (для шейп-файлов). Например, если точки, в которых значения поля OBJECTID -1 и - 2 будут расположены в пределах допуска замыкания, то точка, в которой OBJECTID - 1 будет совмещена с точкой, в которой OBJECTID - 2 (а не наоборот).

  • Примечание:

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

Синтаксис

arcpy.edit.Snap(in_features, snap_environment)
ParameterОбъяснениеТип данных
in_features

Входные объекты, вершины которых будут замкнуты на вершинах, ребрах или конечных точках других объектов. Входными объектами могут быть точки, мультиточки, линии или полигоны.

Feature Layer
snap_environment
[[Features, Type, Distance],...]

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

Параметры замыкания:

  • Объекты – Объекты, на вершинах которых будут замкнуты вершины входных объектов. Возможные типы данных:точки, мультиточки, линии или полигоны.
  • Тип – тип части объекта, на которой вершины входных объектов будут замкнуты (END | VERTEX | EDGE).
  • Расстояние – расстояние, на которое вершины входных объектов могут быть перемещены для замыкания на ближайшие вершины, ребра или конечные точки.

Типы параметра замыкания:

  • END – Вершины входных объектов будут замкнуты на конечных точках объектов.
  • VERTEX – Вершины входных объектов будут замкнуты на вершинах объектов.
  • EDGE – Вершины входных объектов будут замкнуты на ребрах объектов.
Примечание:

Если в поле Параметры замыкания (Snap Environment) в графе Расстояние не будут указаны единицы измерения (т. е., 10 вместо 10 метров), то по умолчанию будут использоваться линейные или угловые единицы измерения системы координат входных объектов. Если входные объекты будут в системе координат проекции, то будут использоваться соответствующие линейные единицы измерения.

Value Table

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

NameОбъяснениеТип данных
out_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: Да

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