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

サマリー

サーフェスの重なり合う部分から得られる高さに基づく統計情報を入力フィーチャの属性に追加します。

使用法

  • サポートされているジオメトリごとに、次の方法によってサーフェスからの統計情報が決定されます。

    • ポイントの場合、サーフェス上の X,Y 座標から Z 値が導かれます。
    • ラインの場合、そのライン上のサーフェスの計測値を内挿することで Z プロパティが取得されます。
    • ポリゴンの場合、そのポリゴンと交差するサーフェスから作成されたトライアングル サーフェスの Z プロパティが集計されます。

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

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

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

    ポイント

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

    マルチポイント

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

    ポリライン

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

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

    ポリゴン

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

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

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

    • 最小傾斜角は、値が 0 (水平グレード) に最も近いセグメントから取得されます。
    • 最大傾斜角は、最大計算値を持つセグメントから取得されます。
    • ポリラインの平均傾斜角は、各ライン セグメントから傾斜角の加重平均を求めることで取得されます。 加重は各セグメントの 3D 長さに基づきます。 そのため、セグメントが長いほど、取得される計算に大きな影響があります。
  • すべての属性は、入力フィーチャの Z 情報を内挿するために使用される TIN サーフェスに基づいて計算されます。 TIN サーフェスでないサーフェスは、中間 TIN データセットに変換されます。 フィーチャはこの TIN サーフェスの境界にクリップされ、フィーチャとサーフェスの両方に共通する領域のみが評価されます。 この TIN の作成は、入力が高密度の LAS データセットであるか高解像度ラスターである場合に、かなりの時間がかかることがあります。 解析において低解像度 TIN を許容できる場合は、[ラスター → TIN (Raster To TIN)] または [LAS データセット → TIN (LAS Dataset To TIN)] ツールのいずれかを使用し、間引きした TIN サーフェスをこのツール用に生成できます。

  • ポリゴンの平均 Z 値は、そのポリゴンを使用して TIN をクリップし、クリップされた TIN から結果を導くことによって算出されます。 この TIN の各三角形の中点の Z 値に、三角形の 3D 面積を乗算します。 すべての三角形でのこの計算結果を加算し、その合計をこれらの三角形の累積 3D 面積で除算することによって、最終結果を得ます。 大規模なポリゴン フィーチャと、重複セルが多数含まれるラスター サーフェスを指定すると、中間 TIN サーフェスを作成するために必要なメモリ リソースの不足により、プロセスが失敗することがあります。 その場合は、低い解像度の TIN を作成するか、ラスターベースの手法によって、目的の出力プロパティを取得する必要があります。 「ゾーン統計ツールセット」には、面積、最小値、最大値、平均値などのプロパティを迅速に取得するためのツールがあります。 [クロス集計 (Tabulate Area)] および [ゾーン統計をテーブルに出力 (Zonal Statistics As Table)] ツールは、ポリゴン フィーチャに結合できる出力テーブルを提供します。 傾斜角のプロパティを取得するには、傾斜角ラスターを作成し、いずれかのツールを実行します。 Spatial Analyst エクステンションはないが、サーフェスの面積と体積を計算したい場合は、ポリゴンで入力ラスターをクリップし、[サーフェスの体積 (Surface Volume)] ツールを使用します。これにより、サーフェスの面積と体積の両方が出力されます。

  • ライン フィーチャは、TIN サーフェスに対してラインをドレープし、ラインと TIN エッジが交差する場所に頂点を挿入することで処理されます。 曲線セグメントを含むラインを処理する前に、頂点を挿入して、短い直線セグメントにします。 所定のラインの平均 Z 値は、セグメントの中点に、そのセグメントの 3D 長さを乗算し、すべてのライン セグメントでのこの計算結果を加算してから、その合計をライン セグメントの累積 3D 長さで除算することで計算されます。

  • 特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するには、[ノイズ フィルター] パラメーターを使用します。 ライン フィーチャはサーフェスの断面を捉えた頂点によって分割され、これらのセグメントを長さでフィルタリングすることで、望ましくないサーフェスの計測値によって発生する可能性の高い短いセグメントによる影響を排除します。 同様に、ポリゴン フィーチャの面積フィルターによって、三角形分割したサーフェス内の細長い三角形を傾斜角の計算から除外します。 ラスター サーフェスの場合、面積フィルターを適用した、三角形分割したサーフェスの構築にセルの重心のサブセットが使用されます。 ポリゴンは、内部的にマルチパッチ (三角形のコレクション) に変換されます。 このような三角形をサーフェスにドレープすると、ポリゴン全体がサーフェス全体と一致するように、通常は小さな三角形に分割されます。 各三角形の中点の Z 値に、その三角形の 3D 面積を乗算します。 この計算結果を加算し、その合計を三角形の累積 3D 面積で除算します。これにより、三角形の中点の Z 値の加重平均を得られます。

パラメーター

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

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

Feature Layer
入力サーフェス

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

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
出力プロパティ

入力フィーチャクラスの属性テーブルに追加されるサーフェスの標高プロパティを指定します。

  • Z 値各シングルポイント フィーチャの X,Y 位置に対して内挿されたサーフェスの Z 値が追加されます。
  • 最小 Z 値ポリゴンによって定義されたエリア内、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの Z の最小値が追加されます。
  • 最大 Z 値ポリゴンによって定義されたエリア内、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの標高の最大値が追加されます。
  • 平均 Z 値ポリゴンによって定義されたエリア、ライン上、またはマルチポイント レコード内のポイントに対して内挿された値における、サーフェスの標高の平均値が追加されます。
  • 表面積各ポリゴンによって定義されるリージョンにおける 3D サーフェスの面積が追加されます。
  • サーフェス長さサーフェスに沿ったラインの 3D 距離が追加されます。
  • 最小傾斜角ラインに沿った、またはポリゴンによって定義されたエリア内の 0 に最も近い傾斜角値が追加されます。
  • 最大傾斜角ラインに沿った、またはポリゴンによって定義されたエリア内の最大傾斜角値が追加されます。
  • 平均傾斜角ラインに沿った、またはポリゴンによって定義されたエリア内の平均傾斜角値が追加されます。
String
方法
(オプション)

サーフェスに関する情報の決定に使用される内挿法を指定します。

  • 共一次内挿法4 つの最近隣セルからセル値を決定する、ラスター サーフェス限定の内挿法が使用されます。 このオプションは、ラスター サーフェスにのみ利用できます。
  • リニア標高は、入力ポイントの 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 値を内挿する間隔。 デフォルトでは、入力サーフェスがラスターの場合、ラスター セル サイズが使用され、入力がテレインまたは TIN データセットの場合、トライアングル サーフェスの自然最小ノード間隔が使用されます。

Double
Z 係数
(オプション)

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

Double
ピラミッド レベル解像度
(オプション)

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

Double
ノイズ フィルタリング
(オプション)

特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するかどうかを定義します。 その他のプロパティは、このパラメーターの影響を受けません。

ライン フィーチャは長さによるフィルターを提供します。3D 長さが指定した値より短いライン セグメントは傾斜角の計算から除外されます。 ポリゴン フィーチャは面積によるフィルターを提供します。指定した値よりも小さい領域をカバーするポリゴンは除外されます。

String

派生した出力

ラベル説明データ タイプ
更新された入力フィーチャ

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

Feature Layer

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

サーフェスに関する情報の決定に使用される内挿法を指定します。

  • BILINEAR4 つの最近隣セルからセル値を決定する、ラスター サーフェス限定の内挿法が使用されます。 このオプションは、ラスター サーフェスにのみ利用できます。
  • 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
sample_distance
(オプション)

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

Double
z_factor
(オプション)

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

Double
pyramid_level_resolution
(オプション)

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

Double
noise_filtering
(オプション)

特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するかどうかを定義します。 その他のプロパティは、このパラメーターの影響を受けません。

ライン フィーチャは長さによるフィルターを提供します。3D 長さが指定した値より短いライン セグメントは傾斜角の計算から除外されます。 ポリゴン フィーチャは面積によるフィルターを提供します。指定した値よりも小さい領域をカバーするポリゴンは除外されます。

String

派生した出力

名前説明データ タイプ
output_feature_class

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

Feature Layer

コードのサンプル

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

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.AddSurfaceInformation("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.")

関連トピック