Build Footprints (Data Management)


Computes the footprints for each raster dataset in a mosaic dataset.



BuildFootprints_management (in_mosaic_dataset, {where_clause}, {min_data_value}, {max_data_value}, {approx_num_vertices}, {shrink_distance}, {maintain_edges}, {reset_footprint}, {skip_derived_images}, {update_boundary}, {request_size}, {min_region_size})
ParameterExplanationData Type

The mosaic dataset for which the footprints will be calculated.

Mosaic Layer

Using SQL, you can define a query or use the Query Builder to build a query.

SQL Expression

The lowest pixel value representing valid image data. This value is determined by the bit depth of the raster dataset.

For example, with 8 bit data, the values can range from 0 to 255. A value around 0 represents very dark colors, like black border pixels. When you specify 1, then the only value less than 1 is 0, so all 0 values will be considered invalid data and will be removed from the perimeter of the footprint. If the imagery is compressed using a lossy compression method, then you should define a value slightly greater than 1 to remove all the black pixels. When dark areas, such as shadows, have been incorrectly removed from the footprint, this value should be decreased.


Highest value representing valid data. This value is determined by the bit depth of the raster dataset.

For example, with 8-bit data, the values can range from 0 to 255. A value around 255 represents very bright colors, such as white clouds and snow. If you specify 245, then all values between 246 and 255 will be removed from the perimeter of the footprint.


Approximate number of vertices with which the new footprint polygon will be created.

The minimum value is 4 and the maximum value is 10,000. The greater this value, the more accurate and irregular the polygon and the longer the processing time.

A value of -1 will show all the vertices in the footprint, therefore, your polygon footprint will not be generalized.


Distance value specified in the units of the mosaic dataset's coordinate system by which the overall polygon will be reduced in size.

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 butt joined (or line up along the seams with little to no overlap).

  • NO_MAINTAIN_EDGESAll footprints will be altered, regardless of their neighboring footprints. This is the default.
  • MAINTAIN_EDGESAn analysis of the image edges is performed so that the sheet edges are not removed.

The footprints will be redefined using the original parameters to generate them when the rasters were added.

  • NO_RESET_FOOTPRINTFootprints will not be returned to their original geometry. This is the default.
  • RESET_FOOTPRINTFootprints will be returned to their original geometry.

Adjust the footprints for derived images, such as service overviews.

  • SKIP_DERIVED_IMAGESDerived images, such as service overviews, will not be adjusted. This is the default.
  • NO_SKIP_DERIVED_IMAGESFootprints of any derived images will be adjusted along with the base images.

Generates or updates the boundary polygon of a mosaic dataset. By default, the boundary merges all the footprint polygons to create a single boundary representing the extent of the valid pixels.

  • UPDATE_BOUNDARYThe boundary will be generated or updated. This is the default.
  • NO_BOUNDARYThe boundary will not be generated or updated.

The size to which the raster will be resampled when it is examined using this tool. The value (such as 2,000) defines the dimension of rows and columns.

You can increase or decrease this value based on the complexity of your raster data. Greater image resolution provides more detail in the raster dataset and thereby increases the processing time.

The minimum value is 0 and the maximum value is 5000.

A value of -1 will not resample the footprint, therefore, it will compute the footprint at the native pixel size.

The request size cannot be greater than the raster contained by the footprints. If this is the case, then the value will automatically be the same as the size of the raster.


Determines a filter used to remove holes created in the footprint.

This value is specified in pixels, and it is directly related to the Request Size, not to the pixel resolution of the source raster.


Code Sample

BuildFootprints example (Python window)

This is a Python sample for the BuildFootprints tool.

import arcpy
arcpy.BuildFootprints_management("c:/workspace/fGDB.gdb/md_1", "#",\
                                 "NO_RESET_FOOTPRINT", "1", "254", "25", "0",\
                                 "#", "SKIP_DERIVED_IMAGES", "BUILD_BOUNDARY",\
                                 "#", "#")
BuildFootPrints example 2 (stand-alone window)

This is a Python script sample for the BuildFootprints tool.

#Build Footprints
#Usage: BuildFootprints_management in_mosaic_dataset {where_clause} {NO_RESET_FOOTPRINT
#                                  | RESET_FOOTPRINT} {min_data_value} {max_data_value}
#                                  {approx_num_vertices} {shrink_distance} 
#                                  {NO_MAINTAIN_EDGES | MAINTAIN_EDGES} {SKIP_DERIVED_IMAGES
#                                  | NO_SKIP_DERIVED_IMAGES} {UPDATE_BOUNDARY | 
#                                  NO_BOUNDARY} {request_size} {min_region_size}

    import arcpy
    arcpy.env.workspace = r"C:\Workspace"
    # 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
    arcpy.BuildFootprints_management("Footprints.gdb/md", "#", "NO_RESET_FOOTPRINT",\
                                     "1", "254", "25", "0", "#", "SKIP_DERIVED_IMAGES",\
                                     "UPDATE_BOUNDARY", "#", "#")
    # Reset the footprint to default
    arcpy.BuildFootprints_management("Footprints.gdb/md", "#", "RESET_FOOTPRINT",\
                                     "#", "#", "#", "#", "#", "#", "UPDATE_BOUNDARY",\
                                     "#", "#")
    # Shrink distance while maintaining sheet edge
    # Define request size for resampling
    # Define the minimum region size
    arcpy.BuildFootprints_management("Footprints.gdb/md16b", "#", "NO_RESET_FOOTPRINT",\
                                     "1", "65534", "25", "5", "MAINTAIN_EDGES",\
                                     "#", "UPDATE_BOUNDARY", "2000", "10")
    print "Build Footprints example failed."
    print arcpy.GetMessages()


Related Topics

Licensing Information

ArcView: No
ArcEditor: Yes
ArcInfo: Yes