サマリー
各入力フィーチャから、1 つ以上の近接フィーチャクラス内での最近接フィーチャまでの 3 次元距離を計算します。
使用法
すべての入力フィーチャには Z 値が含まれている必要があります。また、ジオメトリ タイプがサポートされています。同じフィーチャクラス内の最近隣フィーチャを特定するために、入力フィーチャを近傍フィーチャとして指定することもできます。
入力フィーチャの属性テーブルに次のフィールドを追加できます。
- NEAR_FID - 最近接フィーチャの FID。-1 の値は、指定された検索範囲内に一致するフィーチャが見つからなかったことを示します。
- NEAR_DIST - 入力フィーチャ上の最近接ポイントと最近接フィーチャ上の最近接ポイントの間の 2D 距離 (水平距離)。
- NEAR_DIST3 - 入力フィーチャ上の最近接ポイントと最近接フィーチャ上の最近接ポイントの間の 3D 距離 (傾斜距離)。
- NEAR_DELTX - 入力フィーチャ上の最近接ポイントから最近接フィーチャ上の最近接ポイントまでの X 軸に沿った距離。
- NEAR_DELTY - 入力フィーチャ上の最近接ポイントから最近接フィーチャ上の最近接ポイントまでの Y 軸に沿った距離。
- NEAR_DELTZ - 入力フィーチャ上の最近接ポイントから最近接フィーチャ上の最近接ポイントまでの Z 軸に沿った距離。
- NEAR_FROMX - 最近接フィーチャの入力フィーチャ上の最近接ポイントの X 座標。
- NEAR_FROMY - 最近接フィーチャの入力フィーチャ上の最近接ポイントの Y 座標。
- NEAR_FROMZ - 最近接フィーチャの入力フィーチャ上の最近接ポイントの Z 座標。
- NEAR_X - 最近接フィーチャ上の最近接ポイントの X 座標。
- NEAR_Y - 最近接フィーチャ上の最近接ポイントの Y 座標。
- NEAR_Z - 最近接フィーチャ上の最近接ポイントの Z 座標。
- NEAR_ANG_H - 最近接ポイントに対する水平方向の演算角度 (単位: 度)。
- NEAR_ANG_V - 最近接ポイントに対する標高の角度 (単位: 度)。 ゼロは水平方向、90 は垂直上向き方向、-90 は垂直下向き方向です。
- NEAR_FC - 最近接フィーチャを含むフィーチャクラスのパス。このフィールドは、複数の最近接フィーチャが指定された場合のみ追加されます。
構文
Near3D_3d (in_features, near_features, {search_radius}, {location}, {angle}, {delta})
パラメーター | 説明 | データ タイプ |
in_features | フィーチャが最近接フィーチャに関する情報の属性を持つ入力フィーチャクラス | Feature Layer |
near_features [near_features,...] | 入力フィーチャへの近接度が計算される 1 つ以上のフィーチャ。複数のフィーチャクラスが指定されると、最も近いフィーチャがどの近接フィーチャクラスに含まれていたかを特定する NEAR_FC という名前のフィールドが入力フィーチャクラスに追加されます。 | Feature Layer |
search_radius (オプション) | 特定の入力からの最近接フィーチャを決定する最大距離。この値を指定しない場合、任意の距離で最近接フィーチャが決定されます。 | Linear Unit |
location (オプション) | 入力の最近接ポイントおよび近接フィーチャの座標を入力の属性テーブルに追加するかどうかを決定します。
| Boolean |
angle (オプション) | 入力フィーチャと最近接フィーチャ間の水平方向の演算角度および垂直方向の角度を入力属性テーブルに追加するかどうかを決定します。
| Boolean |
delta (オプション) | 入力フィーチャおよび最近接フィーチャ間の X、Y、および Z 軸に沿った距離を入力属性テーブルに追加するかどうかを決定します。
| Boolean |
コードのサンプル
Near3D (最近接 3D) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
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)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst