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 Helen, > I have a grid data set which is in McIDAS GRID format with 20 rows and 28 > columns. > > Using the following codes, I got 4 displays shown at URL > http://enso.larc.nasa.gov/~helen/. > > When rendering the displays in X_Y domain (case 'a' and 'c'), they > looks similar using either DisplayImplJ2D or DisplayImplJ3D. > > But the displays in Lat_Lon domain (case 'b' and 'd') are shown differently > in J2D and J3D. The display (case 'b') generated in DisplayImplJ2D and > Lat_Lon domain looks very strange. Where and how do > the triangles come from? How can I fix it? This difference is because Java2D does not support curved texture maps. 'b' and 'd' don't look curved because your CoordinateSystem is linear, but VisAD has to assume that CS's are non-linear (i.e., curved). Do whenever a curved texture map is necessary in Java2D, VisAD displays the data as a bunch of triangles instead. The only thing you can do about is to resample() your data before display to a FlatField with MathType ((lat, lon) -> Grid) and a Linear2DSet domain Set, then display the FlatField returned by resample(). It will be texture mapped in Java2D. > In addition, the display of grids at 4 edges and 4 corners (case 'd') are > been > trimmed, that is, only half grid or quarter of grid is displayed. How > can I get a display, which is showing full grid on the edges, in > LAT_LON domain? VisAD tries to place the centers of pixels in accurate locations. This puts the centers of corner pixels at the corners of the display box. In some cases, the parts of the pixels outside the box are visible and in some cases they are not (for reasons that have to do with properties of Java2D versus Java3D and texture mapping versus triangular geometry). The solution here is similar to above. resample() your grid to a FlatField with MathType ((lat, lon) -> Grid) and a Linear2DSet domain Set. Good luck, Bill
visad
archives: