Сводка
Находит сопоставленные, но не соединяющиеся линейные объекты вдоль границ области исходных данных и области смежных данных, и создает связи для метода подгонки границ от исходных линий до соответствующих смежных линий.
Иллюстрация
Использование
Линейные объекты из отдельных смежных наборов данных, таких как дороги соседних регионов, могут иметь разрывы или сдвиги вдоль общих границ, например, из-за несогласованных наборов данных или по другим причинам. Вы можете решить проблему подгонки границ между двумя наборами данных единовременно, используя этот инструмент для построения связей подгонки границ, а затем применив инструмент Подгонка границ объектов, чтобы трансформировать объекты так, чтобы они совпадали. Эти два набора линейных объектов обычно называются исходными объектами и смежными объектами. Данный инструмент находит не соединенные, но сопоставимые исходные и смежные линии на заданном расстоянии поиска и создает линии, представляющие связи для подгонки границ (связи смещения) между ними.
Когда два не соединенных, но сопоставленных объекта вдоль области границы находятся на расстоянии поиска друг от друга, но при этом их конечные точки находятся на большем расстоянии, чем расстояние поиска, они не рассматриваются при подгонке границ.
Выходной класс объектов использует ту же систему координат, что и входные данные.
Выходной класс объектов содержит линейные объекты, представляющие связи метода подгонки границ, со следующими полями.
- SRC_FID –идентификаторы ID исходных объектов в начальных точках связей.
- ADJ_FID – идентификатор ID смежного объекта в конечных точках связей.
- EM_CONF – значения, представляющие уровень достоверности подгонки границ. Эти значения отвечают за количество кандидатов, находимых в пределах расстояния поиска, за ситуации сопоставления атрибутов и непрерывность между исходными и смежными объектами. Значения лежат в диапазоне от 0 до 100, где 100 означает наивысший уровень достоверности. Чем больше значение EM_CONF, тем больше шанс, что связь будет корректной. С примерами можно ознакомиться в разделе О подгонке границ.
Параметр Расстояние поиска используется для поиска кандидатов для сопоставления. Используйте расстояние, достаточное для получения большей части смещений между соответствующими объектами, но недостаточно большое, чтобы вызвать ненужную обработку слишком большого числа кандидатов, что может привести к потенциально неправильным сопоставлениям.
После того, как соответствующие кандидаты были найдены, будут проанализированы характеристики их форм. Сопоставление определяется между между исходными и смежными объектам с наилучшей непрерывностью. Линия, представляющая связь подгонки границ, строится от конца исходной линии до конца сопоставленной смежной линии.
Вы можете отобразить эти связи на карте, как любые другие линейные объекты. Линии могут быть отображены со стрелками на концах, чтобы получить карту, подобную показанной ниже.
Если вы укажете одну или несколько пар полей для параметра Сопоставление полей, пространственно сопоставленные объекты проверяются сравнением значений этих полей. Например, представьте, что обновленные и базовые объекты имеют поле STREET_NAME, содержащее названия улиц. Если исходный объект пространственно сопоставляется с двумя смежными объектами, но только один из кандидатов имеет такое же значение STREET_NAME, что и исходный объект, он считается лучшим сопоставлением. Сравнение текстовых строк не чувствительно к регистру, а потому строка First St равна строке first st.
Условия сопоставления атрибутов влияют на значения в поле EM_CONF, как описано выше.
Точность метода подгонки границ зависит от качества данных и сложности двух источников данных вдоль границ.
Вам необходимо минимизировать ошибки данных и выбрать подходящие объекты в качестве входных данных во время предварительной обработки. В общих чертах, лучше убедиться, что объекты внутри входного набора данных являются топологически корректными, имеют допустимую геометрию и являются простыми и не содержат дубликатов; в противном случае, могут возникнуть непредвиденные ошибки.
Рекомендуется просмотреть результаты и внести необходимые изменения. Во время последующей инспекции и обработки, вы можете использовать существующие инструменты Редактирования для изменения связей, например, для удаления ненужной связи, изменения связи путем сдвига ее начальной или конечной вершины, или добавления новой связи, если необходимо. Убедитесь, что вы обновили значения SRC_FID и TGT_FID, соответственно.
Синтаксис
arcpy.edit.GenerateEdgematchLinks(source_features, adjacent_features, out_feature_class, search_distance, {match_fields})
Параметр | Объяснение | Тип данных |
source_features | Линейные объекты как исходные объекты метода подгонки границ. Все связи метода подгонки границ начинаются на исходных объектах. | Feature Layer |
adjacent_features | Линейные объекты, смежные с исходными объектами. Все связи метода подгонки границ заканчиваются на сопоставленных смежных объектах. | Feature Layer |
out_feature_class | Выходной класс пространственных объектов, содержащий линии, представляющие связи метода подгонки границ. | Feature Class |
search_distance | Расстояние, использованное при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. | Linear Unit |
match_fields [[source_field, target_field],...] (Дополнительный) | Поля исходных и целевых объектов, где целевые поля берутся из смежных объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления. | Value Table |
Пример кода
GenerateEdgematchLinks, пример 1 (окно Python)
Пример скрипта окна Python для использования функции GenerateEdgematchLinks в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateEdgematchLinks_edit("countyA_Roads.shp",
"countyB_Roads.shp", "em_Links.shp"
"25 Feet")
GenerateEdgematchLinks, пример 2 (автономный скрипт)
Пример скрипта Python является простым примером выполнения функции GenerateEdgematchLinks в среде написания скриптов.
# Name: GenerateRubbersheetLinks_example_script2.py
# Description: Generates links for rubbersheeting spatial adjustment. The links go
# from base road data to newly updated road data. The links are then
# analyzed for potential errors; they are finally used to adjust the
# base roads (a copy is made) to better align with the updated roads.
# 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
sourceFeatures = "baseRoads"
targetFeatures = "updateRoads"
grlOutput = "grlinks_out"
grlOutputPts = "grlinks_out_pnt"
search_distance = "300 Feet"
match_fields = "FULLNAME RD_NAME"
qaLocations = "qa_locations"
# Generate rubbersheet links
arcpy.GenerateRubbersheetLinks_edit(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)
# ====================================================================================
# Note 1: The result of GenerateRubbersheetLinks may contain errors; see tool reference.
# Inspection and editing may be necessary to ensure correct links before using
# them for rubbersheeting.
#
# One of the common errors are 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(grlOutput, 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 sourceFeatures for rubbersheeting
arcpy.CopyFeatures_management(sourceFeatures, "sourceFeatures_Copy")
# Use the links for rubbersheeting
arcpy.RubbersheetFeatures_edit("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да