ラベル | 説明 | データ タイプ |
出力 TIN | 生成される TIN データセット。 | TIN |
座標系 (オプション) | 出力 TIN の空間参照。 空間参照を投影座標系に設定します。 地理座標系はお勧めしません。x,y 座標が角度単位で表現される場合に、ドローネ三角形分割は保証できないため、傾斜角、体積、見通し線などの距離ベースの計算の精度に悪影響を及ぼす可能性があるためです。 | Coordinate System |
入力フィーチャクラス (オプション) | TIN の定義に寄与する入力フィーチャおよびそれらに関連するプロパティ。
| Value Table |
制限付きドローネ (オプション) | TIN のブレークラインで使用される三角形分割法を指定します。
| Boolean |
サマリー
TIN (Triangulated Irregular Networks) データセットを作成します。
図
使用法
-
x,y 単位が球面座標系で表されている場合、ドローネ三角形分割法のルールを有効に適用できないため、地理座標系を使用して TIN を作成するのは避けてください。
-
サーフェス フィーチャ タイプは、入力フィーチャがトライアングル サーフェスの定義にどのように寄与するかを定義します。
- ポイント フィーチャを標高点として指定すると、サーフェスの三角形分割に使用される Z 値を持つデータ ノードを提供できます。
- ライン フィーチャを標高点およびブレークラインとして指定すると、稜線、海岸線、舗装端などの、傾斜に不連続線を含むサーフェスに沿った位置を表現することができます。
- ポリゴン フィーチャを、データ エリアを定義するクリップ フィーチャとともに、標高点およびブレークラインとして指定すると、一定の Z 値を持つ領域 (水域など) を定義するフィーチャに置き換えたり、データが存在しない内部エリアを示すフィーチャを消去することができます。
このツールでは、十分なメモリがあれば、数百万個ものポイントで構成される TIN を作成できます。 ただし、素早い表示パフォーマンスと全体的な操作性を維持するには、TIN ノード総数を 600 万個以下に制限してください。 これよりも大きい TIN サーフェスは、多重解像度のテレイン データセットを使用すると最適に管理されます。 LAS 形式の点群データを操作する場合、LAS データセットを使用することで、TIN データセットでサポートされているポリラインやポリゴンのサーフェス制約を組み込んだ TIN サーフェスに LAS ポイントを効率的にレンダリングし、処理することができます。
-
作成された TIN をバージョン 10.0 よりも前の ArcGIS Desktop で使用する場合は、デフォルトの TIN 格納バージョン環境設定を PRE_10.0 に設定します。
TIN データセットが作成されると、[TIN の編集] ツールを使用してそれを修正し、TIN サーフェスにフィーチャベースの計測を追加で組み込むことができます。 また、[TIN データ エリアの定義] ツールを使用して、三角形のエッジの最大長に基づいて内挿ゾーンを構成する TIN 三角形を定義できます。 TIN サーフェスは、対話的編集によって修正することもできます。
パラメーター
arcpy.ddd.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
名前 | 説明 | データ タイプ |
out_tin | 生成される TIN データセット。 | TIN |
spatial_reference (オプション) | 出力 TIN の空間参照。 空間参照を投影座標系に設定します。 地理座標系はお勧めしません。x,y 座標が角度単位で表現される場合に、ドローネ三角形分割は保証できないため、傾斜角、体積、見通し線などの距離ベースの計算の精度に悪影響を及ぼす可能性があるためです。 | 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.ddd.CreateTin("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)