[GRASSLIST:10250] Re: v.in.ascii quirk

Maciek Sieczka werchowyna at epf.pl
Fri Feb 10 12:21:30 EST 2006


Stuart,

Seems we've found a bug, CCing to dev list.


On Fri, 10 Feb 2006 11:30:29 -0500
Stuart Edwards <sedwards2 at cinci.rr.com> wrote:

> Yes, I did have the ' ' in place.  However when I run the GUI
> without them, the .dbf file still is not created.
> 
> v.in.ascii input=/Users/stu/Desktop/grasstest/fivepoints output=fp  
> format=point 'fs='\'' '\''' skip=1 'columns=x double, y double, z  
> double,' x=1 y=2 z=3 cat=0 -z

To specify space as field seperator you can also use: space (literally).


> The GUI appears to have inserted '  ' around the whole phrase   
> starting at 'columns rather than just around 'x double, etc.

Strange indeed. I haven't noticed it before. I have doublechecked and
interestingly v.in.ascii works in such form too, also from CLI. Could
Developers please comment what is this? Manual tells to use columns='x
double, y double', not 'columns=x double, y double'. Why both are
supported?


> tried leaving the ' '  out of the field separator field with similar  
> results.

That should work as well as space.



Getting back to main problem: what I think is the actuall reason for
your dbf file being not created, is that v.in.ascii simply doesn't
create dbf file for 3D vectors it creates. Trying to sort out your case
I have just noticed it. I don't know if this is a feature or a bug.
Developers - is there any reason why 3D vectors should not have
attribute tables?

Please see this example:

### Creating 2D vector there is a dbf created:

$ echo "200.0 200.0 999.0" | v.in.ascii output=onepoint fs=space
columns='x double, y double, z double' x=1 y=2
$ v.info -c onepoint
Displaying column types/names for database connection of layer 1:
INTEGER|cat
DOUBLE PRECISION|x
DOUBLE PRECISION|y
DOUBLE PRECISION|z



### But creating a 3D vector, dbf isn't created:

$ echo "200.0 200.0 999.0" | v.in.ascii -z output=onepoint fs=space
columns='x double, y double, z double' x=1 y=2 z=3

$ v.info -c onepoint
Database connection for map <onepoint> is not defined in DB file




### Another thing - if I don't put -z flag but still specify the number
### of column for z coordinate, there's no error message, while
### I guess there should be:

$ echo "200.0 200.0 999.0" | v.in.ascii output=onepoint fs=space
columns='x double, y double, z double' x=1 y=2 z=3
Maximum input row length: 18
Maximum number of columns: 3
Minimum number of columns: 3
Building topology ...
1 primitives registered
Building areas:  100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids:  100%
Topology was built.
Number of nodes     :   1
Number of primitives:   1
Number of points    :   1
Number of lines     :   0
Number of boundaries:   0
Number of centroids :   0
Number of areas     :   0
Number of isles     :   0

Maciek

--------------------
W polskim Internecie s? setki milion?w stron. My przekazujemy Tobie tylko najlepsze z nich!
http://katalog.panoramainternetu.pl/




More information about the grass-user mailing list