[GRASSLIST:197] Re: trouble using v.in.ascii

David Finlayson david.p.finlayson at gmail.com
Fri Mar 17 01:39:32 EST 2006


Breezy also has the "flip" command (search synaptic) for converting
line endings.

-David

On 3/16/06, Stefan Istvan <stefi at geohidroterv.hu> wrote:
> On Fri, 2006-03-17 at 11:30 +0530, Vishal Mehta wrote:
> > 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
> >
> There is an additional "(" sign in your columns definition. You should
> write columns='cat int, label varchar(30), y double, x double'.
> The other problem maybe that your file is in MSDOS format, but it could
> be that it doesn't bother Grass. Try to use dos2unix command to convert
> it to unix format.
>
> Regards,
> Istvan
>
>


--
David Finlayson




More information about the grass-user mailing list