On Fri, Apr 3, 2015 at 3:11 PM, Moritz Lennert <[email protected] > wrote:
> On 03/04/15 14:42, Paulo van Breugel wrote: > >> I have a shapefile with overlapping polygons. After importing I thus >> end up with a vector layer with for each unique polygon (feature) one >> or more category values (i.e., one to many relationship). >> >> Now I want to create a second attribute table linked to layer 2 with >> a cat column with for each polygon (for each internal feature id) an >> unique category. >> >> Next, I want to use this to count the number of categories linked to >> each unique feature id. >> > > If you have overlapping polygons, after running v.in.ogr your map > already has layer 2 categories which represent for each feature where > there is overlap the number of overlapping polygons in that space. IIUC, > this is what you are looking for, or ? > Yes, sorry, I was just about to write that this is indeed the case; you were just ahead of me. In my initial attempt something went wrong, I should have checked better, but was focused on getting a column with the unique values per polygon (which as you write below does not seem to work?). > > >> I know this has been asked and answered before, but the solutions >> (copied below) do not work for me. >> >> This worked, I think, in GRASS 6, but it doesn't in G7 because a new >> vector map needs to be defined >> >>> /v.category op=add layer=2 type=centroid/ /v.to.db type=centroid >>> option=cat/ >>> >> > And what is the problem with defining a new vector map. This new vector > map will contain all existing layers plus the new layer. But in this > case it should be: > > v.category map op=add layer=3 type=centroid out=map2 > > You can then create a table for layer 3 with v.db.addtable: > > v.db.addtable map2 layer=3 columns="cat2 integer" > > and should be able to load the cat values of layer 2 into the table of > layer 3 with v.to.db, I knew (ok, I hoped) this should be simple. Thanks > but this does not seem to work at the moment: > > v.to.db map22 layer=3 query_layer=2 op=cat columns=cat2 > > (there seems to be confusion between map layers, but I don't have time to > check. Definitely worth a bug report.) > I'll create one > > > The below does not create an attribute table with unique attributes >> for each unique feature. /> v.in.ogr dsn=test_polygones.shp >> out=polygons >> v.db.addtable polygons layer=2 >> > > v.category polygons option=add > >> layer=2 type=centroid out=polygons_tmp >>> >> v.to.db polygons_tmp >> >>> type=centroid option=cat layer=2 col=cat/ >>> >> > For those features where there is overlap, this will not create new > categories, but upload to the table the existing category which is the > number of overlapping features. > OK, I was confused here, thanks for the explanation > > > > Moritz >
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
