ラバーシート フィーチャ (Rubbersheet Features) (編集)

サマリー

指定されたラバーシート リンクを使用してラバーシート処理を行い、空間的に調整することによって、入力フィーチャを変更します。これによって入力フィーチャは、目的のターゲット フィーチャとより正確に一致するようになります。

ラバーシート フィーチャ ツールの図

使用法

    注意:

    このツールを実行すると、入力データが変更されます。 詳細と不要なデータの変更を回避するための方法については、「入力データを変更または更新するツール」をご参照ください。

  • このツールは、[ラバーシート リンクの生成 (Generate Rubbersheet Links)] ツールの実行後に使用することを目的としています。 ラバーシート処理は、指定されたラバーシート リンクに基づいて、入力フィーチャの位置とターゲット フィーチャの位置がより正確に一致するように、空間的に調整します。 入力リンク フィーチャは、標準のリンクを表します。入力ポイント フィーチャは、ラバーシート処理の実行中にソースの位置を固定する固定リンクを表します。 入力リンク フィーチャと固定リンク フィーチャの両方に、SRC_FID フィールドと TGT_FID フィールドが存在する必要があります。

  • 注意:

    すべての入力は、同じ座標系に存在する必要があります。

  • [方法] パラメーターでは、ラバーシートでテンポラリ TIN の作成に使用される内挿法を指定します。

    • [リニア] - この方法は、簡易 TIN サーフェスを作成しますが、近傍を考慮に入れません。 この方法は、他の方法よりもわずかに高速であり、調整対象のデータに多くのラバーシート リンクが一様に拡散している場合に効果的です。
    • [Natural neighbor] - この方法は、他の方法よりも低速ですが、ラバーシート リンクの数が少なく、データセット全体に拡散している場合、より正確になります。 この場合、リニア法を使用すると、結果の精度が低下します。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

調整対象の入力フィーチャ。 調整できる入力フィーチャは、ポイント、ライン、ポリゴン、またはアノテーションです。

Feature Layer
入力リンク フィーチャ

ラバーシートの標準のリンクを表す入力ライン フィーチャ。

Feature Layer
固定リンクとしての入力ポイント フィーチャ
(オプション)

ラバーシート処理の固定リンクを表す入力ポイント フィーチャ。

Feature Layer
方法
(オプション)

フィーチャの調整に使用されるラバーシート方法を指定します。

  • リニアこの方法は、他の方法よりもわずかに高速であり、調整対象のデータに多くのリンクが一様に拡散している場合に効果的です。 これがデフォルトです。
  • Natural Neighborこの方法は、小数のリンクが広い範囲に存在する場合に使用します。
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")