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

Уровень лицензии:BasicStandardAdvanced

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

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

Рисунок

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

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

Синтаксис

Snap_edit (in_features, snap_environment)
ПараметрОбъяснениеТип данных
in_features

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

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

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

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

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

  • ENDВершины входных объектов будут замкнуты на конечных точках объектов.
  • ВЕРШИНАВершины входных объектов будут замкнуты на вершинах объектов.
  • EDGEВершины входных объектов будут замкнуты на ребрах объектов.
ПримечаниеПримечание:

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

Value Table

Пример кода

Пример 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"]])
Пример 2 (автономный скрипт)

Производит замыкание вершин полигонов климатических зон на вершины полигонов слоя растительности для того, чтобы их границы совпадали

# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer boundary 
#                    to ensure common boundary is coincident
# Author: ESRI

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
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])

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
5/10/2014