當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。