最近接 3D(Near 3D) (3D Analyst)

サマリ

各入力フィーチャから、1 つ以上の近接フィーチャクラス内での最近接フィーチャまでの 3 次元距離を計算します。

使用法

構文

Near3D_3d (in_features, near_features, {search_radius}, {location}, {angle}, {delta})
パラメータ説明データ タイプ
in_features

フィーチャが最近接フィーチャに関する情報の属性を持つ入力フィーチャクラス

Feature Layer
near_features

入力フィーチャへの近接度が計算される 1 つ以上のフィーチャ。複数のフィーチャクラスが指定されると、最も近いフィーチャがどの近接フィーチャクラスに含まれていたかを特定する NEAR_FC という名前のフィールドが入力フィーチャクラスに追加されます。

Feature Layer
search_radius
(オプション)

入力フィーチャと、距離と FID が決定される近接フィーチャの間の最大距離。検索範囲を指定しない場合、すべての近接フィーチャが使用されます。

Linear Unit
location
(オプション)

各入力フィーチャに 6 つの座標フィールド(X、Y、Z 値を 2 セット)を追加するかどうかを決定します。値は、入力フィーチャの 3 つの座標(NEAR_FROMX、NEAR_FROMY、NEAR_FROMZ)と、最近接フィーチャの 3 つの座標(NEAR_X、NEAR_Y、NEAR_Z)です。フィールド NEAR_FID および NEAR_DIST は、[位置] オプションに関係なく、常に追加されます。

  • NO_LOCATIONX、Y、Z 座標は保存されません。これがデフォルトです。
  • LOCATIONX、Y、Z 座標は保存されます。6 つの追加属性フィールドが各入力フィールドに追加されます。
Boolean
angle
(オプション)

入力フィーチャと最近接フィーチャの間の角度を計算し、NEAR_ANG_H および NEAR_ANG_V フィールドに格納するかどうかを決定します。どちらの角度値も度単位で、1 度は円の 1/360 を表し、度の小数部は 10 進数の小数点で表されます。水平角は 180°~ -180°の間で計測され、0°が東、90°が北、180°(-180°)が西、-90°が南です。対頂角は、0(ゼロ)が水平、90°が上方向に垂直、-90°が下方向に垂直です。

  • NO_ANGLE角度は保存されません。これがデフォルトです。
  • ANGLE角度が結果に追加され、フィールドが存在していなければ作成されます。
Boolean
delta
(オプション)

入力フィーチャと最近接フィーチャの間の主軸に沿った距離を計算し、NEAR_DELTX、NEAR_DELTY、NEAR_DELTZ フィールドに格納するかどうかを決定します。

  • NO_DELTA距離は計算されません。これがデフォルトです。
  • DELTA距離が計算されます。NEAR_DELTX、NEAR_DELTY、NEAR_DELTZ という名前の追加フィールドが結果に追加されます。
Boolean

コードのサンプル

Near3D(最近接 3D)の例 1(Python ウィンドウ)

The following sample demonstrates the use of this tool in the Python window:

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.Near3D_3d("points_3D.shp", "buildings_multipatch.shp", "30", "LOCATION", "ANGLE", "DELTA")
Near3D(最近接 3D)の例 2(スタンドアロン スクリプト)

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

'''****************************************************************************
Name: Near 3D Example
Description: This script demonstrates how to use 
             the Near 3D tool to identify the nearest z-aware features
             that satisfy the results from a queried feature.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inFC = 'homes.shp'
    nearFC = 'radiotowers.shp'
    # See the 'Building an SQL expression' topic for more information
    # Query the field 'MATERIAL' for the string 'Reinforced Concrete'
    SQL_Expression = "'"'MATERIAL'"' = 'Reinforced Concrete'" 
    #Execute Make Feature Layer
    arcpy.MakeFeatureLayer_management(nearFC, 'Near Layer', SQL_Expression)    
    result = arcpy.GetCount_management('Near Layer')
    if int(result.getOutput(0)) == 0:
        arcpy.AddMessage('{0} has no features that satisfy the query: {1}'\
             .format(nearFC, SQL_Expression))
    else:
        #Execute Near3D
        arcpy.Near3D_3d(inFC, 'nearLayer', '', 'LOCATION', 'ANGLE')

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

関連項目

ライセンス情報

ArcView: 必須 3D Analyst
ArcEditor: 必須 3D Analyst
ArcInfo: 必須 3D Analyst

7/10/2012