在 Advanced 许可等级下可用。
描述
计算一个 Coverage 中的每一点与指定搜索半径范围内相同或不同 Coverage 中的所有点之间的点到点距离。
插图
使用
输出 INFO 文件中的距离项定义将与两个点 coverage 输入中较高的精度保持一致。
搜索半径是可对某要素进行考虑时该要素距当前点的最大允许距离(使用 coverage 单位)。如果未指定 {search_radius},则会使用“从 coverage”的 BND 的对角线宽度作为默认搜索半径。
如果在某个特定点的搜索半径范围内未找到匹配项,则会将距离设置为零。如果未找到匹配点,则工具将发出警告,并且不会创建输出 Info 表。
如果其中某个 coverage 包含的点超过 130,000 个,则“点距离”将不起作用。
当两个 coverage 均包含许多点时,输出 INFO 表会变得非常庞大。可以使用较小的搜索半径来限制组合数量。
如果使用“点距离”计算同一 coverage 中其他点之间的距离,则 cover# 会向项名称中附加一个 A 和一个 B。
将使用“投影比较”环境设置所指定的比较等级对投影文件进行相似性比较。有关详细信息,请参阅比较投影。
结果将记录在包含内部编号项和距离项的输出表中。具有最高精度的距离输入即是用于输出 INFO 距离字段的输入。
COLUMN ITEM NAME WIDTH OUTPUT TYPE N.DEC 1 <From coverage># 4 6 B - 5 <To coverage># 4 6 B - 9 DISTANCE 4 12 F 3 (single precision) Or 9 DISTANCE 8 18 F 5 (double precision)
语法
PointDistance(from_cover, to_cover, out_info_table, {search_radius})
参数 | 说明 | 数据类型 |
from_cover | 将计算该点 coverage 到其他 coverage 中点的距离。 | Coverage |
to_cover | 作为进行点距离测量的起始位置的点 coverage。可以通过为 <from_cover> 和 <to_cover> 参数指定相同的 coverage 名称来计算同一 coverage 中所有点之间的距离。 | Coverage |
out_info_table | 通过“点距离”创建的 INFO 数据表,其中包含距离测量值。在 <output Info table:> 中创建的记录数取决于所使用的搜索半径,但此记录数最大可等于 <from cover> 与 <to cover:> 中点数的乘积。 | INFO Table |
search_radius (可选) | 可将某要素视为当前点的最近要素时该要素距当前点的最大允许距离(使用 coverage 单位)。默认值为“由 Coverage 转出”的 BND 的对角线宽度。 | Double |
代码示例
PointDistance 示例(独立脚本)
以下独立脚本演示了如何计算两个 coverage 中的点之间的距离。
# Name: PointDistance_Example.py
# Description: Calculates the distances between the points in two coverages
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
fromCover = "wells"
toCover = "trees"
outInfoTable = "C:/output/distance"
# Execute PointDistance
arcpy.PointDistance_arc(fromCover, toCover, outInfoTable, "")
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 已安装 ArcInfo Workstation