Saturday 26 March 2016

remote sensing - Landsat8 DN to TOA Reflectance (minus values)



I'm learning how to perform atmospheric correction manually, hence not using the automated methods available in ENVI


metadata (band 1) for my Landsat 8 scene is as follows;


RADIANCE_MULT_BAND_1 = 1.2344E-02


RADIANCE_ADD_BAND_1 = -61.72016


REFLECTANCE_MULT_BAND_1 = 2.0000E-05


REFLECTANCE_ADD_BAND_1 = -0.100000


SUN_ELEVATION = 48.12237303


So when I use band math to calculate TOA Radiance I type in this:


(0.012344*B1)-61.72016


And it yields a spectral statistics that look kind-of right SpectralStats



When I use any of the following band math formulae;


TOA Reflectance (excluding sun elevation adjustment)


(B1*0.00002)-0.1


TOA Reflectance (including sun elevation adjustment)


((B1*0.00002)-0.1)/0.74457226676389733207607359928648


Or calculate straight from the raw DN to TOA Reflectance (including sun elevation adjustment)


((((0.012344*B1)-61.72016)*0.00002)-0.1)/0.74457226676389733207607359928648


I end up with something like this:


TOA Reflectance


which looks incorrect.



I've googled and either my search terms are rubbish or no one uses manual band math to do this.


[EDIT]


Mikkel's answer below with the revised band math calculation (omitting the intermediate steps) yielded the following statistics:


enter image description here


which look somewhat more realistic.


Wondering if i should add 13.4305 to each band, or ignore the negative minimum?


[END EDIT]


[EDIT #2]


Mikkel was spot on again, in suggesting that the -13.4305 values were isolated to the "no data" areas around the image;


enter image description here



as you can see, isolated only to the northern edge of the scene.


[END EDIT #2]



Answer



One flaw in your approach. You don't need to go through DN to radiance.
You can go straight to the DN to reflectance.
Just stick to ((B1*0.00002)-0.1)/0.74457226676389733207607359928648.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...