[GRASS-user] Copy and concatenate a vector attribute between layers

Peter Tittmann ptittmann at gmail.com
Wed Dec 6 09:42:22 PST 2017


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.

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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20171206/c449634c/attachment.html>


More information about the grass-user mailing list