TIN データ エリアの定義 (Delineate TIN Data Area) (3D Analyst)

概要

三角形のエッジの長さに基づいて TIN のデータ エリア (または内挿ゾーン) を再定義します。

[TIN データ エリアの定義 (Delineate TIN Data Area)] の図

使用法

  • このツールは、ソース データを一切除外しません。内挿ゾーンにエッジが含まれるかどうかを再分類して、入力 TIN を変更します。処理対象の TIN の変更されていないバージョンを保持したい場合は、このツールを実行する前に [Copy TIN (TIN のコピー)] を使用して、データセットの複製を作成してください。

  • エッジ長分類を開始する前は、すべての三角形エッジが評価されます。これによって、既存のデータ エリア分類が取り消されます。1 回の実行から取得された結果が不十分な場合、元のデータを取得しなくても、結果として得られた TIN を再実行できます。

  • このツールを使用して、TIN のソース測定値の凹面特性によって作成された極端なエッジ長を TIN の有効データ エリアから削除できます。エッジが [最大エッジの長さ] を超える三角形は、NoData エリアとしてマスクされます。

    メモ:

    [最大エッジの長さ] の値は、有効なデータ ゾーンと考えられるエリア内にある TIN ノードの平均間隔から決定するのが最善です。平均間隔より大きな値を指定します。このツールを適切に使用するには、TIN の作成時に使用するデータについての知識が必要になります。

  • [方法] はどの三角形を評価するかを指定します。

    メモ:

    凹面データ部分が TIN の外部端点に割り当てられている場合、[周長エッジ] (Python では method = "PERIMETER_ONLY") を使用します。

構文

arcpy.3d.DelineateTinDataArea(in_tin, max_edge_length, {method})
パラメーター説明データ タイプ
in_tin

処理対象の TIN データセット。

TIN Layer
max_edge_length

TIN のデータ エリア内の TIN 三角形のエッジの最大長を定義する 2 次元距離。1 つ以上のエッジがこの値を超える三角形は、TIN の内挿ゾーン外と見なされ、マップでのレンダリングにもサーフェス解析にも使用されません。

Double
method
(オプション)

TIN のデータ エリアを定義する際に評価される TIN エッジ。

  • PERIMETER_ONLYTIN の外側から内側に向かって三角形を処理し、現在の境界三角形のエッジが [最大エッジの長さ] を超えなくなったら処理を停止します。これがデフォルトです。
  • ALLエッジの長さによって TIN 三角形全体を分類します。
String

派生した出力

名前説明データ タイプ
derived_out_tin

更新された TIN。

TIN レイヤー

コードのサンプル

DelineateTINDataArea (TIN データ エリアの定義) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
DelineateTINDataArea (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

# 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

関連トピック