当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS connect_origins_to_destinations用法及代码示例


本文简要介绍 python 语言中 arcgis.features.analysis.connect_origins_to_destinations 的用法。

用法:

arcgis.features.analysis.connect_origins_to_destinations(origins_layer, destinations_layer, measurement_type=None, origins_layer_route_id_field=None, destinations_layer_route_id_field=None, time_of_day=None, time_zone_for_time_of_day='GeoLocal', output_name=None, context=None, gis=None, estimate=False, point_barrier_layer=None, line_barrier_layer=None, polygon_barrier_layer=None, future=False, route_shape='FollowStreets', include_route_layers=False)

返回:

具有以下键的字典:

“routes_layer”:层( FeatureCollection )

“unassigned_origins_layer”:层( FeatureCollection )

“unassigned_destinations_layer”:层( FeatureCollection )

connect_origins_to_destinations.png

将起点连接到终点任务测量旅行时间或点对之间的距离。使用此工具,您可以

  • 计算通勤者在home-to-work 行程中的总距离或时间。

  • 衡量客户前往您的商店购物的距离。使用此信息来定义您的市场范围,尤其是在定位广告活动或选择新的商店位置时。

  • 计算您的车队的预期行程里程。然后,运行 Summarize Within 工具以按州或其他地区报告里程。

您提供起点和终点,该工具会返回一个图层,该图层包含成对起点和终点之间的路线,包括测量值。

Parameter

Description

origins_layer

必需的层。要生成的路线的起点或多点。请参阅特征输入。

destinations_layer

必需的层。路线在目的地层中的点结束。请参阅特征输入。

measurement_type

必需的字符串。可以通过测量直线距离或通过使用称为出行模式的各种交通方式沿着街道网络测量出行时间或出行距离来连接起点和目的地。

有效值为字符串 StraightLine,它指示用作距离度量的欧几里得距离或表示出行模式设置的 Python 字典。

为measurement_type 使用出行模式时,您需要指定一个字典,其中包含您的组织支持的出行模式的设置。下面示例部分中的代码生成一个有效的 Python 字典,然后将其作为 measurement_type 参数的值传递。

支持的出行方式:【‘行车距离’、‘行车时间’、‘农村行车距离’、‘农村行车时间’、‘行车距离’、‘行车时间’、‘步行距离’、‘步行时间’】

origins_layer_route_id_field

可选字符串。指定源层中包含将源与目标配对的 ID 的字段。

  • ID 值必须唯一标识源层中的点

  • 每个 ID 值还必须与目的地层中的一个路径 ID 值完全对应。跨层匹配的路径 ID 会创建 origin-destination 对,工具将它们连接在一起。

  • 当起点或终点图层中只有一个点要素时,指定 origins_layer_route_id_field 是可选的。该工具会将所有起点连接到一个目的地,或者将一个起点连接到所有目的地,具体取决于哪个图层包含一个点。

destinations_layer_route_id_field

可选字符串。指定目标层中包含将起点与终点配对的 ID 的字段。

  • ID 值必须唯一标识目标图层中的点。

  • 每个 ID 值还必须与 origins 层中的一个路由 ID 值相对应。跨层匹配的路径 ID 会创建 origin-destination 对,工具将它们连接在一起。

  • 当起点或终点图层中只有一个点要素时,指定 destinations_layer_route_id_field 是可选的。该工具会将所有起点连接到一个目的地,或者将一个起点连接到所有目的地,具体取决于哪个图层包含一个点。

time_of_day

可选的日期时间.日期时间。指定出行时间是否应考虑交通状况。要在分析中使用流量,请将 measurement_type 设置为出行模式对象,其 impedance_attribute_name 属性设置为 travel_time,并为 time_of_day 分配一个值。 (具有其他 impedance_attribute_name 值的出行模式不支持交通。)time_of_day 值表示出行从出发点开始或出发的时间。时间指定为 datetime.datetime。

该服务支持两种流量:典型流量和实时流量。典型的交通参考行驶速度由跨越一周的每个 five-minute 间隔的历史平均值组成。实时交通从处理电话探测记录、传感器和其他数据源的交通源中检索速度,以记录实际行驶速度并预测不久的将来的速度。

data coverage 页面显示 Esri 当前为其提供流量数据的国家/地区。

典型流量:

为确保任务在可用位置使用典型流量,请选择时间和星期几,然后将星期几转换为 1990 年以来的以下日期之一:

  • 星期一 - 1990 年 1 月 1 日

  • 星期二 - 1990 年 1 月 2 日

  • 星期三 - 1990 年 1 月 3 日

  • 星期四 - 1990 年 1 月 4 日

  • 星期五 - 1990 年 1 月 5 日

  • 星期六 - 1990 年 1 月 6 日

  • 星期日 - 1990 年 1 月 7 日

将时间和日期设置为 datetime.datetime。

例如,求解下午 1:03。在星期四,将时间和日期设置为 1990 年 1 月 4 日下午 1:03;并转换为日期时间,例如: datetime.datetime(1990, 1, 4, 1, 3)。

实时流量:

要在可用的时间和地点使用实时流量,请选择时间和日期并转换为日期时间。

Esri 保存 4 小时的实时交通数据,表示未来 4 小时的预测数据。如果您为此参数指定的时间和日期在 24 小时时间窗口之外,或者分析中的行驶时间持续超过预测数据窗口,则任务将回退到典型的交通速度。

# 示例:从日期时间导入日期时间

  • “time_of_day”: datetime(1990, 1, 4, 1, 3) # 1990 年 1 月 4 日 13:03。星期四下午 1:03 的典型流量

  • “time_of_day”: datetime(1990, 1, 7, 17, 0) # 1990 年 1 月 7 日 17:00。周日下午 5:00 的典型流量

  • “time_of_day”: datetime(2014, 10, 22, 8, 0) # 2014 年 10 月 22 日 8 点,分析中引用了实时交通速度;否则,将参考典型的交通速度。

  • “time_of_day”: datetime(2015, 3, 18, 10, 20) # 10:20, 18 March 2015. 如果当前时间在 2015 年 3 月 17 日晚上 10:20 到 2015 年 3 月 18 日晚上 10:20 之间,分析中引用了实时交通速度;否则,将参考典型的交通速度。

time_zone_for_time_of_day

可选字符串。指定 timeOfDay 参数的一个或多个时区。选择列表:[‘GeoLocal’, ‘UTC’]

GeoLocal-refers 到 originsLayer 点所在的时区。

UTC-refers 到协调世界时。

include_route_layers

可选布尔值。当include_route_layers 设置为 True 时,结果中的每条路线也将保存为路线图层项目。路线图层包括特定路线的所有信息,例如分配给路线的停靠点以及行进方向。如果您想与组织中的其他成员共享单个路径,则创建路径图层非常有用。路径图层使用 output_name 参数中提供的输出要素服务名称作为前缀,并添加作为分析的一部分生成的路径名称,以便为每个路径图层创建唯一名称。

警告:当输出为要素集合时,无法创建路径图层。如果未指定 output_name(表示特征集合输出)且 include_route_layers 为 True,则任务将引发错误。

可创建的最大路径层数为 1,000。如果结果包含超过 1,000 条路径且 include_route_layers 为 True,则任务将仅创建输出要素服务。

output_name

可选字符串或 FeatureLayer 。现有要素图层将导致新图层附加到要素服务。如果 overwrite 在上下文中为 True,则新层将覆盖现有层。如果未指示output_name,则创建新的 FeatureCollection

context

可选字典。处理范围和输出空间参考等附加设置。对于connect_origins_to_destinations,有三个设置。

  • extent - 定义分析区域的边界框。仅分析input_layer 中与边界框相交的那些特征。

  • outSR - 输出要素将投影到 wkid 引用的输出空间参考中。

  • overwrite - 如果为 True,则 output_name 中的要素层将被新要素层覆盖。适用于 ArcGIS Online 或 Enterprise 10.9.1+

    # Example Usage
    context = {"extent": {"xmin": 3164569.408035,
                        "ymin": -9187921.892449,
                        "xmax": 3174104.927313,
                        "ymax": -9175500.875353,
                        "spatialReference":{"wkid":102100,"latestWkid":3857}},
                "outSR": {"wkid": 3857},
                "overwrite": True}

gis

可选,运行此工具的 GIS 。如果未指定,则使用活动 GIS。

estimate

可选布尔值。为 True,运行操作所需的积分数将作为浮点数返回。

point_barrier_layer

可选层。指定在基础街道上行驶时充当临时限制(即障碍)的一个或多个点要素。

点障碍可以模拟倒下的树、事故、倒塌的电线或任何完全阻塞街道特定位置交通的东西。允许在街上旅行,但不允许穿过障碍物。请参阅特征输入。

line_barrier_layer

可选层。指定一个或多个线要素,禁止在线与街道相交的任何地方行驶。

线障碍禁止在障碍与街道相交的任何地方旅行。例如,可以使用线障碍对阻碍跨多个街道段的交通的游行或抗议进行建模。请参阅特征输入。

polygon_barrier_layer

可选字符串。指定一个或多个面要素,以完全限制在面相交的街道上的通行。

这种类型的屏障的一种用途是模拟覆盖街道网络区域的洪水,并使那里的道路无法通行。请参阅特征输入。

future

可选布尔值。如果为 True,则将返回 future 对象,并且进程不会等待任务完成。默认为False,表示等待结果。

route_shape

可选字符串。使用出行模式时,指定将每个起点连接到其目的地的路线形状。

值:FollowStreets 或 StraightLine

默认值:FollowStreets

  • FollowStreets - 形状基于底层街道网络。当您要生成起点和终点之间的路线时,此选项是最佳选择。这是使用出行模式时的默认值。

  • StraightLine - 形状是连接 origin-destination 对的直线。当您想要生成蜘蛛图或欲望线(例如,显示客户正在访问的商店)时,此选项是最佳选择。这是不使用出行模式时的默认值。

无论选择哪种路线形状,始终根据出行模式计算起点与其匹配目的地之间的最佳路线。

例子:

# USAGE EXAMPLE: To retrieve trvel modes and run connect_origins_to_destinations tool.

This example creates route between esri regional offices to esri headquarter.

routes =  connect_origins_to_destinations(origins_layer=esri_regional,
                                 destinations_layer=dest_layer,
                                 measurement_type='Rural Driving Distance',
                                 time_of_day=datetime(1990, 1, 4, 1, 3),
                                 output_name="routes_from_offices_to_hq")

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.features.analysis.connect_origins_to_destinations。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。