[GRASSLIST:9534] Re: still dbf - v.in.ascii import

Hamish hamish_nospam at yahoo.com
Fri Dec 16 06:25:55 EST 2005


> I found the same problem described below, can someone say if and how
> it was solved?
..
> > > I have a problem with importing ascii points into grass:
> > > I need to import a vector ascii map into grass, grass is connected
> > > to a .dbf database. Following the manpage, it seems that the
> > > v.in.ascii command is the same whatever is the database I want to
> > > connect to, so I type:
> > > 
> > > #############################################
> > > v.in.ascii input=ascii_file.txt output=prova_dbf fs=tab
> > > columns='cat integer, x double precision, y double precision,
> > > cdp_number varchar(20), line_name varchar(20), acquisition_year
> > > varchar(20)' x=2 y=3  cat=1
> > > #############################################
> > > 
> > > but I get:
> > > #############################################
> > > DBMI-DBF driver error:
> > > Incompatible value type.
> > > Error in db_execute_immediate()
> > > 
> > > ERROR: Cannot insert values: insert into prova_ar_dbf values ( 1,
> > >        11.919589, 43.679116, 101, 'ar315', 1981)
> > 
> > I think that cdp_number and acquisition_year are of integer type,
> > not varchar. At least they are not quoted.

try:

v.in.ascii input=ascii_file.txt output=prova_dbf fs=tab x=2 y=3 cat=1 \
  columns='cat integer, x double, y double, cdp_number integer, line_name varchar(20), acquisition_year integer'


i.e. change varchar() to integer in the integer only columns. I had 
thought that Radim had modified v.in.ascii to let column types defined 
in columns= override what was scanned. Maybe not, or maybe this is only 
in the 6.1 development branch.



Hamish




More information about the grass-user mailing list