[GRASS-user] A "list=" option for "v.overlay"?

grass-user-request@lists.osgeo.org wrote:

Send grass-user mailing list submissions to
  grass-user@lists.osgeo.org

To subscribe or unsubscribe via the World Wide Web, visit
  http://lists.osgeo.org/mailman/listinfo/grass-user
or, via email, send a message with subject or body 'help' to
  grass-user-request@lists.osgeo.org

You can reach the person managing the list at
  grass-user-owner@lists.osgeo.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of grass-user digest..."

Today's Topics:

   1. Re: A "list=" option for "v.overlay"? (Nikos Alexandris)
   2. Re: A "list=" option for "v.overlay"? (Nikos Alexandris)
   3. Blank window in MS-Windows GRASS 6.3.0 (Matt)
   4. Re: Blank window in MS-Windows GRASS 6.3.0 (Moritz Lennert)
   5. wget (corine) "landcover_tiles_v2" for greece works, but not
      for europe(?) (Nikos Alexandris)

----------------------------------------------------------------------

Message: 1
Date: Sun, 11 Jan 2009 18:37:47 +0100
From: Nikos Alexandris <nikos.alexandris@felis.uni-freiburg.de>
Subject: Re: [GRASS-user] A "list=" option for "v.overlay"?
To: GRASS user list <grass-user@lists.osgeo.org>
Message-ID: <1231695467.10857.18.camel@vertical>
Content-Type: text/plain

On Sun, 2009-01-11 at 05:58 +0100, Nikos Alexandris wrote:
  

Wouldn't it make sense to have a "list=" option for "v.overlay"?

I need to extract samples from the CORINE land cover/use (vector) map in
separate maps (one map per sample plot).

Currently the only feasible way I see is:
(1) put v.extract in a "for" loop and extract the sample plots in
separate maps.
(2) use v.overlay in a loop over all samples plot maps.

But this is not "nice" if let's say the sample plots are thousands.
Thanks in advance, Nikos
    
I guess I just hit a "to do" issue... :slight_smile: & :frowning:

222 v.overlay
223 ---------
224 Select only relevant features which will be written to the output if
225 'and,not,nor' operators are used. An inspiration is available in
226 v.select.

(Taken from
http://trac.osgeo.org/grass/browser/grass/trunk/doc/vector/TODO)

------------------------------

Message: 2
Date: Sun, 11 Jan 2009 20:17:00 +0100
From: Nikos Alexandris <nikos.alexandris@felis.uni-freiburg.de>
Subject: Re: [GRASS-user] A "list=" option for "v.overlay"?
To: GRASS user list <grass-user@lists.osgeo.org>
Message-ID: <1231701420.12139.39.camel@vertical>
Content-Type: text/plain

On Sun, 2009-01-11 at 05:58 +0100, Nikos Alexandris wrote:
  

Wouldn't it make sense to have a "list=" option for "v.overlay"?

I need to extract samples from the CORINE land cover/use (vector) map in
separate maps (one map per sample plot).

Currently the only feasible way I see is:
(1) put v.extract in a "for" loop and extract the sample plots in
separate maps.
(2) use v.overlay in a loop over all samples plot maps.
    
Unfortunately, even that Segfaults.

# step 1: split in separate vector maps all samples, e.g. boxes of
40.000m x 40.000m
for x in `v.category box_40000 option=print | sort -nu | grep -v "/"`;
do v.extract in=box_40000 list=$x out=box_sample_40000_$x; done

# step 2: intersection of each separate box_sample with corine
for x in `g.mlist type=vect pat=box_sample*`; do v.overlay ainput=corine
binput=$x operator=and out=corine_box_sample_$x; done

The result after several minutes of processing is "Segmentation
fault" :frowning:

So, the only way is to do this job per smaller CORINE-blocks?

Nikos,

You might try inserting a v.build between steps 1 and 2. It will slow
down the process, but I found in a similar 'bulk overlay' exercise that
this improved the stability of the process.

Richard

On Thu, 2009-01-15 at 10:16 +1100, Richard Chirgwin wrote:
[...]

Unfortunately, even the following Segfaults.

>
> # step 1: split in separate vector maps all samples, e.g. boxes of
> 40.000m x 40.000m
> for x in `v.category box_40000 option=print | sort -nu | grep -v
"/"`;
> do v.extract in=box_40000 list=$x out=box_sample_40000_$x; done
>
> # step 2: intersection of each separate box_sample with corine
> for x in `g.mlist type=vect pat=box_sample*`; do v.overlay
ainput=corine
> binput=$x operator=and out=corine_box_sample_$x; done
>
> The result after several minutes of processing is "Segmentation
> fault" :frowning:
>
> So, the only way is to do this job per smaller CORINE-blocks?
>
>
Nikos,

You might try inserting a v.build between steps 1 and 2. It will slow
down the process, but I found in a similar 'bulk overlay' exercise
that
this improved the stability of the process.

Richard

Thanks for the extra hint :slight_smile: