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.

Re: [idvusers] API for vertical section plots

Jon-

The attached program will get a slice from a grid as a VisAD FieldImpl and print it out. You can test it using:

java TestSlice http://motherlode.ucar.edu/repository/entry/show/output:data.opendap/entryid:f20290c6-9ee3-4d5a-b3c0-f72010abfc38/CONUS_80km_20090606_1200.grib1/dodsC/entry.das Temperature

This is accessing the grid via OPeNDAP from the Unidata RAMADDA server but you can use a local file.

If you need more help, contact me directly.

Don

On 1/17/11 2:13 PM, Jon Blower wrote:
Dear IDV folk,

I've seen that IDV can produce vertical section plots.  I'm interested in 
re-using this capability in other software (ncWMS) if possible.  I'd like to 
produce a plot as a standalone image (i.e. outside the context of Swing or any 
particular desktop), ideally as a BufferedImage.  Could someone please point me 
to the relevant bit in the libraries please?

Thanks,
Jon
_______________________________________________
idvusers mailing list
idvusers@xxxxxxxxxxxxxxxx
For list information, to unsubscribe, visit: 
http://www.unidata.ucar.edu/mailing_lists/

--
Don Murray
NOAA/ESRL/PSD and CIRES
303-497-3596
http://www.esrl.noaa.gov/psd/people/don.murray/
import ucar.unidata.data.grid.GeoGridAdapter;
import ucar.unidata.data.grid.GeoGridDataSource;
import ucar.unidata.data.grid.GridUtil;
import ucar.nc2.dt.grid.*;
import visad.*;
import visad.georef.LatLonTuple;


public class TestSlice {

    public static void main(String[] args) throws Exception {
        if (args.length == 0) {
           System.out.println("Must supply at least a filename");
           System.out.println("Usage:  java TestSlice <filename> <parameter>");
           System.exit(1);
        }
        String file = args[0];
        GridDataset gds = GridDataset.open(file);
        GeoGridDataSource ggds = new GeoGridDataSource(null, gds, "my data", 
file);
        String paramName = "T";
        if (args.length > 1) {
            paramName = args[1];
        }
        GeoGrid geoGrid       = gds.findGridByName(paramName);
        if (geoGrid == null) {
           System.out.println("Can't find grid named " + paramName);
           System.exit(1);
        }
        GeoGridAdapter gga = new GeoGridAdapter(ggds, geoGrid);
        FieldImpl fi = gga.getSequence();
        System.out.println(fi.getType());
        FieldImpl slice = GridUtil.sliceAlongLatLonLine(fi, new 
LatLonTuple(40,-120), new LatLonTuple(30,-70));
        System.out.println(slice);
    }
}
  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the idvusers archives: