[GRASS-user] dems from coordinate lists

Micha Silver micha at arava.co.il
Sat May 15 14:23:51 EDT 2010


Hanlie Pretorius wrote:

> Hi Micha,
>
> I tried your suggestion after setting the region to 20m instead of the
> raster DEM's 25m.:
>
> v.surf.rst input="dem_2628cc_25m at C83" layer=0
> elev="dem_2628cc_rst_elev" tension=40. segmax=40 npmin=120
> dmin=9.998022 dmax=49.990111 zm  ult=1.0
>
> This worked, but the differences between the raster DEM that I created
> with r.in.xyz and the rst interpolated results are quite big - ranging
> from -6.882202m  to +7.864258m.
>   
 From my understanding, r.in.xyz is best suited for cases where you have 
a very high density of x-y values (i.e. lidar data) and you want to 
create a raster where each cell will contain several  of the original 
points. You can then choose to average all point values (or max, min, 
etc) to create the final cell value.
On the other hand, v.surf.rst gives the best results when you have a 
density of points that is lower than the final raster resolution, and 
you want to interpolate between the original point values to create a 
higher resolution raster.
> It also ran fairly slowly. Without adjusting the npmin paramter from
> the default (300) to 120 it literally ran for hours (Win XP, 3GHz CPU,
> 1GB RAM). Adjusting npmin to 120 didn't seem to affect the error range
> of the outcome much.
>   
Yes, it's slow. How large a region? how many cells in the final raster?
> Is there a reason why I should use r.surf.rst instead of v.surf.rst?
>
> Or perhaps I should just import the points with r.in.xyz and leave the
> DEM in this format for further applications (hydrological modelling)?
>   
That should be fine providing:
1- You want the final raster at the same or larger resolution as the 
original points, and
2- You have at least one point value for *every* target raster cell. 
(Other wise you'll end up with cells with value '0')
> Regards
> Hanlie
>
> 2010/5/13, Micha Silver <micha at arava.co.il>:
>   
>> MS wrote:
>>
>>     
>>> If I follow correctly, instead of v.to.rast, you need to interpolate a
>>> raster DEM from the points.   v.surf.rst produces nice results, but
>>> there are other interpolation modules as well in the raster category.
>>>
>>>       
>> That's the method I use also.
>> I start with:
>> v.in.ascii -z in=<ascii_file> z=3 out=vect_pts
>> This creates a 3D vector using the z column as the height values.
>> Now set the desired region:
>> g.region vect=vect_pts res=xxx
>> Choose the raster resolution that suits your needs. If the points in the
>> ascii file are at 25 m spacing, then you probably could interpolate at
>> 10m-20m resolution (or better) with no problems.
>> Then:
>> v.surf.rst in=vect_pts layer=0 elev=dem ...
>> The layer=0 parameter indicates that you're using the 3D vector's z
>> value for elevation.
>> --
>> Micha
>>     
>
> This mail was received via Mail-SeCure System.
>
>
>   


-- 
Micha Silver
Arava Development Co. +972-52-3665918
http://surfaces.co.il




More information about the grass-user mailing list