TIN の作成 (Create TIN) (3D Analyst)

サマリー

TIN (Triangulated Irregular Networks) データセットを作成します。

TIN の作成の図

使用法

  • 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 サーフェスは、対話的編集によって修正することもできます。

パラメーター

ラベル説明データ タイプ
出力 TIN

生成される TIN データセット。

TIN
座標系
(オプション)

出力 TIN の空間参照。 空間参照を投影座標系に設定します。 地理座標系はお勧めしません。x,y 座標が角度単位で表現される場合に、ドローネ三角形分割は保証できないため、傾斜角、体積、見通し線などの距離ベースの計算の精度に悪影響を及ぼす可能性があるためです。

Coordinate System
入力フィーチャクラス
(オプション)

TIN の定義に寄与する入力フィーチャおよびそれらに関連するプロパティ。

  • 入力フィーチャ - TIN にインポートされるジオメトリを持つフィーチャ。
  • [高さフィールド] - 入力フィーチャの標高ソース。 フィーチャの属性テーブルにある任意の数値フィールドが使用できます。3D フィーチャの Z 値には Shape.Z、ジオメトリに格納されている M 値には Shape.M が使用できます。 <None> キーワードを選択すると、フィーチャの標高が周囲のサーフェスから内挿されます。
  • タイプ - TIN サーフェスの形成におけるフィーチャの役割を定義します。 サーフェス フィーチャ タイプの詳細については、ツールの使用上のヒントをご参照ください。
  • タグ フィールド - 入力フィーチャの属性テーブル内の整数フィールドから取得した値を使用して、数値属性を TIN のデータ エレメントに割り当てます。
Value Table
制限付きドローネ
(オプション)

TIN のブレークラインで使用される三角形分割法を指定します。

  • オフ - TIN はドローネ基準に適合する三角形を使用します。この場合、ブレークラインの各セグメントが高密度化されて複数の三角形エッジが生成されることがあります。 これがデフォルトです。
  • オン - TIN は制限付きドローネ三角形分割法を使用します。これを使用すると、各セグメントは単一のエッジとして追加されます。 ドローネ三角形分割法の規則は、ブレークライン以外の場所に適用され、それは高密度化されません。
Boolean

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 の定義に寄与する入力フィーチャおよびそれらに関連するプロパティ。

  • in_features - TIN にインポートされるジオメトリを持つフィーチャ。
  • height_field - 入力フィーチャの標高ソース。 フィーチャの属性テーブルにある任意の数値フィールドが指定できます。3D フィーチャの Z 値には Shape.Z、ジオメトリに格納されている M 値には Shape.M が指定できます。 <None> キーワードを選択すると、フィーチャの標高が周囲のサーフェスから内挿されます。
  • sf_type - TIN サーフェスの定義での入力フィーチャの役割が定義されます。 有効なオプションは、入力フィーチャのジオメトリによって変わります。 ポイント フィーチャとマルチポイント フィーチャを Mass_Points として定義できます。これにより、標高値が TIN データ ノードとして格納されるようになります。 Hard_Line または Soft_Line を指定することによって、ライン フィーチャを Mass_Points またはブレークラインとして指定できます。 ポリゴン フィーチャは、Hard_Clip または Soft_Clip を指定することによって内挿の境界を表し、Hard_Erase または Soft_Erase を指定することによってデータを含まない内部領域を表し、Hard_Replace または Soft_Replace を指定することによって一定の高さのエリアを表します。 また、ポリゴンは、Hardvalue_Fill または Softvalue_Fill を指定することによって、整数属性値の割り当てに使用することもできます。
  • tag_field - 数値属性が、入力フィーチャの属性テーブル内の整数フィールドから生成されます。この属性の値を使用して、属性の基本形式を TIN のデータ エレメントに割り当てることができます。 <None> を指定すると、タグ値が割り当てられません。
Value Table
constrained_delaunay
(オプション)

TIN のブレークラインで使用される三角形分割法を指定します。

  • DELAUNAYTIN はドローネ基準に適合する三角形を使用します。この場合、ブレークラインの各セグメントが高密度化されて複数の三角形エッジが生成されることがあります。 これがデフォルトです。
  • CONSTRAINED_DELAUNAYTIN は制限付きドローネ三角形分割法を使用します。これを使用すると、各セグメントは単一のエッジとして追加されます。 ドローネ三角形分割法の規則は、ブレークライン以外の場所に適用され、それは高密度化されません。
Boolean

コードのサンプル

CreateTIN の例 1 (Python ウィンドウ)

次のサンプルは、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")
CreateTIN の例 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

# 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)

関連トピック