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

ライセンス レベル:BasicStandardAdvanced

サマリ

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

使用法

構文

AddSurfaceInformation_3d (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; Raster Layer; Terrain Layer; TIN Layer
out_property

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

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

サーフェス情報の決定に使用される内挿法。ラスタ サーフェスには、共一次内挿法が常に使用されます。一方、三角形分割したサーフェスで使用できるオプションは次のとおりです。

  • LINEAR Z 値は、入力ポイントを含むサーフェス三角形の平面から内挿されます。これがデフォルトです。
  • NATURAL_NEIGHBORS 入力ポイントの自然近傍のサーフェス計測値に対して、面積ベースの重み付けを行います。
  • CONFLATE_ZMIN 入力ポイントの自然近傍のサーフェス計測値のうち、最小の Z 値を使用します。
  • CONFLATE_ZMAX 入力ポイントの自然近傍のサーフェス計測値のうち、最大の Z 値を使用します。
  • CONFLATE_NEAREST 入力ポイントに最も近い XY 距離を持つサーフェス計測値から Z 値を取得します。
  • CONFLATE_CLOSEST_TO_MEAN 入力ポイントの自然近傍のサーフェス計測値のうち、隣接する計測値の平均に最も近い値を持つ計測値から Z 値を取得します。
String
sample_distance
(オプション)

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

Double
z_factor
(オプション)

Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。

Double
pyramid_level_resolution
(オプション)

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

Double
noise_filtering
(オプション)

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

  • NO_FILTER傾斜角計算で考慮されるライン セグメントまたはサーフェス三角形は、ノイズ フィルタによる制限を受けません。これがデフォルトです。
  • AREA <値>指定された値よりも小さな 3D 面積を持つサーフェス三角形は、傾斜角の計算から除外されます。
  • LENGTH <値> サーフェス上に内挿された後の 3D 長さが指定された値よりも短いライン セグメントは、傾斜角の計算から除外されます。
String

コードのサンプル

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set Local Variables
    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."
    arcpy.CheckInExtension('3D')

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 3D Analyst
ArcGIS for Desktop Standard: 次のものが必要 3D Analyst
ArcGIS for Desktop Advanced: 次のものが必要 3D Analyst
7/28/2014