[GRASS-SVN] r43420 - grass-addons/grass7/imagery/i.landsat.toar
svn_grass at osgeo.org
svn_grass at osgeo.org
Mon Sep 6 12:39:48 EDT 2010
Author: ejtizado
Date: 2010-09-06 16:39:48 +0000 (Mon, 06 Sep 2010)
New Revision: 43420
Modified:
grass-addons/grass7/imagery/i.landsat.toar/i.landsat.toar.html
grass-addons/grass7/imagery/i.landsat.toar/landsat_set.c
Log:
Reverted 127 to 255 qcalmax value in MSS sensors
Modified: grass-addons/grass7/imagery/i.landsat.toar/i.landsat.toar.html
===================================================================
--- grass-addons/grass7/imagery/i.landsat.toar/i.landsat.toar.html 2010-09-06 16:38:59 UTC (rev 43419)
+++ grass-addons/grass7/imagery/i.landsat.toar/i.landsat.toar.html 2010-09-06 16:39:48 UTC (rev 43420)
@@ -160,6 +160,7 @@
<H2>REFERENCES</H2>
<ol>
+ <li>Chander G., B.L. Markham and D.L. Helder: Remote Sensing of Environment, vol. 113, 2009.</li>
<li>Chander G.H. and B. Markham: IEEE Transactions On Geoscience And Remote Sensing, vol. 41, no. 11, November 2003.</li>
<li>Chavez P.S., jr. 1996. Image-based atmospheric corrections - Revisited and Improved. Photogrammetric Engineering and Remote Sensing 62 (9): 1025-1036.</li>
<li>Huang et al: At-Satellite Reflectance: A First Order Normalization Of Landsat 7 ETM+ Images. 2002.</li>
Modified: grass-addons/grass7/imagery/i.landsat.toar/landsat_set.c
===================================================================
--- grass-addons/grass7/imagery/i.landsat.toar/landsat_set.c 2010-09-06 16:38:59 UTC (rev 43419)
+++ grass-addons/grass7/imagery/i.landsat.toar/landsat_set.c 2010-09-06 16:39:48 UTC (rev 43420)
@@ -54,7 +54,7 @@
lsat->band[i].wavemax = *(wmax + i);
lsat->band[i].wavemin = *(wmin + i);
lsat->band[i].qcalmax = 255.;
- lsat->band[i].qcalmin = 0.; /* modified in set_TM5 by date */
+ lsat->band[i].qcalmin = 0.; /* Modified in set_TM5 by date */
lsat->band[i].thermal = (lsat->band[i].number == 6 ? 1 : 0);
}
return;
@@ -97,19 +97,19 @@
/****************************************************************************
* PURPOSE: Store values of Landsat-1 MSS
- * July 23, 1972 to January 6, 1978
+ * July 23, 1972 to January 7, 1978
*****************************************************************************/
void set_MSS1(lsat_data * lsat)
{
int i, j;
- /** Brian L. Markham and John L. Barker.
- EOSAT Landsat Technical Notes, No. 1, 1986 */
+ /** Markham and Barker. EOSAT Landsat Technical Notes, No. 1, 1986;
+ Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009)*/
/* Spectral radiances at detector */
double lmax[] = { 248., 200., 176., 153. };
double lmin[] = { 0., 0., 0., 0. };
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1852., 1584., 1276., 904. };
+ double esun[] = { 1823., 1559., 1276., 880.1 };
lsat->number = 1;
sensor_MSS( lsat );
@@ -134,15 +134,15 @@
int i, j;
double julian, *lmax, *lmin;
- /** Brian L. Markham and John L. Barker.
- EOSAT Landsat Technical Notes, No. 1, 1986 */
+ /** Markham and Barker. EOSAT Landsat Technical Notes, No. 1, 1986;
+ Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009)*/
/* Spectral radiances at detector */
- double Lmax[][4] = { { 210., 156., 140., 138. }, /* before July 16, 1975 */
- { 263., 176., 152., 130. } }; /* on or after July 16, 1975 */
+ double Lmax[][4] = { { 210., 156., 140., 138. }, /* before July 16, 1975 */
+ { 263., 176., 152., 130.333 } }; /* on or after July 16, 1975 */
double Lmin[][4] = { { 10., 7., 7., 5. },
- { 8., 6., 6., 4. } };
+ { 8., 6., 6., 3.667 } };
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1856., 1559., 1269., 906. };
+ double esun[] = { 1829., 1539., 1268., 886.6 };
julian = julian_char(lsat->creation);
if (julian < julian_char("1975-07-16")) i = 0;
@@ -175,15 +175,15 @@
int i, j;
double julian, *lmax, *lmin;
- /** Brian L. Markham and John L. Barker.
- EOSAT Landsat Technical Notes, No. 1, 1986 */
+ /** Markham and Barker. EOSAT Landsat Technical Notes, No. 1, 1986;
+ Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009)*/
/* Spectral radiances at detector */
double Lmax[][4] = { { 220., 175., 145., 147. }, /* before June 1, 1978 */
{ 259., 179., 149., 128. } }; /* on or after June 1, 1978 */
double Lmin[][4] = { { 4., 3., 3., 1. },
{ 4., 3., 3., 1. } };
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1860., 1571., 1289., 910. };
+ double esun[] = { 1839., 1555., 1291., 887.9 };
julian = julian_char(lsat->creation);
if (julian < julian_char("1978-06-01")) i = 0;
@@ -214,8 +214,8 @@
int i, j;
double julian, *lmax, *lmin;
- /** Brian L. Markham and John L. Barker.
- EOSAT Landsat Technical Notes, No. 1, 1986 */
+ /** Markham and Barker. EOSAT Landsat Technical Notes, No. 1, 1986;
+ Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009)*/
/* Spectral radiances at detector */
double Lmax[][4] = { { 250., 180., 150., 133. }, /* before August 26, 1982 */
{ 230., 180., 130., 133. }, /* between */
@@ -224,7 +224,7 @@
{ 2., 4., 4., 3. },
{ 4., 4., 5., 4. } };
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1851., 1593., 1260., 878. };
+ double esun[] = { 1827., 1569., 1260., 866.4 };
julian = julian_char(lsat->creation);
if (julian < julian_char("1982-08-26")) i = 0;
@@ -257,14 +257,13 @@
/* Spectral radiances at detector */
double Lmax[][7] = { { 158.42, 308.17, 234.63, 224.32, 32.42, 15.64, 17.00 }, /* before August 1983 */
{ 142.86, 291.25, 225.00, 214.29, 30.00, 12.40, 15.93 }, /* before January 15, 1984 */
- { 152.10, 296.80, 204.30, 206.20, 27.19, 15.60, 14.38 } }; /* after Jaunary 15, 1984 */
+ { 152.10, 296.81, 204.30, 206.20, 27.19, 15.3032, 14.38 } }; /* after Jaunary 15, 1984 */
double Lmin[][7] = { { -1.52, -2.84, -1.17, -1.51, -0.37, 2.00, -0.15 },
{ 0.00, 0.00, 0.00, 0.00, 0.00, 4.84, 0.00 },
- { -1.50, -2.80, -1.20, -1.50, -0.37, 1.238, -0.15 } };
- /** Gyanesh Chander and Brian Markham.
- IEEE Transactions On Geoscience And Remote Sensing, Vol. 41, No. 11, November 2003 */
+ { -1.50, -2.80, -1.20, -1.50, -0.37, 1.2378, -0.15 } };
+ /** Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009) */
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1957., 1825., 1557., 1033., 214.9, 0., 80.72 };
+ double esun[] = { 1983., 1795., 1539., 1028., 219.8, 0., 83.49 };
/* Thermal band calibration constants: K1 = 671.62 K2 = 1284.30 */
julian = julian_char(lsat->creation);
@@ -312,7 +311,7 @@
{ 3., 3., 4., 3. },
{ 3., 3., 5., 3. } };
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1849., 1595., 1253., 870. };
+ double esun[] = { 1824., 1570., 1249., 853.4 };
julian = julian_char(lsat->creation);
if (julian < julian_char("1984-04-06")) i = 0;
@@ -345,14 +344,13 @@
/* Spectral radiances at detector */
double Lmax[][7] = { { 152.10, 296.81, 204.30, 206.20, 27.19, 15.303, 14.38 }, /* before May 4, 2003 */
{ 193.00, 365.00, 264.00, 221.00, 30.20, 15.303, 16.50 }, /* after May 4, 2003 */
- /** Gyanesh Chander, Brian L. Markham, and Julia A. Barsi
- IEEE Geoscience And Remote Sensing Letters, Vol. 4, No. 3, July 2007 */
{ 169.00, 333.00, 264.00, 221.00, 30.20, 15.303, 16.50 } }; /* after April 2, 2007 */
double Lmin[][7] = { { -1.52, -2.84, -1.17, -1.51, -0.37, 1.2378, -0.15 },
{ -1.52, -2.84, -1.17, -1.51, -0.37, 1.2378, -0.15 },
{ -1.52, -2.84, -1.17, -1.51, -0.37, 1.2378, -0.15 } };
+ /** Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009) */
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1957., 1826., 1554., 1036., 215.0, 0., 80.67 };
+ double esun[] = { 1983., 1796., 1536., 1031., 220.0, 0., 83.44 };
/* Thermal band calibration constants: K1 = 607.76 K2 = 1260.56 */
julian = julian_char(lsat->creation);
@@ -362,31 +360,28 @@
lmax = Lmax[i];
lmin = Lmin[i];
if ( i == 2 ) { /* in Chander, Markham and Barsi 2007 */
- jbuf = julian_char(lsat->date); /* Yes, here acquisition date */
- if (jbuf >= julian_char("1992-01-01")) {
+ julian = julian_char(lsat->date); /* Yes, here acquisition date */
+ if (julian >= julian_char("1992-01-01")) {
lmax[0] = 193.0;
lmax[1] = 365.0;
}
}
+ jbuf = julian_char("2004-04-04");
+ if (julian >= jbuf) G_warning("Using QCalMin=1.0 as a NLAPS product processed after 4/4/2004");
+
lsat->number = 5;
sensor_TM( lsat );
- jbuf = julian_char("2004-04-04");
- if (julian >= jbuf) {
- G_warning("Using QCalMin=1.0 as NLAPS products processed after 4/4/2004");
- }
lsat->dist_es = earth_sun(lsat->date);
- for (i = 0; i < lsat->bands; i++)
- {
+ for (i = 0; i < lsat->bands; i++) {
j = lsat->band[i].number - 1;
- if (julian >= jbuf)
- lsat->band[i].qcalmin = 1.;
+ if (julian >= jbuf) lsat->band[i].qcalmin = 1.;
lsat->band[i].esun = *(esun + j);
lsat->band[i].lmax = *(lmax + j);
lsat->band[i].lmin = *(lmin + j);
- if (lsat->band[i].thermal ) {
+ if (lsat->band[i].thermal ) {
lsat->band[i].K1 = 607.76;
lsat->band[i].K2 = 1260.56;
}
@@ -408,17 +403,18 @@
Landsat 7. Science Data Users Handbook. Last update: February 17, 2007 */
/* Spectral radiances at detector */
/* - LOW GAIN - */
- double LmaxL[][8] = { { 297.5, 303.4, 235.5, 235.0, 47.70, 17.04, 16.600, 244.0 }, /* before July 1, 2000 */
- { 293.7, 300.9, 234.4, 241.1, 47.57, 17.04, 16.540, 243.1 } }; /* on or after July 1, 2000 */
+ double LmaxL[][8] = { { 297.5, 303.4, 235.5, 235.0, 47.70, 17.04, 16.60, 244.0 }, /* before July 1, 2000 */
+ { 293.7, 300.9, 234.4, 241.1, 47.57, 17.04, 16.54, 243.1 } }; /* on or after July 1, 2000 */
double LminL[][8] = { { -6.2, -6.0, -4.5, -4.5, -1.0, 0.0, -0.35, -5.0 },
{ -6.2, -6.4, -5.0, -5.1, -1.0, 0.0, -0.35, -4.7 } };
/* - HIGH GAIN - */
double LmaxH[][8] = { { 194.3, 202.4, 158.6, 157.5, 31.76, 12.65, 10.932, 158.4 },
- { 191.6, 196.5, 152.9, 157.4, 31.06, 12.65, 10.800, 158.3 } };
+ { 191.6, 196.5, 152.9, 157.4, 31.06, 12.65, 10.80, 158.3 } };
double LminH[][8] = { { -6.2, -6.0, -4.5, -4.5, -1.0, 3.2, -0.35, -5.0 },
{ -6.2, -6.4, -5.0, -5.1, -1.0, 3.2, -0.35, -4.7 } };
+ /** Chander, Markham and Helder. Remote Sensing of Environment, 113 (2009) */
/* Solar exoatmospheric spectral irradiances */
- double esun[] = { 1969., 1840., 1551., 1044., 225.7, 0., 82.07, 1368. };
+ double esun[] = { 1997., 1812., 1533., 1039., 230.8, 0., 84.90, 1362. };
/* Thermal band calibration constants: K1 = 666.09 K2 = 1282.71 */
julian = julian_char(lsat->creation);
More information about the grass-commit
mailing list