Объекты Метода резинового листа (Редактирование)
Краткая информация
Изменяет входные линейные объекты с помощью пространственного уравнивания их форм на основе метода резинового листа с помощью заданных связей, чтобы они были более выровнены с необходимыми целевыми объектами.
Рисунок
Использование
-
Этот инструмент разработан для использования после инструмента Generate_Rubbersheet_Links. Метод резинового листа выполняет векторную трансформацию для уравнивания местоположений входных объектов с более точными местоположениями целевых объектов на основе заданных связей метода резинового листа. Объекты входных связей представляют стандартные связи; входные точечные объекты представляют связи идентичности, которые сохраняют исходные положения нетронутыми во время применения метода резинового листа. Как объекты входных связей, так и объекты связей идентичности должны иметь поля SRC_FID и TGT_FID.
Параметр Метод (Method) определяет, что методом интерполяции, используемым для создания временных сетей TIN, является метод резинового листа. Более подробно см. в разделе Векторная трансформация по методу резинового листа.
-
LINEAR – этот метод создает простую поверхность TIN и не учитывает влияние соседних точек. Он работает немного быстрее и дает хорошие результаты, если у вас достаточно много связей метода резинового листа, равномерно расположенных на уравниваемой области.
- NATURAL_NEIGHBOR – этот метод рассчитывается медленнее, но будет более точным, когда у вас немного связей метода резинового листа и они неравномерно распределены по объектам в наборе данных. В этом случае использование линейного метода даёт менее точные результаты.
-
Этот инструмент изменяет входные данные. Более подробно о стратегиях предотвращения неожиданных изменений данных см. в разделе Инструменты, не создающие выходных данных (Tools with no outputs).
Все входные данные должны быть в одной системе координат.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входные линейные объекты для уравнивания. | Feature Layer |
in_link_features |
Входные линейные объекты, представляющие стандартные связи для метода резинового листа. | Feature Layer |
in_identity_links (дополнительно) |
Входные точечные объекты, представляющие связи идентичности для метода резинового листа. | Feature Layer |
method (дополнительно) |
Метод резинового листа, который будет использован для уравнивания объектов.
| String |
Пример кода
Следующий пример скрипта Python демонстрирует выполнение функции RubbersheetFeatures с запуском из окна Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
"rubbersheet_Links_pnt.shp", "LINEAR")
Следующий автономный скрипт является примером выполнения функции RubbersheetFeatures в автономном режиме.
# Name: RubbersheetFeatures_example_script2.py
# Description: Performs rubbersheeting spatial adjustment using links produced by
# GenerateRubbersheetLinks, assuming newly updated roads are more
# accurate than existing base roads. The links go from base road data
# to corresponding 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")