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


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