Re: [GRASS-user] interesting article on TIN generation

2008-09-23 Thread Dylan Beaudette
On Tue, Sep 23, 2008 at 1:17 AM, Hamish <[EMAIL PROTECTED]> wrote:
> Vincent Bain wrote:
>> As I spend a couple of days computing a huge lidar dataset
>> (first split the original file in 145 pieces ! then performing a
>> loop with v.surf.rst, and rearrange data in a single raster), it is
>> of great interest for us.
>
> I still look for a nice method to paste together overlapping splines
> cleanly.
>

Indeed-- the segmentation artifacts are a bit annoying, although I
cannot offer any alternatives other than increasing the segmax
parameter.

> 
> IM(V)HO, the surface created by v.surf.rst splines will be an order of
> magnitude(s) closer to reality and is really worth the extra effort.
> I haven't run any analysis to back that up quantitatively, perhaps Dylan
> already has? ;) (well maybe not, but I wouldn't be surprised)
> 

Haven't done that analysis yet, but it would be fun to try :) . I will
be at AGU with Helena this December, maybe we can get some ideas
together before then and I will present them to her at the conference.
I see that there are several ideas / problems / etc. posted on the
wiki:
http://grass.osgeo.org/wiki/RST_Spline_Surfaces


> 
> In years long past I did some 3D density modelling in which case I could
> for a test case solve the answer analytically to test my iterative
> solution. After the iterative solution had been running for a while I
> added some instrumentation to see what cell resolution and time it
> would take to get within the required % of the known answer using the
> linear interpolation method. It turned out that my process would finish
> in about 126 years using the Sun workstation of the day. I canceled
> the job and rewrote it using 3D trapezoids instead of Q-bert blocks.
> It finished in 5 minutes. Ok, for that the solution /was/ a form of
> TIN, but I think the idea scales between linear and cubic interpolations.
> 

interesting...

> 
> IM(V)HO the fact that TINs are used so much to make raster surfaces is
> an artifact kludge from a history of other well known GIS which was
> historically strong with vector data but weak with raster data (ie
> the opposite to GRASS's history). IM(V)H estimation, among the many
> hundreds of GRASS modules and 25 years, TINs conspicuously never made
> an appearance in GRASS for the simple reason that there was no need
> for such a poor solution when much better ones were already available.
>
> In the face of a strong raster engine things like TINs are perhaps
> handled more efficiently and directly dealt with by the display drivers.
> 

Again, I tend to feel that same way-- unless you are working with some
kind of hardware-accelerated triangle rendering device (i.e. OpenGL
interface to video card) to *display* a surface in real-time, TINs
seem like overkill. However, the TIN data structure is appealing when
you want to store more information where there is more local
variation: i.e. rugged terrain gets more triangles/area than a valley
floor would get. Perhaps a well-designed, quadtree-indexed (or tiled?)
raster data model could function in a similar fashion...?


> If speed is a real limiting factor I'd suggest trying v.surf.idw(2),
> or perhaps r.surf.nnbathy*. Maybe they hit the time vs. results
> tradeoff sweet spot better.

We really should get the nnbathy code / algorithm into a standard
GRASS module. For quick and dirty interpolation / large areas it is an
ideal approach.

>
>> Perhaps could this code be turned into grass module ? well,
>> it's beyond my skills, but...
>
> I could have sworn there was a TIN module on the wiki addons page, but
> don't see it now.
>
> Maybe it was lurking in the R-interface tutorials or somewhere?
> (The grass wiki as-setup doesn't search for 3 letter words, which is
> a bit of a problem)
>
>
> 3c,
> Hamish
>
>
> [*] Is there any thoughts on moving r.surf.nnbathy into the main source?
> It requires an external dependency to use, but so do many other scripts.
> To me it's a valuable addition to the available quiver of interpolation
> methods; a nice compromise between IDW and splines. Before doing that I
> think to change it to be v.surf.nnbathy (its first step is r.to.vect).
>

+1 on this idea. Just need to look over the licensing / or find an
algorithm to stuff into a new module.

Cheers,
Dylan

PS: just back from the southern hemisphere (Rarotonga)
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] interesting article on TIN generation

2008-09-23 Thread Dylan Beaudette
On Mon, Sep 22, 2008 at 11:10 PM, Vincent Bain <[EMAIL PROTECTED]> wrote:
> Dylan,
> As I spend a couple of days computing a huge lidar dataset (first split
> the original file in 145 pieces ! then performing a loop with
> v.surf.rst, and rearrange data in a single raster), it is of great
> interest for us.
> Perhaps could this code be turned into grass module ? well, it's beyond
> my skills, but...

I have not looked over the license, but it would probably be beyond
what my time/skill level permits. Have you considered using r.in.xyz
(pre-filtering module) for your massive lidar dataset?

Also, by submitting that article to the list, I wasn't advocating the
use of TINs over grids-- I just thought it was interesting. I still
think that for most modeling operations, gridded data are the simplest
 to use / understand.

Cheers,

Dylan

> Le lundi 22 septembre 2008 à 15:53 -0700, Dylan Beaudette a écrit :
>> Thought this would be of interest:
>>
>> http://www.cs.unc.edu/~isenburg/papers/ilsst-tin2dem-06.pdf
>>
>> Cheers,
>>
>> Dylan
>>
>
>
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] interesting article on TIN generation

2008-09-23 Thread Vincent Bain
Sorry I forgot the PS

> [*] Is there any thoughts on moving r.surf.nnbathy into the main source?
> It requires an external dependency to use, but so do many other scripts.
> To me it's a valuable addition to the available quiver of interpolation
> methods; a nice compromise between IDW and splines. Before doing that I
> think to change it to be v.surf.nnbathy (its first step is r.to.vect).

Yes indeed it would be faster when starting from a set of vector points.

> 
> 
> 
>   
> 
> 

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] interesting article on TIN generation

2008-09-23 Thread Vincent Bain
Le mardi 23 septembre 2008 à 01:17 -0700, Hamish a écrit :
> I still look for a nice method to paste together overlapping splines
> cleanly.

Maybe first generating /sufficiently/ overlapping tiles, then adjust
adjacent ones in the middle of the overlap (ok, not very clean)

> IM(V)HO the fact that TINs are used so much to make raster surfaces is
> an artifact kludge from a history of other well known GIS which was
> historically strong with vector data but weak with raster data

Yes, it's hard to ged rid of some old /educational/ reflexes. I agree !
but anyway, TINGRID was very useful.


> If speed is a real limiting factor I'd suggest trying v.surf.idw(2),
> or perhaps r.surf.nnbathy*.

Very useful module if one needs to generate a non-interpolated surface,
fitting exactly a given set of points. Could it become a default command
in Grass ?


> 
> 
> > Perhaps could this code be turned into grass module ? well,
> > it's beyond my skills, but...
> 
> I could have sworn there was a TIN module on the wiki addons page, but
> don't see it now.
> 
> Maybe it was lurking in the R-interface tutorials or somewhere?
> (The grass wiki as-setup doesn't search for 3 letter words, which is
> a bit of a problem)

Maybe you confuse with the TIN how-to ? using Paraview and Meshlab

http://grass.osgeo.org/wiki/HOWTO_create_3D_TIN


> 
> 
> 3c,
> Hamish
> 
> 
> [*] Is there any thoughts on moving r.surf.nnbathy into the main
source?
> It requires an external dependency to use, but so do many other
scripts.
> To me it's a valuable addition to the available quiver of
interpolation
> methods; a nice compromise between IDW and splines. Before doing that
I
> think to change it to be v.surf.nnbathy (its first step is r.to.vect).
> 
> 
> 
>   
> 
> 


___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] interesting article on TIN generation

2008-09-23 Thread Hamish
Vincent Bain wrote:
> As I spend a couple of days computing a huge lidar dataset
> (first split the original file in 145 pieces ! then performing a
> loop with v.surf.rst, and rearrange data in a single raster), it is
> of great interest for us.

I still look for a nice method to paste together overlapping splines
cleanly.



IM(V)HO, the surface created by v.surf.rst splines will be an order of
magnitude(s) closer to reality and is really worth the extra effort.
I haven't run any analysis to back that up quantitatively, perhaps Dylan
already has? ;) (well maybe not, but I wouldn't be surprised)



In years long past I did some 3D density modelling in which case I could
for a test case solve the answer analytically to test my iterative
solution. After the iterative solution had been running for a while I
added some instrumentation to see what cell resolution and time it
would take to get within the required % of the known answer using the
linear interpolation method. It turned out that my process would finish
in about 126 years using the Sun workstation of the day. I canceled
the job and rewrote it using 3D trapezoids instead of Q-bert blocks.
It finished in 5 minutes. Ok, for that the solution /was/ a form of
TIN, but I think the idea scales between linear and cubic interpolations.



IM(V)HO the fact that TINs are used so much to make raster surfaces is
an artifact kludge from a history of other well known GIS which was
historically strong with vector data but weak with raster data (ie
the opposite to GRASS's history). IM(V)H estimation, among the many
hundreds of GRASS modules and 25 years, TINs conspicuously never made
an appearance in GRASS for the simple reason that there was no need
for such a poor solution when much better ones were already available.

In the face of a strong raster engine things like TINs are perhaps
handled more efficiently and directly dealt with by the display drivers.


If speed is a real limiting factor I'd suggest trying v.surf.idw(2),
or perhaps r.surf.nnbathy*. Maybe they hit the time vs. results
tradeoff sweet spot better.


> Perhaps could this code be turned into grass module ? well,
> it's beyond my skills, but...

I could have sworn there was a TIN module on the wiki addons page, but
don't see it now.

Maybe it was lurking in the R-interface tutorials or somewhere?
(The grass wiki as-setup doesn't search for 3 letter words, which is
a bit of a problem)


3c,
Hamish


[*] Is there any thoughts on moving r.surf.nnbathy into the main source?
It requires an external dependency to use, but so do many other scripts.
To me it's a valuable addition to the available quiver of interpolation
methods; a nice compromise between IDW and splines. Before doing that I
think to change it to be v.surf.nnbathy (its first step is r.to.vect).



  

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] interesting article on TIN generation

2008-09-22 Thread Vincent Bain
Dylan,
As I spend a couple of days computing a huge lidar dataset (first split
the original file in 145 pieces ! then performing a loop with
v.surf.rst, and rearrange data in a single raster), it is of great
interest for us.
Perhaps could this code be turned into grass module ? well, it's beyond
my skills, but...

Le lundi 22 septembre 2008 à 15:53 -0700, Dylan Beaudette a écrit :
> Thought this would be of interest:
> 
> http://www.cs.unc.edu/~isenburg/papers/ilsst-tin2dem-06.pdf
> 
> Cheers,
> 
> Dylan
> 

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


[GRASS-user] interesting article on TIN generation

2008-09-22 Thread Dylan Beaudette
Thought this would be of interest:

http://www.cs.unc.edu/~isenburg/papers/ilsst-tin2dem-06.pdf

Cheers,

Dylan

-- 
Dylan Beaudette
Soil Resource Laboratory
http://casoilresource.lawr.ucdavis.edu/
University of California at Davis
530.754.7341
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user