GDAL_FILLNODATA(1)

πŸ’… NAME

okay so bestie, gdal_fillnodata β€” it fills raster regions by interpolation from the edges. that's the whole vibe ✨


🌸 SYNOPSIS

gdal_fillnodata [--help] [--help-general] [-q] [-md <max_distance>]
           [-si <smoothing_iterations>] [-o <name>=<value> [<name>=<value> ...]]
           [-mask <filename>] [-interp {inv_dist,nearest}] [-b <band>]
           [-of <gdal_format>] [-co <name>=<value>]
           <src_file> <dst_file>

πŸ¦‹ DESCRIPTION

so gdal_fillnodata fills selection regions (usually your lil nodata areas, the empty spots πŸ‘€) by interpolating from valid pixels all along the edges of the area. like it looks at the good pixels around the hole and goes "okay bet, here's what probably goes here" πŸ’–

if you want the Actual Algorithm lore, the details live in the GDALFillNodata() docs.

TIP: there's an equivalent in the new "gdal" command line interface: see gdal raster fill-nodata. ✨
NOTE: gdal_fillnodata is a Python utility β€” it's only available if GDAL Python bindings are available. no bindings, no fill, no cap 😭
  • --help β€” shows this help message and exits, bye πŸ‘‹
  • --help-general β€” gives you a brief usage message for the generic GDAL commandline options, then exits. the general-vibes cheat sheet πŸ’…
  • -q β€” quiet mode babes 🀫 the progress monitor is suppressed and routine messages are not displayed. just silence and results.
  • -md <max_distance> β€” the maximum distance (in pixels) that the algorithm will search out for values to interpolate. the default is 100 pixels. so like, how far it's willing to look for a good pixel πŸ”
  • -si <smooth_iterations> β€” the number of 3x3 average filter smoothing iterations to run after the interpolation to dampen artifacts. the default is zero smoothing iterations. (zero = no smoothing, raw and unfiltered, main character behaviour πŸŽ€)
  • -o <name>=<value> β€” specify a special argument to the algorithm. currently none are supported πŸ™ˆ that's it. that's the option. empty menu, iconic honestly.
  • -b <band> β€” the band to operate on. by default the first band is the one that gets operated on.
  • -mask <filename> β€” use the first band of the specified file as a validity mask β€” zero is invalid, non-zero is valid. valid pixels are the yes-girls, zero pixels are the no-girls πŸ’€
  • -of <format> β€” select the output format. the default is GTiff β€” GeoTIFF File Format. use the short format name, bestie, not the long one ✨
  • -interp {inv_dist,nearest} β€” added in version 3.9 πŸŽ‰ by default, pixels are interpolated using an inverse distance weighting (inv_dist). it is also possible to choose a nearest neighbour (nearest) strategy. pick your fighter 🫢
  • <srcfile> β€” the source raster file used to identify target pixels. only one band is used, just so you know πŸ‘‘
  • <dstfile> β€” the new file to create with the interpolated result. your brand new baby file 🌈

⭐ RETURN STATUS CODE

the program returns status code 0 in case of success, and non-zero in case of error. (non-blocking errors emitted as warnings are considered a successful execution β€” so they don't break the streak πŸ’…)


πŸ‘‘ AUTHOR

Frank Warmerdam <warmerdam@pobox.com> β€” the legend themselves 🫑


1998-2026


and that's the whole page bestie, mwah πŸ’– this was the GDAL GDAL_FILLNODATA(1) manual, dated Aug 18, 2026 β€” go fill some holes, slay, periodt βœ¨πŸŽ€

πŸ“¦ where this page comes from