[GRASS-user] Advice for starting a GRASS project

Markus Neteler neteler at osgeo.org
Mon Jan 19 16:33:25 EST 2009


Ned,

On Fri, Jan 9, 2009 at 12:53 PM, Ned Horning <nedh at lightlink.com> wrote:
> I'd like to get some feedback on my proposed approach for a land cover classification
> project in GRASS. Basically I'm looking for pointers to help me avoid too many
> learning curve pitfalls. I have the 3rd edition of the Grass book (great resource)
> and lots of image processing experience using other software but limited GRASS
> experience.
>
> After several years of failed attempts at learning GRASS I have (nearly) decided
> to do a large project using it to force myself to become proficient enough with
> GRASS to use it on a regular basis. In the past I would always start a GRASS
> project, get frustrated and then would turn to the proprietary software I was
> very familiar with to do the project to save time. I have been encouraging other
> people to use GRASS and figure it's time that I do the same.

Excellent & welcome :)

> The project is fairly straightforward but it involves processing about 30 fairly
> large (1 – 2 GB each) 2.5m SPOT and 1m IKONOS images. The initial step is to
> create a shrub/non-shrub map using the high resolution imagery and then use
> the shrub presence locations (from the shrub / non-shrub map) and several Landsat
> TM/ETM+ images to train regression trees to create a percent shrub cover map.
> Many sets of images were acquired in the same pass on the same day and can be
> mosaicked but then they would then be near or over the BIGTIFF limits.

(in GRASS there is large file support, enable with --enable-largefile when
 configuring the source code or pick an enabled binary).

> These are the steps I expect to follow. Any comments or answers to my questions
> would be greatly appreciated.
>
> 1) Import SPOT and IKONOS images into GRASS [one location for each image]

If they are of the same place, I would import them into the same location
and even the same mapset (eg PERMANENT). Then elaborate in a
separate *mapset* within this location to separate originals from own
stuff. Of course only if all have the same projection.

> 2) Shrub / non-shrub classification using GRASS. I am trying to think of ways
> to avoid having to pick training data from each image (to save time) since there
> are many sets of images that were collected consecutively on the same path on
> the same day and therefore have similar illumination conditions.
> I could mosaic them but I'm concerned the images will be too cumbersome to handle
> (~3-8GB). How is GRASS performance with large images and a 4 year old computer?

It will work. Everything takes time but I don't expect problems. GRASS 6.2
has been used for >10GB images, since then more testing and fixing
happened. Best is to use the latest 6.4.0RC2 version.

> To avoid mosaicking the images I could collect training statistics from one
> (or maybe combine statistics from two images?) and apply those statistics to
> each of the images in the set using a supervised classification algorithm.

In my former institute we developed a histogram matching algorithm as
master thesis but it was too complicated to maintain. In another project
we used OSSIM for this step, then continued in GRASS.

> I may just end up picking training data from each image but that will be very
> time consuming. I am considering using i.smap. Is this feasible with large images?

Yes (for i.smap).

> A maximum likelihood algorithm would probably work fine but I thought it would
> be interesting to try smap.

i.smap is definitely superior to i.maxlik.

Consider to generate synthetic channels with r.texture, in your case it may
well improve the results.

> 3) Project shrub/non-shrub and SPOT/IKONOS images Albers using GDAL [automate
> using a script]

Unclear to me: from what to what? Ok for automatization.

> 4) Georeference shrub / non-shrub map to reference Landsat images [might do
> this with ENVI or ERDAS unless GRASS is a good choice]

Also unclear to me: above you say that you generate the shrub / non-shrub map
in GRASS, then it is already geocoded. Or not?

> 5) Create percent shrub cover map using regression tree algorithm, Landsat imagery,
> and shrub location  data from the high resolution shrub / non-shrub map. I will
> probably do this using proprietary software unless I can do it easily in GRASS
> since a method has been established for another project.

Of course GRASS-R-extention comes to mind for all kinds of statistics.

best,
Markus

-- 
Markus Neteler
Fondazione Mach  -  Centre for Alpine Ecology
38100 Viote del Monte Bondone (Trento), Italy
Web:  http://gis.fem-environment.eu/
Email: neteler AT cealp.it


More information about the grass-user mailing list