ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

生成起点-目的地成本矩阵

  • 描述
  • 使用
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

创建从多个起始点到多个目的地的起点-目的地 (OD) 成本矩阵。OD 成本矩阵是一个包含从每个起点到每个目的地的行驶时间和行驶距离的表文件。此外,还可根据从每个起点行进到每个目的地所需的最短时间或距离,对每个起点所连接的目的地按升序排序。在街道网络中为每对起点-目的地找出最佳路径,并将行驶时间和行驶距离存储为输出线的属性。虽然出于显示性能方面的考虑,这些线本身都是直的,但是它们始终存储的是街道网络中的行驶时间和行驶距离,而不是直线距离。

了解有关起点-目的地成本矩阵输出的信息

使用

  • 在网络中查找和测量从多个起点到多个目的地的最小成本路径。

  • 此工具对话框将各种可选参数分组为以下六个类别,以便您能更轻松地对其进行管理:

    • 高级分析
    • 障碍
    • 自定义出行模式
    • 网络数据集
    • 网络位置
    • 输出
    • 服务能力

语法

GenerateOriginDestinationCostMatrix(Origins, Destinations, Network_Dataset, Output_Geodatabase, Output_Origin_Destination_Lines_Name, Output_Origins_Name, Output_Destinations_Name, {Travel_Mode}, {Time_Units}, {Distance_Units}, {Number_of_Destinations_to_Find}, {Cutoff}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Impedance_Attribute}, {Impedance_Attribute_Units}, {Time_Attribute}, {Time_Attribute_Units}, {Distance_Attribute}, {Distance_Attribute_Units}, {UTurn_Policy}, {Use_Hierarchy_in_Analysis}, {Restrictions}, {Attribute_Parameter_Values}, {Accumulate_Attributes}, {Maximum_Snap_Tolerance}, {Feature_Locator_WHERE_Clause}, {Origin_Destination_Line_Shape}, {Maximum_Features_Affected_by_Point_Barriers}, {Maximum_Features_Affected_by_Line_Barriers}, {Maximum_Features_Affected_by_Polygon_Barriers}, Maximum_Origins, Maximum_Destinations, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer}, {Overrides})
参数说明数据类型
Origins

指定在生成指向目的地的路径时用作起点的位置。最多可添加 200 个起点。

指定起点后,可通过使用属性为每个起点设置属性,例如其名称或目的地数。可通过以下属性指定起点:

Name - 起点的名称。该名称可以是起点的唯一标识符。该名称包含在输出线 (作为 OriginName 字段)和输出起始点(作为 Name字段)中,并且可将工具输出的附加信息连接到起始点的属性。

如果未指定名称,则会在输出起点中自动生成前缀为 Location 的唯一名称。输出线中不包含自动生成的起点名称。

TargetDestinationCount - 必须为起点查找的目的地数目最大值。如果未指定任何值,则将使用要查找的目的地数参数中的值。

Cutoff - 针对起点,指定停止搜索目的地的行驶时间值或行驶距离值。分隔值以外的目的地将不予考虑。

如果出行模式中的阻抗属性基于时间,则该值需要采用时间单位参数指定的单位,如果出行模式中的阻抗属性基于距离,则需采用距离单位参数指定的单位。如果未指定任何值,则将使用中断参数中的值。

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

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

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

Feature Set
Destinations

指定在生成从起点开始的路径时用作终点的位置。最多可添加 200 个目的地。

指定目的地后,可通过使用特性为每个目的地设置属性,例如其名称。可通过以下属性指定目的地:

Name - 目的地的名称。该名称可以是目的地的唯一标识符。该名称包含在输出线(作为 DestinationName 字段)和输出目的地(作为 Name 字段)中,并且可用于将工具输出的附加信息连接到目的地的属性。

如果未指定名称,则会在输出目的地中自动生成前缀为 Location 的唯一名称。输出线中不包含自动生成的目的地名称。

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

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

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

Feature Set
Network_Dataset

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

Network Dataset Layer
Output_Geodatabase

输出工作空间。此工作空间必须已经存在。

Workspace
Output_Origin_Destination_Lines_Name

用于存储连接起点和目的地点的线的输出要素类名称。

生成起点-目的地成本矩阵的输出介绍了该输出要素类的方案。

String
Output_Origins_Name

包含起点的输出要素类名称。

生成起点-目的地成本矩阵的输出介绍了该输出要素类的方案。

String
Output_Destinations_Name

包含目的地点的输出要素类名称。

生成起点-目的地成本矩阵的输出介绍了该输出要素类的方案。

String
Travel_Mode
(可选)

选择用于分析的运输模式。CUSTOM 为常用选择。要显示其他出行模式名称,必须使其显示在 Network_Dataset 参数指定的网络数据集中。(arcpy.na.GetTravelModes 函数提供了网络数据集上配置的出行模式对象的字典,name 属性返回出行模式对象的名称。)

出行模式是在网络数据集上定义的,并会提供模型车、货车、步行或其他出行模式的参数的覆盖值。在此处选择出行模式后,您便无需为以下参数提供值,这些参数值会被网络数据集中指定的值覆盖:

  • UTurn_Policy

  • Time_Attribute

  • Time_Attribute_Units

  • Distance_Attribute

  • Distance_Attribute_Units

  • Use_Hierarchy_in_Analysis

  • Restrictions

  • Attribute_Parameter_Values

  • Route_Line_Simplification_Tolerance

  • CUSTOM —定义适合您特定需求的出行模式。选择 CUSTOM 后,该工具不会覆盖以上列出的出行模式参数。这是默认值。
String
Time_Units
(可选)

指定用于测量和报告每对起点-目的地之间的总行驶时间的单位。其中包括以下选项:

  • 秒
  • 分钟
  • 小时
  • 天

String
Distance_Units
(可选)

指定用于测量和报告每对起点-目的地之间的总行驶距离的单位。

其中包括以下选项:

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

String
Number_of_Destinations_to_Find
(可选)

指定要为每个起点查找的最大目的地数目。如果未指定此参数的值,则输出矩阵将包含从每个起点到每个目的地的行程成本。各个起点可具有自己的值(指定为 TargetDestinationCount 字段), 用于覆盖要查找的目的地数参数值。

Long
Cutoff
(可选)

针对给定起点,指定停止搜索目的地的行驶时间值或行驶距离值。分隔值以外的目的地将不予考虑。各个起点可具有自己的值(指定为 Cutoff 字段), 用于覆盖中断参数值。

如果出行模式的阻抗属性基于时间,则该值需要采用时间单位参数指定的单位,如果出行模式的阻抗属性基于距离,则需采用距离单位参数指定的单位。如果未指定值,则在搜索目的地时,该工具将不会强制执行任何行驶时间或行驶距离限制。

Double
Time_of_Day
(可选)

指定路径应该开始的时间和日期。

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

时间的时区参数指定该时间和日期是参考 UTC 还是停靠点所在时区。

如果未将测量单位设置为基于时间的单位,则该工具将忽略此参数。

Date
Time_Zone_for_Time_of_Day
(可选)

指定时间参数的时区。

  • GEO_LOCAL —时间参数参考路径的第一个停靠点所处的时区。如果生成开始于多个时区的多个路径,则开始时间会采用协调世界时间 (UTC) 交错。例如,时间值为 10:00 a.m., 2 January 表示 始于东部时区的路径的开始时间为 东部标准时间上午 10:00(UTC 为下午 3:00), 始于中部时区的路径的开始时间为 中部标准时间 10:00 a.m.(4:00 p.m. UTC)。开始时间以 UTC 偏差一小时。输出停靠点要素类中记录的到达与离开的时间和日期将参考每个路径第一个停靠点的本地时区。
  • UTC —时间参数是指协调世界时间 (UTC)。如果您想要在特定的时间(如现在)生成路径,但不确定第一个停靠点所在的时区,请选择此选项。如果您生成跨越多个时区的多个路径,以 UTC 表示的开始时间将发生同步。例如,时间值为 10:00 a.m., 2 January 表示 始于东部时区的路径的开始时间为东部标准时间上午 5:00 (UTC-5:00), 始于中部时区的路径的开始时间为中部标准时间上午 4:00 (UTC-6:00)。这两个路径均于上午 10:00 开始 进行记录。输出停靠点要素类中记录的到达与离开的时间和日期将参考 UTC。
String
Point_Barriers
(可选)

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

ObjectID:

系统管理的 ID 字段。

Shape:

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

Name:

障碍的名称。

BarrierType:

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

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

将值 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) - 将阻抗乘以 ScaledCostFactor 属性值从而调整基础边阻抗。如果障碍部分覆盖了边,则会按比例对阻抗执行乘法运算。

将值 0 用于禁止型值,将 1 用于调整成本型值。

ScaledTimeFactor:

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

ScaledDistanceFactor:

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

Feature Set
Impedance_Attribute
(可选)

分析过程中用作阻抗的成本属性。

String
Impedance_Attribute_Units
(可选)

阻抗属性参数指定的网络阻抗属性的单位。

这只是一个信息参数,只有直接编辑网络数据集才能进行更改。而且也无需更改,因为测量单位与成本属性之间的单位转换是自行处理的。

将出行模式设置为除自定义外的其他值时会覆盖此参数的值。

String
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
UTurn_Policy
(可选)

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

  • ALLOW_UTURNS —无论在交汇点处有几条连接的边或街道,均允许 U 形转弯。这是默认值。
  • NO_UTURNS —在所有交汇点处均禁止 U 形转弯,不管交汇点原子价如何。
  • ALLOW_DEAD_ENDS_ONLY —除仅有一条相邻边的交汇点(死角)外,其他交汇点均禁止 U 形转弯。
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY —在恰好有两条相邻边相遇的交汇点处禁止 U 形转弯,但是交叉点(三条或三条以上相邻边的交汇点)和死角(仅有一条相邻边的交汇点)处允许。通常,网络建模街道在路段中间有多余的交汇点。此选项可防止车辆在这些位置出现 U 形转弯。

将出行模式(Python 中的 Travel_Mode)设置为除自定义外的其他值时会覆盖此参数的值。

String
Use_Hierarchy_in_Analysis
(可选)

指定在查找点间的最短路径时是否应使用等级。

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

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

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

除非将 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
Origin_Destination_Line_Shape
(可选)

OD 成本矩阵所生成的线可以用直线几何来表示,也可以不用任何几何来表示。在这两种情况中,路径总是沿街道网络通过最大限度地缩短行驶时间或行驶距离进行计算,而不是使用起点和目的地之间的直线距离进行计算。

  • STRAIGHT_LINES — 直线可连接起点和目的地。
  • NO_LINES — 不返回任何连接起点和目的地的线的形状。这在存在大量的起始点和目的地,但您只对 OD 成本矩阵表(而不是输出线的形状)感兴趣时很有用。
String
Maximum_Features_Affected_by_Point_Barriers
(可选)

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

空值表示没有限制。

Long
Maximum_Features_Affected_by_Line_Barriers
(可选)

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

空值表示没有限制。

Long
Maximum_Features_Affected_by_Polygon_Barriers
(可选)

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

空值表示没有限制。

Long
Maximum_Origins

限制可添加到起点-目的地成本矩阵分析的起点数。

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

空值表示没有限制。

Long
Maximum_Destinations

限制可添加到起点-目的地成本矩阵分析的目的地数。

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

空值表示没有限制。

Long
Force_Hierarchy_Beyond_Distance
(可选)

指定一段距离,之后,求解程序将在查找路径进行强制分级,即使未启用等级也是如此。此参数的单位与距离属性单位参数中显示的单位相同。

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

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

除非网络数据集包括等级属性,否则此参数将一直处于禁用状态。

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

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

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

Boolean
Overrides
(可选)

求解网络分析问题时,指定可影响求解程序行为的其他设置。

需要在 JavaScript 对象表示法 (JSON) 中指定此参数的值。例如,有效值的格式如下:{"overrideSetting1" : "value1", "overrideSetting2" : "value2"}。覆盖设置名称始终以双引号括起。该值可以是数字、布尔值或字符串。

此参数的默认值为无值,表示不覆盖任何求解程序设置。

覆盖是高级设置,应仅在谨慎分析应用设置前后得到的结果之后使用。要获得每个求解程序支持的覆盖设置及其可接受值的列表,请联系 Esri 技术支持。

string

派生输出

名称说明数据类型
Solve_Succeeded

用于确定服务是否能成功生成起点-目的地成本矩阵。

布尔型
Output_Origin_Destination_Lines

所生成的从起点到目的地的路径。

要素集
Output_Origins

参与分析的起点。

要素集
Output_Destinations

参与分析的目的地。

要素集
Output_Network_Analysis_Layer

网络分析图层可用于在地图中进行进一步分析或调试,其属性可在工具参数中进行配置。

文件

代码示例

GenerateOriginDestinationCostMatrix 示例 1(Python 窗口)

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

origins = arcpy.FeatureSet()
origins.load("Warehouses")

destinations = arcpy.FeatureSet()
destinations.load("Stores")

arcpy.na.GenerateOriginDestinationCostMAtrix(origins, destinations, "ParisMultimodal_ND")
GenerateOriginDestinationCostMatrix 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用该工具。

# Name: GenerateOriginDestinationCostMatrix_Workflow.py
# Description: Find and measure the least-cost paths along the network from multiple
#              origins to multiple destinations.
# 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 = 'C:/arcgis/ArcTutor/Network Analyst/Tutorial/Paris.gdb'
    env.overwriteOutput = True

    #Set local variables
    inOrigins = 'Analysis/Warehouses'
    inDestinations = 'Analysis/Stores'
    inNetworkDataset = 'Transportation/ParisMultimodal_ND'
    outGeodatabase = 'C:/arcgis/ArcTutor/Network Analyst/Tutorial/Output.gdb'
    
    # Run GenerateODCostMatrix
    arcpy.na.GenerateOriginDestinationCostMatrix(inOrigins, inDestinations, inNetworkDataset, outGeodatabase,
                                                 Cutoff=10, Origin_Destination_Line_Shape='STRAIGHT_LINES')
    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)

环境

  • 当前工作空间
  • 输出坐标系

许可信息

  • Basic: 需要 Network Analyst
  • Standard: 需要 Network Analyst
  • Advanced: 需要 Network Analyst

相关主题

  • 创建 OD 成本矩阵图层
  • OD 成本矩阵分析
  • 生成起点-目的地成本矩阵的输出

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明