描述
用于从起点要素到目的地要素生成连接线。这通常被称为蛛网图。
插图
使用方法
当起点要素或目的地要素为线或面时,要素质心将用于生成链接。
该输出要素将包含以下属性字段:
- 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 墨卡托和任何地理坐标系)中存储的数据,或者任何地理区域跨度较大的数据集。
| String |
num_nearest (可选) | 针对每个起点要素到最近的目的地要素将生成的最大链接数量。如果未指定任何数字,则该工具将在所有起点要素和目的地要素之间生成链接。 例如,使用值 1 将在每个起点要素及其最接近的目的地要素之间生成链接。 | Double |
search_distance (可选) | 将在输出中生成链接要素的起点和目的地要素之间的最大距离。搜索距离的单位将在距离单位参数中指定。如果未指定任何搜索距离,则该工具将在所有起点要素和目的地要素之间生成链接,而不考虑它们之间的距离。 | Double |
distance_unit | 指定用于测量链接长度的单位。每个链接的距离将显示在 LINK_DIST 字段中。如果未指定距离单位,则将使用起点要素坐标系的距离单位。
| String |
aggregate_links (可选) | 指定是否将对重叠链接进行聚合。
| Boolean |
sum_fields [sum_fields,...] (可选) | 从目的地要素中指定包含属性值的数值字段,当多个链接重叠时,将对这些属性值进行汇总。可以指定多项统计和字段组合。空值将被排除在所有统计计算之外。 可用统计类型如下:
| Value Table |
代码示例
以下演示了如何在 Python 窗口中使用 GenerateOriginDestinationLinks 函数:
import arcpy
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"
arcpy.GenerateOriginDestinationLinks_analysis(
"Station_100", "City_FireResponses", "Station_100_OD_Links")
以下 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: 是