I am trying to classify a Landsat 4-5 image using the semi automatic classification plugin (QGIS). I always get misclassifications between bare soil and urban areas as they have similar spectral information.

Is there a way to improve the quality of the classification so that urban areas and bare soil are better differentiated?

  • Are you using all of the spectral bands in your classification? Are you incorporating any spectral indices? – Aaron Jan 17 '16 at 20:56
  • Yes. But I tried to reduce the amount. I also ran a PC analysis and tried to used the bends from pca, but it didn't help. Excuse me. I am doing this first time. What do mean by spectral indices? Thank you for answering – Mariam Malka Karagulyan Jan 18 '16 at 21:47
  • Spectral Indices are band combinations for a certain application. These are for instance the Normalized Difference Vegetation Index (NDVI) or the Normalized, Difference Buildup Index (NDBI), Enhanced Vegetation Index (EVI) to name a few prominent examples. – Kersten Jan 19 '16 at 13:14

I have not done this with QGIS, but separating urban from things like bare soil and especially basalt can be really hard. This is even worse when using all the bands.

Read up on the indices using google scholar. Some of them are fine tuned to separate urban out. I believe this applies to Normalized Difference Buildup Index (NDBI), but have not researched and used this particular one myself.

I have worked with mcfeeters, 1996 Normalized Difference Water Index(NDWI). A problem is that it tends to group water and urban together. So xu,2006 created Modified NDWI (MNDWI). Just using MIR instead of NIR greatly improves the separation of water and urban.

It would be helpful if you give more details about your image and your goal. Is it mostly urban, rural, or mixed? Is there something you are ultimately trying to get from the image like vegetation, roads, etc? This will allow someone to suggest the best method.

If you stick with all the bands and unsupervised classification your class name may end up being something like Urban, dirt roads, fallow fields, and basalt. This is just the limitation of unsupervised classification. When this happens you might try cluster busting. (not sure if you can do it QGIS, but you might google it).


It must indeed be difficult to separate the classes with the spectral information available on one date. But as Landsat data are usually available for several dates within a year, you might try to combine these dates. Except in very dry areas, there is often a time when the soils are covered by vegetation and easy to differentiate from buildings and roads.


This article might be of interest even if it utilizes Landsat-8 data. As mentioned in the comments above, the authors suggest that a combination of Tasseled Cap transformation (TCB) and Normalized Difference Bareness Index (NDBaI) can improve the detection of bare soil.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.