GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7, available here. And see the new manual page here

NAME

i.topo.corr - Computes topographic correction of reflectance.

KEYWORDS

imagery, terrain, topographic correction

SYNOPSIS

i.topo.corr
i.topo.corr help
i.topo.corr [-i] [input=name[,name,...]] output=name basemap=name zenith=float [azimuth=float] [method=string] [--overwrite] [--verbose] [--quiet]

Flags:

-i
Output sun illumination terrain model
--overwrite
Allow output files to overwrite existing files
--verbose
Verbose module output
--quiet
Quiet module output

Parameters:

input=name[,name,...]
Name of reflectance raster maps to be corrected topographically
output=name
Name (flag -i) or prefix for output raster maps
basemap=name
Name of input base raster map (elevation or illumination)
zenith=float
Solar zenith in degrees
azimuth=float
Solar azimuth in degrees (only if flag -i)
method=string
Topographic correction method
Options: cosine,minnaert,c-factor,percent
Default: c-factor

DESCRIPTION

i.topo.corr is used to topographically correct reflectance from imagery files, e.g. obtained with i.landsat.toar, using a sun illumination terrain model. This illumination model represents the cosine of the incident angle, i.e. the angle between the normal to the ground and the sun rays. It can be obtained with r.sun (parameter incidout), and then calculating its cosine with float precision.

Using the -i flag and given an elevation basemap (metric), i.topo.corr creates a simple illumination model using the formula:

  • cos_i = cos(s) * cos(z) + sin(s) * sin(z) * cos(a - o)
  • where, s is the terrain slope angle, z is the solar zenith angle, a the solar azimuth angle, o the terrain aspect angle.

    For each band file, the corrected reflectance (ref_c) is calculate from the original reflectance (ref_o) using one of the four offered methods (one lambertian and two non-lambertian).

    Method: cosine

    Method: minnaert

    where, k is obtained by linear regression of
    ln(ref_o) = ln(ref_c) - k ln(cos_i/cos_z)

    Method: c-factor

    where, c is a/m from ref_o = a + m * cos_i

    Method: percent

    We can use cos_i to estimate the percent of solar incidence on the surface, then the transformation (cos_i + 1)/2 varied from 0 (surface in the side in opposition to the sun: infinite correction) to 1 (direct exhibition to the sun: no correction) and the corrected reflectance can be calculated as

    NOTES

    1. The illumination model (cos_i) with flag -i uses the actual region as limits and the resolution of the elevation map.
    2. The topographic correction use the full reflectance file (null remain null) and its resolution.
    3. The elevation map to calculate the illumination model should be metric.

    EXAMPLES

    First, make a illumination model from the elevation map (here, SRTM). Then make perform the topographic correction of e.g. the bands toar.5, toar.4 and toar.3 with output as tcor.toar.5, tcor.toar.4, and tcor.toar.3 using c-factor (= c-correction) method:

    i.topo.corr -i base=SRTM zenith=33.3631 azimuth=59.8897 out=SRTM.illumination
    i.topo.corr base=SRTM.illumination input=toar.5,toar.4,toar.3 out=tcor \ 
      zenith=33.3631 method=c-factor
    

    REFERENCES

    SEE ALSO

    i.landsat.toar, r.mapcalc, r.sun

    AUTHOR

    E. Jorge Tizado (ej.tizado unileon es)
    Dept. Biodiversity and Environmental Management, University of León, Spain

    Last changed: $Date: 2013-04-17 22:56:53 -0700 (Wed, 17 Apr 2013) $


    Main index - imagery index - Full index

    © 2003-2016 GRASS Development Team