[GRASS-user] Processing LiDAR data in GRASS GIS

Hello to all users of GRASS,

I have LiDAR data in ASCII txt files with only X, Y and Z coordinates, which I want to import and create DEM models from in GRASS. I’m new to this kind of data processing.

I’am using the following approach in a new MAPSET:

db.connect driver=sqlite database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db
v.in.ascii input=b29_3.txt output=b29_3 fs=space z=3

g.region vect=b29_3 -p

# I tried few times at this point to interpolate the points with IDW using v.surf.idw. It stated that I have to show in which column of the attribute table are Z values in order to execute the command.
At this point I don’t have an attribute table yet created for the vector map b29_3…so I tried this one:

v.db.addtable map=b29_3@testMapset11 columns=cat integer, x double precision, y double precision, z double precision

…and after that:

v.to.db map=b29_3 option=coor columns=x, y, z

# for to populate the database with and finally use v.surf.idw

Is it my approach correct because it takes too much time (I mean few hours for only one txt file with 3 500 000 points) and it’s very slow…and I’m really not sure how to proceed? And if no what is the correct one?

I tried also to create an attribute table even with v.in.ascii when still importing the data, but I don’t have attributes and it doesn’t create tables only for X, Y and Z coordinates (I don’t know why).

Any help will be highly appreciated! Thank you!

Greetings,

Adrian Kirilov

Hi,

     v.in.ascii input=b29_3.txt output=b29_3 fs=space z=3

You could skip the attribute table by using this command and make 3D
points and not build topology:
v.in.ascii -z -t -b input=text_file.xyz output=surface_points fs=space z=3

     g.region vect=b29_3 -p

The -a flag aligns the region. Was the resolution set prior? If the
resolution was not set, you can do this with:
g.region vect=b29_3 -ap res=<your desired resolution>

It stated that I have to show in which column of the attribute

table are Z values in order to execute the command.

The v.surf.rst module produces very nice results and allows usage of
the 3D points (-z).

Mark