Подгонка границ объектов (Редактирование)

Сводка

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

Более подробно о подгонке границ

Иллюстрация

Подгонка границ объектов

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

    Внимание:

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

  • Этот инструмент разработан для применения следом за инструментом Построить связи для подгонки границ. Он пространственно уравнивает формы входных линейных объектов на основе входных объектов связей, созданных с помощью инструмента Построить связи для подгонки границ (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) – устанавливает конечную точку линии в новое местоположение соединения. Оставшиеся вершины также перемещаются таким образом, что изменение их позиций будет постепенно уменьшаться в направлении к противоположному концу линии.

Синтаксис

EdgematchFeatures(in_features, in_link_features, {method}, {adjacent_features}, {border_features})
ParameterОбъяснениеТип данных
in_features

Входные линейные объекты для уравнивания.

Feature Layer
in_link_features

Входные линейные объекты, представляющие связи метода подгонки границ.

Feature Layer
method
(Дополнительный)

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

  • MOVE_ENDPOINTПеремещает конечную точку линии в новое местоположение соединения. Используется по умолчанию.
  • ADD_SEGMENTДобавляет прямой сегмент к конечной точке линии, так что он заканчивается в новом местоположении соединения.
  • ADJUST_VERTICESПеремещает конечную точку линии в новое местоположение соединения. Оставшиеся вершины также перемещаются таким образом, что изменение их позиций будет постепенно уменьшаться в направлении к противоположному концу линии.
String
adjacent_features
(Дополнительный)

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

Feature Layer
border_features
(Дополнительный)

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

Feature Layer

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

NameОбъяснениеТип данных
out_feature_class

Обновленные входные объекты

Векторный слой

Пример кода

Пример 1 функции EdgematchFeatures (окно Python)

Пример скрипта окна Python для использования функции EdgematchFeatures в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
                             "MOVE_ENDPOINT")
EdgematchFeatures, пример 2 (автономный скрипт)

Пример скрипта 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")

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

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

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