本文簡要介紹 python 語言中 arcgis.features.analysis.find_nearest
的用法。
用法:
arcgis.features.analysis.find_nearest(analysis_layer, near_layer, measurement_type='StraightLine', max_count=100, search_cutoff=2147483647, search_cutoff_units=None, time_of_day=None, time_zone_for_time_of_day='GeoLocal', output_name=None, context=None, gis=None, estimate=False, include_route_layers=None, point_barrier_layer=None, line_barrier_layer=None, polygon_barrier_layer=None, future=False)
返回:
具有以下鍵的字典:
“nearest_layer”:層(
FeatureCollection
)“connecting_lines_layer”:層(
FeatureCollection
)
find_nearest
方法測量從分析圖層中的要素到鄰近圖層中的要素的直線距離、行駛距離或行駛時間,並將鄰近圖層中最近的要素複製到新圖層。顯示測量路徑的連接線也會返回。find_nearest
還報告每個最近特征的測量和相對排名。有一些選項可以限製要查找的最近要素的數量或要查找它們的搜索範圍。此方法的結果可以幫助您回答以下類型的問題:離這裏最近的公園在哪裏?
我可以在最短的車程內到達哪家醫院?周二下午 5:30 的行程需要多長時間?在高峰時間?
歐洲主要城市之間的道路距離是多少?
哪些患者居住在距離這些化工廠兩英裏的範圍內?
Find Nearest 返回一個包含最近要素的圖層和一個將起始位置鏈接到其最近位置的線圖層。連接線圖層包含有關起始位置和最近位置以及之間距離的信息。
Parameter
Description
analysis_layer
必需的層。從中找到最近位置的要素。該圖層可以具有點、線或麵要素。請參閱特征輸入。
near_layer
必需的層。從該層中選擇最近的特征。該圖層可以具有點、線或麵要素。請參閱特征輸入。
measurement_type
必需的字符串。指定分析的運輸方式。
選擇列表:['直線'、'行車距離'、'行車時間'、'農村行車距離'、'農村行車時間'、'行車距離'、'行車時間'、'步行距離'、'步行時間']
默認為“直線”。
max_count
可選字符串。在
analysis_layer
中為每個要素查找的最近位置的最大數量。默認值是服務允許的最大截止值,即 100。請注意,為此參數設置 maxCount 並不能保證會找到許多特征。
search_cutoff
和其他約束也可能會減少找到的特征數量。search_cutoff
可選浮點數。從
analysis_layer
中的每個要素搜索最近位置的最大範圍。當measurement_type
設置為基於時間的出行模式時,此參數的單位始終為分鍾;否則,單位在search_cutoff_units
參數中設置。默認為無邊界搜索。
search_cutoff_units
search_cutoff
參數的單位。當measurement_type
設置為基於時間的出行模式時,此參數將被忽略,因為在這些情況下,search_cutoff
的單位始終為分鍾。如果measurement_type
設置為 StraightLine 或其他基於距離的出行模式,並且指定了search_cutoff
的值,則使用此參數設置截止單位。選擇列表:['公裏'、'米'、'英裏'、'英尺'、'']
默認值為 null,這會導致服務根據發出請求的用戶的單位屬性選擇英裏或公裏。
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
可選字符串。指定
time_of_day
參數的一個或多個時區。選擇列表:[‘GeoLocal’, ‘UTC’]
GeoLocal
- 指origins_layer 點所在的時區。UTC
- 指協調世界時。include_route_layers
可選的布爾值。當
include_route_layers
設置為 True 時,結果中的每條路線也會保存為路線圖層項目。路線圖層包括特定路線的所有信息,例如分配給路線的停靠點以及行進方向。如果您想與組織中的其他成員共享單個路徑,則創建路徑圖層非常有用。路徑圖層使用output_name
參數中提供的輸出要素服務名稱作為前綴,並添加作為分析的一部分生成的路徑名稱,以便為每個路徑圖層創建唯一名稱。警告:
當輸出為要素集合時,無法創建路徑圖層。如果未指定
output_name
(表示特征集合輸出)且include_route_layers
為 True,則任務將引發錯誤。可創建的最大路徑層數為 1,000。如果結果包含超過 1,000 條路徑且
include_route_layers
為 True,則任務將僅創建輸出要素服務。point_barrier_layer
可選層。指定在基礎街道上行駛時充當臨時限製(即障礙)的一個或多個點要素。
點障礙可以模擬倒下的樹、事故、倒塌的電線或任何完全阻塞街道特定位置交通的東西。允許在街上旅行,但不允許穿過障礙物。
line_barrier_layer
可選層。指定一個或多個線要素,禁止在線與街道相交的任何地方行駛。
線障礙禁止在障礙與街道相交的任何地方旅行。例如,可以使用線障礙對阻礙跨多個街道段的交通的遊行或抗議進行建模。
polygon_barrier_layer
可選層。指定一個或多個麵要素,以完全限製在麵相交的街道上的通行。
這種類型的屏障的一種用途是模擬覆蓋街道網絡區域的洪水,並使那裏的道路無法通行。
output_name
可選字符串或
FeatureLayer
。現有要素圖層將導致新圖層附加到要素服務。如果 overwrite 在上下文中為 True,則新層將覆蓋現有層。如果未指示output_name,則創建新的FeatureCollection
。context
可選字典。處理範圍和輸出空間參考等附加設置。對於find_nearest,有三個設置。
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,則將返回運行該操作所需的估計積分數。
future
可選布爾值。如果為 True,則將返回 future 對象,並且進程不會等待任務完成。默認為False,表示等待結果。
例子:
#USAGE EXAMPLE: To find which regional office can be reached in the shortest drive time from esri headquarter. result1 = find_nearest(analysis_layer=esri_hq_lyr, near_layer=regional_offices_lyr, measurement_type="Driving Time", output_name="find nearest office", include_route_layers=True, point_barrier_layer=road_closures_lyr))
相關用法
- Python ArcGIS find_centroids用法及代碼示例
- Python ArcGIS find_point_clusters用法及代碼示例
- Python ArcGIS find_existing_locations用法及代碼示例
- Python ArcGIS find_hot_spots用法及代碼示例
- Python ArcGIS find_outliers用法及代碼示例
- Python ArcGIS find_argument_statistics用法及代碼示例
- Python ArcGIS find_similar_locations用法及代碼示例
- Python ArcGIS forest用法及代碼示例
- Python ArcGIS from_geo_coordinate_string用法及代碼示例
- Python ArcGIS flow_direction用法及代碼示例
- Python ArcGIS float_divide用法及代碼示例
- Python ArcGIS floor_divide用法及代碼示例
- Python ArcGIS power用法及代碼示例
- Python ArcGIS APIKeyManager.get用法及代碼示例
- Python ArcGIS KnowledgeGraph.named_object_type_delete用法及代碼示例
- Python ArcGIS ContentManager.unshare_items用法及代碼示例
- Python ArcGIS ImageryLayer.thumbnail用法及代碼示例
- Python ArcGIS FormFieldElement用法及代碼示例
- Python ArcGIS Geometry.true_centroid用法及代碼示例
- Python ArcGIS Site.delete用法及代碼示例
- Python ArcGIS GeoAccessor.bbox用法及代碼示例
- Python arcgis.apps.hub.Initiative.update用法及代碼示例
- Python ArcGIS generate_service_areas用法及代碼示例
- Python ArcGIS build_overview用法及代碼示例
- Python ArcGIS RunInterval用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.features.analysis.find_nearest。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。