I'm trying to make a supervised classification in Grass 6.4.3 under Linuxmint 16.
After digitizing the training areas, I transformed them from vector to raster. Then I've done the following: just in case: g.region rast=train_area_2013_03_05_raster@PERMANENT,2013_03_05_toar4@PERMANENT
then
i.group group=group subgroup=sub_group input=2013_03_05_toar4@PERMANENT,2013_03_05_toar5@PERMANENT,2013_03_05_toar3@PERMANENT
and
i.gensig trainingmap=train_area_2013_03_05_raster@PERMANENT group=group@PERMANENT subgroup=sub_group signaturefile=superv_class
but the resulting signature file, only contains one character: "#".
The output of i.gensig in the console is the following:
Finding training classes...
3 classes found
Calculating class means...
Calculating class covariance matrices...
Signature 1 not invertible
Signature 2 not invertible
Signature 3 not invertible
i.gensig complete.
Obviously if I try: i.maxlik group=group@PERMANENT subgroup=sub_group sigfile=superv_class class=results_class
I obtain the following error message:
ERROR: Unable to read signature file
I've been searching, but I couldn't find the solution.
I've tried: this Problem running i.gensigset in Grass. Any ideas?
My problem is similar to this: i.maxlik cannot read i.class output signature file. But here, there's no solution suggested. As in this case, I also used i.cluster
to generate an unsupervised signature file and i.maxlik
reads this perfectly well.
Here there's another similar question, but again, with no solution...
What does Signature X not invertible
means?
Any idea? Thanks for your help!
No comments:
Post a Comment