需要 Network Analyst 许可。
摘要
可通过查找路径分析确定在位置间行进的最快或最短方式。您可能想要使用此工具生成访问多个停靠点的行驶方向或测量位置间的距离或行程时间。此工具能够在每次运行时查找一台或多台车辆的路径,从而可以确定多名司机访问预分配停靠点的最佳路径,也可以一次性测量多位乘车上班族的上班距离等等。
插图
用法
- 要为多台车辆查找路径,请参阅 RouteName 属性的停靠点参数相关内容。为多台车辆查找路径需要在求解前将一组停靠点划分为较小的子集 - 每条路径或每台车辆对应一个子集。为每个停靠点子集生成一条路径。(如果想要优化停靠点的分组和停靠点之间的路径,请改为使用车辆配送工具。)
此工具对话框将各种可选参数分组为以下六个类别,以便您能更轻松地对其进行管理:
- 高级分析
- 障碍
- 自定义出行模式
- 网络数据集
- 网络位置
- 输出
- 服务能力
语法
FindRoutes_na (Stops, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Routes_Name, Output_Route_Edges_Name, Output_Directions_Name, Output_Stops_Name, {Reorder_Stops_to_Find_Optimal_Routes}, {Preserve_Terminal_Stops}, {Return_to_Start}, {Travel_Mode}, {Use_Time_Windows}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {UTurn_Policy}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Time_Attribute}, {Time_Attribute_Units}, {Distance_Attribute}, {Distance_Attribute_Units}, {Use_Hierarchy_in_Analysis}, {Restrictions}, {Attribute_Parameter_Values}, {Accumulate_Attributes}, {Maximum_Snap_Tolerance}, {Feature_Locator_WHERE_Clause}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Directions}, {Populate_Route_Edges}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {Maximum_Features_Affected_by_Point_Barriers}, {Maximum_Features_Affected_by_Line_Barriers}, {Maximum_Features_Affected_by_Polygon_Barriers}, {Maximum_Stops}, {Maximum_Stops_per_Route}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer})
参数 | 说明 | 数据类型 |
Stops | 此工具用于查找此参数中指定的停靠点之间的路径。要求解某个分析,至少需要两个停靠点。 指定停靠点后,可通过使用特性为每个停靠点设置属性,例如其名称或服务时间。可通过以下属性指定停靠点: OBJECTID - 系统管理的 ID 字段。 SHAPE - 指示事件点地理位置的几何字段。 Name - 停靠点的名称。该名称用于行驶方向中。如果未指定名称,则会在输出停靠点、路径和方向中自动生成前缀为 Location 的唯一名称。 RouteName - 分配给停靠点的路径的名称。将相同的路径名称分配到不同的停靠点会导致这些停靠点被归为一组,并由同一路径进行访问。通过将唯一的路径名称分配到不同的停靠点组,可以在一个求解操作中生成多个路径。使用此工具,您最多可以将 150 个停靠点分组到一个路径中。 Sequence - 输出路径将按照您使用此属性指定的顺序访问停靠点。在一组具有相同 RouteName 值的停靠点中,序号应大于 0 且不大于停靠点的总数。而且,序号不应重复。 如果选中重新排序停靠点以查找最佳路径 (True),将忽略所有值(但每个路径名称的第一个和最后一个 sequence 值可能除外),以便工具查找可使每个路径总行程最小化的顺序。(保留停靠点的顺序和返回到起点的设置决定了是否忽略每个路径的第一个或最后一个 sequence 值。) AdditionalTime - 在停靠点所花费的时间,该时间将被添加到路径总时间中。该属性值的单位由测量单位参数指定。仅在测量单位基于时间时,属性值才能包含在分析中。默认值为 0。 通常,停靠点的位置(例如住宅)并不是恰好位于街道上,而是位于道路的后方。如果有必要将停靠点的实际位置与其在街道上的位置之间的距离计入总行驶距离,则可使用该属性值构建此段距离。 AdditionalDistance - 在停靠点所行驶的额外距离,该距离将被添加到路径总距离中。该属性值的单位由测量单位参数指定。仅在测量单位基于距离时,属性值才能包含在分析中。默认值为 0。 通常,停靠点的位置(例如住宅)并不是恰好位于街道上,而是位于道路的后方。如果有必要将停靠点的实际位置与其在街道上的位置之间的距离计入总行驶距离,则可使用该属性值构建此段距离。 TimeWindowStart - 可以访问停靠点的最早时间。确保以日期和时间值的形式指定此值,例如 8/12/2015 12:15 PM。通过为停靠点时间窗指定开始时间和结束时间,您可以定义路径应在何时访问停靠点。只要选中应用时间窗并为测量单位选择了基于时间的单位,该工具就会尝试查找一个既能使总行程最小化又能在预定时间窗内到达停靠点的解决方案。 解决跨越多个时区的问题时,时间窗的值将采用停靠点所处位置的时区。 此字段可以包含空值;空值表示路径可以在 TimeWindowEnd 属性中所指定时间之前的任意时间到达。如果 TimeWindowEnd 中也出现空值,则路径可以随时访问停靠点。 TimeWindowEnd - 可以访问停靠点的最晚时间。确保以日期和时间值的形式指定此值,例如 8/12/2015 12:15 PM。通过为停靠点时间窗指定开始时间和结束时间,您可以定义路径应在何时访问停靠点。只要选中应用时间窗并为测量单位选择了基于时间的单位,该工具就会尝试查找一个既能使总行程最小化又能在预定时间窗内到达停靠点的解决方案。 解决跨越多个时区的问题时,时间窗的值将采用停靠点所处位置的时区。 此字段可以包含空值;空值表示路径可以在 TimeWindowStart 属性中所指定时间之后的任意时间到达。如果 TimeWindowStart 中也出现空值,则路径可以随时访问停靠点。 CurbApproach - 指定车辆到达和离开停靠点的方向。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。首先,考虑位于车辆左侧的停靠点。不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。不同国家的驾驶标准可能会要求您从这两种方向中的其中一个接近停靠点,也就是说,只能从车辆的右侧或左侧接近停靠点。例如,如果要到达一个停靠点并且在车辆与停靠点之间不存在其他交通车道,那么在美国应该选择“车辆的右侧”(1),而在英国应该选择“车辆的左侧”(2)。 | Feature Set |
Measurement_Units | 指定用于测量和报告输出路径的总行驶时间或行驶距离的单位。 为此参数选择的单位可以确定工具将测量距离还是时间来查找最佳路径。选择时间单位最小化所选出行模式的行驶时间(例如驾车时间或步行时间)。要最小化给定出行模式的行驶距离,请选择一个距离单位。选择的单位还确定工具在结果中以哪种单位报告总时间或距离。其中包括以下选项:
该工具根据选择的测量单位是基于时间还是距离来选择是否使用时间属性或距离属性参数中指定的网络成本属性。 当测量单位值与对应的时间或距离成本属性的单位不同时,此工具将进行必要的单位转换。 | String |
Network_Dataset | 将在其中执行分析的网络数据集。网络数据集通常表示街道网络,但也可能表示其他种类的交通网。网络数据集至少需要一个基于时间和一个基于距离的成本属性。 | Network Dataset Layer |
Output_Geodatabase | 输出工作空间。此工作空间必须已经存在。默认的输出工作空间为 in_memory。 | Workspace |
Output_Routes_Name | 包含路径或连接停靠点的路线的输出要素类名称。此要素类还可包含总行程时间或距离(作为属性)。 查找路径的输出帮助主题介绍了该输出要素类的方案。 | String |
Output_Route_Edges_Name | 包含路径边的输出要素类的名称。路径边表示路径所遍历的各个街道要素。 查找路径的输出帮助主题介绍了该输出要素类的方案。 | String |
Output_Directions_Name | 输出要素类的名称包含方向。 查找路径的输出帮助主题介绍了该输出要素类的方案。 | String |
Output_Stops_Name | 包含输出停靠点的输出要素类的名称。 查找路径的输出帮助主题介绍了该输出要素类的方案。 | String |
Reorder_Stops_to_Find_Optimal_Routes (可选) | 指定是按照您定义的顺序还是按照工具确定的可使总行程最小化的顺序来访问停靠点。
查找最佳停靠点顺序和最佳路径通常称作解决流动推销员问题 (TSP)。 | Boolean |
Preserve_Terminal_Stops (可选) | 如果选中重新排序停靠点以查找最佳路径(或 True),您可以选择保留起始停靠点和结束停靠点,然后由该工具对余下的停靠点进行重新排序。 第一个和最后一个停靠点是通过其 Sequence 属性值确定的,如果 Sequence 值为空,则通过其对象 ID 值来确定。
如果未选中重新排序停靠点以查找最佳路径(或 False),则将忽略保留终端停靠点。 | String |
Return_to_Start (可选) | 选择路径是否应在同一位置开始和结束。使用此选项,可以避免重复第一个停靠点要素并避免在结束时对重复的停靠点进行排序。 路径的起始位置是 Sequence 属性值最低的停靠点要素。如果 Sequence 值为空,则为对象 ID 值最低的停靠点要素。
| Boolean |
Travel_Mode (可选) | 选择用于分析的运输模式。始终选择 CUSTOM。要显示其他出行模式名称,必须使其显示在 Network_Dataset 参数指定的网络数据集中。(arcpy.na.GetTravelModes 函数提供了网络数据集上配置的出行模式对象的字典,name 属性返回出行模式对象的名称。) 出行模式是在网络数据集上定义的,并会提供模型车、货车、步行或其他出行模式的参数的覆盖值。在此处选择出行模式后,您便无需为以下参数提供值,这些参数值会被网络数据集中指定的值覆盖:
| String |
Use_Time_Windows (可选) | 如果任何输入停靠点的时间窗指定了路径应在何时到达停靠点,则选中此选项(或将其设置为 True)。通过在 TimeWindowStart 和 TimeWindowEnd 属性中输入时间值,可以将时间窗添加到输入停靠点。
当选中应用时间窗(或 True)时,即使所有输入停靠点都没有时间窗,该工具的运行时间也会稍长一些,因此建议在可能的情况下取消选中此选项(设置为 False)。 | Boolean |
Time_of_Day (可选) | 指定路径应该开始的时间和日期。 如果您的网络数据集包含实时或历史流量数据,那么指定一天中的时间可以更精确地估算停靠点之间的行程时间,这是因为根据交通状况计算的行驶时间与您指定的日期和时间相适应。 时间的时区参数指定该时间和日期是参考 UTC 还是停靠点所在时区。 如果未将测量单位设置为基于时间的单位,则该工具将忽略此参数。 | Date |
Time_Zone_for_Time_of_Day (可选) | 指定时间参数的时区。
| String |
UTurn_Policy (可选) | 交汇点的 U 形转弯策略。允许 U 形转弯表示求解程序可以在交汇点处转向并沿同一街道往回行驶。考虑到交汇点表示街道交叉路口和死角,不同的车辆可以在某些交汇点转弯,而在其他交汇点则不行 - 这取决于交汇点是交叉路口还是死角。为适应此情况,U 形转弯策略参数由连接到交汇点的边数或街道数隐性指定,这称为交汇点原子价。此参数可接受的值如下所列;每个值的后面是根据交汇点原子价对其含义的描述。
将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 | String |
Point_Barriers (可选) | 指定点障碍,分为两种类型:禁止型点障碍和增加成本型点障碍。它们可以暂时限制网络上的穿越或在网络的点上增加阻抗。点障碍由要素集定义,为点要素指定的属性值决定它们是禁止型障碍还是增加成本型障碍。下面列出并描述了属性表中的字段。 ObjectID: 系统管理的 ID 字段。 Shape: 指示网络分析对象地理位置的几何字段。 Name: 障碍的名称。 BarrierType: 指定障碍的存在将完全禁止通行还是在通行时增加成本。有以下两个选项:
将值 0 用于禁止型值,将 2 用于成本增加型值。 Additional_Time: 表示穿越障碍时会增加的行驶时间。此字段仅适用于增加成本型障碍且仅在测量单位基于时间时适用。此字段的值必须大于或等于零,并且其单位与 测量单位参数中指定的单位相同。 Additional_Distance: 表示穿越障碍时会增加的距离。此字段仅适用于增加成本型障碍且仅在测量单位基于距离时适用。该字段的值必须大于或等于零,并且其单位与 测量单位参数中指定的单位相同。 | Feature Set |
Line_Barriers (可选) |
指定线障碍,暂时限制穿越障碍。线障碍由要素集定义。下面列出并描述了属性表中的字段。 ObjectID: 系统管理的 ID 字段。 Shape: 指示网络分析对象地理位置的几何字段。 Name: 障碍的名称。 | Feature Set |
Polygon_Barriers (可选) | 指定面障碍,分为两种类型:禁止型面障碍和调整成本型面障碍。它们会暂时限制穿越所覆盖的网络部分或调整阻抗。面障碍由要素集定义,为面要素指定的属性值决定它们是禁止型障碍还是调整成本型障碍。下面列出并描述了属性表中的字段。 ObjectID: 系统管理的 ID 字段。 Shape: 指示网络分析对象地理位置的几何字段。 Name: 障碍的名称。 BarrierType: 指定障碍的存在将完全禁止通行还是按比例增加行程成本。共有两个选项:
将值 0 用于禁止型值,将 1 用于成本按比例增加型值。 ScaledTimeFactor: 它是与障碍相交街道的行驶时间要乘以的因子。此字段仅适用于调整成本型障碍且仅在测量单位基于时间时适用。该字段值必须大于零。 ScaledDistanceFactor: 它是与障碍相交街道的距离要乘以的因子。此属性仅适用于调整成本型障碍且仅在测量单位基于距离时适用。该属性值必须大于零。 | Feature Set |
Time_Attribute (可选) | 定义测量单位值为时间单位时要使用的网络成本属性。 当测量单位值与此处定义的成本属性单位不同时,此工具将进行必要的时间单位转换。换言之,默认中断和网络成本属性的时间单位不必相同。 将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 | String |
Time_Attribute_Units (可选) | 时间属性单位。您可以明确地设置时间属性单位,但是建议您不要传递任何内容或者可以传递 "#" 并由求解程序确定该单位。 将 Travel_Mode 设置为除 CUSTOM 外的其他值时会覆盖此参数的值。 | String |
Distance_Attribute (可选) | 定义测量单位值为距离单位时要使用的网络成本属性。 当测量单位值与此处定义的成本属性单位不同时,此工具将进行必要的距离单位转换。换言之,测量单位和网络成本属性的距离单位不必相同。 将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 | String |
Distance_Attribute_Units (可选) | 距离属性单位。您可以明确地设置距离属性单位,但是建议您不要传递任何内容或者可以传递 "#" 并由求解程序确定该单位。 将 Travel_Mode 设置为除 CUSTOM 外的其他值时会覆盖此参数的值。 | String |
Use_Hierarchy_in_Analysis (可选) | 指定在查找点间的最短路径时是否应使用等级。
如果未在用于执行分析的网络数据集中定义等级属性,该参数将不可用。在这种情况下,使用 "#" 作为参数值。 您可以使用 Force_Hierarchy_Beyond_Distance 参数进行强制求解来应用等级,即使 Use_Hierarchy_in_Analysis 设置为 False。 除非将 Travel_Mode 设置为 CUSTOM,否则会忽略此参数。对自定义步行模式进行建模时建议关闭等级,这是因为该等级专用于机动车辆。 | Boolean |
Restrictions [restriction,...] (可选) | 指示求解时应遵守的网络限制属性。 将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 | String |
Attribute_Parameter_Values (可选) | 指定具有参数的网络属性的参数值。记录集具有两个共同唯一识别参数的列以及另一个指定参数值的列。 将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 属性参数值记录集具有关联属性。下面列出并说明了属性表中的所有字段。 ObjectID: 系统管理的 ID 字段。 AttributeName: 网络属性的名称,其属性参数由表行设置。 ParameterName: 属性参数的名称,其值由表行设置。(无法使用此工具更新“对象”类型参数。) ParameterValue: 您希望的属性参数值。如果未指定值,则属性参数将被设置为空。 | Record Set |
Accumulate_Attributes [attribute,...] (可选) | 分析过程中要累积的成本属性的列表。这些累积属性仅供参考;求解程序仅使用时间属性(Python 中的 Time_Attribute)或距离属性(Python 中的 Distance_Attribute)参数指定的成本属性来计算最短路径。 对于每个累积的成本属性,均会向求解程序所输出的路径中添加一个 Total_[属性] 字段。 | String |
Maximum_Snap_Tolerance (可选) | 最大捕捉容差是指在网络上定位或重新定位一个点时 Network Analyst 搜索的最远距离。搜索会寻找适合的边或交汇点,并把点捕捉到最近的边或交汇点。如果在最大捕捉容差内没有找到合适的位置,对象将标记为无法定位。 | Linear unit |
Feature_Locator_WHERE_Clause (可选) | 用于选择源要素子集的 SQL 表达式,该子集对可以定位停靠点的网络元素设定了限制。此参数的语法由两部分组成:第一部分为源要素类名称(后接一个空格),第二部分为 SQL 表达式。要为两个或多个源要素类编写 SQL 表达式,请用分号分隔。 例如,为确保设施点不定位在限制出入的公路上,编写一个类似于下面所列的 SQL 表达式,排除这些源要素:"Streets" "FUNC_CLASS not in('1', '2')"。 注意,加载时,障碍将忽略要素定位器 WHERE 子句。 | String |
Route_Shape (可选) | 指定工具输出的路径要素的类型。可以使用以下值之一指定此参数:
当路径形状参数设置为“实际形状”时,可以使用适当的路线简化容差参数值对路径形状的制图综合进行进一步控制。 无论为路径形状参数选择哪个值,最佳路径始终通过最大限度地缩短行驶时间或行驶距离来确定,从不使用停靠点间的直线距离进行确定。这意味着只有路径形状是不同的,而非查找路径时搜索的基础街道。 | String |
Route_Line_Simplification_Tolerance (可选) | 指定路径几何的简化程度。 如果 Route_Shape 参数未设置为 TRUE_LINES_WITH_MEASURES 或 TRUE_LINES_WITHOUT_MEASURES,则工具将忽略此参数。 简化将保留路径上定义路径基本形状所需的关键点(例如交点处的转弯)而删除其他点。指定的简化距离为简化线偏离原始线的最大允许偏移。简化线将减少路径几何中的折点数。这将改善工具的执行时间。 将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。 | Linear unit |
Populate_Directions (可选) | 指定工具是否应为每条路径生成行驶方向。
| Boolean |
Populate_Route_Edges (可选) | 指定工具是否应为每条路径生成边。路径边表示路径所遍历的各个街道要素或其他相似要素。输出路径边图层通常用于查看生成的路径在哪些街道或路径上行驶得最多或最少。
| Boolean |
Populate_Directions (可选) | 指定工具是否应为每条路径生成行驶方向。
| Boolean |
Directions_Language (可选) | 指定在生成行驶方向时使用的语言。 此参数仅在选中填充方向参数或设置为 True 时使用。 方向语言的可用性取决于计算机上安装的 ArcGIS 语言包。该值均以两位或五位字符语言代码输入,例如英语为 en,简体中文为 zh-CN。 如果指定了某种不支持的语言代码,该工具将会使用默认语言(英语)返回方向。 | String |
Directions_Distance_Units (可选) | 指定在行驶方向中显示行驶距离的单位。此参数仅在选中填充方向参数或设置为 True 时使用。
| String |
Directions_Style_Name (可选) | 指定方向的格式化样式名称。此参数仅在选中填充方向参数或设置为 True 时使用。可以使用以下值指定此参数:
| String |
Maximum_Features_Affected_by_Point_Barriers (可选) | 限制点障碍影响的要素数量。 此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。 空值表示没有限制。 | Long |
Maximum_Features_Affected_by_Line_Barriers (可选) | 限制线障碍影响的要素数量。 此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。 空值表示没有限制。 | Long |
Maximum_Features_Affected_by_Polygon_Barriers (可选) | 限制面障碍影响的要素数量。 此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。 空值表示没有限制。 | Long |
Maximum_Stops (可选) | 限制可向路径分析中添加的停靠点数。此参数与停靠点参数相关。 此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。 空值表示没有限制。 | Long |
Maximum_Stops_per_Route (可选) | 限制可在分析中分配到每条路径的最大停靠点数。 使用停靠点参数中点的 RouteName 字段将停靠点预分配到路径。 此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。 空值表示没有限制。 | Long |
Force_Hierarchy_Beyond_Distance (可选) | 指定一段距离,之后,求解程序将在查找路径进行强制分级,即使未启用等级也是如此。此参数的单位与距离属性单位参数中显示的单位相同。 使用网络等级时查找远距离停靠点之间的路径,相比不使用等级查找同一路径进行的处理往往更少。此参数可帮助您管理求解时发生的处理量。 空值表示决不会强制分级,并且在分析中应用等级参数的值始终适用。如果输入网络数据集不支持等级,则为该参数指定值会导致错误。在这种情况下,应使用空值。 除非网络数据集包括等级属性,否则此参数将一直处于禁用状态。 | Double |
Save_Output_Network_Analysis_Layer (可选) |
不管在哪种情况下,均会返回包含结果的要素类。不过,服务器管理员也可能希望选择输出一个网络分析图层,以便可以使用 ArcGIS for Desktop 环境中的 Network Analyst 控件调试工具的设置和结果。这会使调试过程变得更加容易。 在 ArcGIS for Desktop 中,网络分析图层的默认输出位置位于临时文件夹内。可通过评估 arcpy.env.scratchFolder 地理处理环境的值来确定临时文件夹的位置。输出网络分析图层存储为 LYR 文件,其名称以 _ags_gpna 开头,后跟字母数字 GUID。 | Boolean |
代码示例
FindRoutes 示例 1
使用所需参数执行此工具。
stops = arcpy.FeatureSet()
stops.load("Stops")
arcpy.na.FindRoutes(stops, "Miles", "Streets_ND", "in_memory", "Routes",
"RouteEdges", "Directions", "OutStops",
UTurn_Policy="NO_UTURNS")
FindRoutes 示例 2(独立 Python 脚本)
以下独立 Python 脚本演示了如何通过独立脚本使用 FindRoutes。
# Name: FindRoutes_Workflow.py
# Description: Find the fastest route visting all the stops. The output will
# show the route, driving directions, and how long it took to get
# to each stop.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
try:
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\SanDiego.gdb'
env.overwriteOutput = True
#Set local variables
inNetworkDataset = r'Transportation\Streets_ND'
inStops = r'Analysis\Stops'
outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
outRoutes = "Routes"
outRouteEdges = "RouteEdges"
outDirections = "Directions"
outStops = "Stops"
measurement_units = "Minutes"
# Run FindRoutes. Reorder the stops to find the fastest route, but maintain
# the first stop as the starting point and the last stop as the end point.
arcpy.na.FindRoutes(inStops, measurement_units, inNetworkDataset,
outGeodatabase, outRoutes, outRouteEdges, outDirections,
outStops, Reorder_Stops_to_Find_Optimal_Routes=True,
Preserve_Terminal_Stops="PRESERVE_BOTH")
print "Script completed successfully"
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)
环境
许可信息
- ArcGIS Desktop Basic: 需要 Network Analyst
- ArcGIS Desktop Standard: 需要 Network Analyst
- ArcGIS Desktop Advanced: 需要 Network Analyst