Трансформирование методом резинового листа (Редактирование)

Сводка

Изменяет объекты с помощью пространственного уравнивания методом резинового листа с помощью заданных связей, чтобы они были лучше выровнены с необходимыми целевыми объектами.

Иллюстрация

Трансформирование методом резинового листа

Использование

    Внимание:

    Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.

  • Этот инструмент разработан для использования после инструмента Сгенерировать связи Метода резинового листа. Метод резинового листа выполняет векторную трансформацию для уравнивания местоположений входных объектов с более точными местоположениями целевых объектов на основе заданных связей метода резинового листа. Объекты входных связей представляют стандартные связи; входные точечные объекты представляют связи идентичности, которые сохраняют исходные положения неизменными во время применения метода резинового листа. Как объекты входных связей, так и объекты связей идентичности, должны иметь поля SRC_FID и TGT_FID.

  • Примечание:

    Все входные данные должны быть в одной системе координат.

  • Параметр Метод определяет, что методом интерполяции, используемым для создания временных сетей TIN, является метод резинового листа.

    • Линейный – этот метод создает простую поверхность TIN и не учитывает влияние соседних точек. Он работает немного быстрее и дает хорошие результаты, если у вас достаточно много связей метода резинового листа, равномерно расположенных на уравниваемой области.
    • Естественная окрестность – этот метод рассчитывается медленнее, но будет более точным, когда у вас немного связей метода резинового листа, и они неравномерно распределены по объектам в наборе данных. В этом случае использование линейного метода дает менее точные результаты.

Синтаксис

arcpy.edit.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
ParameterОбъяснениеТип данных
in_features

Входные объекты для уравнивания. Они могут быть точками, линиями, полигонами или аннотациями.

Feature Layer
in_link_features

Входные линейные объекты, представляющие стандартные связи для метода резинового листа.

Feature Layer
in_identity_links
(Дополнительный)

Входные точечные объекты, представляющие связи идентичности для метода резинового листа.

Feature Layer
method
(Дополнительный)

Задает метод резинового листа, который будет использован для уравнивания объектов.

  • LINEARЭтот метод работает немного быстрее и дает хорошие результаты, если у вас достаточно много связей, равномерно расположенных на уравниваемой области. Это значение по умолчанию.
  • NATURAL_NEIGHBORЭтот метод следует использовать, если у вас мало связей, и они находятся далеко друг от друга.
String

Производные выходные данные

NameОбъяснениеТип данных
out_feature_class

Обновленные входные объекты

Векторный слой

Пример кода

RubbersheetFeatures пример 1 (окно Python)

Пример скрипта окна Python для использования функции RubbersheetFeatures в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
                               "rubbersheet_Links_pnt.shp", "LINEAR")
RubbersheetFeatures, пример 2 (автономный скрипт)

Пример скрипта Python для выполнения функции 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")

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

Связанные разделы