近邻分析 (Coverage)
摘要
计算 coverage 中每个点到另一 coverage 中最近的弧线、点或结点的距离。
插图
用法
-
搜索半径是可将某要素视为当前点的最近要素时该要素距当前点的最大允许距离(使用 coverage 单位)。默认搜索半径为近邻 coverage BND 的宽度与高度间的较大值除以 100。
-
结果将记录在输出 coverage 点属性表 (PAT) 中。将添加或更新最近要素的 DISTANCE 项和内部编号项;选中“记录最近要素的 x,y 坐标”时将添加 x 和 y 坐标项。如果在搜索半径内未找到任何要素,则会将所有项的值都设置为零。
-
如果输入 coverage 中已存在 DISTANCE 项,则将重新计算该项的值。如果已添加 DISTANCE 项,则此项的精度将与 coverage 的精度相同。
由 NEAR 输出的项包括:
这些项将被添加到输入 coverage PAT 中。如果已存在名为 DISTANCE 的项,则将重新计算该项的值。如果已添加 DISTANCE 项,则此项的精度将与 coverage 的精度相同。如果在某个特定输入 coverage 点的搜索半径内未找到任何匹配要素,则两个项的值都将为零。
-
计算所得的点到弧线的距离为点到弧线上最近位置的距离。计算所得的点到节点的距离为弧线上最近节点位置之间的距离。
-
最近要素的距离和内部编号将作为新项保存在输入 coverage 的要素属性表中。
-
NEAR 可跳过重复的结点编号以增加操作时间。
-
输入 coverage 的坐标精度不会受到 NEAR 的影响。
-
NEAR 在为最近的弧线分配点属性时十分有用,反之亦然。此操作有助于将地址范围分配给各弧线、将点属性与结点相关联(如 DIME 结点编号),或查找网络中最近的可用线(例如,确定可能与某房屋连接的污水管线)。
-
Near 的常见用途包括:
- 为最近的弧线分配点属性,或为点属性分配最近的弧线。
- 为弧线分配地址范围。
- 将点属性与结点相关联,如 DIME 结点编号。
- 查找网络中最近的可用线。
语法
参数 | 说明 | 数据类型 |
in_cover |
计算 <near_cover:> 中各最近弧线、点或结点的距离时所参照的点所在的 coverage。 | Coverage |
near_cover |
其要素用于计算距每个输入 coverage 点的距离的线 coverage 或点 coverage。此 coverage 不得与输入 coverage 相同。 | Coverage |
out_cover |
要创建的 coverage。将 <input_cover> 复制到 <output_cover:>,然后在 <output_cover:> 中执行 NEAR。 | Coverage |
feature_type (可选) |
搜索距点最近的该类型要素,并计算点与要素间的距离。
| String |
search_radius (可选) |
输入 coverage 要素与近邻 coverage 要素之间的最大距离(使用 coverage 单位),由此可确定距离和近邻 coverage 的内部编号。 如果在给定输入 coverage 点或输入 coverage 线的搜索半径内不存在近邻 coverage 要素,则由 NEAR 输出的内部编号和距离都将为零。 默认搜索半径是为近邻 coverage BND 的宽度与高度间的较大值除以 100。将搜索半径参数设置为零或跳过该参数时,将使用此默认搜索半径。 | Double |
location (可选) |
确定是否保存最近弧线、点或结点的“最近点”的 x,y 坐标,以及 cover# 和距离。新项为 X-COORD 和 Y-COORD。
| Boolean |
代码实例
以下独立脚本演示了如何计算从某一 coverage 中的井到另一 coverage 中的道路的距离。
# Name: Near_Example.py
# Description: Computes the distances between wells and roads
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "wells142"
nearCover = "road"
outCover = "C:/output/nearwells"
featureType = "LINE"
searchRadius = 12000
location = "LOCATION"
# #Execute Near
arcpy.Near_arc(inCover, nearCover, outCover, featureType,
searchRadius, location)