概要
TIN データセットからポリゴン フィーチャに三角形のフェイスをエクスポートし、傾斜角、傾斜方向、およびオプションで陰影起伏の属性と各三角形のタグ値を提供します。
図
使用法
傾斜角と傾斜方向の計算は、三角形の平面に基づいて行われます。TIN 座標系の長さ単位が度 (10 進) のような角度である場合、傾斜角は正しく計算されません。
傾斜角と陰影起伏の計算で正確な結果を得るには、XY および Z の長さ単位が同じ計測単位である必要があります。単位は異なるが、TIN に鉛直および水平座標系が定義されている場合、適切な Z 係数が自動的に決定されます。定義されていない場合、[Z 係数] パラメーターを使用して、標高値に適用される変換係数を明示的に定義することができます。
傾斜方向の値は度で表され、北が 0°になります。値は時計方向に増加し、[傾斜方向] フィールドに記録されます。TIN 内の平面上の三角形には、傾斜方向の値に -1 が割り当てられます。
傾斜角は度またはパーセントで返すことができます。また、値が記録されるフィールド名は、[傾斜角の単位] パラメーターでの選択によって変わります。
- PERCENT - 傾斜角の値は、Slope_Pct というフィールドに格納されます。
- DEGREE - 傾斜角の値は、Slope_Deg というフィールドに格納されます。
陰影起伏の値は、[陰影起伏] パラメーターで指定された方位角と対頂角の光源から生成された局所的な陰影を反映します。0°は方位角が北であることを示し、明るさ値が 0 〜 255 で表されます。数値が小さいほど、陰影が暗くなります。
-
[タグ値フィールド] パラメーターは、TIN に明示的に定義されたタグ値がある場合のみ有効になります。
構文
TinTriangle(in_tin, out_feature_class, {units}, {z_factor}, {hillshade}, {tag_field})
パラメーター | 説明 | データ タイプ |
in_tin | 処理対象の TIN データセット。 | TIN Layer |
out_feature_class | このツールで生成されるフィーチャクラス。 | Feature Class |
units (オプション) | 傾斜角の計算に使用する計測単位。
| String |
z_factor (オプション) | Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは無効になります。 | Double |
hillshade HILLSHADE <azimuth>, <angle> (オプション) | 陰影起伏効果をフィーチャ レイヤー出力に適用する場合、光源の方位角と高度角を指定します。方位角の範囲は 0 〜 360 度で、高度角の範囲は 0 〜 90 度です。方位角 45 度、高度角 30 度の場合、「HILLSHADE 45, 30」と入力します。 | String |
tag_field (オプション) | 三角形のタグ値を格納する出力フィーチャのフィールド名。このパラメーターは、デフォルトでは空です。デフォルトでは、タグ値は出力に書き込まれません。 | String |
コードのサンプル
TinTriangle (TIN 三角ポリゴン) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TinTriangle_3d("tin", "tin_triangle.shp", "DEGREE", 1,"HILLSHADE 310,45", "tag")
TinTriangle (TIN 三角ポリゴン) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: TinTriangle Example
Description: This script demonstrates how to use the
TinTriangle tool to extract triangles from each TIN in the
target workspace.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data" # the target workspace
# Create list of TINs
TINList = arcpy.ListDatasets("*", "Tin")
# Verify the presence of TINs in the list
if TINList:
for dataset in TINList:
# Set Local Variables
TINList = arcpy.ListDatasets("*", "Tin")
slopeUnits = "PERCENT"
zfactor = 1
hillshade = "HILLSHADE 300, 45" # defines hillshade azimuth & angle
tagField = "Tag"
Output = dataset + "_triangles.shp" # name of the output file
#Execute TinTriangle
arcpy.ddd.TinTriangle(dataset, Output, slopeUnits, zfactor,
hillshade, tagField)
print "Finished."
else:
print "There are no TIN(s) in the " + env.workspace + " directory."
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)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst