Подпись | Описание | Тип данных |
Исходные объекты | Линейные объекты, которые будут использованы как исходные объекты метода подгонки границ. Все связи метода подгонки границ начинаются на исходных объектах. | Feature Layer |
Смежные объекты | Линейные объекты, смежные с исходными объектами. Все связи метода подгонки границ заканчиваются на сопоставленных смежных объектах. | Feature Layer |
Выходной класс пространственных объектов | Выходной класс пространственных объектов, содержащий линии, представляющие связи метода подгонки границ. | Feature Class |
Расстояние поиска | Расстояние, которое будет использоваться при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать нужную единицу измерения. По умолчанию используются единицы объектов. | Linear Unit |
Сопоставление полей (Дополнительный) | Поля исходных и целевых объектов, где целевые поля берутся из смежных объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления. | Value Table |
Краткая информация
Находит сопоставленные, но не соединяющиеся линейные объекты вдоль границ области исходных данных и области смежных данных, и создает связи для метода подгонки границ от исходных линий до соответствующих смежных линий.
Иллюстрация
Использование
Линейные объекты из отдельных смежных наборов данных, таких как дороги соседних регионов, могут иметь разрывы или сдвиги вдоль общих границ, например, из-за несогласованных наборов данных или по другим причинам. Вы можете решить проблему подгонки границ между двумя наборами данных единовременно, используя этот инструмент для построения связей подгонки границ. Затем используйте инструмент Подгонка границ объектов, чтобы трансформировать объекты так, чтобы они совпадали. Эти два набора линейных объектов обычно называются исходными объектами и смежными объектами. Данный инструмент находит не соединенные, но сопоставимые исходные и смежные линии на заданном расстоянии поиска и создает линии, представляющие связи для подгонки границ (связи смещения) между ними.
Когда два не соединенных, но сопоставленных объекта вдоль области границы находятся на расстоянии поиска друг от друга, но при этом их конечные точки находятся на большем расстоянии, чем расстояние поиска, они не рассматриваются при подгонке границ.
Примечание:
Все входные данные должны быть в одной системе координат.
Выходной класс объектов использует ту же систему координат, что и входные данные.
Выходной класс объектов содержит линейные объекты, представляющие связи метода подгонки границ, со следующими полями:
- 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.management.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 |
Пример кода
В следующем скрипте окна Python показано, как используется функция GenerateEdgematchLinks в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.GenerateEdgematchLinks("countyA_Roads.shp",
"countyB_Roads.shp", "em_Links.shp"
"25 Feet")
Пример скрипта Python является простым примером выполнения функции GenerateEdgematchLinks в среде написания скриптов.
"""
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
may not be desired. They are then used to adjust input features
(a copy is made) to connect to the matched adjacent features.
"""
# Import system modules.
import arcpy
# Set environment settings.
arcpy.env.overwriteOutput = True
arcpy.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.edit.GenerateEdgematchLinks(inFeatures, adjFeatures, gelOutput, search_distance, match_fields)
"""
Note 1: The result of GenerateEdgematchLinks may contain errors; see the tool reference.
Inspection and editing may be necessary to ensure correct links before using
them for edgematching.
One of the possible errors is 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.analysis.Intersect(gelOutput, qaLocations, "", "", "POINT")
# Delete coincident points.
arcpy.management.DeleteIdentical(qaLocations, "Shape")
"""
Note 2: You can manually inspect locations in qaLocations and delete or
modify links as needed.
"""
# Make a copy of the inFeatures for edgematching.
inFeature_Copy = inFeatures + "_Copy"
arcpy.management.CopyFeatures(inFeatures, inFeature_Copy)
# Use the links to adjust the copy of the input features.
arcpy.edit.EdgematchFeatures(inFeature_Copy, gelOutput, "MOVE_ENDPOINT")