Compute Block Adjustment (Reality Mapping)

Summary

Computes 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 the Transformation Type value is set to RPC or Frame.

  • Many Adjustment Options parameter options are available to optimize the block adjustment solution when the Transformation Type parameter is specified as Frame. See the available settings for the Adjustment Options parameter.

Parameters

LabelExplanationData Type
Input Mosaic Dataset

The input mosaic dataset that will be adjusted.

Mosaic Layer; Mosaic Dataset
Input Control Points

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

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

Feature Layer
Transformation Type

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

  • Zero-order polynomialA zero-order polynomial will be used in the block adjustment computation. This is commonly used when the data is in flat area.
  • First-order polynomialA first-order polynomial (affine) will be used in the block adjustment computation. This is the default.
  • Rational Polynomial CoefficientsThe rational polynomial coefficients (RPCs) will be used for the transformation. This is used for satellite imagery that contains RPC information in the metadata. This option requires the ArcGIS Desktop Advanced license.
  • Frame camera modelThe Frame camera model will be used for the transformation. This is used for aerial imagery that contains the frame camera information in the metadata. This option requires the ArcGIS Desktop Advanced license.
String
Output Solution Table

The output solution table containing the adjustments.

Table
Output Solution Points
(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
(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 Zero-order polynomial, First-order polynomial, or Frame camera model. If the transformation type is Rational Polynomial Coefficients, the proper threshold for eliminating invalid points will be automatically determined.

When the transformation type is Zero-order polynomial or First-order polynomial, the units for this parameter will be map units, and the default value will be 2.

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

Double
Adjustment Options
(Optional)

Additional options that will be used to fine-tune the adjustment computation. To set an option, type the keyword and the corresponding value in the list box.

  • Minimum residual valueThe minimum residual value, which is the lower threshold value, will be used. When the transformation type is Zero-order polynomial or First-order polynomial, the units will be map units and the default minimum residual value will be 0. The minimum residual value and the Maximum Residual parameter value are used in detecting and removing points that generate large errors from the block adjustment computation.
  • Maximum residual factorThe maximum residual factor will be used to generate the maximum (upper threshold) residual value if the Maximum Residual parameter is not defined. In this case, MaxResidualFactor * RMS will be used to calculate the upper threshold value.The minimum residual value and the Maximum Residual parameter value are used in detecting and remove points that generate large errors from block adjustment computation.
Value Table
Image Location Accuracy
(Optional)

Specifies the geometric accuracy level of the images.

This parameter is only active if the Transformation Type parameter is specified as Rational Polynomial Coefficients.

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 options do not require additional estimation processing.

  • High accuracyThe accuracy will be 30 meters or less.
  • Medium accuracyThe accuracy will be between 31 meters and 100 meters. This is the default.
  • Low accuracyThe accuracy will be more than 100 meters.
  • Very High accuracyThe imagery was collected with a high-accuracy, differential GPS, such as RTK or PPK. This option will keep image locations fixed during block adjustment.
String
Output Adjustment Quality Table
(Optional)

An output table used to store adjustment quality information.

This parameter is only active if the Transformation Type parameter is specified as Rational Polynomial Coefficients.

Table
Refine by DEM
(Optional)

An input DEM from which elevations will be sampled as ground control points for refining the geometric accuracy of the image network in the adjustment.

The parameter is only active when the Transformation Type parameter is specified as Frame camera model.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer
Elevation Accuracy of DEM
(Optional)

The elevation accuracy of the input DEM. The accuracy value will be used as a weight for the sampled ground control points in the adjustment.

The parameter is only active when the Transformation Type parameter is specified as Frame camera model.

Double

arcpy.rm.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}, {DEM}, {elevation_accuracy})
NameExplanationData 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 feature class is usually the output from the Compute Tie Points tool.

Feature Layer
transformation_type

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

  • POLYORDER0A zero-order polynomial will be used in the block adjustment computation. This is commonly used when the data is in flat area.
  • POLYORDER1A first-order polynomial (affine) will be used in the block adjustment computation. This is the default.
  • RPCThe rational polynomial coefficients (RPCs) will be used for the transformation. This is used for satellite imagery that contains RPC information in 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 in 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 type is RPC, the proper threshold for eliminating invalid points will be automatically determined.

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

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

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

Additional options that will be used to fine-tune the adjustment computation.

  • MinResidualThe minimum residual value, which is the lower threshold value, will be used. When the transformation type is POLYORDER0 or POLYORDER1, the units will be map units and the default minimum residual value will be 0. The minimum residual value and the maximum_residual_value parameter value are used in detecting and removing points that generate large errors from the block adjustment computation.
  • MaxResidualFactorThe maximum residual factor will be used to generate the maximum (upper threshold) residual value if the maximum_residual-value parameter is not defined. In this case, MaxResidualFactor * RMS will be used to calculate the upper threshold value.The minimum residual value and the maximum_residual_factor parameter value are used in detecting and removing points that generate large errors from block adjustment computation.

Additional options for the adjustment engine are listed below when you select Frame for the Transformation Type. The specifications of many of the options are supplied by the data provider.

The options include the following:

  • CalibrateF—Calibrate the sensor's focal length for use in the block adjustment. Assign a value of 1 for focal length calibration, or 0 for no calibration. The default is 0.
  • CalibratePP—Calibrate the principle point in the block adjustment. Assign a value of 1 for calibration or 0 for no calibration. The default is 0.
  • CalibrateP—Calibrate for radial distortion parameters in the block adjustment. Assign a value of 1 for calibration or 0 for no calibration. The default is 0.
  • CalibrateK—Calibrate for tangential distortion parameters in the block adjustment. Assign a value of 1 for calibration or 0 for no calibration. The default is 0.

Note:
Calibration parameters, such as perspective data, are usually provided for most professional digital aerial cameras, such as UltraCam or DMC. The calibration options can be 0 if camera calibration parameters are prepared in the camera table.

  • APrioriAccuracyX—Include the accuracy of the x-coordinate provided by the airborne Position Orientation System. The units must match PerspectiveX. If the value is set to 0, the x-coordinate of the image location is not adjusted in adjustment. This is not recommended for most UAV data.
  • APrioriAccuracyY—Include the accuracy of the y-coordinate provided by the airborne Position Orientation System. The units must match PerspectiveY. If the value is set to 0, the y-coordinate of the image location is not adjusted in adjustment. This is not recommended for most UAV data.
  • APrioriAccuracyZ—Include the accuracy of the z-coordinate provided by the airborne Position Orientation System. The units must match PerspectiveZ. If the value is set to 0, the z-coordinate of the image location is not adjusted in adjustment. This is not recommended for most UAV data.
  • APrioriAccuracyXY—Include the accuracy of the planar coordinate provided by the metadata. The units must match PerspectiveX. If the value is set to 0, planar coordinates (x and y) of the image location are not adjusted in adjustment. This is not recommended for most UAV data.
  • APrioriAccuracyXYZ—Include the accuracy of image location provided by the metadata. The units must match PerspectiveX. If the value is set to 0, the image location is not adjusted in adjustment. This is not recommended for most UAV data.
  • APrioriAccuracyOmega—Include the accuracy of the Omega angle provided by the airborne Position Orientation System. The units are in decimal degrees.
  • APrioriAccuracyPhi—Include the accuracy of the Phi angle provided by the airborne Position Orientation System. The units are in decimal degrees.
  • APrioriAccuracyOmegaPhi—Include the accuracy of the Omega or Phi angle provided by the airborne Position Orientation System. The units are in decimal degrees.
  • APrioriAccuracyKappa—Include the accuracy of the Kappa angle provided by the airborne Position Orientation System. The units are in decimal degrees.
  • ComputeAntennaOffset—Compute the offset between GNSS antenna center and camera projection center in adjustment. Assign a value of 1 for calibration or 0 for no computation. The default is 0.
  • ComputeShift—Compute the GNSS signal shift in flights in bundle adjustment. 0 is not computing. Assign a value of 1 for calibration or 0 for no computation. The default is 0.
  • ComputeImagePosteriorStd—Compute the posterior standard deviation of image location and orientation after adjustment. Assign a value of 1 to compute or 0 for no computation. The default is 1.
  • ComputeSolutionPointPosteriorStd—Compute the posterior standard deviation of solution points after adjustment. Assign a value of 1 to compute or 0 for no computation. The default is 0.

Value Table
location_accuracy
(Optional)

Specifies the geometric accuracy level of the images.

This parameter is only enabled if the transformation_type parameter is specified as RPC.

  • HIGHThe accuracy will be 30 meters or less.
  • MEDIUMThe accuracy will be between 31 meters and 100 meters.
  • LOWThe accuracy will be more than 100 meters.
  • VERY_HIGHThe imagery was collected with a high-accuracy, differential GPS, such as RTK or PPK. This option will keep image locations fixed during block adjustment.

If LOW 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 options do not require additional estimation processing.

String
out_quality_table
(Optional)

An output table used to store adjustment quality information.

This parameter is only enabled if the transformation_type parameter is specified as RPC.

Table
DEM
(Optional)

An input DEM from which elevations will be sampled as ground control points for refining the geometric accuracy of the image network in the adjustment.

The parameter is only enabled when the transformation_type parameter is specified as Frame.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer
elevation_accuracy
(Optional)

The elevation accuracy of the input DEM. The accuracy value will be used as a weight for the sampled ground control points in the adjustment.

The parameter is only enabled when the transformation_type parameter is specified as Frame.

Double

Code sample

ComputeBlockAdjustment example 1 (Python window)

This is a Python sample for the ComputeBlockAdjustment tool.

import arcpy
arcpy.ComputeBlockAdjustment_rm(
     "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_rm(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_rm(mdName, in_controlPoint, 
     "POLYORDER1", out_solutionTable, out_solutionPoint,"0.5", 
     engineOption)

Licensing information

  • Basic: No
  • Standard: Requires ArcGIS Reality for ArcGIS Pro
  • Advanced: Yes

Related topics