Michael, Huidae thats's what I was just about to post... you need to care cats intervals don't overlap before patching.
With the attached set of 2 vector maps you can have a try, typing : v.in.ogr input=/your/path/to/map1.gpkg output=map1 v.in.ogr input=/your/path/to/map2.gpkg output=map2 v.category input=map1 type=centroid option=report v.category input=map2 type=centroid option=report # Cats overlap, so : v.category --overwrite input=map2 type=centroid output=map200 option=sum cat=100 v.patch --overwrite input=map1,map200 output=map12 v.patch -e --overwrite input=map1,map200 output=map12 Yours, V. Le vendredi 15 mars 2024 à 09:51 -0600, Huidae Cho a écrit : > Michael, > > Just confirmed your issue. > > v.random tmp100 npoints=100 seed=100 > v.db.addtable tmp100 col="id varchar(20)" > v.db.update tmp100 col=id qcol="'tmp100_' || cat" > > v.random tmp10 npoints=10 seed=10 > v.db.addtable tmp10 col="id varchar(20)" > v.db.update tmp10 col=id qcol="'tmp10_' || cat" > > v.patch tmp100,tmp10 out=tmp110 -e > > v.category tmp110 op=report > Layer/table: 1/tmp110 > type count min max > point 110 2 112 > line 0 0 0 > boundary 0 0 0 > centroid 0 0 0 > area 0 0 0 > face 0 0 0 > kernel 0 0 0 > all 110 2 112 > > In my case, all features in tmp10 are linked in tmp110. > > You can recategorize it. > > v.category tmp110 out=tmp110_nocats op=del cat=-1 > v.category tmp110_nocats out=tmp110_recats op=add > > npnts100=$(v.info tmp100 -t | sed '/points=/!d; s/points=//') > npnts10=$(v.info tmp10 -t | sed '/points=/!d; s/points=//') > > v.db.update tmp110_recats col=cat qcol=cat-1 where="cat<=$npnts100+1" > v.db.update tmp110_recats col=cat qcol=cat-2 where="cat>$npnts100+1" > > Yeah... I know what you may think... Please create an issue on > GitHub. > > Regards, > Huidae > > On Thu, Mar 14, 2024 at 4:42 PM Michael Barton via grass-dev > <grass-dev@lists.osgeo.org> wrote: > > Thanks Doug and Vincent. > > > > None of this works. I vaguely remember having this same kind of > > road block several years back. > > > > Nothing in v.category lets you change an existing cat value to a > > different value > > v.in.ogr MUST add a column that MUST be named cat (all else causes > > an error--this is a bug) that is a series of consecutive integers > > from 1-n. So I cannot create a file with a cat field that matches > > my vector areas. > > > > v.edit won't let you change an existing cat number AFAICT. No error > > but nothing changes. > > > > Once I've imported a table using v.in.ogr, I cannot use > > db.drop.column to delete the cat column--even if it is not being > > used as a key field. This raises an error. > > > > No way to rename a column from cat to something else (or something > > else to cat) unless you've already connected it to a vector map > > even if cat is not the key field. So I can't create an integer > > column to link up my lost vector area with a record in my csv > > file. > > > > This simple task is just not possible in GRASS AFAICT. Or if it is > > possible, it can only be done by such non-obvious and convoluted > > means that I've yet to find a method that works in spite of asking > > a large number of very skilled GRASS users. > > > > Michael > > _____________________________ > > C. Michael Barton > > Associate Director, School of Complex Adaptive > > Systems (https://scas.asu.edu) > > Professor, School of Human Evolution & Social > > Change (https://shesc.asu.edu) > > Director, Center for Social Dynamics & > > Complexity (https://complexity.asu.edu) > > Arizona State University > > Tempe, AZ 85287-2701 > > USA > > > > Executive Director, Open > > Modeling Foundation (https://openmodelingfoundation.github.io) > > Director, Network for Computational Modeling in Social & Ecological > > Sciences (https://comses.net) > > > > personal website: http://www.public.asu.edu/~cmbarton > > > > > > > On Mar 14, 2024, at 7:10 AM, Newcomb, Doug <doug_newc...@fws.gov> > > > wrote: > > > > > > Have you tried a .csvt file for your .csv > > > file? https://gdal.org/drivers/vector/csv.html > > > > > > From: grass-dev <grass-dev-boun...@lists.osgeo.org> on behalf of > > > Michael Barton via grass-dev <grass-dev@lists.osgeo.org> > > > Sent: Wednesday, March 13, 2024 7:02 PM > > > To: GRASS developers <grass-dev@lists.osgeo.org>; GRASS user list > > > <grass-u...@lists.osgeo.org> > > > Subject: [EXTERNAL] [GRASS-dev] vector patching frustration > > > > > > This email has been received from outside of DOI - Use caution > > > before clicking on links, opening attachments, or responding. > > > > > > > > > I am completely stymied in my attempt to do what should be a > > > simple task. I have a map of vector areas, linked with an > > > attribute table. I would like to patch in one more vector area, > > > for which I have equivalent attribute information. I have tried > > > this multiple ways and I cannot make this patch happen so that > > > the added area has attribute info. > > > > > > The closest I've come is to create and link a one line table to > > > the new area that has exactly the same fields as the larger > > > vector area map. The first map has 154 areas (i.e., cat=1-155). > > > When I patch the maps and look at the resulting attribute table, > > > I indeed see line and cat 155. But it is not linked with the > > > patched area--which has been assigned a cat=183 for reasons I > > > cannot fathom. The patch also renumbers my cat field to cat=2-155 > > > from the original 1-154. > > > > > > This has been made more complicated by the fact that v.in.ogr > > > imports all columns of a *.csv as text, regardless of what is in > > > them and assigns cat numbers starting at 1. So I can't specify an > > > integer key field of 155 to try the linking. Nor can I change the > > > assigned cat of the single area I am trying to patch from 1 to > > > 155 using v.category (or anything else I can find). > > > > > > I'm hoping that someone has a clever solution that I've not seen > > > or I'll just have to do this fairly simple and straightforward > > > vector operation in QGIS. > > > > > > Michael > > > _____________________________ > > > C. Michael Barton > > > Associate Director, School of Complex Adaptive > > > Systems (https://scas.asu.edu) > > > Professor, School of Human Evolution & Social > > > Change (https://shesc.asu.edu) > > > Director, Center for Social Dynamics & > > > Complexity (https://complexity.asu.edu) > > > Arizona State University > > > Tempe, AZ 85287-2701 > > > USA > > > > > > Executive Director, Open > > > Modeling Foundation (https://openmodelingfoundation.github.io) > > > Director, Network for Computational Modeling in Social & > > > Ecological Sciences (https://comses.net) > > > > > > personal website: http://www.public.asu.edu/~cmbarton > > > > _______________________________________________ > > grass-dev mailing list > > grass-dev@lists.osgeo.org > > https://lists.osgeo.org/mailman/listinfo/grass-dev > > > -- > Huidae Cho, Ph.D., GISP, /hidɛ t͡ɕo/, 조희대, 曺喜大 > GRASS GIS Developer > https://idea.isnew.info/
<<attachment: maps.zip>>
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-dev