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 Shawn: This is, as they say, non-trivial. Abstractly you are working with two invertible transformations: latLon <- T1 -> Image Coords <- T2 -> screen coordinates The Image coordinates are either Lat/Lon or projection coordinates. In the latter case, T1 is a complicated highly non-linear function, eg Lambert conformal. In our source jar, you will find implementations in ucar.unidata.geoloc.projection package. T2 is always affine, and we use java.awt.geom.AffineTransform, which works well with the java.awt.Graphics2D stuff that does the actual screen drawing. By setting the correct AffineTransform on the graphics object, you can basically work in Image Coordinates, aka "User Coordinates" when you draw the Image. You only need the Lat/Lon when you want to display the coordinates based on the mouse position. The ucar.nc2.ui.grid package is a Swing implementation that does all this. Its pretty complicated, and of course, not well documented. Have a look at GridRenderer if you're brave. Shawn Hampton wrote:
John, I am hoping that you can give me a leg up on dealing with lat/lon coordinate conversions. What I'm trying to do is this: show an image on the screen, say a map of the US showing radar data. I'd like to be able to be able to view the lat/lon of the position under the cursor as the mouse passes over it. So, I need to convert (x,y) to (lat,lon) for a fixed image. I have the code from the netcdf viewer, and I'm puzzling through the various classes. I have an example working using LatLonProjection, but the data makes no sense (lat is almost always 90 no matter where the mouse moves). I'm sure that I'm missing some steps, for one I'm not setting the lat/lon coordinates of the map I'm using. I'm also fairly sure that there are many steps that I'm missing that I have no idea about. Thanks for your time, Shawn ------------------------------------------------------------------------
netcdf-java
archives: