i.topo.corr.1grass - Man Page

Computes topographic correction of reflectance.

Keywords

imagery, terrain, topographic correction

Synopsis

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

Flags

-i

Output sun illumination terrain model

-s

Scale output to input and copy color rules

--overwrite

Allow output files to overwrite existing files

--help

Print usage summary

--verbose

Verbose module output

--quiet

Quiet module output

--ui

Force launching GUI dialog

Parameters

input=name[,name,...]

Name of reflectance raster maps to be corrected topographically

output=name [required]

Name (flag -i) or prefix for output raster maps

basemap=name [required]

Name of input base raster map (elevation or illumination)

zenith=float [required]

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, i.e. the angle between the normal to the ground and the sun rays.

Note: If needed, the sun position can be calculated for a given date and time with r.sunmask.
Figure showing terrain and solar angles

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

where,
  • i is the incident angle to be calculated,
  • s is the terrain slope angle (from r.slope.aspect),
  • z is the solar zenith angle (i.e., 90° - solar horizon angle from r.sunmask),
  • a the solar azimuth angle (from r.sunmask),
  • o the terrain aspect angle (from r.slope.aspect).

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

  • ref_c = ref_o * cos_z / cos_i

Method: minnaert

  • ref_c = ref_o * (cos_z / cos_i) ^k

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

Method: c-factor

  • ref_c = ref_o * (cos_z + c)/ (cos_i + c)

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

  • ref_c = ref_o * 2 / (cos_i + 1)

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:

# first pass: create illumination model
i.topo.corr -i base=SRTM zenith=33.3631 azimuth=59.8897 output=SRTM.illumination
# second pass: apply illumination model
i.topo.corr base=SRTM.illumination input=toar.5,toar.4,toar.3 output=tcor \
  zenith=33.3631 method=c-factor

References

See Also

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

Author

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

Figure derived from Neteler & Mitasova, 2008.

Source Code

Available at: i.topo.corr source code (history)

Accessed: Tuesday Mar 19 11:02:29 2024

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.2 Reference Manual

Info

GRASS 8.3.2 GRASS GIS User's Manual