2013/11/27 Nikos Alexandris <[email protected]> > Cesar Augusto Ramírez Franco wrote: > > > > > I've been trying to do a supervised classification from landsat8 > imagery > > > > using i.class and then i.maxlik, but I'm getting an error when > running > > > > i.maxlik saying it can't read the signature file. > > > Nikos Alexandris: > > > > Just to double-check: verify that your "classes" don't overlay any NULL > > > cells. It might be completely irrelevant, I have, though, blurry > memories > > > of this being a blocker actually (with i.smap at least). > > > There are no NULL cells on my classes, neither on my Landsat 8 images or > > the Landsat 7 in the North Carolina dataset > > ok > > > > > > I tested my procedure on the NC sample dataset and I'm getting the > same > > > > error, I'm using Grass 6.4.2 on Debian Wheezy, installed from the > debian > > > > repo. Here's the command set: > > > > > #Display RGB enhanced map > > > > i.landsat.rgb blue=lsat7_2000_10 green=lsat7_2000_20 > red=lsat7_2000_30 > > > > d.rgb blue=lsat7_2000_10 green=lsat7_2000_20 red=lsat7_2000_30 > > > > > > > > #"Real color" map > > > > r.composite red=lsat7_2000_30 green=lsat7_2000_20 blue=lsat7_2000_10 > > > > output=lsat7_2000_RGB > > > > > > > > #Group images to process > > > > i.group group=lsat7_2000_RGB subgroup=lsat7_2000_RGB > > > > input=lsat7_2000_10,lsat7_2000_20,lsat7_2000_30 > > > > > > > > #Unsupervised classification > > > > i.cluster group=lsat7_2000_RGB subgroup=lsat7_2000_RGB > > > > sigfile=clustlsat7 > > > > classes=20 report=rep_clust_lsat7.txt > > > > > > (I have never tried to feed a group that uses a single composite. I'll > try > > > it out.) > > > > The composite is for the supervised clasification, the group and subgroup > > are made with the 3 RGB bands (1,2,3 in Landsat7 or 2,3,4 in Landsat8) > > Right, I didn't pay much attention. Apologies. > > > > > > i.maxlik group=lsat7_2000_RGB subgroup=lsat7_2000_RGB > sigfile=clustlsat7 > > > class=lsat7_classes reject=lsat7_classes_rej > > > > Does the unsupervised classification work? i.cluster requires at least > > > two input raster maps. And, honestly, I have never tried it the way you > > > did, i.e. by using a composite map. Also, r.composite will use by > default > > > "32 levels" whicih means that you loose important info for the > subsequent > > > classification, if I am not wrong. > > Same error (of mine) as above, you correctly used a group with three bands. > > > > > The supervised classification does work, i.cluster generates a signature > > file and i.maxlik success to create the classes raster map > > You mean the _un_supervised I guess. >
Yes, I meant the unsupervised, with i.cluster > > #Supervised classification > > > > > > > i.class map=lsat7_2000_RGB group=lsat7_2000_RGB > subgroup=lsat7_2000_RGB > > > > outsig=classlsat7 > > > > i.maxlik group=lsat7_2000_RGB subgroup=lsat7_2000_RGB > sigfile=classlsat7 > > > > class=lsat7_class_sup > > > > > > > > Here I get the error in which i.maxlik can't read the signature file > > > > created by i.class (classlsat7) but read the one created by i.cluster > > > > flawlessly > > > > > > > > This is what I'm selecting on the i.class monitor, I named it > > > > vegetation: > > > > [image: Imagen integrada 1] > > > > > > Only on class? Can you try with more please? > > > > Yes, the error I'm getting is only with the i.class module > > Sorry for my typo -- I meant to write "only with 1 class?", "can you try > with > more than 1 class, i.e. 3 or 4 classes?". > I was using two classes, vegetation and construction, I tried two more classes and got the same error > > I'm doing some tests creating a test vector with my classes as areas, > > how many classes? > > then converting it to raster with v.to.rast, > > can you post the exact command? What values are you attributing to the > rasterised classes? > I used the grass gui to draw some polygons on a test vector with cat(integer),class(integer),desc(varchar) and assigned 1 for vegetation or 2 for constructions Then issued v.to.rast in=test out=test use=attr col=class labelcol=desc And got a raster with those areas, then created the signature with i.gensigset group=lsat7_2000_RGB subgroup=lsat7_2000_RGB sig=lsat7_testsig training=test i.smap group=lsat7_2000_RGB subgroup=lsat7_2000_RGB sig=lsat7_testsig out=veg_const > and then using that raster to generate statistics for i.smap with > > i.gensigset > > > I don't know if I'm not using the i.class module the right way or if it's > > broken > > I don't think it is broken as it usually works/ed fine. But we'll try to > nail > that down. > > Nikos > I just tested with Grass7.0svn and the GUI tool for supervised clasification (g.gui.iclass) generates a signature (with just one class) that is read just fine by i.maxlik -- *César Augusto Ramírez Franco* Laboratorio de Sistemas Complejos Naturales Escuela de Geociencias Facultad de Ciencias Universidad Nacional de Colombia - Sede Medellín Teléfono: (57-4) 430 9369 - 301 389 5607
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
