フィーチャの Z 値を更新 (Update Feature Z) (3D Analyst)

概要

サーフェスを使用して、3D フィーチャの頂点の Z 座標を更新します。

使用法

  • 入力サーフェス全体にオーバーラップするフィーチャの頂点のみが更新されます。サーフェスにオーバーラップしないフィーチャはスキップされます。

    メモ:

    特定の頂点について得られた Z 値がジオデータベースのフィーチャの空間参照 Z ドメインの外部にある場合、頂点の Z 値は更新されません。影響を受けるフィーチャを処理するには、入力フィーチャのコピーを作成して、適切な Z ドメインを指定します。

構文

UpdateFeatureZ(in_features, in_surface, {method}, {status_field})
パラメーター説明データ タイプ
in_features

変更対象の頂点の Z 値を持つ 3D フィーチャ。

Feature Layer
in_surface

3D フィーチャの頂点の新しい Z 値を決定するために使用されるサーフェス。

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer
method
(オプション)

サーフェスに関する情報の決定に使用される内挿法。利用できるオプションは、入力サーフェスのデータ タイプによって異なります。

  • BILINEARラスター サーフェス限定の内挿法。4 つの最近隣セルからセル値を決定します。このオプションは、ラスター サーフェスにのみ利用できます。
  • LINEAR TIN、テレイン、および LAS データセットのデフォルトの内挿法。入力ポイントの XY 位置を含むテレイン三角形によって定義される平面から標高を取得します。
  • NATURAL_NEIGHBORS 入力ポイントの Natural Neighbor に、面積に基づく重み付けを行うことによって、標高を取得します。
  • CONFLATE_ZMIN 入力ポイントの Natural Neighbor の中の最小 Z 値から標高を取得します。
  • CONFLATE_ZMAX 入力ポイントの Natural Neighbor の中の最大 Z 値から標高を取得します。
  • CONFLATE_NEAREST 入力ポイントの Natural Neighbor の中の最近隣値から標高を取得します。
  • CONFLATE_CLOSEST_TO_MEAN 入力ポイントのすべての Natural Neighbor の平均に最も近い Z 値から標高を取得します。
String
status_field
(オプション)

フィーチャの頂点が正常に更新されたかどうかを反映する値が入力される既存の数値フィールド。更新されたフィーチャの場合は値 1、更新されないフィーチャの場合は 0 が指定されます。サーフェスの一部にオーバーラップするフィーチャは更新されません。

Field

派生した出力

名前説明データ タイプ
out_feature_class

頂点の Z 値が変更された、更新された 3D フィーチャ。

フィーチャ レイヤー

コードのサンプル

UpdateFeatureZ (フィーチャの Z 値を更新) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = 'C:/data'

arcpy.UpdateFeatureZ_3d('lines_3d.shp', 'dsm.tif', status_field='Updated')
UpdateFeatureZ (フィーチャの Z 値を更新) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
       Name: Update Antenna Positions
Description: Updates antenna positions based on elevations from a surface.
****************************************************************************'''
# Import system modules
import arcpy

in_fc = arcpy.GetParameterAsText(1) # pt features representing antenna locations
surface = arcpy.GetParameterAsText(2) # surface used to modify feature Z values


try:
    if arcpy.Describe(surface).dataType in ('Raster', 'RasterLayer'):
        method = 'BILINEAR'
    else:
        method = 'CONFLATE_ZMAX'
    arcpy.ddd.UpdateFeatureZ(in_fc, surface, method)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック