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

Parameters

LabelExplanationData Type
Mosaic Dataset

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

Mosaic Layer
Query Definition
(Optional)

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

SQL Expression
Computation Method
(Optional)

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
Minimum Data Value
(Optional)

Exclude pixels with a value less than this number.

Double
Maximum Data Value
(Optional)

Exclude pixels with a value greater than this number.

Double
Approximate number of 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 sheet edges
(Optional)

Alter the footprints of raster datasets that have been tiled and are adjacent (line up along the seams with little to no overlap).

  • Unchecked—Remove the sheet edges from all the footprints. This is the default.
  • Checked—Maintain the footprints in their original state.
Boolean
Skip overviews
(Optional)

Adjust the footprints of overviews.

  • Checked—Do not adjust the footprints of overviews. This is the default.
  • Unchecked—Adjust the footprints of overviews and associated raster datasets.
Boolean
Update Boundary
(Optional)

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

  • Checked—Update the boundary. This is the default.
  • Unchecked—Do not update the boundary.
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
Minimum 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 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.

Long
Simplification Method
(Optional)

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

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
Maximum 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 (Maximum Sliver Size)^2 and less than the Minimum Thinness Ratio are considered slivers and will be removed.

Long
Minimum Thinness Ratio
(Optional)

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 Maximum Sliver Size and Minimum Thinness Ratio will be removed from the footprint.

Double

Derived Output

LabelExplanationData Type
Updated Mosaic Dataset

The updated mosaic dataset.

Mosaic Layer

arcpy.management.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})
NameExplanationData 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:

  • 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
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 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.
Boolean
skip_derived_images
(Optional)

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.
Boolean
update_boundary
(Optional)

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

Long
simplification_method
(Optional)

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

Double

Derived Output

NameExplanationData Type
out_mosaic_dataset

The updated mosaic dataset.

Mosaic Layer

Code sample

BuildFootprints example (Python window)

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")
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 = "#"
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)