サーフェス傾斜角(Surface Slope) (3D Analyst)
サマリ
トライアングル サーフェスの傾斜角の値の範囲を表すポリゴン フィーチャを作成します。
図
使用法
-
各三角形のサーフェス法線。2 つの三角形のエッジのベクトル クロス乗積から得られ、傾斜角(パーセントまたは度)の決定に使用されます。パーセントで表された傾斜角は、水平距離におけるサーフェス法線の変化率を示している一方、度で表された傾斜角は、サーフェス法線と水平面の間の傾きの角度を示しています。
-
生成される各ポリゴンは、ツールの実行時に使用される分類の閾値に基づいて傾斜角の値の範囲を表します。デフォルトの分類の閾値は、傾斜角の計測値を 9 つのグループに分類し、以下のように示されます。
傾斜角コード
パーセント
度数の範囲
1
0.00 — 1.00
0.00 — 0.57
2
1.00 — 2.15
0.57 — 1.43
3
2.15 — 4.64
1.43 — 2.66
4
4.64 — 10.0
2.66 — 5.71
5
10.00 — 21.50
5.71 — 12.13
6
21.50 — 46.40
12.13 — 24.89
7
46.40 — 100.0
24.89 — 45.00
8
100.0 — 1000.0
45.00 — 84.29
9
1000.0 <
84.29 — 90.0
-
[クラス閾値テーブル] パラメータの数値のうち最大 2 つのフィールドを持つテーブルを指定して、傾斜角の分類をカスタマイズできます。最初の列は、傾斜角の分類のブレーク ポイントを特定します。2 番目の列が提供される場合、その値を使用して、各ポリゴン フィーチャに属性が与えられるコードを関連付けることができます。以下の表を使用した場合、0 から 10 のすべての傾斜角の値はコード 1、10 から 25 はコード2 などのように表されます。表の分類の閾値の単位は、[傾斜角の単位](units)パラメータで設定されます。
CLASS_BREAK
コード
10.0
1
25.0
2
40.0
3
70.0
4
サポートされている表のフォーマットは、*.dbf、*.txt、またはジオデータベース テーブルのいずれかです。フィールドの名前は何でもかまいません。最初の列が常にクラス閾値に使用され、2 つ目の列が常に傾斜方向コードに使用されます。
構文
パラメータ | 説明 | データ タイプ |
in_surface |
出力ポリゴン フィーチャに書き込まれる傾斜角の計測値を持つ TIN、テレイン、または LAS データセット。 | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class |
出力フィーチャクラス。 | Feature Class |
units (オプション) |
傾斜角の計算に使用する計測単位。
| String |
class_breaks_table (オプション) |
出力フィーチャのグループ化に使用する、分類の閾値を含むテーブル。このテーブルの 1 つ目の列は閾値を示し、2 つ目の列は分類コードを示します。 | Table |
slope_field (オプション) |
傾斜角の値を格納するフィールド。 | String |
z_factor (オプション) |
Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。 | Double |
pyramid_level_resolution (オプション) |
このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0(最大解像度)です。 | Double |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: SurfaceSlope Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs