Build Footprints (Data Management)


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.


  • 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, 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 can dramatically increase the size of your mosaic dataset. If your database size is inflated due to constant transactions, run the Compact tool.


BuildFootprints(in_mosaic_dataset, {where_clause}, {reset_footprint}, {min_data_value}, {max_data_value}, {approx_num_vertices}, {shrink_distance}, {maintain_edges}, {skip_derived_images}, {update_boundary}, {request_size}, {min_region_size}, {simplification_method}, {edge_tolerance}, {max_sliver_size}, {min_thinness_ratio})
ParameterExplanationData Type

The mosaic dataset that contains the raster datasets whose footprints you want to compute.

Mosaic Layer

An SQL expression to select specific raster datasets within the mosaic dataset.

SQL Expression

Refine the footprints using one of the following methods:

  • RADIOMETRY Exclude pixels with a value outside of a defined range. This option is generally used to exclude border areas, which do not contain valid data. This is the default.
  • GEOMETRY Restore the footprint to its original geometry.
  • COPY_TO_SIBLING Replace the panchromatic footprint with the multispectral footprint when using a pan-sharpened raster type. This can occur when the panchromatic and multispectral images do not have identical geometries.
  • NONEDo not redefine the footprints.

Boolean; String

Exclude pixels with a value less than this number.


Exclude pixels with a value greater than this number.


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.


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.


Use this parameter when using raster datasets that have been tiled and are adjacent (line up along the seams with little to no overlap).

  • NO_MAINTAIN_EDGESRemove the sheet edges from all the footprints. This is the default.
  • MAINTAIN_EDGESMaintain the footprints in their original state.

Adjust the footprints of overviews.

  • SKIP_DERIVED_IMAGESDo not adjust the footprints of overviews. This is the default.
  • NO_SKIP_DERIVED_IMAGESAdjust the footprints of overviews and associated raster datasets.

Update the boundary of the mosaic dataset if you have added or removed imagery that changes the extent.

  • UPDATE_BOUNDARYUpdate the boundary. This is the default.
  • NO_BOUNDARYDo not update the boundary.

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.


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 to 255, and to mask clouds, you've excluded values from 245 to 255, which may cause other, noncloud pixels to be masked as well. If those areas are smaller than the number of pixels specified here, they will not be masked out.


Reduce the number of vertices in the footprint to improve performance.

  • NONEDo not limit the number of vertices. This is the default.
  • CONVEX_HULLUse the minimum bounding box to simplify the footprint.
  • ENVELOPEUse the envelope of each mosaic dataset item to simplify the footprint.

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.


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 less than the min_thinness_ratio are considered slivers and will be removed.


Define the thinness of slivers on a scale from 0 to 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.


Derived Output

NameExplanationData Type

The updated mosaic dataset.

Mosaic Layer

Code sample

BuildFootprints example (Python window)

This is a Python sample for the BuildFootprints tool.

import arcpy
     "c:/data/Footprints.gdb/md", "#","RADIOMETRY",
     "1", "254", "25", "0", "#", "SKIP_DERIVED_IMAGES", 
     "UPDATE_BOUNDARY", "#", "#", "CONVEX_HULL")
BuildFootPrints example 2 (stand-alone script)

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 = "#"
updatebnd = "UPDATE_BOUNDARY"
requestsize = "#"
minregsize = "#"
simplify = "#"

     mdname, query, method, minval, maxval, nvertice, shrinkdis,
     maintainedge, skipovr, updatebnd, requestsize, minregsize, 

Licensing information

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

Related topics