Re: [GRASS-user] dems from coordinate lists

2010-05-15 Thread Markus Neteler
On Thu, May 13, 2010 at 4:26 PM, Hanlie Pretorius
hanlie.pretor...@gmail.com wrote:
 Hi,

 I've obtained DEMs in text files with columns X, Y and Z at 25m
 spacing. The first three entries in the text file are:

 -
 X,Y,Z
 99550,2.9883e+06,1473.47
 99550,2.98828e+06,1473.57
 99550,2.98825e+06,1473.63
 -
...
 Can someone perhaps help me to fix this?

Please take a look at

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

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


Re: [GRASS-user] dems from coordinate lists

2010-05-15 Thread Micha Silver

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_...@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 mi...@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


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


Re: [GRASS-user] dems from coordinate lists

2010-05-15 Thread Hamish
Micha wrote:
 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.

r.in.xyz is also good if your input data coords are already in a
grid, as if you set the region bounds correctly it can replicate
that grid and therefore the input data *exactly*.


 1- You want the final raster at the same or larger
 resolution as the original points, and

ie r.in.xyz and r.resamp.stats are good at aggregating data,
v.surf.rst and r.resamp.interp are good at interpolating data.


 2- You have at least one point value for *every* target
 raster cell. (Other wise you'll end up with cells with value
 '0')

only for the n count map (which is great for checking that
r.in.xyz is doing what you meant). for other methods cells with
no-data are filled with NULL, not 0. (as you might hope for
something like minimum!)


regards,
Hamish



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