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

Использование
Этот инструмент разработан для применения следом за инструментом Построить связи для подгонки границ. Он пространственно уравнивает формы входных линейных объектов на основе входных объектов связей, созданных с помощью инструмента Построить связи для подгонки границ (Generate Edgematch Links), чтобы они правильно соединились со смежными линейными объектами вдоль граничных областей. Входные объекты связей должны иметь поля SRC_FID и ADJ_FID.
Этот инструмент вычисляет новые местоположения соединений, используя связи метода подгонки границ, и затем изменяет соответствующие объекты таким образом, что их конечные точки соединяются с этими новыми местоположениями. На основе предоставленных исходных данных (Входные объекты, Смежные объекты или Объекты границ) будут определены новые местоположения соединений и относящиеся к ним объекты уравнены соответствующим образом. Это уравнивание поможет убедиться, что сопоставленные объекты соединены, как описано ниже:
- Если вы предоставляете только Входные объекты, то в качестве новых местоположений соединений будут использоваться конечные точки связей подгонки границ. Входные линии, соотносящиеся со связями подгонки границ (т.е., идентификаторы объектов соответствуют значениям SRC_FID для связей), будут уравнены таким образом, что они будут заканчиваться в конечных точках связей. Это гарантирует, что они будут соединены с нужными смежными объектами, которые должны были участвовать в создании связей подгонки границ.
- Если вы предоставляете Входные объекты (Input Features) и Смежные объекты (Adjacent Features), то в качестве новых местоположений соединений будут использоваться средние точки связей метода границ. Соответствующие и входные, и смежные линии (т.е., их идентификаторы объектов соответствуют значениям ADJ_FID для связей), подгоняются так, чтобы их конечные точки соединялись со средними точками связей.
- Если вы укажете Объекты-границы, то инструмент будет использовать местоположения на границах, которые являются ближайшими к средним точкам связей подгонки границ, в качестве новых местоположений соединений. The Входные объекты и Смежные объекты (если они указаны) подгоняются таким образом, что их конечные точки будут соединяться с вычисленными местоположениями границ.
Параметр Метод (Method) имеет три опции подгонки границ для уравнивания объектов. Каждая опция применяется либо только ко входным объектам, либо ко входным и смежным объектам, как рассмотрено выше.
- Переместить конечную точку (MOVE_ENDPOINT в Python) – перемещает конечную точку входной линии на новое местоположение соединения.
- Добавить сегмент (ADD_SEGMENT в Python) – добавляет прямой сегмент к конечной точке входной линии, так что он заканчивается в новом местоположении соединения.
- Подтянуть вершины (ADJUST_VERTICES в Python) – устанавливает конечную точку линии в новое местоположение соединения. Оставшиеся вершины также перемещаются таким образом, что изменение их позиций будет постепенно уменьшаться в направлении к противоположному концу линии.
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Примечание:
Все входные данные должны быть в одной системе координат.
Синтаксис
arcpy.edit.EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
Parameter | Объяснение | Тип данных |
in_features | Входные линейные объекты для уравнивания. | Feature Layer |
in_link_features | Входные линейные объекты, представляющие связи метода подгонки границ. | Feature Layer |
method (Дополнительный) | Метод подгонки границ должен использоваться для уравнивания только входных объектов, либо входных и смежных объектов, к их новым местоположениям соединений.
| String |
adjacent_features (Дополнительный) | Линейные объекты, которые уравниваются с входными объектами. Если выбрана данная опция, то входные линии и смежные линии будут уравнены таким образом, что они будут заканчиваться в новых местоположениях соединений: либо в средних точках связей подгонки границ, либо в местоположениях, ближайших к средним точкам связей на объектах границ (если выбрано). | Feature Layer |
border_features (Дополнительный) | Линейные или полигональные объекты, представляющие границы между входными и смежными объектами. Когда вы указываете объекты-границы, то и входные, и смежные объекты подгоняются так, чтобы они сходились в новых местоположениях соединений, которые являются ближайшими к средним точкам связей объектов-границ. | Feature Layer |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные входные объекты | Векторный слой |
Пример кода
Пример скрипта окна Python для использования функции EdgematchFeatures в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
"MOVE_ENDPOINT")
Пример скрипта Python для применения функции EdgematchFeatures в автономном режиме.
# Name: EdgematchFeatures_example_script2.py
# Description: Performs edgematching spatial adjustment using links produced by
# GenerateEdgematchLinks. The links go from input features to adjacent
# features. The links are then checked for intersecting conditions, which
# might not be desired; they are finally used to adjust input features
# (a copy is made) to connect with the matched adjacent feautures.
# Author: Esri
# -----------------------------------------------------------------------
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"
# Set local variables
inFeatures = "roads1"
adjFeatures = "roads2"
gelOutput = "gelinks_out"
search_distance = "200 Feet"
match_fields = "NAME ROAD_NAME"
qaLocations = "qa_locations"
# Generate rubbersheet links
arcpy.GenerateEdgematchLinks_edit(inFeatures, adjFeatures, gelOutput, search_distance, match_fields)
# ====================================================================================
# Note 1: The result of GenerateEdgematchLinks may contain errors; see tool reference.
# Inspection and editing may be necessary to ensure correct links before using
# them for edgematching.
#
# One of the possible errors are undesired intersecting or touching links.
# Their locations can be found by the process below.
# ====================================================================================
# Find locations where links intersect or touch; the result contains coincident points
arcpy.Intersect_analysis(gelOutput, qaLocations, "", "", "POINT")
# Delete coincident points
arcpy.DeleteIdentical_management(qaLocations, "Shape")
# ====================================================================================
# Note 2: At this point you can manually inspect locations in qaLocations; delete or
# modify links as needed.
# ====================================================================================
# Make a copy of the inFeatures for edgematching
inFeature_Copy = inFeatures + "_Copy"
arcpy.CopyFeatures_management(inFeatures, inFeature_Copy)
# Use the links to adjust the copy of the input features
arcpy.EdgematchFeatures_edit(inFeature_Copy, gelOutput, "MOVE_ENDPOINT")
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да