All, Please review https://github.com/OSGeo/grass/pull/3508. It should fix non-continuous cats.
Thanks, Huidae On Fri, Mar 15, 2024 at 10:37 AM Vincent Bain via grass-user < grass-user@lists.osgeo.org> wrote: > 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-...@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-...@lists.osgeo.org> > > > > Sent: Wednesday, March 13, 2024 7:02 PM > > > > To: GRASS developers <grass-...@lists.osgeo.org>; GRASS user list > > > > <grass-user@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-...@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/ > _______________________________________________ > grass-user mailing list > grass-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/grass-user > -- Huidae Cho, Ph.D., GISP, /hidɛ <http://ipa-reader.xyz/?text=hid%C9%9B> t͡ɕo/, 조희대, 曺喜大 GRASS GIS Developer https://idea.isnew.info/
_______________________________________________ grass-user mailing list grass-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-user