Build Footprints (Data Management)
Summary
Computes the extent of every raster in a mosaic dataset. This tool is used when you have added or removed raster datasets from a mosaic dataset and want to recompute the footprints.
Usage
-
If there is a selection on the mosaic dataset layer, only those selected footprints will be recalculated.
-
The footprint is used to calculate the boundary. If you modify the shape of the footprints along the perimeter of the mosaic dataset, you need to recalculate the boundary. If you don't choose to use this tool, then you can do it later using the Build Boundary tool.
-
You cannot rebuild footprints for a referenced mosaic dataset.
-
The Approximate Number of Vertices parameter is used to define the complexity of the footprints. The higher the number of vertices will mean the footprint is more accurate and more irregular. Valid values range from 4 to 10,000. You can set your value to be -1 so that no generalization will take place, but this may mean your footprint will have a very large number of vertices.
- The Minimum Region Size, Minimum Thinness Ratio, and Maximum Sliver Size are used to remove holes and slivers in the footprint.
Database fragmentation and frequent data manipulation may increase the size of your mosaic dataset dramatically. If your database size is inflated due to constant transactions, you should run the Compact tool.
Syntax
Parameter | Explanation | Data Type |
in_mosaic_dataset |
The mosaic dataset that contains the raster datasets whose footprints you want to compute. | Mosaic Layer |
where_clause (Optional) |
An SQL expression to select specific raster datasets within the mosaic dataset. | SQL Expression |
reset_footprint (Optional) |
Refine the footprints using one of the following methods:
| Boolean; String |
min_data_value (Optional) |
Exclude pixels with a value less than this number. | Double |
max_data_value (Optional) |
Exclude pixels with a value greater than this number. | Double |
approx_num_vertices (Optional) |
Choose between 4 and 10,000. More vertices will improve accuracy but can extend processing time. A value of -1 will calculate all vertices. More vertices will increase accuracy but also the processing time. | Long |
shrink_distance (Optional) |
Clip the footprint by this distance. This can eliminate artifacts from using lossy compression, which causes the edges of the image to overlap into NoData areas. Shrinking of the polygon is used to counteract effects of lossy compression, which causes edges of the image to overlap into NoData areas. | Double |
maintain_edges (Optional) |
Use this parameter when using raster datasets that have been tiled and are butt joined (or line up along the seams with little to no overlap).
| Boolean |
skip_derived_images (Optional) |
Adjust the footprints of overviews.
| Boolean |
update_boundary (Optional) |
Update the boundary of the mosaic dataset if you have added or removed imagery that changes the extent.
| Boolean |
request_size (Optional) |
Set the resampled extent (in columns and rows) for the raster when building footprints. Greater image resolution provides more detail in the raster dataset but increases the processing time. A value of -1 will compute the footprint at the original resolution. | Long |
min_region_size (Optional) |
Avoid small holes in your imagery when using pixel values to create a mask. For example, your imagery may have a range of values from 0–255, and to mask clouds, you've excluded values from 245–255, which may cause other, non-cloud pixels to be masked as well. If those areas are smaller than the number of pixels specified here, they will not be masked out. | Long |
simplification_method (Optional) | Reduce the number of vertices in the footprint to improve performance.
| String |
edge_tolerance (Optional) |
Snap the footprint to the sheet edge if it is within this tolerance. Units are the same as those in the mosaic dataset coordinate system. This is used when maintain_edges is set to MAINTAIN_EDGES. By default, the value is empty for which the tolerance is computed based on the pixel size corresponding to the requested resampled raster. A value of -1 will compute the tolerance using the average pixel size of the mosaic dataset. | Double |
max_sliver_size (Optional) |
Identify all polygons that are smaller than the square of this value. The value is specified in pixels and is based on the request_size, not the spatial resolution of the source raster. Regions less than the (max_sliver_size)2 and also less than the min_thinness_ratio are considered slivers and will be removed. | Long |
min_thinness_ratio (Optional) | Define the thinness of slivers on a scale from 0–1.0, where 1.0 represents a circle and 0.0 represents a polygon that approaches a straight line. Polygons that are below both the max_sliver_size and min_thinness_ratio will be removed from the footprint. | Double |
Code Sample
This is a Python sample for the BuildFootprints tool.
import arcpy
arcpy.BuildFootprints_management(
"c:/data/Footprints.gdb/md", "#","RADIOMETRY",
"1", "254", "25", "0", "#", "SKIP_DERIVED_IMAGES",
"UPDATE_BOUNDARY", "#", "#", "CONVEX_HULL")
This is a Python script sample for the BuildFootprints tool.
# Build Footprint by setting the valid pixel value range from 1 to 254
# Allow 25 vertices to be used to draw a single footprint polygon
# Skip the overviews image
# Build new boundary afterwards
# Build footprints based on minimum bounding geometry
import arcpy
arcpy.env.workspace = "C:/Workspace"
mdname = "Footprints.gdb/md"
query = "#"
method = "RADIOMETRY"
minval = "1"
maxval = "254"
nvertice = "25"
shrinkdis = "0"
maintainedge = "#"
skipovr = "SKIP_DERIVED_IMAGES"
updatebnd = "UPDATE_BOUNDARY"
requestsize = "#"
minregsize = "#"
simplify = "#"
arcpy.BuildFootprints_management(
mdname, query, method, minval, maxval, nvertice, shrinkdis,
maintainedge, skipovr, updatebnd, requestsize, minregsize,
simplify)