最佳区域连接 (栅格分析)

摘要

在两个或多个输入区域之间计算最佳路径连接。

插图

最佳区域连接工具图示

使用情况

  • 当您登录到已针对 Raster Analysis 配置 ArcGIS Image ServerArcGIS Enterprise 门户时,可以使用此栅格分析门户工具。 工具运行时,ArcGIS Pro 将充当客户端,并且处理将在与 ArcGIS Enterprise 联合的服务器中进行。 门户工具接受来自门户的图层作为输入,并在门户中创建输出。

    输入栅格图层支持来自门户的图层、影像服务的 URI 或 URL 或创建影像服务器图层工具的输出。 输入要素图层可以是来自门户、URI 或要素服务 URL 的图层。 此工具不支持本地栅格数据或图层。 虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。

  • 在栅格中,区域是含有相同值且彼此相连(邻近)的一组像元。 输入区域由栅格识别时,如果有任何区域(具有相同值的像元)由多个区域组成,首先请运行 Spatial Analyst 区域合并工具作为一项预处理步骤,以便向每个区域分配唯一值。 将生成的栅格用作最佳区域连接工具的输入区域。

  • 如果输入区域是栅格且行 ID 的范围很大(即使只有几个区域),则此工具的性能可能会受到负面影响。

  • 当区域输入是要素服务时,区域在执行分析之前从内部转换为栅格。

    栅格的分辨率可以由像元大小环境来控制。 默认情况下,如果未在工具中指定任何其他栅格,分辨率将由输入空间参考中输入要素范围的宽度与高度中的较小值除以 250 来确定。

  • 当区域输入是要素时,ObjectID 字段将用作区域标识符。

  • 输入栅格或要素障碍参数识别的位置或输入成本栅格参数中具有 NoData 的像元位置将充当障碍。

  • 默认的处理范围与输入成本栅格(如已提供)的范围相同;否则,系统会将其设置为输入区域的范围。

  • 如果成本栅格值为负值或零,则该值无效,但将被视为较小的正值。 累积成本算法是一个相乘的过程,如果成本值为负或零,则无法正确计算累积成本。 如果成本栅格包含这些值,并且这些位置表示要从分析中排除的区域,则在运行工具之前,将这些像元更改为 NoData。 可以使用 ArcGIS Spatial Analyst 扩展模块设为空函数工具来执行此操作。 NoData 值在此分析中会被视为障碍,因此所有输入为 NoData 的位置在结果中都将为 NoData。

  • 对于输出相邻连接线名称参数,如果未指定成本表面,则通过欧式距离来识别相邻要素,而区域中的最近邻域为距离最近的相邻要素。 但是,当提供成本表面时,可以通过成本距离来识别相邻要素,而区域中的最近邻域为行驶成本最低的相邻要素。 执行成本分配操作的目的是识别出那些彼此相邻的区域。

  • 分析掩膜环境可以设置为要素或栅格数据集。 如果掩膜为要素,它将被转换为栅格。 具有值的像元定义了位于掩膜区域内的位置。 NoData 像元定义了位于掩膜区域外的位置,并将被视为障碍

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格或要素区域

要通过最佳网络连接的输入区域。

区域可以通过栅格或要素数据来定义。

如果区域输入为栅格,则区域将通过值相同的连续(邻近)像元组进行定义。 每个区域必须具有唯一的编号。 不属于任何区域的像元一定是 NoData。 栅格类型必须为整型,值可正可负。

如果区域输入为要素数据,则其可以是面、线或点。 面要素区域不能包含多部分面。

Raster Layer; Image Service; Feature Layer; String
输出最佳连接线名称

连接每个输入区域的输出线要素服务的名称。

每条路径(或线)都是唯一标识的,同时属性表中的其他字段用于存储有关路径的特定信息。 这些其他字段包括:

  • PATHID- 路径的唯一标识符
  • PATHCOST- 路径的总累积距离或成本
  • REGION1- 该路径连接的第一个区域
  • REGION2- 该路径连接的另一个区域

该信息有助于深入分析网络内的路径。

由于每条路径都是由唯一的线所表示,因此多条路径经过同一路线的位置会存在多条线。

String
输入栅格和要素障碍
(可选)

定义障碍的数据集。

可通过整型或浮点型图像服务或要素服务来定义障碍。 对于要素服务,输入类型可以为点、线或面。

对于图像服务障碍,该障碍必须具有有效值(包括零),并且非障碍区域必须为 NoData。

Raster Layer; Image Service; Feature Layer; String
输入成本栅格

定义以平面测量方式经过每个像元的成本或阻抗的栅格。

每个像元位置上的值表示经过像元时移动每单位距离所需的成本。 每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。

成本栅格的值可以是整型或浮点型。 如果成本栅格值为负值或零,则该值无效,但将被视为较小的正成本值。

Raster Layer; Image Service; String
输出相邻连接线名称
(可选)

该输出折线要素类用于标识从每个区域到其每个最近或成本邻域的所有路径。

每条路径(或线)都是唯一标识的,同时属性表中的其他字段用于存储有关路径的特定信息。 这些其他字段包括:

  • PATHID- 路径的唯一标识符
  • PATHCOST- 路径的总累积距离或成本
  • REGION1- 该路径连接的第一个区域
  • REGION2- 该路径连接的另一个区域

该信息有助于深入分析网络内的路径,而且对于决定应该移除哪条路径非常有用(如有必要)。

由于每条路径都是由唯一的线所表示,因此多条路径经过同一路线的位置会存在多条线。

String
距离法
(可选)

指定是否使用平面(平地)或测地线(椭球)方法计算距离。

  • 平面将使用 2D 笛卡尔坐标系对投影平面执行距离计算。 这是默认设置。
  • 测地线距离计算将在椭圆体上执行。 无论输入或输出投影,结果均不会改变。
String
区域内的连接
(可选)

指定路径是否将在输入区域内继续并连接。

  • 生成连接路径将在输入区域内继续以连接进入区域的所有路径。
  • 无连接路径将在输入区域的边缘停止,并且不会在输入区域内继续或连接。
String

派生输出

标注说明数据类型
输出最佳连接线

最佳连接区域的线。

Feature Class
输出邻近连接线

输出相邻连接要素。

Feature Class

arcpy.ra.OptimalRegionConnections(inputRegionRasterOrFeatures, outputOptimalLinesName, {inputBarrierRasterOrFeatures}, inputCostRaster, {outputNeighborConnectionsName}, {distanceMethod}, {connectionsWithinRegions})
名称说明数据类型
inputRegionRasterOrFeatures

要通过最佳网络连接的输入区域。

区域可以通过栅格或要素数据来定义。

如果区域输入为栅格,则区域将通过值相同的连续(邻近)像元组进行定义。 每个区域必须具有唯一的编号。 不属于任何区域的像元一定是 NoData。 栅格类型必须为整型,值可正可负。

如果区域输入为要素数据,则其可以是面、线或点。 面要素区域不能包含多部分面。

Raster Layer; Image Service; Feature Layer; String
outputOptimalLinesName

连接每个输入区域的输出线要素服务的名称。

每条路径(或线)都是唯一标识的,同时属性表中的其他字段用于存储有关路径的特定信息。 这些其他字段包括:

  • PATHID- 路径的唯一标识符
  • PATHCOST- 路径的总累积距离或成本
  • REGION1- 该路径连接的第一个区域
  • REGION2- 该路径连接的另一个区域

该信息有助于深入分析网络内的路径。

由于每条路径都是由唯一的线所表示,因此多条路径经过同一路线的位置会存在多条线。

String
inputBarrierRasterOrFeatures
(可选)

定义障碍的数据集。

可通过整型或浮点型图像服务或要素服务来定义障碍。 对于要素服务,输入类型可以为点、线或面。

对于图像服务障碍,该障碍必须具有有效值(包括零),并且非障碍区域必须为 NoData。

Raster Layer; Image Service; Feature Layer; String
inputCostRaster

定义以平面测量方式经过每个像元的成本或阻抗的栅格。

每个像元位置上的值表示经过像元时移动每单位距离所需的成本。 每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。

成本栅格的值可以是整型或浮点型。 如果成本栅格值为负值或零,则该值无效,但将被视为较小的正成本值。

Raster Layer; Image Service; String
outputNeighborConnectionsName
(可选)

该输出折线要素类用于标识从每个区域到其每个最近或成本邻域的所有路径。

每条路径(或线)都是唯一标识的,同时属性表中的其他字段用于存储有关路径的特定信息。 这些其他字段包括:

  • PATHID- 路径的唯一标识符
  • PATHCOST- 路径的总累积距离或成本
  • REGION1- 该路径连接的第一个区域
  • REGION2- 该路径连接的另一个区域

该信息有助于深入分析网络内的路径,而且对于决定应该移除哪条路径非常有用(如有必要)。

由于每条路径都是由唯一的线所表示,因此多条路径经过同一路线的位置会存在多条线。

String
distanceMethod
(可选)

指定是否使用平面(平地)或测地线(椭球)方法计算距离。

  • PLANAR将使用 2D 笛卡尔坐标系对投影平面执行距离计算。 这是默认设置。
  • GEODESIC距离计算将在椭圆体上执行。 无论输入或输出投影,结果均不会改变。
String
connectionsWithinRegions
(可选)

指定路径是否将在输入区域内继续并连接。

  • GENERATE_CONNECTIONS路径将在输入区域内继续以连接进入区域的所有路径。
  • NO_CONNECTIONS路径将在输入区域的边缘停止,并且不会在输入区域内继续或连接。
String

派生输出

名称说明数据类型
outputOptimalLinesFeatures

最佳连接区域的线。

Feature Class
outputNeighborConnectionFeatures

输出相邻连接要素。

Feature Class

代码示例

最佳区域连接示例 1(Python 窗口)

本示例计算区域之间的最佳连接。

import arcpy

arcpy.ra.OptimalRegionConnections(
    "https://myserver/rest/services/regions/ImageServer", "outOptimalConnections",
    "https://myserver/rest/services/barriers/ImageServer",
    "https://myserver/rest/services/cost/ImageServer",
    "outNeighborConnections")
最佳区域连接示例 2(独立脚本)

本示例计算区域之间的最佳连接。

#-------------------------------------------------------------------------------
# Name: OptimalRegionConnections_Ex_02.py
# Description: Calculates the optimal connections between regions.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputRegionsLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/regions/ImageServer'
outputName = 'outOptimalConnections'
inputBarriersLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/barriers/ImageServer'
inputCostLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer'
outputName02 = 'outNeighborConnections'
distanceMethod = 'GEODESIC'
connectionsWithinRegions = 'GENERATE_CONNECTIONS' 

arcpy.ra.OptimalRegionConnections(inputRegionsLayer, outputName, inputBarriersLayer,
                                  inputCostLayer, outputName02, distanceMethod,connectionsWithinRegions)

许可信息

  • Basic: 需要 ArcGIS Image Server
  • Standard: 需要 ArcGIS Image Server
  • Advanced: 需要 ArcGIS Image Server

相关主题