サーフェス情報の追加 (Add Surface Information) (3D Analyst)

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

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

概要

サーフェスから得られる空間情報をフィーチャの属性に追加します。

使用法

  • 3D フィーチャからの Z 値は無視されます。各フィーチャは、そのジオメトリと交差するサーフェスの Z プロパティを集計します。ポイントはサーフェス上の XY 位置から Z 値を取得し、ラインはそのライン上のサーフェスの計測値を内挿することで Z プロパティを取得し、ポリゴンはそのエリア内のサーフェスの Z プロパティを集計します。

  • [出力プロパティ] オプションが入力フィーチャの属性テーブルに書き込まれます。それぞれのフィーチャは評価対象のサーフェス プロパティの場所を定義し、報告可能なプロパティのタイプはフィーチャ ジオメトリによって異なります。

    フィーチャ ジオメトリサーフェス プロパティ

    ポイント

    サーフェス上のポイントの XY 座標から内挿された SPOT 標高。

    マルチポイント

    マルチポイント レコードのすべてのポイントにおける SPOT 標高の最小値、最大値、および平均値。

    ポリライン

    サーフェスに沿ったラインの 3D 距離。

    サーフェスに沿ったラインの標高と傾斜角の最小値、最大値、および平均値。

    ポリゴン

    ポリゴンと重なり合うサーフェスの 3D 面積。

    サーフェスからの標高と傾斜角の最小値、最大値、および平均値。

  • 傾斜角値はパーセンテージ単位 (グレード) で計測され、ライン フィーチャの場合はラインのセグメントごとに計算されます。

    • 最小傾斜角は、値が 0 (水平グレード) に最も近いセグメントから取得されます。
    • 最大傾斜角は、最大計算値を持つセグメントから取得されます。
    • 平均傾斜角は、各傾斜角を 3D 長さによって重み付けしてから平均を特定することによって取得されます。そのため、セグメントが長いほど、取得される値に大きな影響があります。
  • 特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するには、[ノイズ フィルター] の適用を検討してください。ライン フィーチャはサーフェスの断面図を捉えた頂点によって分割され、これらのセグメントを長さでフィルタリングすることで、望ましくないサーフェスの計測値によって発生する可能性の高い短いセグメントによる影響を排除します。同様に、ポリゴン フィーチャの面積フィルターによって、三角形分割したサーフェス内の細長い三角形を傾斜角の計算から除外します。ラスター サーフェスの場合、面積フィルターを適用した、三角形分割したサーフェスの構築にセルの重心のサブセットが使用されます。

構文

arcpy.3d.AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
パラメーター説明データ タイプ
in_feature_class

1 つ以上のサーフェス プロパティを決定するために場所を定義するポイント、マルチポイント、ポリライン、またはポリゴン フィーチャ。

Feature Layer
in_surface

Z 値の内挿に使用する LAS データセット、モザイク、ラスター、テレイン、または TIN サーフェス。

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property
[out_property,...]

入力フィーチャクラスの属性テーブルに追加されるサーフェスの標高プロパティです。次のリストでは、利用可能なプロパティのキーワードおよびサポートされるジオメトリ タイプを示しています。

  • Z各シングルポイント フィーチャの XY 位置に対して内挿されたサーフェスの Z 値。
  • Z_MINポリゴンによって定義されたエリア内、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの Z の最小値。
  • Z_MAXポリゴンによって定義されたエリア内、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの標高の最大値。
  • Z_MEANポリゴンによって定義されたエリア、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの標高の平均値。
  • SURFACE_AREA各ポリゴンによって定義されるリージョンにおける 3D サーフェスの面積。
  • SURFACE_LENGTHサーフェスに沿ったラインの 3D 距離。
  • MIN_SLOPEラインに沿った、またはポリゴンによって定義されたエリア内の 0 に最も近い傾斜角値。
  • MAX_SLOPEラインに沿った、またはポリゴンによって定義されたエリア内の最大傾斜角値。
  • AVG_SLOPEラインに沿った、またはポリゴンによって定義されたエリア内の平均傾斜角値。
String
method
(オプション)

サーフェスに関する情報の決定に使用される内挿法。利用できるオプションは、入力サーフェスのデータ タイプによって異なります。

  • BILINEARラスター サーフェス限定の内挿法。4 つの最近隣セルからセル値を決定します。このオプションは、ラスター サーフェスにのみ利用できます。
  • LINEAR TIN、テレイン、および LAS データセットのデフォルトの内挿法。入力ポイントの XY 位置を含むテレイン三角形によって定義される平面から標高を取得します。
  • 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
sample_distance
(オプション)

Z 値を内挿する間隔。デフォルトでは、入力サーフェスがラスターの場合、ラスター セル サイズが使用され、入力がテレインまたは TIN データセットの場合、トライアングル サーフェスの自然最小ノード間隔が使用されます。

Double
z_factor
(オプション)

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

Double
pyramid_level_resolution
(オプション)

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

Double
noise_filtering
(オプション)

特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外します。ポリゴンは面積によるフィルターを提供し、ライン フィーチャは長さによるフィルターを提供します。いずれかのフィルタリング オプションに該当する値は、フィーチャの座標系のリニア単位で評価されます。傾斜角以外のプロパティは、このパラメーターの影響を受けません。

String

派生した出力

名前説明データ タイプ
output_feature_class

更新された入力フィーチャ。

フィーチャ レイヤー

コードのサンプル

AddSurfaceInformation (サーフェス情報の追加) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
AddSurfaceInformation (サーフェス情報の追加) の例 2 (スタンドアロン スクリプト)

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

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

# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"

# Create list of feature classes
fcList = arcpy.ListFeatureClasses()

if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        # Determine if the feature is 2D
        if not desc.hasZ:
            if desc.shapeType == "Polygon":
                # Desired properties separated by semi-colons
                Prop = "Z_MIN;Z_MAX" 
            elif desc.shapeType == "Point":
                Prop = "Z"
            elif desc.shapeType == "Multipoint":
                Prop = "Z_MIN;Z_MAX;Z_MEAN"
            elif desc.shapeType == "Polyline":
                Prop = "LENGTH_3D"
            # Execute AddSurfaceInformation
            arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                            method, 15, 1, pyramid)
            print("Completed adding surface information.")

ライセンス情報

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

関連トピック