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

描述

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

插图

“最佳区域连接”工具图示

使用方法

  • 此栅格分析门户工具将在您登录到 ArcGIS Enterprise “了解 ArcGIS Enterprise 门户中的分析”链接 时可用,其中门户包含一个 ArcGIS Image Server “什么是 ArcGIS Image Server”链接,此链接专为 Raster Analysis “配置和部署栅格分析”链接 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。

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

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

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

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

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

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

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

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

  • 输入成本栅格不能包含零值,因为该算法是乘法过程。如果成本栅格中的确包含表示成本最低区域的值零,那么请在运行此工具前将这些像元更改为某个较小的正值(如 0.01)。

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

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

语法

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

最佳连接区域的线。

要素类
outputNeighborConnectionFeatures

输出相邻连接要素。

要素类

代码示例

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

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

import arcpy

arcpy.OptimalRegionConnections_ra(
    "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.OptimalRegionConnections_ra(inputRegionsLayer, outputName, inputBarriersLayer,
                                  inputCostLayer, outputName02, distanceMethod,connectionsWithinRegions)

许可信息

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

相关主题