サーフェス傾斜方向(Surface Aspect) (3D Analyst)
サマリ
TIN またはテレイン データセットの各三角形の傾斜方向、すなわち下りの傾斜角が最大である方向を計算し、出力をポリゴン フィーチャクラスとして書き込みます。
図
使用法
各サーフェスの三角形の傾斜方向は、度単位で判断され、傾斜を基数または序数で表した方向に基づいて傾斜方向コードが割り当てられます。デフォルトの分類スキームは、次のように定義されています。
コード
傾斜の方向
傾斜角の範囲
-1
平地
傾斜なし
1
北
0–22.5
2
北東
22.5–45
3
東
45–135
4
南東
135–180
5
南
180–225
6
南西
225–270
7
西
270–315
8
北西
315–337.5
9
北
337.5–360
コードが同じの隣接する三角形は、1 つのフィーチャにマージされます。
カスタマイズしたクラス定義は、[クラス閾値テーブル] で示すことができます。テーブルには列が 2 つ必要で、最初の列は度単位の傾斜方向のブレーク ポイントを示し、2 つめの列はコード値を定義します。次の例について考えてみます。
閾値
Aspect_Code
90.0
1
180.0
2
270.0
3
360.0
4
テーブルはサポートされている形式で作成できます(*.dbf、*.txt、またはジオデータベース テーブル)。フィールドの名前は何でもかまいません。最初の列が常にクラス閾値に使用され、2 つめの列が常に傾斜方向コードに使用されます。
構文
パラメータ | 説明 | データ タイプ |
in_surface |
入力テレインまたは TIN サーフェス | Terrain Layer; TIN Layer |
out_feature_class |
出力フィーチャクラス。 | Feature Class |
class_breaks_table (オプション) |
出力フィーチャクラスの傾斜方向範囲を定義するのに使用する分類の閾値を含むテーブル。 | Table |
aspect_field (オプション) |
傾斜方向コードの値を格納するフィールド。 | String |
pyramid_level_resolution (オプション) |
このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0(最大解像度)です。 | Double |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.GetMessage(0)
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)