Hi all,
I’m trying to bring in a comma separated text file as a point vector file in GRASS using v.in.ascii, before i try to link it to a large 33Mb dbf data file.
The csv file looks like this with 39 rows and i removed the header because grass60 (on Ubuntu breezy) does not have the skip option in the v.in.ascii command: the columns are WMOID, cityname, Latitude and Longitude. I want to use the WMOID as ‘cat’ in order to link my dbf data later.
420710,AMRITSAR,31.63,74.86
421010,PATIALA,30.33,76.46
421310,HISSAR,29.16,75.73
421820,DELHI,28.58,77.20
423390,JODHPUR,26.30,73.01
423480,JAIPUR,26.81,75.80
423690,LUCKNOW,26.75,80.88
424100,GAUHATI,26.10,91.58
I Tried the following command and got the error:
cat reformat/STATIONS2.dat | v.in.ascii output=stations2 fs=‘,’ columns=‘cat int, name(varchar(30), y double, x double’ x=4 y=3 cat=1
WARNING: DOS text format found, attempting import anyway
Maximum input row length: 39
Maximum number of columns: 4
Minimum number of columns: 4
column: 1 type: integer
column: 2 type: string length: 18
column: 3 type: double
column: 4 type: double
DBMI-DBF driver error:
SQL parser error in statement:
create table stations2 ( cat int, name(varchar(30), x double, y double )
Error in db_execute_immediate()
ERROR: Cannot create table: create table stations2 ( cat int,
name(varchar(30), x double, y double )
I also get the same error with
v.in.ascii input=reformat/STATIONS.csv output=gstations fs=‘,’ skip=1 columns=‘cat int, label(varchar(30), y double, x double’ x=4 y=3 cat=1
help!
vishal