シェープの内挿 (Interpolate Shape) (3D Analyst)

3D Analyst のライセンスで利用可能。

Spatial Analyst のライセンスで利用可能。

サマリー

サーフェスから Z 値を内挿することによって、3D フィーチャを作成します。

シェープの内挿 ツールの詳細

シェープの内挿ツールの図

使用法

  • このツールは、入力サーフェスの重なり合う部分から得られる高さの値を使用して、3D フィーチャを作成します。 3D ポリゴンの内部はレンダリングされたときにランダムに定義されるため、3D ポリゴンにはその周長上の z 値のみが格納されます。 このため、一般的に、3D ポリゴンは非平面高さ情報を表す場合には適していません。 サーフェスの正確な表示を生成するには、[ポリゴンを内挿してマルチパッチを作成 (Interpolate Polygon to Multipatch)] ツールを使用します。

  • [サンプリング距離] パラメーターの値に基づいて、曲線またはポリゴン セグメントに頂点が挿入されます。 サンプリング距離が定義されていない場合、入力サーフェスから計算されます。 ラスターの場合、ラスターのセル サイズがデフォルトのサンプリング サイズになります。 TIN、テレイン、LAS データセットの場合、デフォルトのサンプリングは、トライアングル サーフェスによって生成されるエッジに基づきます。 曲線がサンプリング サイズより短い場合、その曲線はその始点と終点を使用して 2 ポイント ラインに単純化されます。

  • Natural Neighbor 内挿法を使用する場合は、サーフェス内のデータ ポイントの平均ポイント間隔の半分以上のサンプリング距離を指定することを検討してください。

  • [頂点のみを内挿] パラメーターを使用すると、頂点がサーフェスのデータ エリアの外側にあるフィーチャが出力に含まれなくなります。ただし、入力サーフェスがラスターであり、最近隣内挿法を使用している場合を除きます。

パラメーター

ラベル説明データ タイプ
入力サーフェス

Z 値の内挿に使用されるサーフェス。

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer; Image Service
入力フィーチャ

処理される入力フィーチャ。

Feature Layer
出力フィーチャクラス

生成されるフィーチャクラス。

Feature Class
サンプリング距離
(オプション)

Z 値を内挿する間隔。 デフォルトでは、ラスターのデータセットのセル サイズまたは TIN サーフェスの自然最小ノード間隔になります。

Double
Z 係数
(オプション)

Z 値に乗算する係数。 これは通常、Z 距離単位から XY 距離単位に変換する場合に使用されます。 デフォルトは 1 です。この場合、標高値は変更されません。 入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは使用できません。

Double
方法
(オプション)

出力フィーチャの標高値を決定するのに使用される内挿方法を指定します。 利用できるオプションはサーフェス タイプによって異なります。

  • 共一次内挿法共一次内挿法を使用して、入力ポイントの値が決定されます。 これは、入力がラスター サーフェスの場合のデフォルト設定です。
  • 最近隣最近隣内挿法を使用して、入力ポイントの値が決定されます。 この方法では、サーフェスの値が入力フィーチャの頂点でのみ内挿されます。 このオプションは、ラスター サーフェスにしか使用できません。
  • リニア標高値は、入力ポイントの X,Y 位置を含む三角形によって定義される平面から取得されます。 これは TIN、テレイン、および LAS データセットのデフォルトの内挿法です。
  • Natural Neighbor標高値は、入力ポイントの Natural Neighbor に、面積に基づく重み付けを行うことによって取得されます。
  • 最小 Z 値を使用標高値は、入力ポイントの Natural Neighbor の中の最小 Z 値から取得されます。
  • 最大 Z 値を使用標高値は、入力ポイントの Natural Neighbor の中の最大 Z 値から取得されます。
  • 最近隣の Z 値を使用標高値は、入力ポイントの Natural Neighbor の中の最近隣値から取得されます。
  • 平均に最も近い Z 値を使用標高値は、入力ポイントのすべての Natural Neighbor の平均に最も近い Z 値から取得されます。
String
頂点のみを内挿
(オプション)

サンプル距離のオプションを無視して、入力フィーチャの頂点に沿ってのみ内挿を実行するかどうかを指定します。 入力サーフェスがラスターであり、最近隣内挿法が選択されている場合は、Z 値をフィーチャの頂点でのみ内挿できます。

  • オン - 頂点に沿ってのみ内挿を実行します。
  • オフ - サンプリング距離を使用して内挿を実行します。 これがデフォルトです。
Boolean
ピラミッド レベル解像度
(オプション)

使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。

Double
一部がサーフェスの外側にあるフィーチャを維持
(オプション)

1 つまたは複数の頂点がラスターのデータ エリアの外側にあるフィーチャを出力で維持するかどうかを指定します。 このパラメーターを使用できるのは、入力サーフェスがラスターであり、最近隣内挿法を使用している場合に限ります。

  • オン - ラスター サーフェスの外側にある各頂点の Z 値は、そのラスター サーフェスの内側にある頂点に対して算出された Z 値の傾向から取得され、出力で保持されます。
  • オフ - 1 つ以上の頂点がラスター サーフェスの外側にあるフィーチャが出力でスキップされます。 これがデフォルトです。
Boolean

arcpy.ddd.InterpolateShape(in_surface, in_feature_class, out_feature_class, {sample_distance}, {z_factor}, {method}, {vertices_only}, {pyramid_level_resolution}, {preserve_features})
名前説明データ タイプ
in_surface

Z 値の内挿に使用されるサーフェス。

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer; Image Service
in_feature_class

処理される入力フィーチャ。

Feature Layer
out_feature_class

生成されるフィーチャクラス。

Feature Class
sample_distance
(オプション)

Z 値を内挿する間隔。 デフォルトでは、ラスターのデータセットのセル サイズまたは TIN サーフェスの自然最小ノード間隔になります。

Double
z_factor
(オプション)

Z 値に乗算する係数。 これは通常、Z 距離単位から XY 距離単位に変換する場合に使用されます。 デフォルトは 1 です。この場合、標高値は変更されません。 入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは使用できません。

Double
method
(オプション)

出力フィーチャの標高値を決定するのに使用される内挿方法を指定します。 利用できるオプションはサーフェス タイプによって異なります。

  • BILINEAR共一次内挿法を使用して、入力ポイントの値が決定されます。 これは、入力がラスター サーフェスの場合のデフォルト設定です。
  • NEAREST最近隣内挿法を使用して、入力ポイントの値が決定されます。 この方法では、サーフェスの値が入力フィーチャの頂点でのみ内挿されます。 このオプションは、ラスター サーフェスにしか使用できません。
  • LINEAR標高値は、入力ポイントの X,Y 位置を含む三角形によって定義される平面から取得されます。 これは TIN、テレイン、および LAS データセットのデフォルトの内挿法です。
  • NATURAL_NEIGHBORS標高値は、入力ポイントの Natural Neighbor に、面積に基づく重み付けを行うことによって取得されます。
  • CONFLATE_ZMIN標高値は、入力ポイントの Natural Neighbor の中の最小 Z 値から取得されます。
  • CONFLATE_ZMAX標高値は、入力ポイントの Natural Neighbor の中の最大 Z 値から取得されます。
  • CONFLATE_NEAREST標高値は、入力ポイントの Natural Neighbor の中の最近隣値から取得されます。
  • CONFLATE_CLOSEST_TO_MEAN標高値は、入力ポイントのすべての Natural Neighbor の平均に最も近い Z 値から取得されます。
String
vertices_only
(オプション)

サンプル距離のオプションを無視して、入力フィーチャの頂点に沿ってのみ内挿を実行するかどうかを指定します。

  • DENSIFYサンプリング距離を使用して内挿を実行します。 これがデフォルトです。
  • VERTICES_ONLY頂点に沿ってのみ内挿を実行します。
Boolean
pyramid_level_resolution
(オプション)

使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。

Double
preserve_features
(オプション)

1 つまたは複数の頂点がラスターのデータ エリアの外側にあるフィーチャを出力で維持するかどうかを指定します。 このパラメーターを使用できるのは、入力サーフェスがラスターであり、最近隣内挿法を使用している場合に限ります。

  • PRESERVEラスター サーフェスの外側にある各頂点の Z 値は、そのラスター サーフェスの内側にある頂点に対して算出された Z 値の傾向から取得され、出力で保持されます。
  • EXCLUDE1 つ以上の頂点がラスター サーフェスの外側にあるフィーチャが出力でスキップされます。 これがデフォルトです。
Boolean

コードのサンプル

InterpolateShape の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = "C:/data"
arcpy.ddd.InterpolateShape("my_tin", "roads.shp", "roads_interp.shp")
InterpolateShape の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''*********************************************************************
Name: InterpolateShape Example
Description: This script demonstrates how to use InterpolateShape
             on all 2D features in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy

# Set local variables
inWorkspace = arcpy.GetParameterAsText(0)
surface = arcpy.GetParameterAsText(1)

try:
    # Set default workspace
    arcpy.env.workspace = inWorkspace
    # Create list of feature classes in target workspace
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            # Find 2D features
            if not desc.hasZ:
                # Set Local Variables
                outFC = "{0}_3D.shp".format(desc.basename)
                method = "BILINEAR"
                # Execute InterpolateShape
                arcpy.ddd.InterpolateShape(surface, fc, outFC, 
                                           10, 1, method, True)
            else:
                print("{0} is not a 2D feature.".format(fc))
    else:
        print("No feature classes were found in {0}.".format(env.workspace))
    
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
    
except Exception as err:
    print(err)

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック