Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hi All- Bill Hibbard wrote:
Please forgive me for CC'ing your message to the list, but I wanted to second that the IDV is a great system.
Thanks for the kudos.
The IDV does use visad.CoordinateSystem for map projections. Applications can define their own instances of DisplayRealType, and group 3 of them into a DisplayTupleType with a CoordinateSystem with reference Display.DisplaySpatialCartesianTuple (which is (XAxis, YAxis, ZAxis)). All the trig is of course in the toReference and fromReference() methods of their CoordinateSystem.Then of course you can use the new DisplayRealTypes in ScalarMaps. VisAD will automatically interpret new DisplayRealTypes in DisplayTupleTypes with CoordinateSystems with References (XAxis, YAxis, ZAxis), (Red, Green, Blue), (Flow1X, Flow1Y, Flow1Z), and (Flow2X, Flow2Y, Flow2Z).
A sample program that shows how to do map projections is at: ftp://ftp.unidata.ucar.edu/pub/dmurray/MapProjectionDisplay.java (Also, if you search the VisAD archives using MapProjectionDisplay as a keyword, you can see previous discussions on this issue.) If you want to switch projections on the fly, then you need to construct a new DisplayRealTupleType each time. You can see this in the IDV version of MapProjectionDisplay (ucar.unidata.view.geoloc.MapProjectionDisplay) in the source code at: ftp://ftp.unidata.ucar.edu/pub/metapps/metapps_src.jar or: http://my.unidata.ucar.edu/modules.php?name=Downloads (under the IDV/Source link). Note that the IDV version of MapProjectionDisplay uses many other classes in the IDV framework. The first one listed (in pub/dmurray) is raw VisAD, but does not support automatic projection switching. For UTM, you would just need to create a UTMCoordinateSystem that would do the appropriate transforms from UTM to lat/lon and vice-versa. If someone would contribute that, it would be a great addition to visad.georef. Don
visad
archives: