查找最近设施点 (Network Analyst)

许可等级:BasicStandardAdvanced

摘要

根据行驶时间、距离或其他成本查找一个或多个离事件点最近的设施点,并输出事件点与设施点间的最佳路径、所选设施点和行驶方向。例如,您可以使用此工具查找离事故地点最近的医院、离犯罪现场最近的警车或者是离客户地址最近的商店。

查找最近设施点时,您可以指定要查找的设施点数量和行驶方向(驶向设施点或驶离设施点)。如果您的网络数据集支持交通信息,您还可以指定一天中的时间以根据该日期和时间计算行驶时间。例如,您可以使用此工具搜索距离事故发生地点行驶时间在 15 分钟(根据给定的一天中的时间计算)以内的医院。查找结果中将不会包含任何行驶时间超出 15 分钟(依据交通状况计算)的医院。

注注:

查找最近设施点创建最近设施点分析图层工具类似,只是目的不同而已。如果正在设置地理处理服务,请使用查找最近设施点,这将会简化设置过程。否则,请使用创建最近设施点图层

如要使用查找最近设施点创建最近设施点地理处理服务,只需设置一个工具,然后直接将其发布为服务。与此相反,您需要使用创建最近设施点分析图层工具创建模型,将其正确连接到其他不同的工具,并发布此模型以创建最近设施点地理处理服务。要了解如何使用教程数据设置最近设施点服务,请参阅 Network Analyst 地理处理服务示例概述。要考虑的另一个选项是 ArcGIS Online 最近设施点服务。该服务与 ArcMap 中地理处理工具的运行方式类似,可通过其他应用程序进行访问,并包含世界上大部分地区的高质量道路数据。

用法

语法

FindClosestFacilities_na (Incidents, Facilities, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Routes_Name, Output_Directions_Name, Output_Closest_Facilities_Name, {Number_of_Facilities_to_Find}, {Default_Cutoff}, {Travel_Direction}, {Time_of_Day}, {Time_of_Day_Usage}, {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}, {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_Facilities}, {Maximum_Facilities_to_Find}, {Maximum_Incidents}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer})
参数说明数据类型
Incidents

此工具用于确定离事件点最近的设施点,且此参数指定这些事件点。要求解某个分析,至少需要一个事件点。

指定事件点后,可通过使用“特性”为每个事件点设置属性,例如时间点的名称或服务时间。可通过以下属性指定事件点:

OBJECTID - 系统管理的 ID 字段。

SHAPE - 指示事件点地理位置的几何字段。

Name - 事件点的名称。该名称用于行驶方向中。如果未指定名称,则会在输出路径和方向中自动生成前缀为 Location 的唯一名称。

ID - 事件点的唯一标识符。该标识符包含在输出路径中(作为 IncidentID 字段),且有助于将输出路径的附加信息(例如总行驶时间或总距离)连接到事件点的属性中,反之亦然。如果未指定 ID,则服务将为每个事件点自动生成一个唯一的标识符。

AdditionalTime - 在事件点所花费的时间,该时间将被添加到路径总时间中。该属性值的单位由“测量单位”参数所指定。仅在测量单位基于时间时,属性值才能包含在分析中。默认值为 0。

如果您要查找离火灾事件点最近的消防站以估算响应时间,AdditionalTime 属性可存储消防人员开始灭火前在事件点位置连接装备所花费的时间。

AdditionalDistance - 在事件点所行驶的额外距离,该距离将被添加到路径总距离中。该属性值的单位由“测量单位”参数所指定。仅在测量单位基于距离时,属性值才能包含在分析中。默认值为 0。

通常,事件点的位置(例如住宅)并不是恰好位于街道上,而是位于道路的后方。该属性值可用于构建实际事件点位置与其在街道上的位置之间的距离,如有必要,将此段距离包括在总行驶距离中。

CurbApproach - 指定车辆到达和离开事件点的方向。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):

  • 0(车辆的任意一侧)- 车辆可从任一方向到达和离开事件点,因此事件点处允许 U 形转弯。如果您的车辆有可能要在事件点处调头,则可以选择该设置。此决策可能取决于道路的宽度以及交通量,或者该事件点是否有停车场能让车辆驶入并调头。
  • 1(车辆的右侧)- 当车辆到达和离开事件点时,事件点必须在车辆右侧。禁止 U 形转弯。通常用于必须在右侧停靠的车辆(如公共汽车)。
  • 2(车辆的左侧)- 当车辆到达和离开事件点时,路边必须在车辆左侧。禁止 U 形转弯。通常用于必须在左侧停靠的车辆(如公共汽车)。
  • 3(禁止 U 形转弯)- 当车辆到达事件点时,路边可在车辆的任意一侧;但是,车辆在离开时不得调头。

CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。首先,考虑位于车辆左侧的事件点。不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。决定从其中任一方向到达事件点可能会更改国家驾驶标准,也就是说,从车辆的右侧或左侧靠近事件点。例如,如果要到达一个事件点并且在车辆与事件点之间不存在其他交通车道,那么在美国应该选择“车辆的右侧”(1),而在英国应该选择“车辆的左侧”(2)。

Feature Set
Facilities

此工具用于查找离事件点最近的设施点,且此参数指定这些设施点。要求解某个分析,至少需要一个设施点。

指定设施点后,可通过使用“特性”为每个事件点设置属性,例如时间点的名称或服务时间。可通过以下属性指定设施点:

Name - 设施点的名称。该名称用于行驶方向中。如果未指定名称,则会在输出路径和方向中自动生成前缀为 Location 的唯一名称。

ID - 设施点的唯一标识符。该标识符包含在输出路径中(作为 IncidentID 字段)和输出最近设施点中(作为 FacilityID 字段)。FacilityID 字段可用于将输出路径的附加信息(例如总行驶时间或总距离)连接到设施点的属性中。如果未指定 ID,则服务将为每个设施点自动生成一个唯一的标识符。

AdditionalTime - 在设施点所花费的时间,该时间将被添加到路径总时间中。该属性值的单位由“测量单位”参数所指定。仅在测量单位基于时间时,属性值才能包含在分析中。默认值为 0。

如果您要查找离火灾事件点最近的消防站,AdditionalTime 可存储消防人员穿好适当的防护装备和离开消防站所花费的时间。

AdditionalDistance - 在设施点所行驶的额外距离,该距离将被添加到路径总距离中。该属性值的单位由“测量单位”参数所指定。仅在测量单位基于距离时,属性值才能包含在分析中。默认值为 0。

通常,设施点的位置(例如消防站)并不是恰好位于街道上,而是位于道路的后方。AdditionalDistance 可用于构建实际设施点位置与其在街道上的位置之间的距离,如有必要,将此段距离包括在总行驶距离中。

CurbApproach:指定车辆到达和离开设施点的方向。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):

  • 0(车辆的任意一侧)- 车辆可从任一方向到达和离开设施点,因此设施点处允许 U 形转弯。如果您的车辆有可能要在设施点处调头,则可以选择该设置。此决策可能取决于道路的宽度以及交通量,或者该设施点是否有停车场能让车辆驶入并调头。
  • 1(车辆的右侧)- 当车辆到达和离开设施点时,设施点必须在车辆右侧。禁止 U 形转弯。通常用于必须在右侧停靠的车辆(如公共汽车)。
  • 2(车辆的左侧)- 当车辆到达和离开设施点时,路边必须在车辆右侧。禁止 U 形转弯。通常用于必须在左侧停靠的车辆(如公共汽车)。
  • 3(禁止 U 形转弯)- 当车辆到达设施点时,路边可在车辆的任意一侧;但是,车辆在离开时不得调头。

CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。首先,考虑位于车辆左侧的设施点。不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。决定从其中任一方向到达设施点可能会更改国家驾驶标准,也就是说,从车辆的右侧或左侧靠近事件点。例如,如果要到达一个设施点并且在车辆与设施点之间不存在其他交通车道,那么在美国应该选择“车辆的右侧”(1),而在英国应该选择“车辆的左侧”(2)。

Feature Set
Measurement_Units

指定用于测量和报告输出路径的总行驶时间或行驶距离的单位。该工具可通过测量行驶时间或沿街道行驶距离查找最近设施点。

为此参数选择的单位可以确定工具将测量行驶距离还是行驶时间来查找最近位置。选择时间单位以测量行驶时间。要测量行驶距离,则请选择距离单位。选择的单位还确定工具在结果中以哪种单位报告总行驶时间或距离。这些单位包括:

  • 千米
  • 英尺
  • 英里
  • 海里
  • 分钟
  • 小时

该工具根据选择的测量单位是基于时间还是距离来选择是否使用时间属性距离属性参数中指定的网络成本属性。

测量单位值与对应的时间或距离成本属性的单位不同时,此工具将进行必要的单位转换。

String
Network_Dataset

将在其中执行分析的网络数据集。网络数据集通常表示街道网络,但也可能表示其他种类的交通网。网络数据集至少需要一个基于时间和一个基于距离的成本属性。

Network Dataset Layer
Output_Geodatabase

输出工作空间。此工作空间必须已经存在。默认输出工作空间为 in_memory。

Workspace
Output_Routes_Name

输出要素类的名称包含路线或连接事件点与其最近设施点的线。此要素类还包含事件点与其最近设施点间的行程总成本(一种属性)。

查找最近设施点的输出介绍了该输出要素类的方案。

String
Output_Directions_Name

输出要素类的名称包含方向。

查找最近设施点的输出介绍了该输出要素类的方案。

String
Output_Closest_Facilities_Name

输出要素类的名称包含最近设施点。

查找最近设施点的输出介绍了该输出要素类的方案。

String
Number_of_Facilities_to_Find
(可选)

指定要为事件点查找的最近设施点数。这在发生诸如火灾之类的情况下很有用,因为此时需要来自不同消防站的多台消防车同时灭火。例如,您可以指定查找距离起火地点最近的三个消防站。

如果您正通过此工具设置服务,并想要限制服务器上资源的使用(如处理时间),那么请使用要查找的最大设施点数参数来限制用户可以在要查找的设施点数中输入的最大设施点数。

Long
Default_Cutoff
(可选)

对于给定事件点,指定停止搜索设施点的行驶时间值或行驶距离值。例如,在查找距离事故地点最近的医院时,如果中断值设为 15 分钟,则表示工具将搜索距离事件点 15 分钟车程以内的最近医院。如果到达最近的医院需要 17 分钟的车程,则在输出路径中不会返回任何路线。在搜索多个设施点时,中断值尤为有用。

该参数的单位由测量单位参数指定。

Double
Travel_Direction
(可选)

指定是按照从事件点到设施点还是从设施点到事件点的距离测量值来搜索最近设施点。

  • TRAVEL_FROM行驶方向 - 从设施点到事件点。
  • TRAVEL_TO行驶方向 - 从事件点到设施点。

使用其中一个参数值可查找不同的设施点,因为沿某些街道的行驶时间可能会根据行驶方向和单行线限制而发生变化。例如,从事件点行驶到设施点时,可能需要 10 分钟,而从设施点行驶到事件点时,可能因该方向上的行驶时间不同而需要 15 分钟。如果您要设置时间的值,交通状况也可能导致“设施点到事件点”和“事件点到设施点”选项返回不同的结果。

消防部门通常使用参数的“设施点到事件点”值,因为他们需要关注从消防站(设施点)行驶到紧急救援位置(事件点)所需的时间。零售商店(设施点)则更关注顾客(事件点)到达商店所需的时间;因此,商店通常选择“事件点到设施点”选项。

String
Time_of_Day
(可选)

指定路径应该开始或结束的时间和日期。该值根据时间用法参数的值可用作路径的起始时间或结束时间。如果您指定当前日期和时间作为该参数的值,则工具将使用实时交通状况查找最近设施点,并且总行驶时间将基于交通状况提供。

如果您的网络数据集包含实时或历史流量数据,那么指定一天中的时间可以更精确地估算事件点与设施点之间的行驶时间,这是因为根据交通状况计算的行驶时间与您指定的日期和时间相适应。

时间的时区参数指定该时间和日期是参考 UTC 还是设施点或事件点所在时区。

无论时间的时区如何设置,如果您的设施点和事件点在多个时区中,则工具将强制执行以下规则:

  • 下列情况中,所有事件点必须在同一时区:

    • 指定起始时间并从事件点行驶至设施点。
    • 指定结束时间并从设施点行驶至事件点。

  • 下列情况中,所有设施点必须在同一时区:

    • 指定起始时间并从设施点行驶至事件点。
    • 指定结束时间并从事件点行驶至设施点。

Date
Time_of_Day_Usage
(可选)

指示时间参数值是表示路径的到达时间还是离开时间。

  • START_TIME 选择此选项后,该工具会查找最佳路径,并将时间参数值视为从设施点或事件点出发的时间。
  • END_TIME 选择此选项后,该工具会将时间参数值视为到达设施点或事件点的时间。如果您想知道何时从一个地点离开,从而能在时间参数中所指定的时间到达目的地,此选项将十分有用。
  • NOT_USED选择此选项后,该工具不会在计算最近设施点时使用时间。不会使用实时和历史流量数据。
String
Time_Zone_for_Time_of_Day
(可选)

指定时间参数的时区。

  • GEO_LOCAL时间参数参考设施点或事件点所在的时区。
    • 如果时间用法设置为 START_TIME 且行进方向设置为 TRAVEL_FROM,则此时间参数为设施点的时区。
    • 如果时间用法设置为 START_TIME 且行进方向为 TRAVEL_TO,则此时间参数为事件点的时区。
    • 如果时间用法设置为 END_TIME 且行进时间为 TRAVEL_FROM,则此时间参数为事件点的时区。
    • 如果时间用法设置为 END_TIME 且行进方向为 TRAVEL_TO,则此时间参数为设施点的时区。
  • UTC时间参数是指协调世界时间 (UTC)。如果您想要查找可在指定时间内(如现在)到达的最近地点,但不确定设施点或事件点所在的时区,请选择此选项。

无论时间的时区如何设置,如果您的设施点和事件点在多个时区中,则工具将强制执行以下规则:

  • 下列情况中,所有事件点必须在同一时区:

    • 指定起始时间并从事件点行驶至设施点。
    • 指定结束时间并从设施点行驶至事件点。

  • 下列情况中,所有设施点必须在同一时区:

    • 指定起始时间并从设施点行驶至事件点。
    • 指定结束时间并从事件点行驶至设施点。

String
UTurn_Policy
(可选)

交汇点的 U 形转弯策略。允许 U 形转弯表示求解程序可以在交汇点处转向并沿同一街道往回行驶。 考虑到交汇点表示街道交叉路口和死角,不同的车辆可以在某些交汇点转弯,而在其他交汇点则不行 - 这取决于交汇点是交叉路口还是死角。为适应此情况,U 形转弯策略参数由连接到交汇点的边数隐性指定,这称为交汇点原子价。此参数可接受的值如下所列;每个值的后面是根据交汇点原子价对其含义的描述。

  • ALLOW_UTURNS无论在交汇点处有几条连接的边,均允许 U 形转弯。这是默认值。
  • NO_UTURNS在所有交汇点处均禁止 U 形转弯,不管交汇点原子价如何。不过请注意,即使已选择该设置,在网络位置仍允许 U 形转弯;但是也可以通过设置个别网络位置的 CurbApproach 属性来禁止 U 形转弯。
  • ALLOW_DEAD_ENDS_ONLY除仅有一条相邻边的交汇点(死角)外,其他交汇点均禁止 U 形转弯。
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY在恰好有两条相邻边相遇的交汇点处禁止 U 形转弯,但是交叉点(三条或三条以上相邻边的交汇点)和死角(仅有一条相邻边的交汇点)处允许。通常,网络在路段中间有多余的交汇点。此选项可防止车辆在这些位置出现 U 形转弯。
提示提示:

如果您需要定义更加精确的 U 形转弯策略,可以考虑在网络成本属性中添加一个通用转弯延迟赋值器,或者如果存在的话,调整其设置,并特别注意反向转弯的配置。还要考虑设置网络位置的 CurbApproach 属性。

String
Point_Barriers
(可选)

指定点障碍,分为两种类型:禁止型点障碍和增加成本型点障碍。它们可以暂时限制网络上的穿越或在网络的点上增加阻抗。点障碍由要素集定义,为点要素指定的属性值决定它们是禁止型障碍还是增加成本型障碍。下面列出并描述了属性表中的字段。

ObjectID:

系统管理的 ID 字段。

Shape:

指示网络分析对象地理位置的几何字段。

名称:

障碍的名称。

BarrierType:

指定障碍的存在将完全禁止通行还是在通行时增加成本。有以下两个选项:

  • 禁止型 (0) - 禁止穿过障碍。这是默认值。
  • 增加成本型 (2) - 穿过障碍会增加网络成本,具体增加值取决于在 Additional_Time 和 AdditionalDistance 字段中指定的值。

将值 0 用于禁止型值,将 2 用于成本增加型值。

Additional_Time:

表示穿越障碍时会增加的行驶时间。此字段仅适用于增加成本型障碍且仅在测量单位基于时间时适用。此字段的值必须大于或等于零,并且其单位与测量单位参数中指定的单位相同。

Additional_Distance:

表示穿越障碍时会增加的距离。此字段仅适用于增加成本型障碍且仅在测量单位基于距离时适用。该字段的值必须大于或等于零,并且其单位与测量单位参数中指定的单位相同。

Feature Set
Line_Barriers
(可选)

指定线障碍,暂时限制穿越障碍。线障碍由要素集定义。下面列出并描述了属性表中的字段。

ObjectID:

系统管理的 ID 字段。

Shape:

指示网络分析对象地理位置的几何字段。

名称:

障碍的名称。

Feature Set
Polygon_Barriers
(可选)

指定面障碍,分为两种类型:禁止型面障碍和调整成本型面障碍。它们会暂时限制穿越所覆盖的网络部分或调整阻抗。面障碍由要素集定义,为面要素指定的属性值决定它们是禁止型障碍还是调整成本型障碍。下面列出并描述了属性表中的字段。

ObjectID:

系统管理的 ID 字段。

Shape:

指示网络分析对象地理位置的几何字段。

名称:

障碍的名称。

BarrierType:

指定障碍的存在将完全禁止通行还是按比例增加行程成本。共有两个选项:

  • 禁止型 (0) - 禁止穿过障碍的任何部分。此值为默认值。
  • 成本按比例增加型 (1) - 将阻抗乘以 ScaledCostFactor 属性值从而调整基础边阻抗。如果障碍部分覆盖了边,则会按比例对阻抗执行乘法运算。

将值 0 用于禁止型值,将 1 用于成本按比例增加型值。

ScaledTimeFactor

它是与障碍相交街道的行驶时间要乘以的因子。此字段仅适用于调整成本型障碍且仅在测量单位基于时间时适用。该字段值必须大于零。

ScaledDistanceFactor

它是与障碍相交街道的距离要乘以的因子。此属性仅适用于调整成本型障碍且仅在测量单位基于距离时适用。该属性值必须大于零。

Feature Set
Time_Attribute
(可选)

定义测量单位值为时间单位时要使用的网络成本属性。

测量单位值与此处定义的成本属性单位不同时,此工具将进行必要的时间单位转换。换言之,默认中断和网络成本属性的时间单位不必相同。

String
Time_Attribute_Units
(可选)

时间属性单位。您可以明确地设置时间属性单位,但是建议您不要传递任何内容或者可以传递 "#" 并由求解程序确定该单位。

String
Distance_Attribute
(可选)

定义测量单位值为距离单位时要使用的网络成本属性。

测量单位值与此处定义的成本属性单位不同时,此工具将进行必要的距离单位转换。换言之,测量单位和网络成本属性的距离单位不必相同。

String
Distance_Attribute_Units
(可选)

距离属性单位。您可以明确地设置距离属性单位,但是建议您不要传递任何内容或者可以传递 "#" 并由求解程序确定该单位。

String
Use_Hierarchy_in_Analysis
(可选)

指定是否应在查找设施点和事件点之间的最佳路径时使用等级。

  • True 查找路径时应用等级。在应用等级时,相比低等级的街道(例如地方道路),该工具更偏好等级较高的街道(例如高速公路),且该工具可以用于模拟驾驶员对在高速公路(而非地方道路)上行驶的偏好,即使这意味着行程更远。查找远距离设施点的路径时尤为如此,因为长途驾驶员往往更偏好于在高速公路上行驶,这样可以避免停靠、交叉路口和转弯。应用等级可实现更快的计算速度,尤其是对于长途路径来说,因为该工具需要在相对较小的街道子集中选择最佳路径。
  • False 查找路径时不应用等级。如果没有应用等级,该工具就会考虑所有的街道且在选择路线时不会选择等级较高的街道。这常用于在市内查找短途路径。

如果未在用于执行分析的网络数据集中定义等级属性,该参数将不可用。在这种情况下,使用 "#" 作为参数值。

您可以使用 Force_Hierarchy_Beyond_Distance 参数进行强制求解来应用等级,即使 Use_Hierarchy_in_Analysis 设置为 false。

Boolean
Restrictions
[restriction,...]
(可选)

指示求解时应遵守的网络限制属性。

String
Attribute_Parameter_Values
(可选)

指定具有参数的网络属性的参数值。记录集具有两个共同唯一识别参数的列以及另一个指定参数值的列。

属性参数值记录集具有关联属性。下面列出并描述了属性表中的字段。

ObjectID:

系统管理的 ID 字段。

AttributeName:

网络属性的名称,其属性参数由表行设置。

ParameterName:

属性参数的名称,其值由表行设置。(无法使用此工具更新“对象”类型参数。)

ParameterValue:

您希望的属性参数值。如果未指定值,则属性参数将被设置为空。

Record Set
Accumulate_Attributes
[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
(可选)

指定工具输出的路径要素的类型。可以使用以下值之一指定此参数:

  • TRUE_LINES_WITH_MEASURES 返回基于基础街道的生成路径的精确形状。此外,会对该形状进行测量以便其可用于线性参考中。
  • TRUE_LINES_WITHOUT_MEASURES 返回基于基础街道的生成路径的精确形状。
  • STRAIGHT_LINES 返回一条事件点和设施点之间的直线。
  • NO_LINES 不返回任何路径形状。此值在您只想确定事件点与其最近设施点之间的总行驶时间或行驶距离时十分有用。

路径形状参数设置为“实际形状”时,路径形状的制图综合可以使用适当的“路线简化容差”参数值进行进一步控制。

无论选择哪种路径形状参数值,最佳路径总是通过最大限度地缩短行驶时间或行驶距离,而不是使用事件点和设施点间的直线距离来确定。这意味着只有路径形状是不同的,而非查找路径时搜索的基础街道。

String
Route_Line_Simplification_Tolerance
(可选)

指定路径几何的简化程度。

如果路径形状参数未设置为 TRUE_LINES_WITH_MEASURES 或 TRUE_LINES_WITHOUT_MEASURES,工具将忽略此参数。

简化将保留路径上定义路径基本形状所需的关键点(例如交点处的转弯)而删除其他点。指定的简化距离为简化线偏离原始线的最大允许偏移。简化线将减少路径几何中的折点数。这将改善工具的执行时间。

Linear Unit
Populate_Directions
(可选)

指定工具是否应为每条路径生成行驶方向。

  • 选中 (True) 表示将会根据方向语言方向样式名称方向距离单位参数值生成和配置方向。
  • 未选中 (False) 未生成方向且工具返回一个空方向图层。
Boolean
Directions_Language
(可选)

指定在生成行驶方向时使用的语言。此参数仅在选中填充方向参数或设置为 True 时使用。

方向语言的可用性取决于计算机上安装的 ArcGIS 语言包。该值均以两位或五位字符语言代码输入,例如英语为 en,简体中文为 zh-CN

如果指定了某种不支持的语言代码,该工具将会使用默认语言(英语)返回方向。

String
Directions_Distance_Units
(可选)

指定在行驶方向中显示行驶距离的单位。此参数仅在选中填充方向参数或设置为 True 时使用。

  • 英里
  • 千米
  • 英尺
  • 海里

String
Directions_Style_Name
(可选)

指定方向的格式化样式名称。此参数仅在选中填充方向参数或设置为 True 时使用。可以使用以下值指定此参数:

  • NA Desktop 生成适合打印的转弯说明。
  • NA Navigation 生成针对车载导航设备的转弯说明。
  • NA Campus生成适于人行道网络(包括人行道和建筑物)的方向。
String
Maximum_Features_Affected_by_Point_Barriers
(可选)

限制点障碍影响的要素数量。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Maximum_Features_Affected_by_Line_Barriers
(可选)

限制线障碍影响的要素数量。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Maximum_Features_Affected_by_Polygon_Barriers
(可选)

限制面障碍影响的要素数量。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Maximum_Facilities
(可选)

限制可向最近设施点分析中添加的设施点数。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Maximum_Facilities_to_Find
(可选)

限制用户可请求服务查找的最大设施点数。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Maximum_Incidents
(可选)

限制可向最近设施点分析中添加的事件点数。

此参数帮助您管理求解时发生的处理量。例如,您可以为免费版服务中的这个参数指定一个较低的值,在付费订阅版服务中使用一个较高的值。

空值表示没有限制。

Long
Force_Hierarchy_Beyond_Distance
(可选)

指定一段距离,求解程序将在该距离后进行强制分级,即使在求解基于时间的服务区时未启用等级也是如此。此参数的单位与距离属性单位参数中显示的单位相同。

使用网络等级时查找远距离的最近设施点,相比不使用等级查找同一最近设施点进行的处理往往更少。此参数可帮助您管理求解时发生的处理量。

空值表示决不会强制分级,并且在分析中应用等级参数的值始终适用。如果输入网络数据集不支持等级,则为该参数指定值会导致错误。在这种情况下,应使用空值。

Double
Save_Output_Network_Analysis_Layer
(可选)
  • NO_SAVE_OUTPUT_LAYER输出中不包含网络分析图层。
  • SAVE_OUTPUT_LAYER输出包含结果的网络分析图层。

在任何情况下,都会返回带有路径和方向的要素类。不过,服务器管理员也可能希望选择输出一个网络分析图层,以便可以使用 ArcGIS for Desktop 环境中的 Network Analyst 控件调试工具的设置和结果。这会使调试过程变得更加容易。

ArcGIS for Desktop 中,网络分析图层的默认输出位置位于临时文件夹内。可通过评估 arcpy.env.scratchFolder 地理处理环境的值来确定临时文件夹的位置。输出网络分析图层存储为 LYR 文件,其名称以 _ags_gpna 开头,后跟字母数字 GUID。

Boolean

代码实例

FindClosestFacilities 示例 1

使用所需参数执行此工具。

import arcpy
incidents = arcpy.FeatureSet()
incidents.load("Stores")
facilities = arcpy.FeatureSet()
facilities.load("Warehouses")
arcpy.na.FindClosestFacilities(incidents, facilities, "Minutes",
                                "Streets_ND", "in_memory", "Routes",
                                "Directions", "CLosestFacilities",
                                Number_of_Facilities_to_Find=1)
FindClosestFacilities 示例 2(独立 Python 脚本)

以下独立 Python 脚本演示了 FindClosestFacilities 如何能够确定距离仓库最近的商店。您可以修改该脚本以使用其他输入查找离事故发生点最近的救护车、离掉落的电力线最近的工作团队等等。

# Name: FindClosestFacilities_Workflow.py
# Description: For each store, find the closest warehouse. The output will show
#              the routes between stores and warehouses, driving directions,
#              and the subset of warehouses that were closest to stores.
# 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\Paris.gdb'
    env.overwriteOutput = True

    #Set local variables
    inNetworkDataset = r'Transportation\ParisMultimodal_ND'
    inIncidents = r'Analysis\Stores'
    inFacilities = r'Analysis\Warehouses'
    outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
    outRoutes = "Routes"
    outDirections = "Directions"
    outClosestFacilities = "ClosestFacilities"
    measurement_units = "Minutes"

    # Run FindClosestFacilities. Choose to find only the closest facility.
    arcpy.na.FindClosestFacilities(inIncidents, inFacilities, measurement_units,
                                    inNetworkDataset, outGeodatabase, outRoutes,
                                    outDirections, outClosestFacilities,
                                    Number_of_Facilities_to_Find=1)

    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 for Desktop Basic: 需要 Network Analyst
ArcGIS for Desktop Standard: 需要 Network Analyst
ArcGIS for Desktop Advanced: 需要 Network Analyst
5/10/2014