geo-registry

Fill NoData

Fills nodata cells of a raster by interpolating from the valid cells around them.

Pitfall. Engines interpolate differently (inverse distance from the gap's edge, splines, bilinear, nearest), so large gaps come out differently.
Pitfall. Most engines stop at a maximum distance and leave larger gaps as nodata.
About this operation
Also called fill gaps, fill missing data, interpolate nodata, fill nulls, Elevation Void Fill
Group raster/surface
Checks raster.nodata
Pitfalls 2 listed above
Columbus tool Not stated
Notes Not stated
Status active
Broader Not stated
Narrower Not stated
Related

Parameters

Not stated

Inputs and outputs

Direction Name Type Geometry Note
Input raster raster Not stated Not stated
Output output raster Not stated Not stated

In each engine

Engine Tool Parameters Differences
gdal gdal raster fill-nodata
  • raster → input
  • output → output
  • A single missing cell on a plane (neighbours 9.5 and 11.5 west and east, 10.5 north and south) was filled with 10.96, not 10.5 (GDAL 3.13).
  • Inverse distance weighting from the gap's edge (strategy invdist) or nearest; max-distance (100 cells) limits the search.
grass r.fillnulls
  • raster → input
  • output → output
  • Regularized spline with tension by default (method rst); bilinear and bicubic are also offered.
qgis gdal:fillnodata
  • raster → INPUT
  • output → OUTPUT
  • A single missing cell on a plane (neighbours averaging 10.5) was filled with 10.96, as GDAL's fill does.
  • Runs GDAL's fill nodata; DISTANCE (10 cells by default) limits the search.
rasterio rasterio.fill.fillnodata
  • raster → image
  • GDAL's algorithm on a NumPy array; mask marks the valid cells (0 for the cells to fill).
  • A single missing cell on a plane (neighbours averaging 10.5) was filled with 10.96, as GDAL's fill does.
rioxarray rioxarray.raster_array.RasterArray.interpolate_na Not stated
  • A method of the DataArray's rio accessor; method defaults to nearest, so a gap takes one neighbour's value; linear and cubic (scipy's griddata) interpolate.
whiteboxtools FillMissingData
  • raster → input
  • output → output
  • Inverse distance weighting within filter (11 cells); no_edges (on by default) leaves gaps that touch the raster's edge.