[GRASS-user] WV-2 top of atmosphere reflectance calculation

Nikos Alexandris nik at nikosalexandris.net
Sun Jul 14 16:10:56 PDT 2013

Eric Goddard wrote:
> I looked at the i.atcorr readme you linked. I just want to be sure I
> understand this correctly: when you say band filters, are you talking
> about part F: pre-defined sensor bands of the i.atcorr man page?
> (http://grass.osgeo.org/grass70/manuals/i.atcorr.html)

Right, part F.  If I got it right, we _only_ need to create a .csv file that 
will contain the spectral radiance responses for each band within the sensor's 
"spectral range" capabilities.

The csv file has to be structured as follows:

1) the 1st line must be a header with the Wavelength (in nm), followed by band 

2) the following lines will be the actual (estimated?) spectral responses

3) if a spectral radiance response is NULL at a given wavelength, the 
(line,column) should be left empty

Examples are to be found in 

After preparing the .csv file, we can use the create_iwave.py script to 
interpolate the "filter functions" to the "correct" step size of 2.5 nm (in 
case the filter function data are delivered with a different step size).

In the PDF document you linked in your first post,


there is

"Figure 2: WorldView-2 Relative Spectral Radiance Response (nm)" in page 3, 
some "averaged band passes" in "Table 2: WORLDVIEW-2 Band Passes [nm]" in page 
4 and 	"Table 3. WorldView-2 Effective Bandwidths" again in page 4.

We need to do some math to approximate the spectral responses at a 2.5nm step.  
However, there is a note:

"Note that the actual data values used to create these plots are
available as digital files, upon request from DigitalGlobe".

I think we need to know the(se) functions/numbers from which "Figure 2" has 
been derived. Then we can do some math in R or so to get what is needed.

Well, a bit more work after all than I though -- as usual :-).

> I've also posted my python script to convert WV-2  multispectral DNs
> to top of atmosphere reflectance at
> https://gist.github.com/egoddard/5989382. It is kind of messy because
> it was just meant to be a one-off script at this point :)

Nice, will check...


More information about the grass-user mailing list