On 28/02/08 16:39, Tom Russo wrote:
I have been trying to wrap my brain around "multi-layered" GRASS vectors and
have only succeeded in wrapping my brain into knots. Perhaps someone here with a solid understanding of this stuff can help me.


[...]


Since I'm rambling now, I'll just cut to the chase and ask my question:

 Given a GRASS vector with two attached database tables, one of which (layer
2, attaching attributes to centrois) has a key field POLYID, how can I create a new layer using a third, much smaller table, that also has a POLYID field, such that the new layer only contains that subset of centroids where the third layer table's POLYID matches layer 2's POLYID for that centroid?



I think at this stage your best bet is probably to do something like this:

v.category OldMap option=add layer=3 out=NewMap

#find a link between the category numbers created and the original
# categories, this should work:

v.build OldMap option=cdump > TempFile

# You will have to edit TempFile to only take into account layer 2 and
# then find a way to import the results into your database

v.db.connect -o NewMap layer=3 table=NewTable

#to remove all centroids you do not want:
v.edit tool=delete
or
v.extract

There might be an easier way, though...

I think that you also might want to file a few wishes in the tracker, such as:

- extend v.category with an option to use a column linked to an existing layer as the cat for a new layer - allow v.extract to write the results to another layer of the same file instead of a different file - extend v.patch to allow to patch different maps into different layers of the output map
- create a v.copy.layers to copy elements of one layer to another

Moritz
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to