[GRASS-user] Appropriate use of v.surf.rst (lidar data)

John Stevenson john.stevenson at manchester.ac.uk
Wed Feb 11 05:13:10 EST 2009


Wesley Roberts wrote:
> Dear Grass Users,
>
> I am having trouble with interpolating a canopy height model using v.surf.rst and some lidar data. The lidar point density ranges from 5 - 8 points per meter squared. I know I can import the data using r.in.xyz but I would prefer to use an interpolation technique as opposed to a spatial average. I chose r.surf.xyz based on the paper written by Helena Mitasova, Lubos Mitas, and Russell S. Harmon. While the applications differ the use of a large data set with many points means dealing with the same issues. I ran the algorithm using default values and the result was a smooth moon-like surface not really approximating a plantation forest canopy (see link 2)
>
> v.surf.rst input=AreaOne_4pts at Wesley layer=1 zcolumn=dbl_3 elev=Area1_4_def tension=40. segmax=40 npmin=300 dmin=0.050000 dmax=0.250000 zmult=1.0
>
> Given that I am working with very dense data with a high number of points I then ran the algorithm with a smaller tension value (roughly 2.5) with an incrase in the maximum number of points per segment (decrese computation time) and I find that the interpolation is blocky in nature. (see link 3)
>
> v.surf.rst input=AreaOne_4pts at Wesley layer=1 zcolumn=dbl_3 elev=Area1_4_def6 tension=2.5 smooth=0.0001 segmax=100 npmin=300 dmin=0.050000 dmax=0.250000 zmult=1.0 
>
> Is the blockiness related to the increase in the maximum number of points in a segment i.e. segmax value?
>
> I have also been looking at using R to do the interpolation using gstat or automap. Does anyone on the list have any 
> advice with regards to methods to use for the interpolation of lidar canopy returns, with a view to creating a 3-D model
> of the canopy. The website spatial-analyst (http://spatial-analyst.net) suggests the use of regression-kriging but 
> I don't have any ancillary data besides height and intensity.
>
> I have uploaded pics of the study area and interpolation results to flickr (everyone should have access to these)
>
> Link 1
> http://www.flickr.com/photos/35273872@N07/3271646498/
> Link 2
> http://www.flickr.com/photos/35273872@N07/3270854029/
> Link 3
> http://www.flickr.com/photos/35273872@N07/3270904761/
>
> Many thanks for taking the time to read my post and for your valuable contributions
> Wesley (I am using Grass 6.3.0 on Ubuntu Hardy Heron)
>
>
> Wesley Roberts MSc.
> Researcher: Earth Observation (Ecosystems)
> Natural Resources and the Environment
> CSIR
> Tel: +27 (21) 888-2490
> Fax: +27 (21) 888-2693
>
> "To know the road ahead, ask those coming back."
> - Chinese proverb
>
>
>   
Hi Wesley,

I've tried various methods for processing LiDAR data.  I have a few 
comments:

1) Play with the resolution of your map and try different settings.

2) r.in.xyz does give good results, so don't rule it out for first 
approximation, and to help decide the resolution that you need.

3) r.surf.nnbathy might do the trick, but I haven't tried it.

4) If I want to interpolate to a higher resolution that my data covers, 
I usually krige in gstat.  I found that easier than learning how to use 
R on top of everything else. 

The examples on p348-353 of the GRASS Book are easily adapted to your 
own data.
(http://www.springerlink.com/content/j21632/)

Note that the default method calculates a global variogram, which can 
take a long time with LiDAR data.  The examples on p53-54 of the gstat 
manual describe how you can limit the analysis to a local neighborhood 
or set a maximum number of points to include in each calculation and 
thus dramatically speed up the interpolation.
(http://www.gstat.org/gstat.pdf)

Later

John

-- 


Dr John Stevenson
Postdoctoral Research Associate
School of Earth, Atmospheric and Environmental Sciences
Williamson Building (Room 2.42)
University of Manchester
Manchester M13 9PL, UK
tel. +44(0)161 306 6585; fax. +44(0)161 306 9361;
john.stevenson at manchester.ac.uk 



More information about the grass-user mailing list