Compute Block Adjustment (Data Management)

Summary

This tool is used to compute the adjustments to the mosaic dataset. This tool will create a solution table that can be used to apply the actual adjustments.

Usage

  • Use the output control points from the Compute Tie Points tool as the input control points for this tool.

  • The output solution table from this tool will be used in the Apply Block Adjustment tool.

  • The tool requires the ArcGIS Desktop Advanced license when your Transformation Type is RPC or Frame.

Syntax

arcpy.management.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})
ParameterExplanationData Type
in_mosaic_dataset

The input mosaic dataset that will be adjusted.

Mosaic Layer; Mosaic Dataset
in_control_points

The control point table that includes tie points and ground control points.

This is usually the output from the Compute Tie Points tool.

Feature Layer
transformation_type

The type of transformation that will be used when adjusting the mosaic dataset.

  • POLYORDER0A zero-order polynomial is used in the block adjustment computation. This is commonly used when your data is in flat area.
  • POLYORDER1A first-order polynomial (affine) is used in the block adjustment computation. This is the default.
  • RPCThe Rational Polynomial Coefficients will be used for the transformation. This is used for satellite imagery that contains RPC information within the metadata. This option requires the ArcGIS Desktop Advanced license.
  • FrameThe Frame camera model will be used for the transformation. This is used for aerial imagery that contains the frame camera information within the metadata. This option requires the ArcGIS Desktop Advanced license.
String
out_solution_table

The output solution table containing the adjustments.

Table
out_solution_point_table
(Optional)

The output solution points table. This will be saved as a polygon feature class. This output can be quite large.

Feature Class
maximum_residual_value
(Optional)

A threshold that is used in block adjustment computation; points with residuals exceeding the threshold will not be used. This parameter applies when the transformation type is POLYORDER0, POLYORDER1, or Frame. If the transformation is RPC, the proper threshold for eliminating invalid points will be automatically determined.

When the transformation is POLYORDER0 or POLYORDER1 the units for this parameter will be in map units, and the default value will be 2.

When the transformation is Frame the units for this parameter will be in pixels, and the default value will be 5.

Double
adjustment_options
[[name, value],...]
(Optional)

Additional options that can fine-tune the adjustment computation.

  • MinResidualThe minimum residual value, which is the lower threshold value. When polynomial transformation is either POLYORDER0 or POLYORDER1, the units will be in map units and the default minimum residual will be 0. The minimum residual value and the maximum residual parameter are used in detecting and removing points that generate large errors from the block adjustment computation.
  • MaxResidualFactorThe maximum residual factor is a factor used to generate maximum (upper threshold) residual. If the Maximum Residual parameter is not defined, it will use the
    MaxResidualFactor * RMS
    to calculate the upper threshold value.The minimum residual value and the maximum residual parameter are used in detecting and removing points that generate large errors from block adjustment computation.
Value Table
location_accuracy
(Optional)

Specifies the geometric accuracy level of the images.

  • HIGHAccuracy is under 30 meters.
  • MEDIUMAccuracy is between 31 meters and 100 meters.
  • LOWAccuracy is higher than 100 meters.

If LOW accuracy is specified, the control points will first be improved by an initial triangulation; then they will be used in the block adjustment calculation. The medium and high accuracy do not require any additional estimation processing.

String
out_quality_table
(Optional)

An output table used to store adjustment quality information.

This parameter is only valid if RPC was specified as the transformation_type.

Table

Code sample

ComputeBlockAdjustment example 1 (Python window)

This is a Python sample for the ComputeBlockAdjustment tool.

import arcpy
arcpy.ComputeBlockAdjustment_management(
     "c:/BD/BD.gdb/redQB", "c:/BD/BD.gdb/redQB_tiePoints",
     "POLYORDER1", "c:/BD/BD.gdb/redQB_solution")
ComputeBlockAdjustment example 2 (stand-alone script)

This is a Python script sample for the ComputeBlockAdjustment tool.

#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 example 3 (stand-alone script)

This is a Python script sample for the ComputeBlockAdjustment tool.

#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)

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics