Moritz, v.db.connect -p c34_patch Vector map <c34_patch> is connected by: layer <1/c34_patch> table <c34_patch> in database </Users/pete/grassdata/<FOO>/project_area/sqlite/sqlite.db> through driver <sqlite> with key <cat>
So it seems that only layer 1 is connected. When try to connect layer 2: v.db.connect map=c34_patch@project_area table=c34_patch layer=2 ERROR: Use -o to overwrite existing link for layer <2> I’m little unclear on the ‘table’ argument, maybe that should be a now table? Thanks very much. Peter > On Dec 6, 2017, at 10:27 AM, Moritz Lennert <[email protected]> > wrote: > > > > Am 6. Dezember 2017 18:42:22 MEZ schrieb Peter Tittmann <[email protected] > <mailto:[email protected]>>: >> Thank you, Moritz. >> >> I'm pretty familiar with SQL but can’t figure out how layer 2 is stored >> in the database. When I `pragma table_info(<vector>)` I only see the >> layer 1 attributes. > > v.db.connect -p (or grass.script.vector_db() )will show you all connections > between the map and database tables. > > > Moritz >> >> I’ll work with the GRASS approach you suggested. >> >> Best, >> Peter >> >> >>> On Dec 1, 2017, at 11:53 PM, Moritz Lennert >> <[email protected]> wrote: >>> >>> On 02/12/17 02:03, Peter Tittmann wrote: >>>> Hi, >>>> I have a vector (`POINT`) which has two layers containing relevant >> attributes (’strata’ and ’stand’). I would like to concatenate the two >> values into a new attribute for Layer 1 (’<STRATA>_<STAND>’). I’ve been >> struggling to sort this out for too long and am tapping out. Its >> probably blatantly obvious but it has escaped me. >>> >>> >>> Probably the easiest way if your not very familiar with SQL: >>> >>> - Create a new column in layer 1 where you can put the info from >> layer 2 >>> - Fill this column with v.to.db option=query query_layer=2, etc >>> - Create a second new column to hold the concatenation >>> - v.db.update to update this new column with the concatenation of the >> two others (something like qcol = "STRATA || '_' || STAND") >>> >>> Otherwise, if there is a common key in both tables, you can just >> create a new column and use db.execute to launch a UPDATE TABLE >> directly, grabbing the info from the two table and concatenating it >> directly in the query. >>> >>> Moritz >>> >>> >>>> Thank you! >>>> Here are some specifics. >>>> east, north: 651849.842735, 6604949.78485 >>>> c34_patch@project_area: >>>> Type: Point >>>> Id: 21622 >>>> Layer: 1 >>>> Category: 21623 >>>> Driver: sqlite >>>> Database: >> /Users/pete/grassdata/PortGraham/project_area/sqlite/sqlite.db >>>> Table: c34_patch >>>> Key_column: cat >>>> Attributes: >>>> cat: 21623 >>>> *strata: 3 — STRATA* >>>> c34_patch@project_area: >>>> Type: Point >>>> Id: 21622 >>>> Layer: 2 >>>> *Category: 10 — STAND* >>>> _______________________________________________ >>>> grass-user mailing list >>>> [email protected] <mailto:[email protected]> >>>> <mailto:[email protected] <mailto:[email protected]>> >>>> https://lists.osgeo.org/mailman/listinfo/grass-user >>>> <https://lists.osgeo.org/mailman/listinfo/grass-user> >> <https://lists.osgeo.org/mailman/listinfo/grass-user >> <https://lists.osgeo.org/mailman/listinfo/grass-user>>
_______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user
