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.
Hi Lak, On Wed, 21 Aug 2002, V. Lakshmanan wrote: > > I changed the MathType from > > (radial,gate)->(x,y,z,gatevalue) > > to: > > (radial,gate) -> (x,y,z) -> (gatevalue) > > and attached the x,y,z axes to the Display axes > > and I do get filled pixels. Actually, your new MathType is ((x,y,z) -> gatevalue). A MathType of ((radial,gate) -> ((x,y,z) -> gatevalue)) would require a FieldImpl with FlatFields passed to its setSamples() method. > I spoke too soon ... there is still a problem. > I do get filled pixels in the xy plane, but > things are not filled along the surface of the > cone ... instead I get rings. > There is a snapshot and source code at: > http://www.nssl.noaa.gov/~lakshman/ElevationScan.html Thanks for this very informative web page about your problem. > a) I am using x,y,z as the domain, so why is > the x-y direction working, but not the z-component? > b) Is there a conical geometry in visad that > I am overlooking here? > c) How do I tell the display not to interpolate > but use the nearest neighbor? As you said in your previous email, the domain Set of your FlatField is a Gridded3DSet with manifold dimension = 1. The rings in your image are actually connected in one big spiral (you can see the jogs in the spiral at about 2:30 o'clock in your image). There are several possible ways to see the elevation of your data. One way is to use your original MathType: ((radial,gate)->(x,y,z,gatevalue)) with ScalarMaps radial->Longitude and gate->Radius. Then in your call to addReference() use the signature that takes a DataReference and also a ConstantMap[] array. Pass in a ConstantMap of your elevation value to Latitude. If you want the elevation to be part of your data, use the MathType: (elevation, ((radial,gate)->(x,y,z,gatevalue))) This is a Tuple combining a Real elevation with your original FlatField. Then include ScalarMaps radial->Longitude, gate->Radius and elevation->Latitude. A different approach is to use the MathType of your new program: ((x, y, z) -> gatevalue) But use a Gridded3DSet with manfold dimension = 2. In place of your constructor: new Gridded3DSet( domainTuple, xyz, xyz[0].length ) use: new Gridded3DSet( domainTuple, xyz, num_radials, num_gates ) Good luck, Bill
visad
archives: