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

Краткая информация

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

Иллюстрация

Иллюстрация инструмента Трансформирование методом резинового листа

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

    Внимание:

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

Feature Layer
Входные объекты-связи

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

Feature Layer
Входные точечные объекты как связи идентичности
(Дополнительный)

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

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

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

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

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

ПодписьОписаниеТип данных
Измененные входные объекты

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

Feature Layer

arcpy.management.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
ИмяОписаниеТип данных
in_features

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

Feature Layer
in_link_features

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

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

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

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

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

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

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

ИмяОписаниеТип данных
out_feature_class

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

Feature Layer

Пример кода

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

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

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

Следующий автономный скрипт является примером применения функции 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 then used to adjust the
             base roads (a copy is made) to better align with the updated roads.
"""

# Import system modules
import arcpy

# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.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.edit.GenerateRubbersheetLinks(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

"""
Note 1:  The result of GenerateRubbersheetLinks may contain errors; see the tool reference.
         Inspection and editing may be necessary to ensure correct links before using
         them for rubbersheeting.

         One of the common 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(grlOutput, 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 sourceFeatures for rubbersheeting
arcpy.management.CopyFeatures(sourceFeatures, "sourceFeatures_Copy")

# Use the links for rubbersheeting
arcpy.edit.RubbersheetFeatures("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")