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


Python ArcGIS RouteLayer.solve用法及代碼示例


本文簡要介紹 python 語言中 arcgis.network.RouteLayer.solve 的用法。

用法:

solve(stops, barriers=None, polyline_barriers=None, polygon_barriers=None, travel_mode=None, attribute_parameter_values=None, return_directions=True, return_routes=True, return_stops=False, return_barriers=False, return_polyline_barriers=True, return_polygon_barriers=True, out_sr=None, ignore_invalid_locations=True, output_lines=None, find_best_sequence=False, preserve_first_stop=True, preserve_last_stop=True, use_time_windows=False, start_time=None, start_time_is_utc=False, accumulate_attribute_names=None, impedance_attribute_name=None, restriction_attribute_names=None, restrict_u_turns=None, use_hierarchy=True, directions_language=None, directions_output_type=None, directions_style_name=None, directions_length_units=None, directions_time_attribute_name=None, output_geometry_precision=None, output_geometry_precision_units=None, return_z=False, overrides=None, preserve_objectid=False, future=False, time_windows_are_utc=False, return_traversed_edges=None, return_traversed_junctions=None, return_traversed_turns=None, geometry_precision=None, geometry_precision_z=None, geometry_precision_m=None)

返回:

dict

求解操作在網絡層資源上執行。在 layerType 為 esriNAServerRouteLayer 的網絡層上支持求解操作。您可以將參數作為查詢參數提供給求解路線操作。

Parameter

Description

stops

所需的點/函數集/函數列表。在分析期間作為網絡位置加載的停靠點集。可以使用基於簡單逗號/semi-colon 的語法或 JSON 結構來指定停止點。如果未指定停靠點,則在分析中使用Map文檔中的預加載停靠點。

barriers

可選點/特征集。分析期間加載為網絡位置的障礙集。可以使用基於簡單逗號/semi-colon 的語法或 JSON 結構來指定障礙。如果未指定障礙,則在分析中使用Map文檔中的預加載障礙。如果傳遞了一個空的 json 對象(“{}”),則忽略預加載的障礙。

polyline_barriers

可選的折線/特征集。分析期間作為網絡位置加載的多段線障礙集。如果未指定折線障礙,則在分析中使用Map文檔中預加載的折線障礙。如果傳遞了一個空的 json 對象(‘{}’),則忽略預加載的折線障礙。

polygon_barriers

可選多邊形/特征集。分析期間加載為網絡位置的多邊形障礙集。如果未指定麵障礙,則在分析中使用Map文檔中預加載的麵障礙。如果傳遞了一個空的 json 對象(‘{}’),則忽略預加載的多邊形障礙。

travel_mode

可選字符串。出行模式提供覆蓋值,可幫助您快速一致地為車輛或交通方式建模。所選出行模式必須在路徑服務引用的網絡數據集上進行預配置。

attribute_parameter_values

可選字符串/列表。一組屬性參數值,可以參數化以確定車輛可以使用哪些網絡元素。

return_directions

可選的布爾值。如果為真,將生成方向並與分析結果一起返回。默認為真。

return_routes

可選的布爾值。如果為 true,則路由將與分析結果一起返回。默認為真。

return_stops

可選的布爾值。如果為真,將返回止損點和分析結果。默認為假。

return_barriers

可選的布爾值。如果為真,障礙將與分析結果一起返回。默認為假。

return_polyline_barriers

可選的布爾值。如果為 true,則折線障礙將與分析結果一起返回。默認為假。

return_polygon_barriers

可選的布爾值。如果為 true,多邊形障礙將與分析結果一起返回。默認為假。

out_sr

可選整數。與分析結果一起返回的幾何圖形的空間參考。

ignore_invalid_locations

可選的布爾值。 - 如果為真,求解器將忽略無效位置。否則,它將引發錯誤。默認為真。

output_lines

要在結果中生成的輸出行的類型。默認值在網絡層中定義。值:esriNAOutputLineTrueShape |

esriNAOutputLineTrueShapeWithMeasure | esriNAOutputLineStraight | esriNAOutputLineNone

find_best_sequence

可選的布爾值。如果為真,求解器應以最佳順序重新排序路線。默認值在網絡層中定義。

preserve_first_stop

可選的布爾值。如果為真,求解器應保持序列中的第一個停靠點固定。默認值在網絡層中定義。

preserve_last_stop

可選的布爾值。如果為真,求解器應保持序列中的最後一個停靠點固定。默認值在網絡層中定義。

use_time_window

可選的布爾值。如果為真,求解器應考慮時間窗。默認值在網絡層中定義。

start_time

可選字符串。路線開始的時間。如果未指定,求解器將使用網絡層中定義的默認值。

start_time_is_utc

可選的布爾值。 startTime 參數的時區。

accumulate_attribute_names

可選字符串。與分析一起累積的網絡屬性名稱列表。默認值在網絡層中定義。該值應指定為屬性名稱的逗號分隔列表。您還可以指定值 none 以指示不應累積任何網絡屬性。

impedance_attribute_name

可選字符串。在分析中用作阻抗屬性的網絡屬性名稱。默認值在網絡層中定義。

restriction_attribute_names

可選字符串。 - 用作分析限製的網絡屬性名稱列表。默認值在網絡層中定義。該值應指定為屬性名稱的逗號分隔列表。您還可以指定值 none 以指示不應將網絡屬性用作限製。

restrict_u_turns

可選的布爾值。指定如何在分析中限製 U-Turns。默認值在網絡層中定義。值:esriNFSBAllowBacktrack | esriNFSBAtDeadEndsOnly |

esriNFSBNoBacktrack | esriNFSBAtDeadEndsAndIntersections

use_hierarchy

可選的布爾值。如果為 true,則應在分析中使用網絡的層次屬性。默認值在網絡層中定義。

directions_language

可選字符串。計算方向時使用的語言。默認值為服務器操作係統的語言。支持的語言列表可以在 REST 層說明中找到。

directions_output_type

可選字符串。定義返回方向的內容和詳細程度。默認值為 esriDOTInstructionsOnly。值:esriDOTComplete | esriDOTCompleteNoEvents

esriDOTInstructionsOnly | esriDOTStandard |

esriDOTSummaryOnly

directions_style_name

可選字符串。返回路線時使用的樣式。默認值在網絡層中定義。支持的樣式列表可以在 REST 層說明中找到。

directions_length_units

可選字符串。計算方向時使用的長度單位。默認值在網絡層中定義。值:esriNAUFeet | esriNAUK 公裏| esriNAUMeters |

esriNAUMiles | esriNAUNauticalMiles | esriNAUYards | esriNAUUnknown

directions_time_attribute_name

可選字符串。計算方向時用於行駛時間的網絡屬性名稱。默認值在網絡層中定義。

output_geometry_precision

可選浮點數。泛化後輸出幾何的精度。如果為 0,則不執行輸出幾何的泛化。默認值在網絡服務配置中定義。

output_geometry_precision_units

可選字符串。輸出幾何精度的單位。默認值為 esriUnknownUnits。值:esriUnknownUnits | esri厘米 | esriDecimalDegrees |

esriDecimeters | esriFeet | esriInches | esriKilometers | esriMeters | esriMiles | esriMillimeters | esriNauticalMiles | esriPoints | esriYards

return_z

可選的布爾值。如果為 true,如果網絡數據集為 Z-aware,則 Z 值將包含在返回的路徑和壓縮幾何中。默認值為假。

overrides

可選字典。指定可以影響求解器行為的其他設置。可以通過聯係 Esri 技術支持獲取每個求解器支持的覆蓋設置列表及其可接受的值。

preserve_objectid

可選布爾值。如果為 True,則保留所有 objectid 值。默認值為假。

future

可選布爾值。如果為 True,則將返回 future 對象,並且進程不會等待任務完成。默認為False,表示等待結果。

time_windows_are_utc

可選的布爾值。指定停靠點上的TimeWindowStart 和TimeWindowEnd 屬性值是采用協調世界時 (UTC) 還是地理本地時間。

return_traversed_edges

可選的布爾值。指定服務是否返回遍曆的邊。

return_traversed_junctions

可選的布爾值。指定服務是否將返回遍曆的結點。

return_traversed_turns

可選的布爾值。指定服務是否返回遍曆的轉彎。

geometry_precision

可選整數。使用此參數指定求解操作返回的響應幾何中的小數位數。這僅適用於 x/y 值(不適用於 m- 或 z-values)。

geometry_precision_z

可選整數。使用此參數指定求解操作返回的響應幾何中的小數位數。這僅適用於z-value。

geometry_precision_m

可選整數。使用此參數指定求解操作返回的響應幾何中的小數位數。這僅適用於m-value。

例子:

# USAGE EXAMPLE: Solving the routing problem by passing in a FeatureSet

# get a FeatureSet through query
fl = sample_cities.layers[0]
cities_to_visit = fl.query(where="ST = 'CA' AND POP2010 > 300000",
                           out_fields='NAME', out_sr=4326)

type(cities_to_visit)
>> arcgis.features.feature.FeatureSet

# pass in the FeatureSet
result = route_layer.solve(stops=cities_to_visit, preserve_first_stop=True,
                           preserve_last_stop=True, find_best_sequence=True, return_directions=False,
                           return_stops=True, return_barriers=False, return_polygon_barriers=False,
                           return_polyline_barriers=False, return_routes=True,
                           output_lines='esriNAOutputLineStraight')

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.network.RouteLayer.solve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。