概要
TIN (Triangulated Irregular Networks) データセットを作成します。
使用法
-
XY 単位が球面座標系で表されている場合、ドローネ三角形分割法のルールを有効に適用できないため、地理座標系を使用して TIN を作成するのは避けてください。
-
サーフェス フィーチャ タイプは、入力フィーチャがトライアングル サーフェスの定義にどのように寄与するかを定義します。
- ポイント フィーチャを標高点として指定すると、サーフェスの三角形分割に使用される Z 値を持つデータ ノードを提供できます。
- ライン フィーチャを標高点およびブレークラインとして指定すると、稜線、海岸線、舗装端などの、傾斜に不連続線を含むサーフェスに沿った位置を表現することができます。
- また、ポリゴン フィーチャを、データ エリアを定義するクリップ フィーチャとともに、標高点およびブレークラインとして指定すると、一定の Z 値を持つ領域 (水域など) を定義するフィーチャに置き換えたり、データが存在しない内部エリアを示すフィーチャを消去することができます。
-
TIN がサポートするノードの最大数は、主に、コンピューターの利用可能な空いている連続のメモリ領域によって変わります。素早い表示パフォーマンスと全体的な操作性を維持するために、ノードの総数を 600 万個以下に制限することを検討してください。これよりも大きいトライアングル サーフェスは、多重解像度のテレイン データセットを使用すると最適に管理されます。
-
作成された TIN をバージョン 10.0 よりも前の ArcGIS Desktop で使用する場合は、TIN 格納バージョン環境設定を PRE_10.0 に設定します。
構文
arcpy.3d.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
パラメーター | 説明 | データ タイプ |
out_tin | 生成される TIN データセット。 | TIN |
spatial_reference (オプション) | 出力 TIN の空間参照は、投影座標系に設定する必要があります。地理座標系はお勧めしません。XY 座標が角度単位で表現される場合に、ドローネ三角形分割は保証できないため、傾斜角、体積、見通し線などの距離ベースの計算の精度に悪影響を及ぼす可能性があるためです。 | Coordinate System |
in_features [[in_features, height_field, SF_type, tag_value],...] (オプション) | TIN の定義に寄与する入力フィーチャおよびそれらに関連するプロパティ。
| Value Table |
constrained_delaunay (オプション) | TIN のブレークラインで使用される三角形分割法を指定します。
| Boolean |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = "C:/data"
arcpy.CreateTin_3d("NewTIN", "NAD 1983 StatePlane California II FIPS 0402 (Feet).prj",
"points.shp Shape.Z masspoints", "constrained_delaunay")
次のサンプルは、スタンドアロン 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
# 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:
# Execute LASToMultipoint
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
except arcpy.ExecuteError:
print(arcpy.GetMessages())
except Exception as err:
print(err)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst