描述
确定设施点周围的网络服务区。网络服务区是指包含从一个或多个设施点的给定距离或行程时间之内可到达的所有街道的区域。例如,某一设施点的 10 分钟服务区包含从该设施点出发 10 分钟内可以到达的所有街道。
服务区通常用于显示和测量可达性。例如,杂货店周围三分钟的行驶时间面可以确定能够在三分钟内到达的杂货店以及更有可能在此购物的居民。
警告:
有关此工具的最新信息,请参阅 Web 帮助中本主题的最新版本。ArcGIS Online 会定期对此类服务进行功能更新,因此安装的帮助可能已过期。
插图
使用方法
即用型工具箱中的工具是利用 ArcGIS Online 托管数据和分析功能的 ArcGIS Online 地理处理服务。
如果“中断单位”参数的值设置为时间单位,则工具会创建行驶时间区域。同样,如果“中断单位”为距离单位,工具会创建行驶距离区域。
为成功执行该工具,您至少需要指定一个设施点。最多可加载 1,000 个设施点。
最多可以添加 250 个点障碍。您可以添加任意数量的线障碍或面障碍,但线障碍的相交数不能超过 500 个街道要素,面障碍的相交数不能超过 2,000 个要素。
无论是否选中“应用等级”参数 (True),当最大中断值超过 240 分钟或 240 英里(386.24 千米)时,将始终使用等级。当输出服务区没有重叠或概化时,此限制降低到 15 分钟和 15 英里(24.14 千米)。
如果输入点与其最近的可穿过街道之间的距离大于 12.42 英里(20 千米),则将从分析中排除该点。
对于步行,行驶时间不能超过 9 小时 (540 分钟),对于所有其他出行模式,行驶时间不能超过 5 小时 (300 分钟)。
对于步行,行驶距离不能超过 27 英里 (43.45 千米),对于所有其他出行模式,行驶距离不能超过 300 英尺 (482.80 千米)。
对于步行,生成详细面时的最大行驶时间不能超过 5 小时 (300 分钟)。对于所有其他出行模式,最大行驶时间不能超过 15 分钟。
对于包括步行在内的所有出行模式,生成详细面时的最大行驶距离不能超过 15 英里 (24.14 千米)。
对于步行,生成服务区线时的最大行驶时间不能超过 5 小时 (300 分钟)。对于所有其他出行模式,最大行驶时间不能超过 15 分钟。
对于包括步行在内的所有出行模式,生成服务区线时的最大行驶距离不能超过 15 英里 (24.14 千米)。
面修剪距离不能超过 500 米。
语法
arcpy.agolservices.GenerateServiceAreas(Facilities, Break_Values, Break_Units, {Analysis_Region}, {Travel_Direction}, Time_of_Day, Use_Hierarchy, {UTurn_at_Junctions}, {Polygons_for_Multiple_Facilities}, {Polygon_Overlap_Type}, {Detailed_Polygons}, {Polygon_Trim_Distance}, Polygon_Simplification_Tolerance, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Restrictions}, {Attribute_Parameter_Values}, {Time_Zone_for_Time_of_Day}, {Travel_Mode}, {Impedance}, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Time_Impedance}, {Distance_Impedance}, {Polygon_Detail}, {Output_Type}, {Output_Format})
参数 | 说明 | 数据类型 |
Facilities | 在其周围生成服务区的输入位置。 最多可加载 1,000 个设施点。 设施点要素集具有一个关联的属性表。下面描述了属性表中的字段。 ObjectID 系统管理的 ID 字段。 Name 设施点的名称。如果未指定名称,则求解过程中会自动生成一个名称。 当“多个设施点的面”参数设置为“叠置”或“不叠置”时,输入设施点的所有字段都包含在输出面中。输入设备点的 ObjectID 字段会传递到输出面的 FacilityOID 字段中。 Breaks 指定基于每个设施点计算的服务区范围。 此属性允许您为每个设施点指定不同服务区中断值。例如,对于两个设施点,您可以为其中一个设施点生成 5 和 10 分钟服务区面,为另一个设施点生成 6、9 和 12 分钟服务区面。 请用空格分隔多个中断值,并将点字符用作小数分隔符来指定数值(即使计算机的区域设置定义了不同的小数分隔符)。例如,值 5.5 10 15.5 指定了一个设施点周围的三个中断值。 AdditionalTime 在设施点花费的时间量,可缩减针对给定设施点计算的服务区范围。默认值为 0。 例如,在计算表示消防站响应时间的服务区时,AdditionalTime 中可以存储每个消防站的出动时间,该时间为消防员配带好适当的防护设备并离开消防站所用的时间。假设“消防站 1”的出动时间为 1 分钟,“消防站 2”的出动时间为 3 分钟。如果分别计算这两个消防站的 5 分钟服务区,则“消防站 1”的实际服务区相当于 4 分钟服务区的范围(因为在这 5 分钟里需要 1 分钟的出动时间)。同样,“消防站 2”的服务区距离消防站仅为 2 分钟。 AdditionalDistance 在计算服务之前,为到达设施点所行驶的额外距离。此属性可缩减针对给定设施点计算的服务区的范围。默认值为 0。 通常,设施点的位置(例如门店地点)并不是恰好位于街道上,而是位于道路的后方。该属性值可用于构建实际设施点位置与其在街道上的位置之间的距离,如有必要,可在计算设施点的服务区时包括此段距离。 AdditionalCost 在设施点花费的额外成本,可缩减针对给定设施点计算的服务区范围。默认值为 0。 当分析的出行模式使用不基于时间也不基于距离的阻抗属性时,请使用此属性值。属性值的单位将解释为未知单位。 CurbApproach 指定车辆到达和离开设施点的方向。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
CurbApproach 属性是专为使用以下两种国家驾驶标准而设计的:右侧通行(美国)和左侧通行(英国)。首先,考虑位于车辆左侧的设施点。不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。决定从其中任一方向到达设施点可能会更改国家驾驶标准,也就是说,从车辆的右侧或左侧靠近事件点。例如,如果要到达一个设施点并且在车辆与设施点之间不存在其他交通车道,那么在美国请选择 1(车辆的右侧),而在英国请选择 2(车辆的左侧)。 Bearing 点移动的方向。单位为度,并且从正北方向开始顺时针进行测量。该字段与 BearingTol 字段结合使用。 方位角数据通常会从配有 GPS 接收器的移动设备自动发送。如果正在加载移动输入位置(例如行人或车辆),请尝试包括方位角数据。 使用该字段可以防止将位置添加到错误的边上,例如,车辆刚好在交叉路口或天桥附近时。方位角也可帮助工具确定点在街道的哪一边上。 BearingTol 使用 Bearing 字段在边上定位移动点时,方位角容差值将创建一个可接受方位角值的范围。如果 Bearing 字段中的值在可接受值范围(由边上的方位角容差生成)内,则可以将该点作为网络位置添加在此处,否则,将计算下一个最近边上的最近点。 单位为度,默认值为 30。值必须大于 0 且小于 180。值为 30 表示,Network Analyst 尝试在边上添加网络位置时,在边的每一侧(左侧和右侧)的两个数字化方向上都将生成一个 15 度的可接受方位角值。 NavLatency 如果 Bearing 和 BearingTol 也具有值,则该字段只在求解过程中使用;但是,即使当 Bearing 和 BearingTol 字段中有值时,NavLatency 值的输入也是可选的。NavLatency 表示 GPS 信息从移动的车辆上发送到服务器以及车辆导航设备接收到处理后路径这两个时刻之间预期要花费的成本。 NavLatency 的单位与阻抗属性的单位相同。 | Feature Set |
Break_Values | 指定为每个设施点生成的服务区面的大小和数量。单位由“中断单位”值决定。 可以设置多个面中断来为每个设施点创建同心服务区。例如,要查找每个设施点的 2 英里、3 英里及 5 英里服务区,请输入 2 3 5,各个数值之间用空格进行分隔,将设置“中断单位”设置为“英里”。所指定中断值的数量没有限制。 最大中断值的大小不能超过 300 分钟或 300 英里(482.80 千米)。当生成详细面时,最大服务区大小限制为 15 分钟和 15 英里(详细面为 24.14 千米)。 | String |
Break_Units | 指定中断值参数的单位。 此参数单位的选择决定了工具通过测量行驶距离还是行驶时间来创建服务区。选择时间单位以测量行驶时间。要测量行驶距离,则请选择距离单位。选择的单位还确定工具在结果中报告总行驶时间或距离时采用的单位。 具体选项如下:
| String |
Analysis_Region (可选) | 将在其中执行分析的区域。如果未对此参数指定值,工具会基于输入点的位置自动计算区域名称。仅当自动检测的区域名称输入不准确时,才需要设置区域名称。 要指定区域,请使用以下值之一:
旧版本:不再支持以下区域名称,且将在未来版本中删除这些名称。如果您指定了任一已弃用的区域名称,则工具会自动为您所在的区域分配支持的区域名称。
| String |
Travel_Direction (可选) | 指定用于生成服务区面的行程方向是朝向还是远离设施点。
行程方向可以改变面的形状,因为街道两侧的阻抗可能不同,或者可能存在单向约束,例如单行道。方向的选择取决于服务区分析的特性。例如,应该在远离设施点的方向上创建比萨外卖店的服务区,而医院的服务区应该创建在朝向设施点的方向上。 | String |
Time_of_Day | 离开或到达设施点的时间。对该值的解释取决于行驶方向是朝向设施点还是远离设施点。
可以使用时间的时区参数指定该时间和日期是参考 UTC 还是设施点或事件点所在时区。 重复解决相同的分析问题,但使用不同的时间参数值,这样您就会看到设施点的到达时间随时间的变化。例如,消防站周围的 5 分钟服务区在大清早时可能变得大一点,而在早高峰期消失,上午晚些时候服务区又扩大,并在一天中都保持这样。 | Date |
Use_Hierarchy | 指定是否将在查找设施点和事件点之间的最佳路径时使用等级。
无论是否选中应用等级参数 (True),当最大中断值超过 240 分钟或 240 英里(386.24 千米)时,将始终使用等级。 | Boolean |
UTurn_at_Junctions (可选) | 指定是限制还是允许服务区在交汇点处 U 形转弯。为理解这些参数值,请考虑下列术语:交汇点是在路段的尽头且可能与其他一条或多条路段相连的点;伪交汇点是指两条街道确实在此处相连的点;交叉点是指三条或更多街道在此处相连的点;死角是指一条不与其他路段相连的路段的尽头。
| String |
Polygons_for_Multiple_Facilities (可选) | 指定当分析中存在多个设施点时生成服务区面的方式。
在使用“叠置”或“非叠置”时,输入设施点的所有字段都包含在输出面中(输入 ObjectID 字段中的值传递到输出面的 FacilityOID 字段这种情况除外)。按中断值合并时 FacilityOID 字段为空,输入字段不包含在输出中。 | String |
Polygon_Overlap_Type (可选) | 指定是否将同心服务区面创建为圆盘或圆环。仅当为这些设施点指定多个中断值时,此选项才可用。
| String |
Detailed_Polygons (可选) | 旧版本:不推荐使用此参数。要生成详细面,请将面细节参数值设置为高。 指定是要创建详细面还是概化面。
仅当中断值参数内指定的最大值小于或等于 15 分钟或 15 英里(详细面为 24.14 千米)时,工具支持生成详细面。 | Boolean |
Polygon_Trim_Distance (可选) | 将对服务区面进行修剪的距离范围。当您在街道网络稀疏的地点查找服务区且不需要服务区覆盖大片没有街道要素的区域时,此选项很有用。 默认值是 100 米。此参数没有值或值为 0 时,会指定将不对服务区面进行修剪。使用等级时,将忽略此参数值。 | Linear Unit |
Polygon_Simplification_Tolerance | 要对面几何进行简化的程度。 简化仍将保留面的关键折点,以定义面的基本形状和移除其他折点。所指定的简化距离为简化面边界可偏离原始面边界的最大偏移。对面进行简化将减少折点的数量,并且往往能够减少绘制时间。 | Linear Unit |
Point_Barriers (可选) | 使用此参数可指定一个或多个点作为临时限制,或表示在基础街道上行驶可能需要的附加时间或距离。例如,点障碍可用来显示一棵沿街倒下的树或是铁路道口上的时间延迟。 工具限制了可添加为障碍的点不得超过 250 个。 指定点障碍后,可通过使用以下属性为每个事件点设置属性,例如其名称或障碍类型: Name 障碍的名称。 BarrierType 指定点障碍是完全限制通行还是增加通过障碍时的时间或距离。此特性值可指定为以下整数之一(请使用数值代码而非括号中的名称):
Additional_Time 穿越障碍时增加的行驶时间。此字段仅适用于增加成本型障碍。 此字段的值必须大于或等于零,并且其单位与 测量单位参数中指定的单位相同。 Additional_Distance 穿越障碍时增加的距离。此字段仅适用于增加成本型障碍。 该字段的值必须大于或等于零,并且其单位与 测量单位参数中指定的单位相同。 Additional_Cost 穿越障碍时增加的成本。此字段仅适用于增加成本型障碍。 FullEdge 指定分析期间如何将限制点障碍应用于边元素。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
CurbApproach 指定受障碍影响的行驶方向。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
由于交汇点是点且不分左右侧,所以无论路边通道如何设置,交汇点上的障碍都会影响所有车辆。 CurbApproach 属性将使用以下两种国家驾驶标准:右侧通行(美国)和左侧通行(英国)。首先,考虑位于车辆左侧的设施点。不管车辆行驶在左车道还是右车道,停靠点始终位于车辆的左侧。不同国家的驾驶标准可能会要求您从这两种方向中的其中一个接近设施点,也就是说,只能从车辆的右侧或左侧接近设施点。例如,要到达一个设施点并且在车辆与设施点之间不存在其他交通车道,应在美国请选择 1(车辆的右侧),而在英国请选择 2(车辆的左侧)。 Bearing 点移动的方向。单位为度,并且从正北方向开始顺时针进行测量。该字段与 BearingTol 字段结合使用。 方位角数据通常会从配有 GPS 接收器的移动设备自动发送。如果正在加载移动输入位置(例如行人或车辆),请尝试包括方位角数据。 使用该字段可以防止将位置添加到错误的边上,例如,车辆刚好在交叉路口或天桥附近时。方位角也可帮助工具确定点在街道的哪一边上。 BearingTol 使用 Bearing 字段在边上定位移动点时,方位角容差值将创建一个可接受方位角值的范围。如果 Bearing 字段中的值在可接受值范围(由边上的方位角容差生成)内,则可以将该点作为网络位置添加在此处,否则,将计算下一个最近边上的最近点。 单位为度,默认值为 30。值必须大于 0 且小于 180。值为 30 表示,Network Analyst 尝试在边上添加网络位置时,在边的每一侧(左侧和右侧)的两个数字化方向上都将生成一个 15 度的可接受方位角值。 NavLatency 如果 Bearing 和 BearingTol 也具有值,则该字段只在求解过程中使用;但是,即使当 Bearing 和 BearingTol 字段中有值时,NavLatency 值的输入也是可选的。NavLatency 表示 GPS 信息从移动的车辆上发送到服务器以及车辆导航设备接收到处理后路径这两个时刻之间预期要花费的成本。 NavLatency 的单位与阻抗属性的单位相同。 | Feature Set |
Line_Barriers (可选) | 使用此参数可指定一条或多条线,用于禁止在线与街道相交的位置通行。例如,线障碍可用于对阻塞若干个路段交通的游行或抗议队伍进行建模。线障碍还可用于快速隔离多条道路使其禁止被穿越,从而在可能的路径中去除不符合要求的街道网络部分。 该工具限制了您可以使用线障碍参数限制的街道数量。可指定为线障碍的线数没有限制时,所有线的相交街道的合并数不能超过 500。 指定线障碍时,可以使用以下属性为每个障碍设置名称和障碍类型属性: Name 障碍的名称。 | Feature Set |
Polygon_Barriers (可选) | 使用此参数可指定面,用于完全限制通行或按比例调整行驶在面相交的街道上所需的行驶时间或距离。 该服务限制了您可以使用面障碍参数限制的街道数量。可指定为面障碍的面数没有限制时,所有面的相交街道的合并数不能超过 2,000。 指定面障碍时,可通过使用以下属性为每个面障碍设置属性,例如名称或障碍类型: Name 障碍的名称。 BarrierType 指定障碍是完全禁止通行还是按比例调整穿过成本(例如时间或距离)。该字段值可指定为以下整数之一(请使用数值代码而非括号中的名称):
ScaledTimeFactor 它是与障碍相交街道的行驶时间要乘以的因子。该字段值必须大于零。 此字段仅适用于增加成本型障碍。 ScaledDistanceFactor 它是与障碍相交街道的距离要乘以的因子。该字段值必须大于零。 此字段仅适用于增加成本型障碍。 ScaledCostFactor 它是与障碍相交街道的成本要乘以的因子。该字段值必须大于零。 此字段仅适用于增加成本型障碍。 | Feature Set |
Restrictions [Restrictions,...] (可选) | 在确定服务区时工具应使用的行驶限制。 限制表示行驶偏好或要求。大多数情况下,限制条件会导致道路禁行。例如,使用“避开收费公路”限制的结果是,仅在访问某一事件点或设施点需要借道收费公路时,才会生成一条包含该收费公路的路径。高度限制则使您可以绕开低于车辆高度的间隙。如果车辆上装载着腐蚀性物质,使用“禁止任何危险物品”限制可以防止在标记着运输腐蚀性材料为非法行为的路上运输这些材料。 注:除非将出行模式设置为自定义,否则会忽略您为此参数提供的值。 注:某些限制需要指定一个额外值以供它们使用。该值必须与限制名称和用于限制的特定参数相关联。如果在属性参数值参数中的 AttributeName 列显示限制名称,则可识别限制。发现可穿越道路时,为了正确使用限制,应在属性参数值参数中指定 ParameterValue 字段。 注:有些限制仅适用于某些国家/地区;下表按区域显示了这些限制的可用性。关于在某区域内可用性有限的限制,通过在网络分析覆盖范围上查看“国家/地区列表”部分中的表,可以确定该限制在特定国家/地区是否可用。如果一个国家/地区具有 Logistics Attribute 列的 Yes 值,则该国家/地区支持具有区域可选性的限制。如果您指定的限制名称在事件点所在的国家/地区不可用,该服务会忽略无效限制。该服务还会忽略约束条件用法属性参数值为 0 到 1(请参阅属性参数值参数)时的约束条件。它会禁止约束条件用法参数值大于 0 时的所有约束条件。 该工具支持以下约束条件:
| String |
Attribute_Parameter_Values (可选) | 使用此参数可指定属性或限制条件所需的其他值,例如,指定限制对在受限道路上行驶是禁止、避免还是首选。如果该限制要避免或首选道路,您可以使用此参数进一步指定要避免或首选的程度。例如,您可以选择从不使用收费公路,尽可能的避开它们,或倾向于它们。 注:除非将出行模式设置为自定义,否则会忽略您为此参数提供的值。 如果指定了要素类的属性参数值参数,则要素类上的字段名称必须与如下所示字段相匹配:
属性参数值参数取决于限制参数。仅当限制名称指定为限制参数值时,ParameterValue 字段 才可用。 在属性参数值中,每个限制(以 AttributeName 形式列出)具有一个 ParameterName 字段值,指定限制的行程是禁止、避免还是首选的限制用法与道路选择避免或首选的限制和程度相关联。可为限制用法 ParameterName 分配下列字符串值,或在括号内列出等效数值:
大多数情况下,如果约束条件取决于车辆特征(如车辆高度),则可以使用默认值 PROHIBITED 作为“约束条件用法”值。但是在某些情况下,“限制用法”的值取决于您的路径偏好。例如,“避开收费公路”限制具有“限制用法”属性的默认值 AVOID_MEDIUM。这表示在使用限制时,在可能的情况下工具会试图绕开收费公路。AVOID_MEDIUM 也表示查找最佳路径时避开收费公路的重要性,即优先级为中等。选择 AVOID_LOW 会降低避开收费公路的重要性;而选择 AVOID_HIGH 则会增加其重要性,因此服务为避开收费公路而生成更长的路径时更容易为人所接受。选择 PROHIBITED 则会完全不允许在收费公路上行驶,因此路径不可能经过收费公路的所有部分。但是请注意,避开或禁止收费公路并由此避开公路通行费只是一部分人的目的。对另外一部分人来说,因为避开拥堵的交通比交一些公路通行费更为重要,会宁愿走收费公路。在后一种情况中,您可以选择 PREFER_LOW、PREFER_MEDIUM 或 PREFER_HIGH 作为“限制用法”的值。首选的等级越高,工具为了在与限制相关的道路上行驶就会绕行更远的路程。 | Record Set |
Time_Zone_for_Time_of_Day (可选) | 指定时区或时间参数的时区。
无论时间的时区如何设置,当时间为非空值并且多个设施点的面设置为创建合并或非重叠面时,所有设施点必须处于同一时区。 | String |
Travel_Mode (可选) | 用于在分析中建模的交通模式。出行模式在 ArcGIS Online 中进行管理,组织管理员可通过对其进行配置反映组织工作流。您需要指定组织所支持的出行模式名称。 要获取受支持出行模式名称的列表,请使用与访问此工具时使用的相同 GIS 服务器连接,并在实用程序工具箱中运行 GetTravelModes 工具。GetTravelModes 工具会将“支持的出行模式”表添加到应用程序中。可将“支持的出行模式”表中 Travel Mode Name 字段的任何值指定为输入。您还可以将 Travel Mode Settings 字段中的值指定为输入。由于工具不必根据出行模式名称查找设置,因而减少了工具的执行时间。 默认值,自定义,可以使用自定义出行模式参数(在交汇点处 U 形转弯、应用等级、限制、属性参数值和阻抗)配置您自己的出行模式。自定义出行模式参数的默认值对使用汽车的出行方式建模。您还可以选择自定义并设置上述自定义出行模式参数,从而以快速步行速度对行人建模,或以给定高度、重量和特定危险材料货物对卡车建模。您可以尝试不同的设置以获取所需的分析结果。一旦确定了分析设置,则可使用组织管理员身份并将这些设置保存为新建或现有出行模式的一部分,以便您组织中的所有人均运行相同设置的分析。 警告:选择自定义后,您为自定义出行模式参数设置的值便会包含在分析中。指定您组织定义的其他出行模式,将忽略为自定义出行模式参数设置的所有值;该工具将用您所指定的出行模式中的值将其覆盖。 | String |
Impedance (可选) | 指定阻抗,其值表示沿交通网络的路段或其他部分行进所需的精力或成本。 行程时间是一种阻抗,比如,汽车花费 1 分钟沿空无一人的道路行驶一公里。行程时间会随出行模式的不同而不同(行人可能需要 20 多分钟才能走完一公里),所以在建模时为出行模式选择正确的阻抗非常重要。 行程距离也是一种阻抗,可将以千米表示的道路长度作为阻抗。从这个意义上,行程距离对所有模式均相同,即对行人而言 1 千米的距离对汽车而言也是 1 千米。(但不同模式所允许行进的线路可能会有变化,而这会影响两点间的距离,可通过出行模式设置对此进行建模。) 警告:除非将出行模式设置为自定义(这是默认值),否则会忽略您为此参数提供的值。
如果选择基于时间的阻抗(例如 TravelTime、TruckTravelTime、Minutes、TruckMinutes 或 WalkTime),则必须将中断单位参数设置为基于时间的值;如果您选择基于距离的阻抗(例如 Miles 或 Kilometers),则中断单位必须基于距离。 旧版本:不再支持行驶时间、卡车时间、步行时间和行驶距离阻抗值,且将在未来版本中删除。如果您使用上述任一值,则工具将为基于时间的值使用时间阻抗参数,为基于距离的值使用距离阻抗参数。 | String |
Save_Output_Network_Analysis_Layer (可选) | 指定是否将分析设置保存为网络分析图层文件。即使在 ArcGIS Desktop 应用程序(例如 ArcMap)中打开文件,仍然无法直接使用此文件。需要将其发送至 Esri 技术支持以诊断工具所返回结果的质量。
| Boolean |
Overrides (可选) | 求解网络分析问题时可影响求解程序行为的其他设置。 必须在 JavaScript 对象表示法 (JSON) 中指定此参数的值。例如,有效值的格式如下:{"overrideSetting1" : "value1", "overrideSetting2" : "value2"}。覆盖设置名称始终以双引号括起。该值可以是数字、布尔值或字符串。 此参数的默认值为无值,表示不覆盖任何求解程序设置。 覆盖是高级设置,应仅在谨慎分析应用设置前后得到的结果之后使用。要获得每个求解程序支持的覆盖设置及其可接受值的列表,请联系 Esri 技术支持。 | String |
Time_Impedance (可选) | 基于时间的阻抗是用于表示沿交通网络的路段或其他部分行进所需出行时间的值。 注:如果使用阻抗参数指定的出行模式阻抗是基于时间的,则时间阻抗和阻抗参数的值必须相同。否则,服务将返回错误。
| String |
Distance_Impedance (可选) | 基于距离的阻抗是用于表示沿交通网络的路段或其他部分行进所需出行时间的值。 注:如果使用阻抗参数指定的出行模式阻抗是基于距离的,则距离阻抗和阻抗参数的值必须相同。否则,服务将返回错误。
| String |
Polygon_Detail (可选) | 指定输出面的细节层次。
如果分析涉及的市区具有类似格网的街道网络,那么概化面和标准面之间的差异十分细微。但是,如果涉及山区和农村道路,那么标准面表示的结果可能要比概化面更加详细。 仅当中断值参数内指定的最大值小于或等于 15 分钟或 15 英里(详细面为 24.14 千米)时,工具支持生成高精度面。 | String |
Output_Type (可选) | 指定要生成的输出类型。服务区输出可以是超过中断值前表示可到达道路的线要素,也可以是包括这些线的面要素(表示可达到的区域)。
| String |
Output_Format (可选) | 指定创建输出要素的格式。
如果指定文件基于输出格式(如 JSON 文件或 GeoJSON 文件),则不会向显示添加输出,因为应用程序(例如 ArcMap 或 ArcGIS Pro)无法绘制结果文件的内容。相反,结果文件将下载到计算机上的临时目录中。在 ArcGIS Pro 中,可以通过查看输出结果文件参数的值来确定已下载文件的位置,该参数位于与工程地理处理历史中的工具执行相对应的条目中。在 ArcMap 中,可以通过访问输出结果文件参数上的快捷菜单中的复制位置选项来确定文件的位置,该参数位于与地理处理结果窗口中的工具执行对应的条目中。 | String |
派生输出
名称 | 说明 | 数据类型 |
Service_Areas | 将提供对面要素的访问权限,这些面要素表示在给定的行驶时间、行驶距离或行程成本范围内可从输入位置到达的区域。 | 要素集 |
Solve_Succeeded | 用于确定求解服务区分析是否成功。 | 布尔型 |
Output_Network_Analysis_Layer | 网络分析图层可用于在地图中进行进一步分析或调试,其属性可在工具参数中配置。 | 文件 |
Output_Facilities | 将提供对服务区分析中使用的设施点属性的访问权限。您可以使用此数据类型中的属性,例如 Status字段,来确定分析中未使用设施点的原因。 | 要素集 |
Output_Service_Area_Lines | 将生成的服务区存储为线状要素,并覆盖能够在给定时间、距离或其他行程成本中断内到达的街道或网络边。由于服务区分析以沿网络线的测量结果为基础,因此线可以比面更真实地表示服务区。 | 要素集 |
Output_Result_File | 包含分析结果的 .zip(每个输出有一个或多个文件)。单个文件的格式由输出格式参数指定。 | 文件 |
代码示例
以下 Python 脚本演示了如何在脚本中使用 Generate Service Areas 工具。
"""This example shows how to generate 5, 10, 15 minute drive time areas around facilities."""
import sys
import time
import arcpy
# Change the username and password applicable to your own ArcGIS Online account
username = "<your user name>"
password = "<your password>"
sa_service = "https://logistics.arcgis.com/arcgis/services;World/ServiceAreas;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
# Check https://pro.arcgis.com/en/pro-app/arcpy/functions/importtoolbox.htm for
# other ways in which you can specify credentials to connect to a geoprocessing service.
arcpy.ImportToolbox(sa_service)
# Set the variables to call the tool
facilities = "C:/data/Inputs.gdb/Stores"
output_service_areas = "C:/data/Results.gdb/StoreServiceAreas"
# Call the tool
result = arcpy.GenerateServiceAreas_ServiceAreas(facilities, "5 10 15", "Minutes")
arcpy.AddMessage("Running the analysis with result ID: {}".format(result.resultID))
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Store the output drive time polygons to a geodatabase
result.getOutput(0).save(output_service_areas)
以下示例将显示如何使用自定义出行模式来执行服务区分析。
"""This example shows how to perform a service area analysis using a custom travel mode
that models trucks carrying wide load."""
import sys
import time
import json
import arcpy
username = "<your user name>"
password = "<your password>"
sa_service = "https://logistics.arcgis.com/arcgis/services;World/ServiceAreas;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
arcpy.ImportToolbox(sa_service)
# Set the variables to call the tool
facilities = "C:/data/Inputs.gdb/Stores"
output_service_areas = "C:/data/Results.gdb/StoreServiceAreas"
# Change Vehicle Width attribute parameter value to 4.5 (about 15 feet) for the Trucking Time travel mode
# used for the analysis
portal_url = "https://www.arcgis.com"
arcpy.SignInToPortal(portal_url, username, password)
travel_mode_list = arcpy.na.GetTravelModes(portal_url)
tt = travel_mode_list["Trucking Time"]
tt_json = str(tt)
tt_dict = json.loads(tt_json)
tt_dict["restrictionAttributeNames"].append("Width Restriction")
for attr_param in tt_dict["attributeParameterValues"]:
if attr_param['attributeName'] == 'Width Restriction' and attr_param['parameterName'] == 'Vehicle Width (meters)':
attr_param['value'] = 4.5
travel_mode = json.dumps(tt_dict)
# Call the tool
result = arcpy.GenerateServiceAreas_ServiceAreas(facilities, "5 10 15", "Minutes", Travel_Mode=travel_mode)
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Store the output drive time polygons to a geodatabase
result.getOutput(0).save(output_service_areas)