Since r.los only works on rasters, I need to create the raster files. How do you create rasters starting with a set of vector contour maps?
I tried running v.extrude, using the "Elevation" column for the attribute. Grass processes this okay, reporting:
Number of nodes: 197049
Number of primitives: 197056
Number of points: 0
Number of lines: 0
Number of boundaries: 0
Number of faces: 197056
Number of areas: 0
Number of isles: 0
When I try to display the resulting map, however, I get a blank display. Have I failed to configure something for the display of the 3D output?
Richard Chirgwin
GRASS has 2 routines specially designed to interpolate raster maps from
contours.
1. Use r.surf.contour: Convert your vector contours to raster using
v.to.rast. Then create a raster map from the contours using r.surf.contour.
2. Use v.surf.rst: More sophisticated and complicated module, but will read
your vector contours directly. Check the manual for details.
Michael
On 7/30/07 2:31 PM, "Richard Chirgwin" <rchirgwin@ozemail.com.au> wrote:
Since r.los only works on rasters, I need to create the raster files.
How do you create rasters starting with a set of vector contour maps?
I tried running v.extrude, using the "Elevation" column for the
attribute. Grass processes this okay, reporting:
Number of nodes: 197049
Number of primitives: 197056
Number of points: 0
Number of lines: 0
Number of boundaries: 0
Number of faces: 197056
Number of areas: 0
Number of isles: 0
When I try to display the resulting map, however, I get a blank display.
Have I failed to configure something for the display of the 3D output?
Richard Chirgwin
__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
Michael Barton wrote:
GRASS has 2 routines specially designed to interpolate raster maps from
contours.
...
2. Use v.surf.rst: More sophisticated and complicated module, but will read
your vector contours directly. Check the manual for details.
v.surf.rst is not designed for elevation contours lines input. It
*might* work well with contours, but in general it prefers homogenous
points input, like LIDAR or SRTM. In case of elavation contour lines,
which have irregular distribution by nature, RST produces curvature
artifacts. Also, as v.surf.rst uses segmentation to preserve memory,
any clustered input tends to lead to "stairy" artifacts at segments'
joins. Both side effects are possible to minimise bu adjusting tension,
smoothing and other parameters, but success is not guaranteed.
Maciek
Thanks for the clarification. This is good to know. Any other options
besides r.surf.contour?
Michael
On 7/31/07 3:25 PM, "Maciej Sieczka" <tutey@o2.pl> wrote:
Michael Barton wrote:
GRASS has 2 routines specially designed to interpolate raster maps from
contours.
...
2. Use v.surf.rst: More sophisticated and complicated module, but will read
your vector contours directly. Check the manual for details.
v.surf.rst is not designed for elevation contours lines input. It
*might* work well with contours, but in general it prefers homogenous
points input, like LIDAR or SRTM. In case of elavation contour lines,
which have irregular distribution by nature, RST produces curvature
artifacts. Also, as v.surf.rst uses segmentation to preserve memory,
any clustered input tends to lead to "stairy" artifacts at segments'
joins. Both side effects are possible to minimise bu adjusting tension,
smoothing and other parameters, but success is not guaranteed.
Maciek
__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
Michael Barton wrote:
Thanks for the clarification. This is good to know. Any other options
besides r.surf.contour?
I prefer r.surf.nnbathy, as I find natural neighbor or plain
triangulation most robust for interpolating contour lines. However,
these methods have their own problems - the output surface is not
smooth (only partly - in case on nat. neigh.), kidney shape contours
might be interpolated as plateus. But at least the result is
predictable. If I want it smoother, I filter the DEM afterwards.
But that's just me.
Maciek
Richard,
So this gives you yet a 3rd method. While interpolating a smooth DEM from
contour lines is a difficult problem (similar or worse problems reported
with ArcGIS), all 3 of these methods will do a much better job than using
v.extrude.
You can also use a 2 step process. Use any of these 3 methods and take a
look at the results. To improve them you can use a neighborhood smoothing
routine, as Maciek mentions below. Or you can generate a set of random
points across your somewhat 'steppy' surface and do a new interpolation on
the basis of the random points to smooth things out. There are even more
routines to interpolate a surface from points.
The bottom line is that there are a variety of ways to solve this problem in
GRASS, giving you a lot of options to achieve the results you need.
Michael
On 7/31/07 4:14 PM, "Maciej Sieczka" <tutey@o2.pl> wrote:
Michael Barton wrote:
Thanks for the clarification. This is good to know. Any other options
besides r.surf.contour?
I prefer r.surf.nnbathy, as I find natural neighbor or plain
triangulation most robust for interpolating contour lines. However,
these methods have their own problems - the output surface is not
smooth (only partly - in case on nat. neigh.), kidney shape contours
might be interpolated as plateus. But at least the result is
predictable. If I want it smoother, I filter the DEM afterwards.
But that's just me.
Maciek
__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton