[GRASS-user] v.db.join error
Patrick_schirmer
patrick_GIS at gmx.ch
Mon Dec 6 09:59:57 EST 2010
Micha,
Sure, hope that I can help to find the problem as I can't solve it
myself (yet). Here the results of the commands.....
GRASS 7.0.svn (Survey):~ > db.describe -c driver=pg database=schirpat
table=gr_xy_wohnort | grep '^Column' | cut -d ':' -f 3 | tr -s ' ' '_'
INTEGER
INTEGER
CHARACTER
CHARACTER
CHARACTER
INTEGER
CHARACTER
CHARACTER
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
DOUBLE_PRECISION
CHARACTER
GRASS 7.0.svn (Survey):~ > db.describe -c driver=pg database=schirpat
table=gr_xy_arbeitsort | grep '^Column' | cut -d ':' -f 3 | tr -s ' ' '_'
INTEGER
INTEGER
CHARACTER
CHARACTER
CHARACTER
INTEGER
CHARACTER
CHARACTER
DOUBLE_PRECISION
DOUBLE_PRECISION
Looks pretty much as it should be to me.
Patrick
>
> I'm glad you found a way to solve the problem, but if you don't mind
> to help find why it didn't "just work" with v.db.join as it should,
> then another check please:
> Can you do db.describe with the -c option as it appears in the
> v.db.join script. So:
>
> db.describe -c driver=pg database=<your database> table=<your table>
> | grep '^Column' | cut -d ':' -f 3 | tr -s ' ' '_'
>
> (The above all on one line)
> What output do you get ? You should see a string of the column names.
> And the doulbe precision columns should appear as "DOUBLE_PRECISION" (
> with *no* width after the name)
>
> Thanks,
> Micha
>
>>
>> v.db.addcolumn map=GR_xy_wohnort col="x_arbeit double precision,
>> y_arbeit double precision"
>> echo "UPDATE GR_xy_wohnort SET x_arbeit=(SELECT x_arbeit FROM
>> GR_xy_arbeitsort WHERE GR_xy_arbeitsort.id=GR_xy_wohnort.id)" > help1.txt
>> echo "UPDATE GR_xy_wohnort SET y_arbeit=(SELECT y_arbeit FROM
>> GR_xy_arbeitsort WHERE GR_xy_arbeitsort.id=GR_xy_wohnort.id)" > help2.txt
>> db.execute help1.txt
>> db.execute help2.txt
>> rm help2.txt
>> rm help1.txt
>>
>> Cheers, Patrick
>>
More information about the grass-user
mailing list