Several questions about DataSetViewer

Oct 24, 2011 at 1:40 PM

Hello!

1. If i use lattitude and longitude to plot data then DataSetViewer displays  for X and Y axis label rows/columns number. It is possible to show for X and Y axis actual lat/lon values?

2. Can i change interval between isolines (isoline step)? 

3. It is possible to change pallete for Colormap?

Thanks in advance

Developer
Oct 25, 2011 at 5:55 AM

Hi,

1. If the axes for your plot are latitude and longitude, the plot should automatically have (i) background map and (ii) proper axis labels in degrees. Latitude and longitude axes are detected by name (e.g. if contain "lat", "lon"), or units attribute ("degrees East", "degrees North").

The list of available visualizations is shown by DSV for each variable in a dataset. Visualization title in the list contains visualization name ("Color map") and axes ("... on Latitude, Longitude"). If axes names are given in square brackes ("... on [lat,lon]"), the axes are dimensions, i.e. rows/columns numbers; otherwise, other variables of the dataset will be used as axis values. If at least one of visualizations is checked, only compatible visualizations are shown in the list; others are hidden.

So try to uncheck all selected visualizations to see complete list of visualizations.

2. Unfortunately, no. It is chosen automatically.

3. Yes, using visual hints.  See the reply here.

 

Regards,

Dmitry.

Oct 26, 2011 at 7:03 AM

Hello!
Thank you, the problem was in indices, i remove indices from z variable and now DSV plot Geo Isolines on lon, lat correctly.
But Color map now have isolines on [_2,_1] and axis shows rows and columns...
Maybe some trouble in dataset? I extract part of data from huge nc file and write dataset for it:

            sds.DataSet my = sds.DataSet.Open("msds:nc?file=C:\test.nc&openMode=create");
            
            int idx=my.Add<double[,]>("lon").ID;
            my.PutData(idx, lon);
            int idy=my.Add<double[,]>("lat").ID;
            my.PutData(idy, lat);
            int idz=my.Add<double[,]>("waveh").ID;
            my.PutData(idz, waveh);

            sds.DataSet dataset = sds.DataSet.Open("C:\\test.nc?openMode=readOnly");
            viewerControl1.DataSet = dataset;
Also i would like to know, is there in DSV support for NaN values? (can it process some double value as NAN?)

Developer
Oct 26, 2011 at 3:48 PM

1. The dataset which is a result of the code sample must be shown correctly as color map with map backround.

If not in your case, please, which visualizations DSV proposes to you and do

Console.WriteLine(my);

in your code and post the output for me.



2. DSV should correctly handle double.NaN.

 

 

Oct 27, 2011 at 7:58 AM

Available visualisations for value waveh:
Geo isolines on lon, lat (works just fine!)
Isolines on lat, lon
Color map on [_1,_2]
Color map on [_2,_1] (seems correct, but axis labels are rows/columns number)
Isolines on [_1,_2]
Isolines on [_2,_1]
Table of values of 2d variable

Available visualisations for value lon/lat:
Color map on [_1,_2]
Color map on [_2,_1]
Isolines on [_1,_2]
Isolines on [_2,_1]
Table of values of 2d variable
Isolines on lon/lat, waveh
Isolines on waveh,lon/lat

WriteLine output:
msds:nc?file=C:\test.nc&openMode=create
[5]
DSID: a95bdcb0-3d42-4b28-bdf4-1c0ad6b83ac5
[3] waveh of type Double (_1:1001) (_2:701)
[2] lat of type Double (_1:1001) (_2:701)
[1] lon of type Double (_1:1001) (_2:701)

Double.NaN works just fine, thank you!