Figure 2. The Software packages
For Solaris, OS X or Linux
setenv PATH $PATH:/home/usr/hdfobj/lib
setenv PATH=%PATH%;c:\apps\hdfobj\lib
The following is an example of how to make a subset. In the example, the dataset
is a 4-dimension with size of [200][100][50][10], i.e.
dims[0]=200; dims[1]=100; dims[2]=50; dims[3]=10;
We want to select every other data point in dims[1] and dims[2]
int rank = dataset.getRank(); // number of dimension of the dataset long[] dims = dataset.getDims(); // the dimension sizes of the dataset long[] selected = dataset.getSelectedDims(); // the selected size of the dataet long[] start = dataset.getStartDims(); // the off set of the selection long[] stride = dataset.getStride(); // the stride of the dataset int[] selectedIndex = dataset.getSelectedIndex(); // the selected dimensions for display // select dim1 and dim2 as 2D data for display,and slice through dim0 selectedIndex[0] = 1; selectedIndex[1] = 2; selectedIndex[2] = 0; // reset the selection arrays for (int i=0; i < rank; i++) { start[i] = 0; selected[i] = 1; stride[i] = 1; } // set stride to 2 on dim1 and dim2 so that every other data points are selected. stride[1] = 2; stride[2] = 2; // set the selection size of dim1 and dim2 selected[1] = dims[1]/stride[1]; selected[2] = dims[1]/stride[2]; // when dataset.read() is called, the slection above will be used since // the dimension arrays is passed by reference. Changes of these arrays // outside the dataset object directly change the values of these array // in the dataset object.
These two examples show you how to create an empty HDF4/5 file using the "HDF Object Package (Java)".
These two examples show you how to create HDF4/5 groups using the "HDF Object Package (Java)". The examples create the group structure:
"/" (root) g1 g11 g12 g2 g21 g22
These two examples show you how to create HDF4/5 datasets using the "HDF Object Package (Java)". The examples create the group structure and datasets:
"/" (root) integer arrays 2D 32-bit integer 20x10 3D unsigned 8-bit integer 20x10x5 float arrays 2D 64-bit double 20x10 3D 32-bit float 20x10x5
These two examples show you how to retrieve HDF file structure using the "HDF Object Package (Java)". The examples create the group structure and datasets, and print out the file structure:
"/" (root) integer arrays 2D 32-bit integer 20x10 3D unsigned 8-bit integer 20x10x5 float arrays 2D 64-bit double 20x10 3D 32-bit float 20x10x5
These two examples show you how to read/write HDF datasets using the "HDF Object Package (Java)". The examples create an integer dataset, and read and write data values:
"/" (root) 2D 32-bit integer 20x10
These two examples show you how to create/read/write HDF attributes using the "HDF Object Package (Java)". The example creates an attribute and reads and writes the attribute value:
"/" (root) 2D 32-bit integer 20x10 (attribute: name="data range", value=[0, 10000])
"/" (root) 2D 32-bit integer 20x10
The whole 20x10 data set is
1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909
Subset: start=(4, 2), size=(5, 3) and stride=(3, 2). The subset values are:
1402,1404,1406 1702,1704,1706 2002,2004,2006 2302,2304,2306 2602,2604,2606