NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
The plane-layer intersection lines could be useful too. But since what we have is a stack of flatfields of (x, y) --> z then "clipping" the layers by some plane(s) could be a useful operation and visualization. So the result of clipping a layer by one or more planes would be a new layer which is like the original layer but minus some part of it. -- mohamad LANL Bill Hibbard wrote: > Hi Mohamad and Ugo, > > > The idea is to be able to depict a movable plane that sweeps the > > DEM and sends the data of the intersection curve to the 2D display. > > If the DEM is "FlatField elevation" with MathType ((x, y) -> z) then > to make a vertical cutting plane, construct "Gridded2DSet cutting_set" > with MathType Set(x, y) and manifold dimension = 1, whose samples > lie along the line in the (x, y) plane that is the intersection of > the (x, y) plane with the vertical cutting plane. Then: > > FlatField cut_elevation = (FlatField) > elevation.resample(cutting_set, Data.WEIGHTED_AVERAGE, Data.NO_ERRORS); > > and cut_elevation will be displayed in your 3-D DEM display as the > curve that is the intersection of your DEM with the vertical cutting > plane. For your 2-D display, construct another RealType w that > represents location along the line in the (x, y) plane and construct > "Gridded1DSet dem2d_samples" with MathType Set(w) and whose samples are > the w locations of the samples of cutting_set. Then: > > FunctionType dem2d_type = new FunctionType(w, z); > FlatField dem_2d = newFlatField(dem2d_type, dem2d_samples); > double[][] values = cut_elevation.getValues(); > dem_2d.setSamples(values); > > Now you can display dem_2d in 2-D with the ScalarMaps: > > ScalarMap(w, Display.XAxis); > ScalarMap(z, Display.YAxis); > > If your DEM display includes 3-D FlatFields [i.e., MathType > ((x, y, z) -> attribute)] representing sub-surface data, then you can do > something similar by defining a "Gridded3DSet cutting_plane" with MathType > Set(x, y, z) and manifold dimension = 2, whose samples are a 2-D grid lying > on the cutting plane. Then resample the 3-D FlatFields to cutting_plane, > etc. > > Cheers, > Bill > ---------------------------------------------------------- > Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 > hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 > http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: