[GRASS-user] How to find whether one vector is contained by another

Patton, Eric epatton at nrcan.gc.ca
Wed Oct 11 16:55:13 EDT 2006


Well, the vector gets written, and so would be detected by g.list vect, but
there's no geometry in the file - so it's a false positive. Its too bad that
I need to create a vector, check to see if there's geometry in it, then
remove it, for *every* vector that I loop through. I think if v.select had a
flag to suppress the creation of geometry, and only output information about
the execution of the program, that would be optimal.

Cheers,

~ Eric. 

-----Original Message-----
From: Jeroen Wortel
To: Patton, Eric
Sent: 10/11/2006 4:22 PM
Subject: RE: [GRASS-user] How to find whether one vector is contained   by
another

Hi Eric,

Maybe you could test on, or parse the output of, g.list vect=dummymap?

At 21:35 11-10-2006, you wrote:
>Jeroen,
>
>Thanks, I hadn't thought of using v.select before. One problem with
using
>v.select is that even if no output file is produced (i.e., ainput and
binput
>don't overlap), the exit status from the program is still 0, which it
should
>be, as no error was produced. So a different test for whether a vector
was
>produced would be needed.
>
>~ Eric.
>
>-----Original Message-----
>From: Jeroen Wortel
>To: Patton, Eric; 'grassuser at grass.itc.it'
>Cc: 'grass-dev at grass.itc.it '
>Sent: 10/11/2006 3:07 PM
>Subject: Re: [GRASS-user] How to find whether one vector is contained
by
>another
>
>Hi Eric,
>
>you could use a script that goes through the available vector tracks
>and do for each a v.select option=overlap output=dummyfile. The
>contents of the output map are not important, but the fact that it is
>created or not. You could then check in your script if it was created
>or not. If it is created, the vector track touches the polygon
>comprising your region of interest.
>
>A nice addition to Grass would be vector selections that are kept in
>memory instead of written to an output file. Only the pointers to the
>geometry need to be kept in memory, no actual geometry. These
>selection could be used in other grass commands just like normal
>vector maps. This mechanism works for example in GenaMap (called
>active ID's) and is very powerful for scripting purposes and saves a
>lot of temporary files on disk. (This would mean however that vector
>indices should be kept in the vector files instead of created every
>time)that
>When doing a selection inside or a proximity in GenaMap, the number
>of selected features is returned.
>
>
>
>At 20:09 11-10-2006, Patton, Eric wrote:
> >A lot of time I get requests to find out what vector navigation
>tracklines
> >fall within a certain region. This is easy to do by visual inspection
> >(turning on and off vectors in gis.m) when the number of vectors is
>low, but
> >becomes too much work for large numbers (i.e., 200). What is the best
>way to
> >find out if one vector is contained by another, without writing any
>output?
> >All I need is a listing of vector names.
> >
> >I was thinking maybe set up a bash switch statement to look at a set
of
> >cases between the vector's region extents and the extents of the
region
>in
> >question. It seems to me there would be a lot of scenarios to
consider
>and
> >would be really complex (i.e, north_map < north_region && north_map >
> >south_region && ...)
> >
> >Is there any existing vector program that performs this functionality
> >already? If not, what do you think would be the best approach to
solve
>this
> >problem?
> >
> >~ Eric.
> >
> >_______________________________________________
> >grassuser mailing list
> >grassuser at grass.itc.it
> >http://grass.itc.it/mailman/listinfo/grassuser
>
>
>RC(0.3)1r2m B-- C-- D++ F N- S? O! OCGP a29


RC(0.3)1r2m B-- C-- D++ F N- S? O! OCGP a29




More information about the grass-user mailing list