Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm interested in a low-cost or open source solution for creating land cover GIS layers that utilize both spectral and textural extraction algorithms. I have used PCI Geomatica, ENVI, and Feature Analyst VLS in the past; however these solutions are a bit beyond my price range, any software recommendations?

share|improve this question
up vote 13 down vote accepted

You can use GRASS GIS for this which supports texture extraction and image classification based on a radiometric/segmentation approach. For an idea, check this conference abstract, a planned talk at the Geoinformatics FCE CTU 2011.

See also: and for an overview.

share|improve this answer
thanks I'll give it a look. – artwork21 May 9 '11 at 1:26

If I understand you correctly, you are looking for a supervised classification procedure. Some theoretical background:

This is certainly possible through grass:

As an alternative you could also look at saga (I'm not saying it is better, I just know it better myself), which also plays nicely with qgis and R. There are some video's demonstrating this on this site: (download the datafiles to get the presentations).

In all gis programs, what you will do is define a number of reference points or polygons in one type of land, which are then extrapolated to the rest of the area. Here is an example of a landuse classification:

enter image description here

And in fact if you have drawn your training polygons in any gis program, you can use R to predict. Make an overlay with your grids, and then use any prediction system you like (eg rpart if you want classification trees). More info in this book around page 222:

There is a lot more to say, you training sets should be representative for your study area (perhaps it would even be better to generate random points in R and to classify those). You should also choose your auxiliary datasets carefully, and you might want to generate new ones if eg texture is an important property.


If all you want to do is extract regions or features (without classifying them), a segmentation algorithm is more likely what you want. One example (implemented in SAGA GIS) is discussed in this paper:

share|improve this answer
Thank you very much for your response. It seems you know exactly how one can accomplish my goals. What I would really appreciate is if you clarify your answer a bit more. I am specifically interested in the steps involved so that I can teach the program which features are correct and which ones are wrong until all (or most) of the correct features are extracted. – Sep 26 '11 at 15:31
Provide more info (in your question, not in comments) what exactly the features are that you want to extract. Apart from that: if there is an overlap in the signal (see nasa link) of different land-use types (or whatever you are mapping), automated classification will not work well. – johanvdw Sep 26 '11 at 18:56

You would be able to do that with GRASS.

You will first work with raster data :

Finally you will manipulate vector data. and v.class will help you.

share|improve this answer
This approach uses only one raster - which is usually insufficient. – johanvdw Sep 26 '11 at 11:16
He is talking about a region (one image or multiples). Anyway, images can be merged. – simo Sep 26 '11 at 13:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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