近邻分析 (分析)
摘要
在搜索半径范围内,确定输入要素中的每个要素与邻近要素中的最近要素之间的距离。
插图
用法
-
以下两个字段将被添加到输入要素的属性表中。如果字段已存在,将更新字段值。
- NEAR_FID:存储最近要素的要素 ID。
- NEAR_DIST:存储输入要素与最近要素之间的距离。
-
如果在搜索半径内未找到任何要素,则 NEAR_FID 和 NEAR_DIST 的值都将为 -1。
或者,就像邻近要素和可选参数条目中解释的一样,也可将 NEAR_X、NEAR_Y、NEAR_ANGLE 和 NEAR_FC 字段添加到输入要素的属性表中。如果已存在任意字段,将更新字段值。如果在搜索半径内未找到任何要素,则字段 NEAR_X 和 NEAR_Y 的值为 -1,字段 NEAR_ANGLE 的值为 0,字段 NEAR_FC 的值为空。
-
输入要素和邻近要素都可以是点、多点、线或面。
-
邻近要素可包括一个要素类或不同 shape 类型的多个要素类。
-
同一数据集既可用作输入要素,又可用作邻近要素。当输入要素的最近要素是其本身(NEAR_DIST 为 0)时,此要素将在计算中被忽略,并将搜索除此要素之外的最近要素。
语法
参数 | 说明 | 数据类型 |
in_features |
输入要素可以是点、折线 (polyline)、面或多点类型。 | Feature Layer |
near_features [near_features,...] |
邻近要素用于查找距离输入要素最近的要素。可以有一个或多个邻近要素的条目;每个条目可以是点、折线 (polyline)、面或多点类型。当指定邻近要素的多个条目时,会将新字段 NEAR_FC 添加到输入表中,以存储含有最近要素的源要素类的路径。 | Feature Layer |
search_radius (可选) |
指定用于搜索候选邻近要素的半径。将考虑此半径中的邻近要素来计算最近的要素。如果未指定值,则使用默认(空)半径,将在计算中考虑所有的临近要素。可以指定任何距离单位来替换输入要素的默认单位。 | Linear unit |
location (可选) |
指定是否将邻近要素最近位置的 x 和 y 坐标分别写入新字段 NEAR_X 和 NEAR_Y。
| Boolean |
angle (可选) |
指定是否计算以十进制度为单位的邻近角度值,以及是否将其写入新字段 NEAR_ANGLE。邻近角测量 x 轴(水平轴)与特定方向的直线(该直线连接输入要素与其最近要素的最近位置)之间的夹角;它的范围在 0 到 180 或 0 到 -180 十进制度之间。
| Boolean |
代码示例
以下 Python 交互式窗口脚本演示了如何在立即模式下使用 Near 函数。
import arcpy arcpy.env.workspace = "C:/data/city.gdb" ## find the nearest road from each house arcpy.Near_analysis('houses', 'roads')
以下 Python 脚本演示了如何在独立脚本中使用 Near 函数。
# Name: Near.py # Description: Finds nearest features from input feature class to near feature class. # Author: ESRI import arcpy from arcpy import env # Set workspace environment env.workspace = "C:/data/city.gdb" # set local variables inFeatures = "houses" nearFeatures = "parks" # find features only within search radius searchRadius = "5000 Meters" # find location & angle of nearest features location = "true" angle = "true" # execute the function arcpy.Near_analysis(inFeatures, nearFeatures, searchRadius, location, angle)