Indonesia, Remote Sensing, Urban environment

Automatic cloud cover assessment (Implementation of GRASS)

On of the important thing in land use land cover mapping is cloud cover assessment. Fortunately, free open source software for imagery processing such as GRASS provides us with the Automatic Cloud Cover Assessment (ACCA) module; i.landsat.acca.

i.landsat.acca implements the ACCA Algorithm from Irish (2000) with the constant values for pass filter one from Irish et al. (2006). To do this, it needs Landsat band numbers 2, 3, 4, 5, and 6 (or band 61 for Landsat 7 ETM+) which have already been processed from DN into reflectance and band-6 temperature with i.landsat.toar.

In this case we will assess the cloud cover over Surabaya City, East Java Province, Indonesia. Data used in this cloud assessment is Landsat 7 ETM+, it was acquired on December 27, 2013. Figure 1 shows the study area with the cloud cover in the northern part, and some part with the cloud shadow and haze. We will remove this cloud cover, by employ the i.landsat.acc module in GRASS.

Natural color of Surabaya City before cloud and haze assessment
Natural color of Surabaya City before cloud and haze assessment

Algorithm:

Note: I always working with command console (Figure 2) instead of GUI, it is more convenient, so please learn how to get used with it.

Command console in GRASS
Command console in GRASS

1. Set region

g.region rast: b1

2. Perform i.landsat.toar

i.landsat.toar input_prefix=B output_prefix=Refl metfile=C:\your metadata folder location\LE71180652013361EDC00_MTL.txt sensor=tm7 method=corrected
>> Please select the metadata file

Top-of-atmospheric correction using i.landsat.toar module
Top-of-atmospheric correction using i.landsat.toar module

In this step, I imported all of the Landsat 7 ETM+ bands with prefix “B” into GRASS environment, and converted the DNs into top-of-atmospheric reflectance, and used the prefix “Refl”.

3. Perform i.landsat.acca

i.landsat.acca -f input_prefix=Refl output=Acca

Automated Cloud-Cover Assessment (ACCA) using i.landsat.acca
Automated Cloud-Cover Assessment (ACCA) using i.landsat.acca

Please note: I used “Refl” as input prefix and “Acca” as output for the result

Cloud and haze assessment
Cloud and haze assessment

4. Using MASK

r.mapcalc “MASK = if(isnull(acca))”

Note: use command console for using MASK

5. Display RGB

d.rgb -o red=Refl3 green=Refl2 blue=Refl1

Final result after using MASK
Final result after using MASK
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s