[GRASS-user] 3-D plane workflow

Adam Dershowitz adershowitz at exponent.com
Tue Feb 26 15:38:28 PST 2013


I would like to be able to put some surfaces in the space over a DEM.  In other words, I have a DEM, and then I need to calculate some regions that are "keep-out zones" in space above.  I can calculate where these surfaces are fairly easily in Python, for example.  So the output of my calculation would be some points.  In the easiest example, it would just be 4 sets of x,y,z that represent the four corners of a plane.
I would then like to be able to visually show this plane (or multiple planes), over the DEM, and show that the DEM does, or doesn't, penetrate this surface.  If it does penetrate, I would like to be able to calculate the penetration height.

The kind of thing that I would like to do, would end up looking like the examples of Slovakia precipitation that Mitasova has done.  Some of those examples show a DEM, and then a surface that is being penetrated by the DEM.
I have been reading some of the examples for 3D visualization (such as here: http://grasswiki.osgeo.org/wiki/Help_with_3D), but figured that a post here, but might get me a little more guidance about a general suggested workflow.

In those examples, are the isosurfaces does as 3D rasters?  If I just want a plane in space, and I have the four corner points, is a 3D raster seem like the best way to draw it?  Are those examples displayed with NVIZ or paraview?

Is the following a reasonable approach:

Calculate the surfaces in some code and export as faces:

F 4
 0 100 10
 50 50 80
 0 0 10
 0 100 10

Then, import into Grass with v.in.ascii.
Next, I would have to convert to a raster:  v.to.rast.
Then, I would have to convert to an elevation:  r.to.rast3elev
Finally, I could export both the surfaces and the ground DEM with r3.out.vtk, and visualize with paraview.

Is this a reasonable workflow?  If I just need a semitransparent surface, is it necessary for it to be 3D, or can it be done with 2.5D (all I really need is x,y and elevation, like a DEM).  For, example, I might be able to just skip the raster version and use v.out.vtk?    Or maybe I can just use nviz to visualize what I need, if I can get it to the right format.
If I do convert the plane to a raster, I suppose I can then use mapcalc to calculate the height difference between the plane and the ground DEM?

I am just looking for some general workflow guidance for a good overall approach to get going.  It seems like there are some things that are not as clear about 3D work in GRASS, and I am just trying to get a reasonable picture.
Any thoughts are greatly appreciate.

Thanks much,


--Adam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20130226/c4fee99f/attachment.html>


More information about the grass-user mailing list