How to perform Tasseled Cap Function/"Greenness" Factor in GIS?

11003
18
07-27-2015 09:11 AM
MartDungay
New Contributor II

Good morning,

I'm a beginner analyst attempting to map impervious water surfaces of land parcels in a city. The research I did suggested I use what is called the "Tasseled Cap" function in GIS to estimate the vegetation aka "Greenness" factor of the raster image to automatically make a distinction between pixels that are vegetation (some minimum level of green) and not vegetation (impervious).

I have no idea how to do this as my experience with Python and SQL is extremely limited and I can't find a built in function to do this for me.

Would anyone happen to have any helpful hints?

Cheers

0 Kudos
18 Replies
IanMurray
Frequent Contributor

Hi Matt,

There is a built in tasseled cap function for raster and mosaic datasets.  Please see this post.

Tasseled Cap using Landsat 5 TM .tiffs in ArcMap 10.1

0 Kudos
MartDungay
New Contributor II

I'd love to be able to use the function.... but I can't find "tasseled cap" in any of the toolbars or commands in ArcMap 10....

0 Kudos
IanMurray
Frequent Contributor

It under the Windows >Image Analysis, you can change the layer properties.  I haven't tried myself since I don't have any LANDSAT handy, but figured it could point you in the right direction.  I think the help the others have posted will be better for you anyway.  If you are on ArcGIS 10, I'm not sure they had the Image Analysis Window it might be 10.1 and up.

0 Kudos
JayantaPoddar
MVP Esteemed Contributor

Hi Mart,

If you want to apply just the greenness variable, you could use Raster Calculator.

Add TM1-5 and TM7 to ArcMap.

Open Raster Calculator (Spatial Analyst) and write the expression similar to that given below:

Float (((-0.2728)*TM1) - ((0.2174)*TM2) - ((0.5508)*TM3) + ((0.7221)*TM4) + ((0.0733)*TM5) - ((0.1648)*TM7))

Note: Replace "TM1-5" and "TM7" with the corresponding band names.



Think Location
0 Kudos
DarrenWiens2
MVP Honored Contributor

This answer caught me somewhat off-guard as the reference is from 1986, well before Landsat 7 and 8 (more common/possible for current imagery) were launched.

Anyhow, make sure you use the correct band combination for the sensor that collected your imagery - the band ranges are different. See here for more from the same reference, with other possible satellites: http://www.tft-earth.org/wp-content/uploads/2015/04/HCS-Approach-Toolkit-Ch3-GIS-analysis.pdf

JayantaPoddar
MVP Esteemed Contributor

Darren,

The coefficients are for Thematic Mapper (L5), launched in March,1984.



Think Location
0 Kudos
MartDungay
New Contributor II

Thanks guys, great info here. I should be able to get everything I need done.

Darren: I apologize if this is silly question but where in the expression does the raster name go? And as there are only three bands... do i need the rest of the coefficients? Also, do i put parentheses around the bands?

Once I figure how to input this correctly.... Float "Aerials\142140.sid" (((-0.2728)*"Band_1") - ((0.2174)*"Band_2") - ((0.5508)*"Band_3") + ((0.7221)*TM4) + ((0.0733)*TM5) - ((0.1648)*TM7))

Something like that....? I really should learn some more SQL....

0 Kudos
JayantaPoddar
MVP Esteemed Contributor

Hi Mart,

A Tasselled Cap algorithm should be used on raw bands of a satellite sensor. Which satellite imagery are you working on?



Think Location
MartDungay
New Contributor II

Here, have a jpeg of the raster information. I obviously have no idea what im doing haha. All i know is that they are .SID files and the cell resolution is 0.5. There are three bands... Red Green and Blue. Previously my superior mapped impervious surfaces of land parcels by hand.... it took her a long time.

raster.png

Thanks!!

0 Kudos