Краткая информация
Выполняет поиск исходных линейных объектов, совпадающих в пространстве с целевыми линейными объектами, и создает линии, представляющие связи между исходными местоположениями и соответствующими целевыми местоположениями для метода резинового листа.
Иллюстрация
Использование
Линейные объекты из различных источников данных, покрывающие одну и ту же область, например, дороги, обслуживаемые городской администрацией, и дороги того же города, предоставленные частными поставщиками данных, могут оказаться невыровненными из-за несогласованных наборов данных или по другим причинам. Пространственные сдвиги между соответствующими объектами часто не являются равномерными. Если вы знаете, что данные одного источника являются менее точными, чем данные другого источника, вы можете улучшить точность данных с помощью трансформирования методом резинового листа, используя этот инструмент для создания связей метода резинового листа, а затем применяя инструмент Трансформирование методом резинового листа (Rubbersheet Features) для выполнения уравнивания. Эти два набора линейных объектов обычно называются исходными объектами и целевыми объектами (обычно они более точные). Этот инструмент используется для поиска сопоставляемых исходных и целевых линий на заданном расстоянии поиска и создает линии, представляющие связи метода резинового листа (связи смещения) между ними.
Объединение входных экстентов используется в качестве экстента обработки. Количество участвующих исходных и целевых объектов будет отображено в сообщениях обработки.
Выходной класс объектов содержит линии, представляющие стандартные связи метода резинового листа, являющиеся входными данными для инструмента Трансформирование методом резинового листа (Rubbersheet Features). Стандартная связь соединяет исходное местоположение с сопоставленным неидентичным целевым местоположением.
Вы можете отобразить эти связи на карте, как любые другие линейные объекты. Линии могут быть отображены со стрелками на концах, чтобы получить карту, подобную показанной ниже.
В дополнение к выходному классу линейных объектов этот инструмент создает производный класс точечных объектов, содержащий связи идентичности. Связь идентичности соединяет исходное местоположение с сопоставленным идентичным целевым местоположением; местоположения со связями идентичности не сдвигаются при трансформировании методом резинового листа. Если нет совпадающих идентичных исходных и целевых местоположений, то связи идентичности не создаются; следовательно, выходной класс точечных объектов будет пустым. Вам необходимо предоставить класс точечных объектов в качестве входных данных для инструмента Трансформирование методом резинового листа только в случае, когда он не является пустым. Местоположение выходного класса точечных объектов совпадает с местоположением выходного класса объектов и имеет то же имя, что и выходной класс объектов, но с суффиксом _pnt. Например, если входной класс объектов называется outputLinks, то выходной класс объектов будет называться outputLinks_pnt.
Оба выходных класса (стандартные связи метода резинового листа и связи идентичности) имеют следующие поля:
- SRC_FID – идентификаторы ID исходных объектов в начальных точках связей. Значение равно -1, если местоположение принадлежит более, чем одному исходному объекту (например, перекресток дорог).
- TGT_FID – идентификаторы ID целевых объектов в конечных точках связей. Значение равно -1, если местоположение принадлежит более, чем одному целевому объекту (например, перекресток дорог)
Параметр Расстояние поиска используется для поиска кандидатов для сопоставления. Используйте расстояние, достаточное для получения большей части смещений между соответствующими объектами, но недостаточно большое, чтобы вызвать ненужную обработку слишком большого числа кандидатов, что может привести к потенциально неправильным сопоставлениям.
Сопоставление объектов выполняется с помощью анализа линейной топологии, закономерностей и геометрических характеристик. После пространственного сопоставления объектов будут созданы связи метода резинового листа от исходных местоположений до соответствующих целевых местоположений. Для исходных объектов, являющихся параметрическими (истинными) кривыми, связи создаются в уплотненных местоположениях вдоль кривых.
Если вы укажете одну или несколько пар полей для параметра Сопоставление полей, пространственно сопоставленные кандидаты проверяются сравнением значений этих полей, чтобы вы могли определить правильные сопоставления. Например, представьте, что исходные и целевые объекты имеют поле STREET_NAME, содержащее названия улиц. Если исходный объект пространственно сопоставляется с двумя целевыми объектами, но только один из кандидатов имеет такое же значение STREET_NAME, что и исходный объект, он считается лучшим сопоставлением. Сравнение текстовых строк не чувствительно к регистру, а потому строка First St равна строке first st.
Выбирать Выходная таблица сопоставлений необязательно. Данная таблица сопоставлений предоставляет полную информацию сопоставления объектов, включая идентификаторы FID исходных и целевых объектов, группы сопоставления, отношения сопоставления и уровень достоверности сопоставления, полученный из пространственных и атрибутивных условий сопоставления. Эта информация может помочь вам лучше понять ситуации сопоставления и выполнить последующие инспекцию, редактирование и дальнейший анализ. Более подробно см. раздел О соответствии объектов и таблице соответствия.
Точность сопоставления объектов зависит от качества данных, сложности и сходства двух источников данных
Вам необходимо минимизировать ошибки данных и выбрать подходящие объекты в качестве входных данных во время предварительной обработки. В общих чертах, лучше убедиться, что объекты внутри входного набора данных являются топологически корректными, имеют допустимую геометрию и являются простыми и не содержат дубликатов; в противном случае, могут возникнуть непредвиденные ошибки.
Рекомендуется просмотреть результаты и внести необходимые изменения. Во время последующей инспекции и обработки, вы можете использовать существующие инструменты Редактирования для изменения связей, например, для удаления ненужной связи, изменения связи путем сдвига ее начальной или конечной вершины, или добавления новой связи, если необходимо. Убедитесь, что вы обновили значения SRC_FID и TGT_FID, соответственно.
Синтаксис
GenerateRubbersheetLinks_edit (source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
Параметр | Объяснение | Тип данных |
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 |
Пример кода
GenerateRubbersheetLinks пример 1 (окно Python)
Следующий пример скрипта Python демонстрирует выполнение функции GenerateRubbersheetLinks с запуском из окна Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateRubbersheetLinks_edit("source_Roads.shp", "target_Roads.shp",
"rubbersheet_Links.shp", "25 Feet")
GenerateRubbersheetLinks пример 2 (автономный скрипт Python)
Пример скрипта 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")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Нет
- ArcGIS Desktop Standard: Нет
- ArcGIS Desktop Advanced: Да