[GRASS-dev] [EXTERNAL] vector patching frustration

Huidae Cho grass4u at gmail.com
Fri Mar 15 08:51:22 PDT 2024


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 at 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_newcomb at fws.gov> wrote:
>
> Have you tried a .csvt file for your .csv file?
> https://gdal.org/drivers/vector/csv.html
> <https://urldefense.com/v3/__https://gdal.org/drivers/vector/csv.html__;!!IKRxdwAv5BmarQ!dv7XjZX6-VnNpFbpXP6R1XYWkuaA4Y-gDR4RvL3bWazWUkLfURuKDMWqiBFqBS6jlNSHDKZCo02GJKjauaAJ-pCVIKD5JDc$>
>
> ------------------------------
> *From:* grass-dev <grass-dev-bounces at lists.osgeo.org> on behalf of
> Michael Barton via grass-dev <grass-dev at lists.osgeo.org>
> *Sent:* Wednesday, March 13, 2024 7:02 PM
> *To:* GRASS developers <grass-dev at lists.osgeo.org>; GRASS user list <
> grass-user at 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
> <https://urldefense.com/v3/__https://openmodelingfoundation.github.io/__;!!IKRxdwAv5BmarQ!dv7XjZX6-VnNpFbpXP6R1XYWkuaA4Y-gDR4RvL3bWazWUkLfURuKDMWqiBFqBS6jlNSHDKZCo02GJKjauaAJ-pCVvuAToIA$>
> )
> Director, Network for Computational Modeling in Social & Ecological
> Sciences (https://comses.net
> <https://urldefense.com/v3/__https://comses.net/__;!!IKRxdwAv5BmarQ!dv7XjZX6-VnNpFbpXP6R1XYWkuaA4Y-gDR4RvL3bWazWUkLfURuKDMWqiBFqBS6jlNSHDKZCo02GJKjauaAJ-pCVdW6V-z8$>
> )
>
> personal website: http://www.public.asu.edu/~cmbarton
>
>
> _______________________________________________
> grass-dev mailing list
> grass-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-dev
>


-- 
Huidae Cho, Ph.D., GISP, /hidɛ <http://ipa-reader.xyz/?text=hid%C9%9B>
t͡ɕo/, 조희대, 曺喜大
GRASS GIS Developer
https://idea.isnew.info/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20240315/421223d4/attachment-0001.htm>


More information about the grass-dev mailing list