[GRASSLIST:5533] LIDAR Processing in Grass 5.7/Grass 6.0

I've been trying to figure out how to process LIDAR data using the
paper posted here:

http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Brovelli_Maria_Antonia.pdf

In the paper it lists a few commands to work with
    * s.edgedetection
    * s.growing
    * s.correction
    * s.bspline.reg

Which only appear in GRASS 5.3. Are they gone forever from the newer
versions, or has their functionality been folded into other commands?
I've also tried processing the data using s.surf.idw ( another 5.3
only command it seems ) and r.contour, but the processing time on a
1.6ghz system is measured in days. Is there a faster way of doing
this? I'm a bit at a loss for direction at the moment, any tips are
greatly appreciated.

Kenneth Denson

At the moment the commands are not inside the 5.7 or 6 version of grass.

The commands you are referring works with old site format (5.3), that has been replaced with the new vector format.
When I'll be not so busy I'll reimplement them for the new version.... (hope soon).

in the newer version you have to refer to v.surf.idw and no more to s.surf.idw.
I suppose that r.countur running time depends on the raster resolution you are processing......

Good by,
Maxi

Kenneth Denson wrote:

I've been trying to figure out how to process LIDAR data using the
paper posted here:

http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Brovelli_Maria_Antonia.pdf

In the paper it lists a few commands to work with
   * s.edgedetection
   * s.growing
   * s.correction
   * s.bspline.reg

Which only appear in GRASS 5.3. Are they gone forever from the newer
versions, or has their functionality been folded into other commands?
I've also tried processing the data using s.surf.idw ( another 5.3
only command it seems ) and r.contour, but the processing time on a
1.6ghz system is measured in days. Is there a faster way of doing
this? I'm a bit at a loss for direction at the moment, any tips are
greatly appreciated.

Kenneth Denson

--
_____________________________________________________

Ing. Massimiliano Cannata

SUPSI - Istituto Scienze della Terra
C.P. 72 - CH-6952 Canobbio (Ticino, Switzerland)
Tel +41 (0)91 935 12 25 - Fax +41 (0)91 935 12 09
mailto:massimiliano.cannata@supsi.ch
http://www.ist.supsi.ch

Dear Grass-Listers,
  
after consulting other Grass users it seems that I am the only one, who can
not read in ascii files with v.in.ascii. The same procedure (see below) works
perfectly on other computers (Debian too), but not on mine. I tried grass57,
grass60 and grass60cvs (all compiled from source). It's all the same.

I have no clue what I am doing wrong, so all hints are more than welcome.

cheers,
  robert

Here is what I did:

I used emacs to write following Coordinates in to the file test.txt.
  

cat test.txt

599251|4927066
599090|4926953
599097|4926472
599280|4925969
599863|4926391
599849|4926841
  

cat test.txt | v.in.ascii fs='|' out=points6 x=1 y=2

Maximum input row length: 15
Maximum number of columns: 2
Minimum number of columns: 2
Building topology ...
0 primitives registered
0 areas built
0 isles built
Attaching islands: Attaching centroids: Topology was built.
Number of nodes : 0
Number of primitives: 0
Number of points : 0
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
  

after consulting other Grass users it seems that I am the only one,
who can not read in ascii files with v.in.ascii. The same procedure
(see below) works perfectly on other computers (Debian too), but not
on mine. I tried grass57, grass60 and grass60cvs (all compiled from
source). It's all the same.

I have no clue what I am doing wrong, so all hints are more than
welcome.

Can you enter the command:

g.gisenv set="DEBUG=5"

then run the v.in.ascii command

then to turn debugging messages back off:
g.gisenv set="DEBUG=0"

That might give some more clues as to what is happening internally.

> cat test.txt | v.in.ascii fs='|' out=points6 x=1 y=2
Maximum input row length: 15
Maximum number of columns: 2
Minimum number of columns: 2
Building topology ...
0 primitives registered
0 areas built
0 isles built
Attaching islands: Attaching centroids: Topology was built.
Number of nodes : 0
Number of primitives: 0
Number of points : 0
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0

Hamish

Hamish,

these are the debugging messages you asked me to produce. I am sorry,
but I don't understand their meanings.

robert

Can you enter the command:

g.gisenv set="DEBUG=5"

then run the v.in.ascii command

GRASS 6.0.cvs:~ > cat test.txt | v.in.ascii fs='|' out=points1 x=1 y=2
D2/5: Vect_open_new(): name = points1
D1/5: Vect_set_thresh(): thresh = 0.000000
D1/5: V1_open_new_nat(): name = points1
D1/5: Vect_get_thresh(): thresh = 0.000000
D1/5: dig__write_head()
D1/5: write coor size (0) to head
D2/5: coor body offset 14
D3/5: dig_init_plus()
D1/5: dig_spidx_init()
D3/5: dig_cidx_init()
D3/5: Vect_hist_command()
D3/5: G_recreate_command()
D5/5: Vect_hist_write()
D5/5: Vect_hist_write()
D5/5: Vect_hist_write()
D5/5: Vect_hist_write()
D5/5: Vect_hist_write()
D4/5: row 1 : 599251|4927066
D4/5: row 1 col 0: '599251' is_int = 1 is_double = 1
D4/5: row 1 col 1: '4927066' is_int = 1 is_double = 1
D4/5: row 2 : 599090|4926953
D4/5: row 2 col 0: '599090' is_int = 1 is_double = 1
D4/5: row 2 col 1: '4926953' is_int = 1 is_double = 1
D4/5: row 3 : 599097|4926472
D4/5: row 3 col 0: '599097' is_int = 1 is_double = 1
D4/5: row 3 col 1: '4926472' is_int = 1 is_double = 1
D4/5: row 4 : 599280|4925969
D4/5: row 4 col 0: '599280' is_int = 1 is_double = 1
D4/5: row 4 col 1: '4925969' is_int = 1 is_double = 1
D4/5: row 5 : 599863|4926391
D4/5: row 5 col 0: '599863' is_int = 1 is_double = 1
D4/5: row 5 col 1: '4926391' is_int = 1 is_double = 1
D4/5: row 6 : 599849|4926841
D4/5: row 6 col 0: '599849' is_int = 1 is_double = 1
D4/5: row 6 col 1: '4926841' is_int = 1 is_double = 1
Maximum input row length: 15
Maximum number of columns: 2
Minimum number of columns: 2
D3/5: Vect_build(): build = 4
Building topology ...
D2/5: dig_cidx_free()
D3/5: dig_cidx_init()
D3/5: Vect_build_nat() build = 4
D1/5: Vect_Rewind(): name = points1
Registering lines: D3/5: Vect_read_next_line()
D3/5: V1_read_next_line_nat()
D3/5: Vect__Read_line_nat: offset = 14
0 primitives registered
0 areas built
0 isles built
Attaching islands: Attaching centroids: Topology was built.
D2/5: dig_cidx_sort()
Number of nodes : 0
Number of primitives: 0
Number of points : 0
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0
D1/5: Vect_close(): name = points1, mapset = robert, format = 0, level = 2
D1/5: get coor
info:
/home/rnuske/luftbild/robert/grassdata/spearfish57/robert/vector/points1/coor
D1/5: Info->size = 14, Info->mtime = 1106861284
D1/5: Vect_save_topo()
D1/5: Open
topo:
/home/rnuske/luftbild/robert/grassdata/spearfish57/robert/vector/points1/topo
D2/5: topo body offset 142
D2/5: topo body offset 142
D2/5: Vect_cidx_save()
D2/5: Open
cidx:
/home/rnuske/luftbild/robert/grassdata/spearfish57/robert/vector/points1/cidx
D3/5: dig_write_cidx_head()
D3/5: cidx body offset 13
D3/5: dig_write_cidx_head()
D3/5: cidx body offset 13
D1/5: close history file
D1/5: V1_close_nat(): name = points1 mapset= robert
D1/5: get coor
info:
/home/rnuske/luftbild/robert/grassdata/spearfish57/robert/vector/points1/coor
D1/5: Info->size = 14, Info->mtime = 1106861284
D1/5: dig__write_head()
D1/5: write coor size (14) to head
D2/5: coor body offset 14
D1/5: Vect_get_thresh(): thresh = 0.000000
D1/5: Vect_write_dblinks(): map = points1, mapset = robert
D1/5: dbln
file:
/home/rnuske/luftbild/robert/grassdata/spearfish57/robert/vector/points1/dbln
D1/5: Dblinks written
GRASS 6.0.cvs:~ >