Label | Explanation | Data 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 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 polynomial—A zero-order polynomial is used in the block adjustment computation. This is commonly used when your data is in flat area.
- First-order polynomial—A first-order polynomial (affine) is used in the block adjustment computation. This is the default.
- Rational Polynomial Coefficients—The 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.
- Frame camera model—The 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 |

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 is Rational Polynomial Coefficients, the proper threshold for eliminating invalid points will be automatically determined. When the transformation is Zero-order polynomial or First-order polynomial the units for this parameter will be in map units, and the default value will be 2. When the transformation is Frame camera model the units for this parameter will be in pixels, and the default value will be 5. | Double |

Adjustment Options
(Optional) | Additional options that can fine-tune the adjustment computation. To set, type the keyword and the corresponding value in the list box. - Minimum residual value—The minimum residual value, which is the lower threshold value. When polynomial transformation is either Zero-order polynomial or First-order polynomial, 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.
- Maximum residual factor—The 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
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.`MaxResidualFactor * RMS`
| Value Table |

Image Location Accuracy
(Optional) | Specifies the geometric accuracy level of the images. This parameter is only valid if Rational Polynomial Coefficients is specified as the Transformation Type value. 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 accuracy—Accuracy is under 30 meters.
- Medium accuracy—Accuracy is between 31 meters and 100 meters. This is the default.
- Low accuracy—Accuracy is higher than 100 meters.
- Very High accuracy—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 valid if Rational Polynomial Coefficients is specified as the Transformation Type value. | Table |

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

## Parameters

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

Name | Explanation | Data 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 | Specifies the type of transformation that will be used when adjusting the mosaic dataset. - POLYORDER0—A zero-order polynomial is used in the block adjustment computation. This is commonly used when your data is in flat area.
- POLYORDER1—A first-order polynomial (affine) is used in the block adjustment computation. This is the default.
- RPC—The 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.
- Frame—The 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. - MinResidual—The 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.
- MaxResidualFactor—The 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
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.`MaxResidualFactor * RMS`
| Value Table |

location_accuracy (Optional) | Specifies the geometric accuracy level of the images. - HIGH—Accuracy is under 30 meters.
- MEDIUM—Accuracy is between 31 meters and 100 meters.
- LOW—Accuracy is higher than 100 meters.
- VERY_HIGH—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 valid if RPC is specified as the transformation_type value. | Table |

### Code sample

This is a Python sample for the ComputeBlockAdjustment function.

```
import arcpy
arcpy.ComputeBlockAdjustment_management(
"c:/BD/BD.gdb/redQB", "c:/BD/BD.gdb/redQB_tiePoints",
"POLYORDER1", "c:/BD/BD.gdb/redQB_solution")
```

This is a Python script sample for the ComputeBlockAdjustment function.

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

This is a Python script sample for the ComputeBlockAdjustment function.

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

## Environments

## Licensing information

- Basic: No
- Standard: Yes
- Advanced: Yes