[GRASS-user] Copy and concatenate a vector attribute between layers
Moritz Lennert
mlennert at club.worldonline.be
Wed Dec 6 10:27:31 PST 2017
Am 6. Dezember 2017 18:42:22 MEZ schrieb Peter Tittmann <ptittmann at gmail.com>:
>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
><mlennert at club.worldonline.be> 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 at 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 at project_area:
>>> Type: Point
>>> Id: 21622
>>> Layer: 2
>>> *Category: 10 — STAND*
>>> _______________________________________________
>>> grass-user mailing list
>>> grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
>>> https://lists.osgeo.org/mailman/listinfo/grass-user
><https://lists.osgeo.org/mailman/listinfo/grass-user>
More information about the grass-user
mailing list