Hydrologic Modeling in Oak Woodland SoilscapesNavigationUser login |
Canopy Quantification via Image ClassificationSubmitted by dylan on Tue, 2008-02-19 21:14.
+-----------------------------------------------------------------------------+ | Category Information | | % | |#|description | hectares| cover| |-----------------------------------------------------------------------------| |1|grass. . . . . . . . . . . . . . . . . . . . . . . . . . | 14.039700| 23.42| |2|tree . . . . . . . . . . . . . . . . . . . . . . . . . . | 40.025400| 66.77| |3|shade. . . . . . . . . . . . . . . . . . . . . . . . . . | 5.876900| 9.80| |-----------------------------------------------------------------------------| |TOTAL | 59.942000|100.00| +-----------------------------------------------------------------------------+
g.region vect=watershed_area res=1 -a g.region save=naip_class # these images are cut from the SE quarter-quad # setup imagery group i.group group=naip sub=naip in=naip2005.red,naip2005.green,naip2005.blue # zoom in and out digitize some training areas r.digit out=t1 bg='d.rgb red=naip2005.red g=naip2005.green b=naip2005.blue' r.digit out=t2 bg='d.rgb red=naip2005.red g=naip2005.green b=naip2005.blue' r.digit out=t3 bg='d.rgb red=naip2005.red g=naip2005.green b=naip2005.blue' # 1 grass # 2 tree # 3 shadow # combine training maps r.patch in=t1,t2,t3 out=training # optimize colors: i.landsat.rgb red=naip2005.red g=naip2005.green b=naip2005.blue -p # take a look d.rgb red=naip2005.red g=naip2005.green b=naip2005.blue d.rast -o training # setup classifier i.gensigset train=training group=naip sub=naip sig=grass_tree.sig # run classification: SMAP i.smap group=naip sub=naip sig=grass_tree.sig out=grass_tree.class r.colors map=grass_tree.class color=rules << EOF 1 yellow 2 green 3 25:150:25 EOF #create checker pattern with some raster algebra-fu r.mapcalc " v=if( (sin(5*row()) + sin(5*col())) > 0.0, null(), naip2005.red )" r.mapcalc " i=if( (sin(5*row()) + sin(5*col())) > 0.0, grass_tree.class, null() )" # fix color tables r.colors map=i rast=grass_tree.class r.colors map=v rast=naip2005.red # looks good! d.rast v d.rast -o i # one more look: d.his i=naip2005.red h=grass_tree.class # report r.report -h grass_tree.class units=h,p # quick eval of training--classified correlation r.kappa class=grass_tree.class reference=training
MAPS: MAP1 = (untitled) (training in PERMANENT)
MAP2 = (untitled) (grass_tree.class in PERMANENT)
Error Matrix
Panel #1 of 1
MAP1
cat# 1 2 3 Row Sum
M 1 4985 0 0 4985
A 2 0 2275 143 2418
P 3 0 2 146 148
Col Sum 4985 2277 289 7551
Cats % Commission % Ommission Estimated Kappa
1 0.000000 0.000000 1.000000
2 5.913978 0.087835 0.915327
3 1.351351 49.480969 0.985949
Kappa Kappa Variance
0.958868 0.000011
Obs Correct Total Obs % Observed Correct
7406 7551 98.079725
MAP1 Category Description
1: grass
2: tree
3: shade
MAP2 Category Description
1: grass
2: tree
3: shade
|