サーフェス情報の追加(Add Surface Information) (3D Analyst)
サマリ
サーフェスから得られる空間情報をフィーチャの属性に追加します。
使用法
3D フィーチャからの Z 値は無視されます。各フィーチャは、そのジオメトリと交差するサーフェスの Z プロパティを集計します。ポイントはサーフェス上の XY 位置から Z 値を取得し、ラインはそのライン上のサーフェスの計測値を内挿することで Z プロパティを取得し、ポリゴンはそのエリア内のサーフェスの Z プロパティを集計します。
-
[出力プロパティ] オプションが入力フィーチャの属性テーブルに書き込まれます。それぞれのフィーチャは評価対象のサーフェス プロパティの場所を定義し、報告可能なプロパティのタイプはフィーチャ ジオメトリによって異なります。
フィーチャ ジオメトリ
サーフェス プロパティ
ポイント
サーフェス上のポイントの XY 座標から内挿された SPOT 標高。
マルチポイント
マルチポイント レコードのすべてのポイントにおける SPOT 標高の最小値、最大値、および平均値。
ポリライン
サーフェスに沿ったラインの 3D 距離。
サーフェスに沿ったラインの標高と傾斜角の最小値、最大値、および平均値。
ポリゴン
ポリゴンと重なり合うサーフェスの 3D 面積。
サーフェスからの標高と傾斜角の最小値、最大値、および平均値。
傾斜角値はパーセンテージ単位(グレード)で計測され、ライン フィーチャの場合はラインのセグメントごとに計算されます。
- 最小傾斜角は、値が 0(水平グレード)に最も近いセグメントから取得されます。
- 最大傾斜角は、最大計算値を持つセグメントから取得されます。
- 平均傾斜角は、各傾斜角を 3D 長さによって重み付けしてから平均を特定することによって取得されます。そのため、セグメントが長いほど、取得される値に大きな影響があります。
特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外するには、[ノイズ フィルタ] の適用を検討してください。ライン フィーチャはサーフェスの断面図を捉えた頂点によって分割され、これらのセグメントを長さでフィルタリングすることで、望ましくないサーフェスの計測値によって発生する可能性の高い短いセグメントによる影響を排除します。同様に、ポリゴン フィーチャの面積フィルタによって、三角形分割したサーフェス内の細長い三角形を傾斜角の計算から除外します。ラスタ サーフェスの場合、面積フィルタを適用した、三角形分割したサーフェスの構築にセルの重心のサブセットが使用されます。
構文
パラメータ | 説明 | データ タイプ |
in_feature_class |
1 つ以上のサーフェス プロパティを決定するために場所を定義するポイント、マルチポイント、ポリライン、またはポリゴン フィーチャ。 | Feature Layer |
in_surface |
Z 値の内挿に使用する LAS データセット、ラスタ、テレイン、または TIN サーフェス。 | LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer |
out_property | 入力フィーチャクラスの属性テーブルに追加されるサーフェスの標高プロパティです。次のリストでは、利用可能なプロパティのキーワードおよびサポートされるジオメトリ タイプを示しています。
| String |
method (オプション) |
サーフェス情報の決定に使用される内挿法。ラスタ サーフェスには、共一次内挿法が常に使用されます。一方、三角形分割したサーフェスで使用できるオプションは次のとおりです。
| String |
sample_distance (オプション) |
Z 値が内挿される間隔。デフォルトでは、入力サーフェスがラスタの場合、ラスタ セル サイズが使用され、入力がテレインまたは TIN データセットの場合、トライアングル サーフェスの自然最小ノード間隔が使用されます。 | Double |
z_factor (オプション) |
標高値に乗算する係数。一般的には、Z の距離単位を変換して、XY の距離単位に一致させるために使用されます。デフォルトは 1 です。この場合、標高値は変更されません。 | Double |
pyramid_level_resolution (オプション) |
このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0(最大解像度)です。 | Double |
noise_filtering (オプション) |
特異な計測値を持つ一部のサーフェスを傾斜角の計算から除外します。ライン フィーチャは長さによるフィルタを提供し、ポリゴンは面積によるフィルタを提供します。いずれかのフィルタリング オプションに対応する値は、フィーチャの座標系の距離単位で評価されます。傾斜角以外のプロパティは、このパラメータの影響を受けません。
| String |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
次のサンプルは、スタンドアロン 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)