生成起点-目的地链接 (分析)

描述

用于从起点要素到目的地要素生成连接线。这通常被称为蛛网图。

插图

生成起点-目的地链接

使用方法

  • 当起点要素或目的地要素为线或面时,要素质心将用于生成链接。

  • 该输出要素将包含以下属性字段:

    • ORIG_FID - 起点要素的 ObjectID 字段。
    • ORIG_X - 起点要素(或质心)的 x 坐标。
    • ORIG_Y - 起点要素(或质心)的 y 坐标。
    • DEST_FID - 目的地要素的 ObjectID 字段。
    • DEST_X - 目的地要素(或质心)的 x 坐标。
    • DEST_Y - 目的地要素(或质心)的 y 坐标。
    • LINK_DIST - 输出链接的长度,以指定测量的距离单位。
    • GROUP_ID - 在起点要素和目的地要素的链接对之间共享的分组字段值。仅当同时指定了起点和目的地字段组时,才会添加此字段。
    • COLOR_ID - 用于将原点或组符号化为最多 8 个唯一着色链接的数值。该值为介于 1 到 8 之间的随机数。
    • LINK_COUNT - 重叠链接数。在指定聚合重叠链接时,将添加此属性字段。
    • 在聚合重叠链接时指定的任何统计数据字段也将添加到输出要素类。

  • 可以将起点要素和目的地要素指定为同一图层或数据集。如果针对起点和目的地使用相同数据,则不会从具有相同对象 ID 的起点到目的地要素生成链接,因为此零长度线为空几何错误。

  • 此工具适用于一对一和一对多关系。例如,您可以将机动车辆盗窃链接到找回位置(一对一),或者执行邻域分析以了解中央总部位置与多个区域办事处位置之间的距离(一对多)。

  • 输出链接图层将包含以下图表,以帮助您可视化分析结果:

    • 每个组 ID 计数的条形图(如果指定了组字段)。
    • 每个起点 ID 或组 ID 链接长度总和的条形图(如果指定了组字段)。这对于确定某些起点或组至目的地的总距离较大还是较小非常有用。
    • 每个起点 ID 或组 ID 平均链接长度的条形图(如果指定了组字段)。这对于确定起点要素或组与其链接目的地之间的平均距离非常有用。
    • 每个起点 ID 或组 ID 链接长度分布的箱形图(如果指定了组字段)。这对于确定起点或组的大多数链接至其目的地的长度较小还是较大,以及这些链接长度的范围和分布汇总非常有用。如果起点 ID 或组 ID 具有一个垂直短框,则意味着从该起点或组至所有链接的目的地的距离均相似。如果起点 ID 或组 ID 的框在 y 轴上位于较高的位置,则大多数链接的长度较长。

语法

arcpy.analysis.GenerateOriginDestinationLinks(origin_features, destination_features, out_feature_class, {origin_group_field}, {destination_group_field}, {line_type}, {num_nearest}, {search_distance}, distance_unit, {aggregate_links}, {sum_fields})
参数说明数据类型
origin_features

将以其为起点生成链接的输入要素。

Feature Layer
destination_features

将以其为终点生成链接的目的地要素。

Feature Layer
out_feature_class

将包含输出链接的输出折线要素类。

Feature Class
origin_group_field
(可选)

用于分组的输入起点要素中的属性字段。在起点和目的地之间具有相同字段组值的要素将通过链接进行连接。

Field
destination_group_field
(可选)

用于分组的输入目的地要素中的属性字段。在起点和目的地之间具有相同字段组值的要素将通过链接进行连接。

Field
line_type
(可选)

指定在生成输出链接时,将使用椭球体(测地线)还是笛卡尔投影地球(平面)上的最短路径。当测地线的长度超过约 50 千米时,测地线将略微弯曲,因为在 2D 地图上查看时,地球的曲率会使两点之间的最短距离显得弯曲。

建议将测地线类型用于在不适合进行距离测量的坐标系(例如 Web 墨卡托和任何地理坐标系)中存储的数据,或者任何地理区域跨度较大的数据集。

  • PLANAR要素之间将使用平面距离。这是默认设置。
  • GEODESIC要素之间将使用测地线距离。这种线类型考虑到椭球体的曲率,并可以正确处理日期变更线和两极附近的数据。
String
num_nearest
(可选)

针对每个起点要素到最近的目的地要素将生成的最大链接数量。如果未指定任何数字,则该工具将在所有起点要素和目的地要素之间生成链接。

例如,使用值 1 将在每个起点要素及其最接近的目的地要素之间生成链接。

Double
search_distance
(可选)

将在输出中生成链接要素的起点和目的地要素之间的最大距离。搜索距离的单位将在距离单位参数中指定。如果未指定任何搜索距离,则该工具将在所有起点要素和目的地要素之间生成链接,而不考虑它们之间的距离。

Double
distance_unit

指定用于测量链接长度的单位。每个链接的距离将显示在 LINK_DIST 字段中。如果未指定距离单位,则将使用起点要素坐标系的距离单位。

  • KILOMETERS将以千米为单位计算起点和目的地之间的距离。
  • METERS将以米为单位计算起点和目的地之间的距离。
  • MILES将以英里为单位计算起点和目的地之间的距离。
  • NAUTICALMILES将以海里为单位计算起点和目的地之间的距离。
  • YARDS将以码为单位计算起点和目的地之间的距离。
  • FEET将以英尺为单位计算起点和目的地之间的距离。
String
aggregate_links
(可选)

指定是否将对重叠链接进行聚合。

  • AGGREGATE_OVERLAPPING如果起点坐标相同,则将对重叠链接进行聚合。
  • NO_AGGREGATE将不会以重叠链接进行聚合。这是默认设置。
Boolean
sum_fields
[sum_fields,...]
(可选)

从目的地要素中指定包含属性值的数值字段,当多个链接重叠时,将对这些属性值进行汇总。可以指定多项统计和字段组合。空值将被排除在所有统计计算之外。

可用统计类型如下:

  • SUM - 添加指定字段的合计值。
  • MEAN - 计算指定字段的平均值。
  • MIN - 查找指定字段所有记录的最小值。
  • MAX - 查找指定字段所有记录的最大值。
  • RANGE - 查找指定字段的值范围(最大值 - 最小值)。
  • STD - 查找指定字段中的值的标准差。
  • COUNT - 查找统计计算中包括的值的数目。计数范围包括除空值外的每个值。要确定字段中的空值数,请为涉及的字段创建计数,再为另一个不包含空值的字段创建计数(例如 OID,如果存在的话),然后用没有空值的字段减去具有空值的字段。
  • FIRST - 查找输入中的第一条记录,并使用该记录的指定字段值。
  • LAST - 查找输入中最后一条记录,并使用该记录的指定字段值。
  • MEDIAN - 计算指定字段所有记录的中值。
  • VARIANCE - 计算指定字段所有记录的方差。
  • UNIQUE - 计算指定字段的唯一值数量。
Value Table

代码示例

GenerateOriginDestinationLinks 示例 1(Python 窗口)

以下演示了如何在 Python 窗口中使用 GenerateOriginDestinationLinks 函数:

import arcpy
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

arcpy.GenerateOriginDestinationLinks_analysis(
    "Station_100", "City_FireResponses", "Station_100_OD_Links")
GenerateOriginDestinationLinks 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 GenerateOriginDestinationLinks 函数:

# Name: GenerateODLinks.py
# Description: Finds 10 nearest links within 25 miles from the origin fire
#              stations to the destination response points.

# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

# set required parameters 
origin_features = "Station_100"
destination_features = "City_FireResponses"
out_feature_class = "Station_100_OD_Links"

# optional parameters
origin_group_field = 'STA_NUM'
destination_group_field = 'District'
line_type = 'PLANAR'
num_nearest = 10
search_distance = 25
distance_unit = 'MILES'
aggregate_links='AGGREGATE_OVERLAPPING'
sum_fields = 'TimeSpentOnCall SUM'

# make links between fire stations and call response points
arcpy.GenerateOriginDestinationLinks_analysis(
    origin_features, destination_features, out_feature_class,
    origin_group_field, destination_group_field, line_type, num_nearest,
    search_distance, distance_unit, aggregate_links, sum_fields)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题