[GRASS-user] Negative raster values from i.landsat.dehaze

James Travers traversjames at yahoo.ie
Thu May 3 16:05:24 EDT 2012



Ok, I have done a bit more digging and found r.univar for the stats problem - don't know how I missed that one!

On the atmospheric correction I have ditched i.landsat.dehaze in favour of the presumed higher accuracy of i.atcorr.  So, with this I have created a control file with the relevant values for e.g. Band-3:

#--------- start of control file -----
8                            - geometrical conditions=Landsat ETM+
3 24 08.020 35.400 32.680    - month day hh.ddd longitude latitude ("hh.ddd" is in GMT decimal hours)
2                            - atmospheric mode=midlatitude summer
2                            - aerosols model=maritime
50                           - visibility [km] (aerosol model concentration)
-0.080                       - mean target elevation above sea level [km]
-1000                        - sensor on board a satellite
63                           - 3rd band of ETM+ Landsat 7
#--------- end of control file -------


When I then run i.atcorr:

$ i.atcorr -r -a iimg=R3 icnd=icnd3.txt oimg=C3D
ERROR: Raster map <dem_float> not found


The error is refers to the default altitude raster-map, but the command help specifies that the ialt argument is optional and I don't have a DEM for the area.  Any ideas what is going on?

Thanks,
Jamie




________________________________
 From: James Travers <traversjames at yahoo.ie>
To: "grass-user at lists.osgeo.org" <grass-user at lists.osgeo.org> 
Sent: Wednesday, 2 May 2012, 22:10:39
Subject: [GRASS-user] Negative raster values from i.landsat.dehaze
 



Hi,

I have been trying to get some results from GRASS for a couple of weeks now but am hitting a wall.  What I am trying to do is to take an area of land from a series of Landsat 7 ETM+ images and calculate NDVI over the area for the purpose of comparison over a time-period.  This obviously requires atmospheric correction, so the command sequence I am using after importing the images for a given mapset is:


# Generate radiance values
i.landsat.toar input_prefix="B" output_prefix="R" metfile="./L71174038_03820080324/L71174038_03820080324_MTL.txt" sensor="tm7"

# Atmospheric correction
i.tasscap -7 band1=R1 band2=R2 band3=R3 band4=R4 band5=R5 band7=R7 outprefix=TC
i.landsat.dehaze band1=R1 band2=R2 band3=R3 band4=R4 band5=R5 band7=R7
 tasscap4=TC.4 outprefix=D

# Generate NDVI map
r.mapcalc 'ndvi=if((D.3 == 0 && D.4 == 0), -1, (D.4 - D.3) / (D.4 + D.3))'


Then I mask the NDVI map with an area raster which I already created.  There is probably a better way of doing this.


# Mask NDVI map with individual regions
r.mapcalc 'area_ndvi = ndvi * area_mask at PERMANENT'


Finally I want an average value of the NDVI over the area.  There is definitely a better way of doing this but I couldn't find a grass command that spits out a single value.  Instead I used r.stats to give the area of each group of values and then wrote a Perl script to average these.


# Process statistics
r.stats -a --q area_ndvi | ./stats.pl


Ok, so here come the questions:

1) Is there a better way to simply get an average of all values over a given area to replace my stats.pl script?

2) and this is the big one.  When I perform i.landsat.dehaze I get rasters with primarily negative values.  This renders the NDVI calculation meaningless as they are ratios of +ve and -ve values.  I am presuming this is a mistake as negative reflectance has little meaning anyway - did I use the wrong sequence of commands?  Below are info outputs for the red-band after the TOAR and dehaze operations respectively:

Many thanks for any help on this,
Jamie

 +----------------------------------------------------------------------------+
 | Layer:    R3                             Date: Wed May  2 20:15:30 2012    |
 |
 Mapset:   L71174038_03820080324          Login of Creator: jamie           |
 | Location: area                                                             |
 | DataBase: /home/jamie/grassdata                                            |
 | Title:     ( R3
 )                                                          |
 | Timestamp: none                                                           
 |
 |----------------------------------------------------------------------------|
 |                                                                            |
 |   Type of Map:  raster               Number of Categories: 255             |
 |   Data Type:   
 DCELL                                                      |
 |   Rows:         6961                                                       |
 |   Columns:     
 7911                                                       |
 |   Total Cells:  55068471                                                   |
 |        Projection: UTM (zone
 36)                                           |
 |            N:    3619200    S:    3410370   Res:    30                     |
 |            E:     843630    W:     606300   Res:    30                     |
 |   Range of data:    min =
 -0.0129146013370688  max = 0.605436510681785     |
 |                                                                            |
 |   Data Description:                                                        |
 |    generated by
 i.landsat.toar                                             |
 |                                                                            |
 |  
 Comments:                                                                |
 |     Reflectance of Landsat-7 ETM+ (method uncorrected)                     |
 |    ----------------------------------------------------------------        |
 |     Acquisition date ...................... 2008-03-24                    
 |
 |     Production date ....................... 2012-02-23                     |
 |                                                                            |
 |     Earth-sun distance (d) ................ 0.99699779                     |
 |     Digital number (DN) range ............. 1 to
 255                       |
 |     Calibration constants (Lmin to Lmax) .. -5.000 to +234.400             |
 |     DN to Radiance (gain and bias) ........ +0.94252 and -5.94252          |
 |     Mean solar irradiance (ESUN) .......... 1551.000                       |
 |     Reflectance = Radiance divided by ..... 387.15868                      |
 |   
 -----------------------------------------------------------------       |
 |                                                                            |
 |    i.landsat.toar input_prefix="B" output_prefix="R" metfile="./L711740\   |
 |    38_03820080324/L71174038_03820080324_MTL.txt" sensor="tm7" method="u\   |
 |    ncorrected" percent=0.01 pixel=1000 sat_zenith=8.2000 rayleigh=0.0     
 |
 |                                                                            |
 +----------------------------------------------------------------------------+
 +----------------------------------------------------------------------------+
 | Layer:    D.3                            Date: Wed May  2 20:22:21 2012    |
 | Mapset:  
 L71174038_03820080324          Login of Creator: jamie           |
 | Location: area                                                             |
 | DataBase: /home/jamie/grassdata                                            |
 | Title:     ( D.3
 )                                                         |
 | Timestamp: none                                                           
 |
 |----------------------------------------------------------------------------|
 |                                                                            |
 |   Type of Map:  raster               Number of Categories: 255             |
 |   Data Type:   
 DCELL                                                      |
 |   Rows:         334                                                        |
 |   Columns:     
 166                                                        |
 |   Total Cells:  55444                                                      |
 |        Projection: UTM (zone
 36)                                           |
 |            N:    3493000    S:    3483000   Res: 29.94011976               |
 |            E:     649000    W:     644000   Res: 30.12048193               |
 |   Range of data:    min = -0.463376848126162  max = 0.19725822381175      
 |
 |                                                                            |
 |   Data Description:                                                        |
 |    generated by
 r.mapcalc                                                  |
 |                                                                            |
 |  
 Comments:                                                                |
 |    R3 - (TC.4 - 0.134975) * -3.08586                                      
 |
 |                                                                            |
 +----------------------------------------------------------------------------+

_______________________________________________
grass-user mailing list
grass-user at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-user/attachments/20120503/0f970c2c/attachment-0001.html


More information about the grass-user mailing list