HDF-EOS to GeoTIFF Conversion Tool & HDF-EOS Plug-in for HDFView
October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and...
-
Upload
allison-hall -
Category
Documents
-
view
235 -
download
0
description
Transcript of October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and...
![Page 1: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/1.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 1
HDF-Java Products
Peter CaoThe HDF Group
HDF and HDF-EOS Workshop XIIOctober 15, 2008
![Page 2: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/2.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 2
What are the HDF-Java products?
HDF-Java
HDF
JavaWrapper
ObjectPackage
Viewer Editor
![Page 3: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/3.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 3
Java Wrapper
HDF
![Page 4: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/4.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 4
Java Wrapper
HDF
Pure JavaLibrary
HDF
Java Native Interface
a programming framework that allows Java code to call and be called by applications and libraries written in other languages
![Page 5: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/5.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 5
Pure Java Library
• Pros: True platform independence Direct access to file (no data
conversion between C and Java)
HDF
Pure JavaLibrary
• Cons: Substantial amount of work to
implement Hard to maintain (new features or
format changes)
![Page 6: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/6.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 6
HDF JNI
• Pros: Easy to implement Easy to maintain
HDF
HDF
Java Native Interface
• Cons: Requires data conversion between C
and Java HDF JNI is platform dependent
![Page 7: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/7.jpg)
Java Wrapper
October 15-17, 2008 HDF and HDF-EOS Workshop XII 7
HDF Java Native Interface
HDFLibrary.javaH5.java
libjhdf.so (or dll)
libjhdf5.so (or dll)
HDF4 library
HDF5 library
![Page 8: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/8.jpg)
Java Wrapper: C versus Java
October 15-17, 2008 HDF and HDF-EOS Workshop XII 8
hid_t H5Fcreate (const char *name, unsigned flags, hid_t create_id, hid_t access_id );
hid_t H5Fopen (const char *name, unsigned flags, hid_t access_id );
herr_t H5Fclose (hid_t file_id );
public static native int H5Fcreate (String name,
int flags,int create_id,int access_id);
public static native int H5Fopen (String name,int flags,int access_id);
public static native int H5Fclose (int file_id);
C Java
![Page 9: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/9.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 9
Object Package
HDF-Java
HDF
JavaWrapper
ObjectPackage
Viewer Editor
![Page 10: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/10.jpg)
Java Wrapper: simple dataset read
October 15-17, 2008 HDF and HDF-EOS Workshop XII 10
int fid, did, sid, tid, rank; long dims[], maxDims[]; Object theData;
fid = H5.H5Fopen( fname, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT); did = H5.H5Dopen(fid, dname); sid = H5.H5Dget_space(did); tid = H5.H5Dget_type(did); rank = H5.H5Sget_simple_extent_ndims(sid); dims = new long[rank]; maxDims = new long[rank]; H5.H5Sget_simple_extent_dims(sid, dims, maxDims); theData = allocateArray(tid, dims); H5.H5Dread( did, tid, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, theData); H5.H5Sclose(sid); H5.H5Tclose(tid); H5.H5Dclose(did); H5.H5Fclose(fid);
![Page 11: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/11.jpg)
Object Package: the easy way
October 15-17, 2008 HDF and HDF-EOS Workshop XII 11
theData = Dataset.read();
![Page 12: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/12.jpg)
Object Package: main purposes
October 15-17, 2008 HDF and HDF-EOS Workshop XII 12
• Simplifies access to HDF files• Separates applications from libraries
Modular design Client server model
• Makes testing and maintenance easy
![Page 13: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/13.jpg)
Object Package: levels of objects
October 15-17, 2008 HDF and HDF-EOS Workshop XII 13
Common Objectsncsa.hdf.object
jhdfobj.jar
HDF4ncsa.hdf.object.h4
jhdf4obj.jar
HDF5ncsa.hdf.object.h5
jhdf5obj.jar
Abstract classes
Implementation
![Page 14: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/14.jpg)
Object Package: abstract classes
October 15-17, 2008 HDF and HDF-EOS Workshop XII 14
HObject
CompoundDSScalarDS
DatasetGroup
FileFormat
![Page 15: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/15.jpg)
Object Package: HDF4 implementation
October 15-17, 2008 HDF and HDF-EOS Workshop XII 15
H4Group H4GRImageH4SDS H4Vdata
Group ScalarDS CompounDS
FileFormat
H4File
![Page 16: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/16.jpg)
Object Package: HDF5 implementation
October 15-17, 2008 HDF and HDF-EOS Workshop XII 16
H5Group H5ScalarDS H5CompoundDS
Group ScalarDS CompounDS
FileFormat
H5File
![Page 17: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/17.jpg)
Object Package: file create
October 15-17, 2008 HDF and HDF-EOS Workshop XII 17
import ncsa.hdf.object.*;
public class H5FileCreate{ private static String fname = "H5FileCreate.h5";
public static void main( String args[] ) throws Exception { FileFormat fileFormat = FileFormat.getFileFormat(FileFormat.FILE_TYPE_HDF5);
fileFormat.createFile(fname, FileFormat.FILE_CREATE);
}}
![Page 18: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/18.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 18
HDFView
HDF-Java
HDF
JavaWrapper
ObjectPackage
Viewer Editor
![Page 19: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/19.jpg)
HDFView: basic components
October 15-17, 2008 HDF and HDF-EOS Workshop XII 19
![Page 20: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/20.jpg)
HDFView: GUI components
October 15-17, 2008 HDF and HDF-EOS Workshop XII 20
HDFView(GUI)TreeView MetaDataView
TableView ImageView TextView
UserImp
UserImpUserImpUserImp
UserImp
![Page 21: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/21.jpg)
HDFView: all together
October 15-17, 2008 HDF and HDF-EOS Workshop XII 21
![Page 22: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/22.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 22
What are the HDF-Java products?
HDF-Java
HDF
JavaWrapper
ObjectPackage
Viewer Editor
![Page 23: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/23.jpg)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 23
This report is based upon work supported in part by a Cooperative Agreement with the National Aeronautics and Space Administration (NASA) under NASA Awards NNX06AC83A and NNX08AO77A. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Aeronautics and Space Administration.
Thank You!
![Page 24: October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.](https://reader035.fdocuments.net/reader035/viewer/2022081507/5a4d1b0f7f8b9ab05998e319/html5/thumbnails/24.jpg)
Questions/comments?
October 15-17, 2008 HDF and HDF-EOS Workshop XII 24