Using ArcGIS for Landcover Classification Presented by CORE GIS May 8, 2012
How to use ArcGIS for Image Classification 1. Find and download the right data 2. Have a look at the data (true color/false color) 3. Obtain temporally similar air photos 4. Run an unsupervised classification 5. Digitize training polygons 6. Create signature files 7. Run a supervised classification 8. Addressing class confusion 9. Assess your accuracy the error matrix 10. Lessons learned
Case Study Stillaguamish Watershed The task: Create a landcover classification using Landsat data so that it will be analytically compatible with the 1991 and 2001 landcover classifications produced by Simmonds et al and Purser et al
But first!
Find and download the right data, 1
Find and download the right data, 2
Find and download the right data, 3
Find and download the right data, 4
Murphy s Law of Maps Any geographic area of interest will lie on the boundary between two or more mapsheets
But what about Landsat 7? SLC-off will get you! On May 31, 2003 the Scan Line Corrector (SLC) in the ETM+ instrument failed. The SLC consists of a pair of small mirrors that rotate about an axis in tandem with the motion of the main ETM+ scan mirror. The purpose of the SLC is to compensate for the forward motion (along-track) of the spacecraft so that the resulting scans are aligned parallel to each other. Without the effects of the SLC, the instrument images the Earth in a "zig-zag" fashion, resulting in some areas that are imaged twice and others that are not imaged at all. The net effect is that approximately 22% of the data in a Landsat 7 scene is missing when acquired without a functional SLC.
SLC-off data is challenging to work with
Have a look at the data an overview What do you get when you download Landsat data? L5046026_02620110730_B10.TIF, L5046026_02620110730_B20.TIF, etc., through _B70 These correspond to the 7 bands, as follows: Band 1 = blue Band 2 = green Band 3 = red Band 4 = near IR Band 5 = shortwave IR Band 6 = thermal infrared Band 7 = shortwave IR (although, not quite as short as Band 5) To generate images, first convert TIFs to rasters, then use Spatial Analyst as follows: True color = MAKESTACK truecol LIST [p46r26_3] [p46r26_2] [p46r26_1] False color = MAKESTACK falsecol LIST [p46r26_4] [p46r26_3] [p46r26_2]
Have a look at the data true color
Have a look at the data false color
Obtain temporally similar airphotos For 2011 classification, it s easy! Just use USDA NRCS NAIP for 2011 For other classifications (particularly pre- 2000s), not so easy Earth Explorer has loads of freely available air photos, but most are not georeferenced, much less orthorectified We will use the air photos later, for supervised classification
Supervised vs Unsupervised Classifications Unsupervised: ArcGIS looks at spectral reflectance characteristics and assigns every pixel into a class. You tell the software how many classes to create, then you look at the result and try to figure out what each class represents. Supervised: You use your temporally similar airphotos to digitize a series of training polygons, then tell ArcGIS this polygon is water or this polygon is old growth forest etc., then the software finds all pixels that have similar spectral reflectance characteristics and assigns them to the appropriate class.
Run an unsupervised classification The Iso Cluster tool uses an isodata clustering algorithm to determine the characteristics of the natural groupings of cells in multidimensional attribute space and stores the results in an ouput ASCII signature file. SA will allegedly run an unsupervised classification. That would have been great, but I could not get it to work. Crash, crash, crash.
Digitize training polygons The more, the better! P46 R27 P46 R26
Digitize training polygons be conservative Ortho Landsat True Color Composite
Create signature files Use Create Signatures tool Input bands 1-5 and 7 (no thermal band) Use training polys as feature sample data Name signature file with.gsg extension
Addressing class confusion the problem
Addressing class confusion solutions More training polygons Use elevation and rules to re-assign uniformly wrong classes in specific areas For example: blw_200m_v2: elevations below 200m (part_01) abv_200m_v3: elevations between 200m and 599m (part_02) abv_600m_v2: elevations 600m+ (part_03) con(([part_03] == 7),4,[part_03])-->part_03_v2 This converts the incorrectly classified medium density in high elevation into grass (alpine meadows)
Addressing class confusion solutions
Assess your accuracy How to do it: Use a randomly selected collection of 10 5x5 pixel blocks of homogeneous land cover from each class Use Hawth s tools to generate a grid of 150m x 150m polygons (each Landsat pixel is 30m x 30m Convert each landcover class to polygon feature class Select grid polys that fall completely within polys of each landcover type Assign a random value to each of the grid polygons (e.g. arcgis.rand( Integer 1 10 ), where upper limit of random values is determined by dividing the total number of grid polys by 10, then randomly selecting 10 grid polygons Finally, take a look! Overlay selected polys on air photos Helps to have rules: in our case, 50%+ for a match
Assess your accuracy examples Mature Forest = Match! Landcover Ortho Medium Density Development = Error Landcover Ortho
Assess your accuracy the error matrix
Lessons learned It is possible to do landcover classification at acceptable levels of accuracy using ArcGIS It is difficult to run unsupervised classifications using ArcGIS SLC-off severely limits the usefulness of Landsat 7 ETM+ for novice to intermediate users I need to do more research into solving class confusion, particularly for the urban/rural/ag mix The more training polygons, the better!
More info Get data: http://earthexplorer.usgs.gov/ http://datagateway.nrcs.usda.gov/ Same idea in 10.x world: http://blogs.esri.com/esri/arcgis/2011/05/28/cl assifying-landsat-image-services-to-make-a-landcover-map/ Helpful descriptions of band combinations: http://web.pdx.edu/~emch/ip1/bandcombination s.html
Thank You Jason Griffith at Stillaguamish Tribe of Indians Luke Rogers for brainstorming and trouble-shooting