TIN ドメイン(TIN Domain) (3D Analyst)
サマリ
TIN データセットの内挿ゾーンを表すラインまたはポリゴン フィーチャクラスを作成します。
図
使用法
-
このツールを使用すると、ポイントの集合に対する凸包(最小の境界ポリゴン)を生成できます。TIN の定義にクリップ ポリゴンまたはイレース ポリゴンが使用されていない場合、ドメインは凸包と等価になります。
出力ジオメトリは 1 つのフィーチャ レコード内に配置され、内挿ゾーンの性質によって、シングルまたはマルチパート ジオメトリのいずれかになります。たとえば、内挿ゾーンが島で構成されていたり、穴が含まれている場合、結果のジオメトリはマルチパートになります。
注意:3D ポリゴンは、フィーチャの輪郭に沿った標高値のみを含みます。ポリゴンの内部には頂点が存在しません。3D を塗りつぶしで描画する場合、境界の頂点はレンダリング用の三角形に任意で接続されます。ポリゴンが平面(傾斜または水平)でない場合、内側サーフェスの塗りつぶしは正しく描画されないことがほとんどです。このため、非平面ポリゴンは塗りつぶしシンボルを使用せずに描画することを推奨します。
構文
TINDomain_3d (in_tin, out_feature_class, out_geometry_type)
パラメータ | 説明 | データ タイプ |
in_tin |
入力 TIN。 | TIN Layer |
out_feature_class |
出力フィーチャクラス。 | Feature Class |
out_geometry_type |
出力フィーチャクラスのジオメトリ。
| String |
コードのサンプル
TINDomain(TIN ドメイン)の例 1(Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.TinDomain_3d('tin', 'tin_domain.shp')
TINDomain(TIN ドメイン)の例 2(スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
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
9/14/2013