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


Python ArcGIS choose_best_facilities用法及代码示例

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

用法:

arcgis.features.find_locations.choose_best_facilities(goal='Allocate', demand_locations_layer=None, demand=1, demand_field=None, max_travel_range=2147483647, max_travel_range_field=None, max_travel_range_units='Minutes', travel_mode=None, time_of_day=None, time_zone_for_time_of_day='GeoLocal', travel_direction='FacilityToDemand', required_facilities_layer=None, required_facilities_capacity=2147483647, required_facilities_capacity_field=None, candidate_facilities_layer=None, candidate_count=1, candidate_facilities_capacity=2147483647, candidate_facilities_capacity_field=None, percent_demand_coverage=100, output_name=None, context=None, gis=None, estimate=False, point_barrier_layer=None, line_barrier_layer=None, polygon_barrier_layer=None, future=False)

返回:

当指定 output_name 时,将返回具有 3 层的 FeatureCollection (有关详细信息,请参见下面的字典),否则返回具有以下键的 dict:

“allocated_demand_locations_layer”:层( FeatureCollection )

“allocation_lines_layer”:层( FeatureCollection )

“assigned_facilities_layer”:层( FeatureCollection )

choose_best_facilities.png

choose_best_facilities 方法查找最能满足周边地区需求的设施集。

设施可能是提供服务的公共机构,例如消防站、学校或 Library ,也可能是商业机构,例如提供包递送服务的药店或配送中心。需求代表对设施能够满足的服务的需求。需求与点位置相关联,每个位置代表给定的需求量。

Parameter

Description

goal

可选字符串。指定将需求位置分配给设施点时必须满足的目标。

选项列表:[‘分配’、‘最小化阻抗’、‘最大化覆盖’、‘最大化容量覆盖’、‘百分比覆盖’]

默认值为“分配”。

demand_locations_layer

所需的点要素图层。指定对设施有需求的位置的点图层。请参阅特征输入。

demand

可选浮点数。每个需求点的可用需求量。

默认值为 1.0。

demand_field

可选字符串。 demand_locations_layer 上的数字字段表示每个需求位置的可用需求量。如果指定,demand 参数将被忽略。

max_travel_range

可选浮点数。指定请求位置与其分配到的设施点之间允许的最大行驶时间或距离。

默认为无限制 (2,147,483,647.0)。

max_travel_range_field

可选字符串。 demand_locations_layer 上的数字字段,指定请求位置与其分配到的设施点之间允许的最大行驶时间或距离。如果指定,max_travel_range 参数将被忽略。

max_travel_range_units

可选字符串。请求位置与其分配到的设施点之间允许的最大行程时间或距离的单位。

选项列表:[“秒”、“分钟”、“小时”、“天”、“米”、“公里”、“英尺”、“码”、“英里”]。

默认值为“分钟”。

travel_mode

指定分析的运输方式。

选择列表:【‘行车距离’、‘行车时间’、‘农村行车距离’、‘农村行车时间’、‘行车距离’、‘行车时间’、‘步行距离’、‘步行时间’】

time_of_day

可选的日期时间.日期时间。指定出行时间是否应考虑交通状况。要在分析中使用流量,请将 travel_mode 设置为出行模式对象,其 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

可选字符串。指定time_of_day 参数的一个或多个时区。

选择列表:[‘GeoLocal’, ‘UTC’]

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

UTC-refers 到协调世界时。

travel_direction

可选字符串。指定是测量从设施点到请求点还是从请求点到设施点的行程时间或距离。

选择列表:[‘FacilityToDemand’, ‘DemandToFacility’]

required_facilities_layer

可选的点要素图层。一个点图层,指定一个或多个通过提供某种服务充当设施的位置。此参数指定的设施点必须是输出解决方案的一部分,并且在分配需求位置时将在 candidate_facilities_layer 中的任何设施点之前使用。

required_facilities_capacity

可选浮点数。指定required_facilities_layer 中的每个设施能够供应多少需求。

默认值为无限制 (2,147,483,647)。

required_facilities_capacity_field

可选字符串。 required_facilities_layer 上的字段表示required_facilities_layer 中的每个设施能够供应多少需求。当同时指定required_facilities_capacity 参数时,此参数优先。

candidate_facilities_layer

可选点层。一个点图层,指定一个或多个通过提供某种服务充当设施的位置。此参数指定的设施点不需要成为输出解决方案的一部分,并且仅在分配需求位置时使用了 candidate_facilities_layer 中的所有设施点后才会使用。

candidate_count

可选整数。分配需求位置时要选择的候选设施点的数量。请注意,required_facilities_capacity 中的特征和为candidate_count 指定的值之和不能超过 100。

默认值为 1。

candidate_facilities_capacity

可选浮点数。指定candidate_facilities_layer 中的每个设施能够供应多少需求。

默认值为无限制 (2,147,483,647.0)。

candidate_facilities_capacity_field

可选字符串。 candidate_facilities_layer 上的一个字段,表示 candidate_facilities_layer 中的每个设施能够供应多少需求。当同时指定candidate_facilities_capacity 参数时,此参数优先。

percent_demand_coverage

可选浮点数。指定您希望所选和所需设施点捕获的总需求百分比。

默认值为 100。

output_name

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

context

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

  • 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

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

point_barrier_layer

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

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

line_barrier_layer

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

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

polygon_barrier_layer

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

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

future

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

例子:

# USAGE EXAMPLE: To minimize overall distance travelled for travelling from esri offices to glider airports.

best_facility = choose_best_facilities(goal="MinimizeImpedance",
                            demand_locations_layer=esri_offices,
                            travel_mode='Driving Distance',
                            travel_direction="DemandToFacility",
                            required_facilities_layer=gliderport_lyr,
                            candidate_facilities_layer=balloonport_lyr,
                            candidate_count=1,
                            output_name="choose best facilities")

相关用法


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