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.
Now I'd like to change map projections within a display, say from a Lambert to a Mercator. Trying this, I first remove scalar maps for RealType.Latitude and RealType.Longitude from my DisplayImpl (J2D). But then when I try to build a new DisplayTupleType with DisplayRealTypes from the example visad app, I get errors. Seems like a DisplayRealType must be uniquely named. To get around this, I just make sure that the N'th time I set the display coord sys, I name the DisplayRealType with N in the name. I did think about just catching the TypeException and continuing regardless but was unsure of the ramifications.
I also tried keeping the display real types and just building a new tuple type for each map projection, but that failed with a 'display real type already in a tuple' error.
Can anyone explain why such types must be uniquely named? On a related note, is it a waste to be building 3 display real types and a displaytupletype every time I want a new display side coordinate system, i.e. a new map projection?? Is there a better way to achieve my goal. I note that what I really want is a setCoordinateSystem on my DisplayTupleType, then I wouldn't even have to remove the scalar maps at all (??)
Hmm, it's just dawned on me that IDV allows in-display map projections on the fly, can anyone enlighten me there?
Any help appreciated. Stuart
visad
archives: