Сгенерировать связи Метода резинового листа (Редактирование)
Краткая информация
Выполняет поиск исходных линейных объектов, совпадающих с целевыми линейными объектами и создает линии, представляющие связи между исходными местоположениями и соответствующими целевыми местоположениями для метода резинового листа.
Рисунок
Использование
-
Линейные объекты с различными источниками данных, покрывающие одну и ту же область, например, дороги, обслуживаемые городской администрацией и дороги того же города, предоставленные частными поставщиками данных, могут не совпадать из-за погрешностей сбора данных или по другим причинам. Пространственные сдвиги между соответствующими объектами часто не являются равномерными. Если вы знаете, что данные одного источника являются менее точными, чем данные другого источника, вы можете улучшить точность данных с помощью уравнивания по методу резинового листа, используя этот инструмент для создания связей метода резинового листа, а затем применяя инструмент Метод резинового листа для объектов (Rubbersheet Features) для выполнения уравнивания. Эти два набора линейных объектов обычно называются исходными объектами и целевыми объектами (обычно более точные). Этот инструмент используется для поиска сопоставляемых исходных и целевых линий на заданном расстоянии поиска и создает линии, представляющие связи метода резинового листа (также известные, как связи смещения) между ними.
-
Объединение входных экстентов используется в качестве экстента обработки. Количество участвующих исходных и целевых объектов будет отображено в сообщениях обработки.
Выходной класс объектов содержит линии, представляющие стандартные связи метода резинового листа в качестве входных данных для инструмента Метод резинового листа для объектов (Rubbersheet Features). Стандартная связь соединяет исходное местоположение с местоположением сопоставленного неидентичного целевого объекта.
Вы можете отобразить эти связи на карте, как любые другие линейные объекты. Линии могут быть отображены со стрелками на концах, чтобы получить карту, подобную показанной ниже.
В дополнение к выходному классу линейных объектов этот инструмент создает производный класс точечных объектов, содержащий связи идентичности. Связь идентичности соединяет исходное местоположение с местоположением сопоставленного идентичного целевого объекта; местоположения со связями идентичности не сдвигаются при методе резинового листа. Если не найдено идентичных местоположений исходных и сопоставленных целевых объектов, то связи идентичности не будут созданы; следовательно, выходной класс точечных объектов будет пустым. Вам необходимо предоставить класс точечных объектов в качестве входных данных для инструмента Метод резинового листа для объектов (Rubbersheet Features) только в случае, когда он не является пустым. Местоположение выходного класса точечных объектов совпадает с местоположением выходного класса объектов и имеет то же имя, что и выходной класс объектов, но с суффиксом _pnt. Например, если входной класс объектов называется outputLinks, то выходной класс объектов будет называться outputLinks_pnt.
Оба выходных класса (стандартные связи метода резинового листа и связи идентичности) имеют следующие поля:
- SRC_FID – идентификаторы ID исходных объектов в начальных точках связей. Значение равно -1, если местоположение принадлежит более, чем одному исходному объекту (например, перекресток дорог).
- TGT_FID – идентификаторы ID целевых объектов в конечных точках связей. Значение равно -1, если местоположение принадлежит более, чем одному целевому объекту (например, перекресток дорог)
-
Параметр Расстояние поиска (Search Distance) используется для поиска кандидатов для сопоставления. Используйте расстояние, достаточное для получения большей части сдвигов между соответствующими объектами, но недостаточно большое, чтобы вызвать ненужную обработку множества кандидатов, что может привести к потенциально неправильным сопоставлениям.
Сопоставление объектов выполняется с помощью анализа линейной топологии, закономерностей и геометрических характеристик. После пространственного сопоставления объектов будут созданы связи метода резинового листа от исходных местоположений объектов до соответствующих местоположений целевых объектов. Для исходных объектов, являющихся параметрическими (истинными) кривыми, связи создаются в уплотненных местоположениях вдоль кривых.
Если вы укажете одну или несколько пар полей для параметра Сопоставление полей (Match Fields), пространственно сопоставленные кандидаты будут отмечены рядом с такими значениями полей, чтобы вы могли определить правильные сопоставления. Например, представьте, что исходные и целевые объекты имеют поле STREET_NAME, содержащее названия улиц. Если исходный объект пространственно сопоставляется с двумя целевыми объектами, но только один из кандидатов имеет такое же значение STREET_NAME, что и исходный объект, он считается лучшим сопоставлением. Сравнение текстовых строк не чувствительно к регистру, а потому строка First St равна строке first st.
-
Выбирать Выходная таблица сопоставлений (Output Match Table) необязательно. Данная таблица сопоставлений предоставляет полную информацию сопоставления объектов, включая идентификаторы FID исходных и целевых объектов, группы сопоставления, отношения сопоставления и уровень достоверности сопоставления, полученный из пространственных и атрибутивных условий сопоставления. Эта информация может помочь вам лучше понять ситуации сопоставления и выполнить последующие инспекцию, редактирование и дальнейший анализ. Более подробно см. About_feature_matching_and_the_match_table.
Точность сопоставления объектов зависит от качества данных, сложности и сходства двух источников данных
Вам необходимо минимизировать ошибки данных и выбрать подходящие объекты в качестве входных данных во время предварительной обработки. В общих чертах, лучше убедиться, что объекты внутри входного набора данных являются топологически корректными, имеют допустимую геометрию и являются простыми и не содержат дубликатов; в противном случае, могут возникнуть непредвиденные ошибки.
Рекомендуется просмотреть результаты и внести необходимые изменения. Во время последующей инспекции и обработки, вы можете использовать существующие инструменты Редактирования (Editing) для изменения связей, например, для удаления ненужной связи, изменения связи путем сдвига ее начальной или конечной вершины, или добавления новой связи, если необходимо. Убедитесь, что вы обновили значения SRC_FID и TGT_FID, соответственно.
Все входные данные должны быть в одной системе координат.
Синтаксис
Параметр | Объяснение | Тип данных |
source_features |
Линейные объекты в качестве исходных объектов для генерации связей метода резинового листа Все связи начинаются в исходных объектах. | Feature Layer |
target_features |
Линейные объекты в качестве целевых объектов для генерации связей метода резинового листа. Все связи заканчиваются в сопоставленных целевых объектах. | Feature Layer |
out_feature_class |
Выходной класс пространственных объектов, содержащий линии, представляющие стандартные связи метода резинового листа. | Feature Class |
search_distance |
Расстояние, использованное при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта. | Linear unit |
match_fields [[source_field, target_field],...] (дополнительно) |
Список полей исходных и целевых объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления. | Value Table |
out_match_table (дополнительно) |
Выходная таблица, содержащая полную информацию о сопоставлении объектов. | Table |
Пример кода
Следующий пример скрипта Python демонстрирует выполнение функции GenerateRubbersheetLinks с запуском из окна Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateRubbersheetLinks_edit("source_Roads.shp", "target_Roads.shp",
"rubbersheet_Links.shp", "25 Feet")
Пример скрипта Python для выполнения функции GenerateRubbersheetLinks в автономном режиме.
# 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")