计算区域网平差 (数据管理)

描述

此工具用于计算镶嵌数据集的校正。此工具将创建一个可用于应用实际校正的解决方案表。

使用方法

  • 使用 计算连接点工具的输出控制点作为此工具的输入控制点。

  • 此工具的输出解决方案表将用在应用区域网平差工具中。

  • 当您的变换类型RPCFrame 时,要求工具具有 ArcGIS Desktop Advanced 许可。

语法

ComputeBlockAdjustment(in_mosaic_dataset, in_control_points, transformation_type, out_solution_table, {out_solution_point_table}, {maximum_residual_value}, {adjustment_options}, {location_accuracy}, {out_quality_table})
参数说明数据类型
in_mosaic_dataset

要校正的输入镶嵌数据集。

Mosaic Layer; Mosaic Dataset
in_control_points

包含连接点和地面控制点的控制点表。

这通常是计算连接点工具的输出。

Feature Layer
transformation_type

在校正镶嵌数据集时要使用的变换类型。

  • POLYORDER0区域网平差计算采用零阶多项式。该多项式通常用于平坦区域中的数据。
  • POLYORDER1区域网平差计算采用一阶多项式(仿射)。这是默认设置。
  • RPC有理多项式系数将用于变换中。用于在元数据中包含 RPC 信息的卫星影像。该选项要求要有 ArcGIS Desktop Advanced 许可。
  • Frame帧照相机模型将用于变换中。用于在元数据中包含帧照相机信息的航空影像。该选项要求要有 ArcGIS Desktop Advanced 许可。
String
out_solution_table

包含校正的输出解决方案表。

Table
out_solution_point_table
(可选)

输出解决方案点表。该表将保存为面要素类。该输出数据量可能非常大。

Feature Class
maximum_residual_value
(可选)

在区域网平差计算中使用的阈值;残差大于阈值的点不会被使用。当变换类型为 POLYORDER0POLYORDER1Frame 时,将应用此参数。如果变换为 RPC,则将自动确定消除无效点的适当阈值。

当变换为 POLYORDER0POLYORDER1 时,该参数的单位将为地图单位,且默认值为 2。

当变换为 Frame 时,该参数的单位将为像素单位,且默认值为 5。

Double
adjustment_options
[[name, value],...]
(可选)

可用来对校正计算进行调整的附加选项。

  • MinResidual作为阈值下限的最小残差值。多项式变换为 POLYORDER0POLYORDER1 时,该单位将为地图单位,且默认最小残差为 0。最小残差值和最大残差参数用于检测产生严重错误的点,并将这些点从区域网平差计算中移除。
  • MaxResidualFactor最大残差因子用于生成最大(阈值上限)残差。如果未定义最大残差参数,将使用
    MaxResidualFactor * RMS
    来计算阈值上限。最小残差值和最大残差参数用于检测产生严重错误的点,并将这些点从区域网平差计算中移除。
Value Table
location_accuracy
(可选)

指定图像的几何精度级别。

  • HIGH精度小于 30 米。
  • MEDIUM精度介于 31 米到 100 米之间。
  • LOW精度大于 100 米。

如果指定 LOW 精度,则控制点首选将通过初始三角测量改善;然后它将在区域网平差计算中使用。中等精度和高精度不需要任何其他估算处理。

String
out_quality_table
(可选)

用来存储校正质量信息的输出表格。

仅当将 RPC 指定为 transformation_type 时,此参数才有效。

Table

代码示例

ComputeBlockAdjustment 示例 1(Python 窗口)

这是 ComputeBlockAdjustment 工具的 Python 示例。

import arcpy
arcpy.ComputeBlockAdjustment_management(
     "c:/BD/BD.gdb/redQB", "c:/BD/BD.gdb/redQB_tiePoints",
     "POLYORDER1", "c:/BD/BD.gdb/redQB_solution")
ComputeBlockAdjustment 示例 2(独立脚本)

这是 ComputeBlockAdjustment 工具的 Python 脚本示例。

#compute block adjustment, case 2

import arcpy
arcpy.env.workspace = "c:/workspace"

#Compute block adjustment
mdName = "BD.gdb/redlandsQB"
in_controlPoint = "BD.gdb/redlandsQB_tiePoints"
out_solutionTable = "BD.gdb/redlandsQB_solution"

arcpy.ComputeBlockAdjustment_management(mdName, in_controlPoint, 
     "POLYORDER1", out_solutionTable)
ComputeBlockAdjustment 示例 3(独立脚本)

这是 ComputeBlockAdjustment 工具的 Python 脚本示例。

#compute block adjustment, case 3

import arcpy
arcpy.env.workspace = "c:/workspace"

#Compute block adjustment specifying an output point table and 
#an setting an adjustment option
mdName = "BD.gdb/redlandsQB"
in_controlPoint = "BD.gdb/redlandsQB_tiePoints"
out_solutionTable = "BD.gdb/redlandsQB_solution"
out_solutionPoint = "BD.gdb/redlandsQB_solutionPoint"
engineOption = "_BAI c:/workspace/bai.txt; _BAO c:/workspace/bao.txt"

arcpy.ComputeBlockAdjustment_management(mdName, in_controlPoint, 
     "POLYORDER1", out_solutionTable, out_solutionPoint,"0.5", 
     engineOption)

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题