4

I am trying to gap-fill Landsat 7 SLC-off images with open-source software as explained in the comment below this post.

I'm new to QGIS and have almost no knowledge with Python (I'm a GIS novice normally working with ArcGIS 10/Pro).

GdalTools is installed and checked and I am using the Band 1 mask (from USGS download) on Band 1. When I run FillNoData, it returns Band 1 with the gaps remaining.

enter image description here enter image description here

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
Chris_80
  • 81
  • 6
  • I've consulted these sites for the methods to use with QGIS: http://gis.stackexchange.com/questions/30250/how-to-fill-gaps-in-slc-off-landsat-7-etm-images-with-qgis and http://grindgis.com/blog/slc-correction-landsat-7-qgis-erdas-imagine#comment-2413 – Chris_80 Jan 27 '17 at 15:29
  • Please include all relevant information within your question rather than some only as comments. – PolyGeo Jan 27 '17 at 19:00
  • I tried to but it would only let me provide 2 links, i.e. the two attachment pics, because I don't have 10 reputation points yet. But will in the future. – Chris_80 Jan 27 '17 at 19:13
  • All errors should be as text rather than pictures so that would free up a link slot. – PolyGeo Jan 27 '17 at 19:25
  • I have the same problem you faced trying to gapfill Landsat 7 using Qgis 3.0.I have tried unchecking the 'do not use validity mask' not using 'validity mask' and vice versa.also I have unchecked one and checked the other for each of these. please explain how gapfill Landsat 7 data.I have tried ur method in qgis 3.0 with no success – Samuel Gachuhi Jun 15 '18 at 11:31
  • Sam G., try saving your rasters to the desktop, that is what i have been doing, and work from there. You need to get rid of temporary files. – Chris_80 Jun 16 '18 at 13:34

2 Answers2

1

It may not matter but it appears you're output file is going straight into a tarball. You could try outputting (and reading from) elsewhere.

You could also try executing the the gdal_fillnodata command directly in GDAL commandline/shell (e.g. copy and paste the command from QGIS window, start the OSGEO4W shell, paste and execute).

Julian Rosser
  • 525
  • 4
  • 11
  • How do I display the python script running the gdal_fillnodata plugin so that I can copy and paste it directly into the GDAL commandline? Thank you. – Chris_80 Jan 28 '17 at 00:52
  • It's the command shown at the bottom of the Fill NoData dialog box in QGIS (the first image you show). E.g. "gdal_fillnodata.bat -md 100 ..." Press the edit button on the right-hand side of the box to copy. then paste that into the OSGeo4W Shell (Start -> QGIS) – Julian Rosser Jan 30 '17 at 10:10
  • Gotcha, thanks. Tried that without luck. I've also tried working on 1 band at a time and then also saving to a Temp folder. When I try to save to C:Users/myname/AppData/Local/Temp, I get the error "ERROR 6: GDALDriver::Create() ... no create method implemented for this format." Perhaps I don't have permission to save there or ? – Chris_80 Jan 31 '17 at 22:28
1

Ok, I've gotten it to work! Executing from commandline seems to be irrelevant, temp file seems to have been irrelevant.

What did work is I changed pixel search distance to 10 (just for the test), and then unchecked "band to operate on" and "do not use default validity mask". Only loaded 1 band at a time into QGIS. Now I'll tweak from here.

Chris_80
  • 81
  • 6