SGT Beans - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

SGT Beans

Description:

NOAATech 2004, Silver Spring, MD. 2. Introduction ... NOAATech 2004, Silver Spring, MD. 7. SGT Beans Demonstration. Start Demonstration. 2003-10-23 ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 49
Provided by: donald71
Category:
Tags: sgt | beans | md

less

Transcript and Presenter's Notes

Title: SGT Beans


1
SGT Beans
  • Easy-To-Use Graphics Toolkit for Java
    Applications

Donald W. Denbo UW/JISAO-NOAA/PMEL
2
Introduction
  • The Scientific Graphics Toolkit JavaBeans (SGT
    Beans) is a collection of Java classes that
    provide JavaBeans compatible access to SGT.
  • JavaBeans makes SGTs capabilities more
    accessible to developers.
  • SGT Beans reduces the learning curve needed to
    produce graphics applications.
  • SGT Beans can be used with several Java IDEs
    (NetBeans, JBuilder, etc.).

3
History
  • SGT was developed to allow a NOAAServer user to
    interactively preview data and overlay plots.
  • SGT presently used with
  • OceanShare, a collaborative tool for in situ data
    visualization
  • ncBrowse, a netCDF file browser
  • Climate Data Portal client, an application for
    browsing distributed data
  • SGT has had 17,000 downloads from 5,800 unique
    sites in 70 countries.

4
Other Users of SGT
  • Buoy Data, Morska Bioloska Postaja (Marine
    Biology Station)
  • Computational Physics Laboratory, University of
    Edinburgh
  • A Utility in JOELib, Computational Chemistry,
    University of Tübingen
  • Coordinated, Interactive Data Visualization for
    Neutron Scattering Data, Mikkelson et. al.
  • Dezo.org has created SGT applet plots.
  • An Interactive Program for Determining Junction
    Depths in Diffused Silicon Devices, Myers et.
    al.
  • Übungsunterlagen 2002, Wasserspeicher

5
Outline
  • SGT Bean design goals
  • Demonstration of SGT Bean application.
  • Architecture
  • Page
  • DataModel
  • PanelModel
  • SGT Bean code examples
  • Time series. Plotting data from a netCDF file.
  • Add grid plot. Refactor netCDF reader.
  • Overlay vectors and add printing, PanelModel
    edit, etc.
  • What Next?

6
Design Goals
  • Create easy-to-use JavaBeans from the SGT classes.
  • JavaBeans will enable beginner and intermediate
    developers a quick entry into SGT graphics.
  • SGT Beans will handle most events and provide
    tools to easily customize the appearance of the
    plot.

7
SGT Beans Demonstration
Start Demonstration
8
Architecture
  • The SGT Beans architecture consists of Page,
    DataModel, and PanelModel JavaBeans. The
    DataModel and PanelModel beans provide the
    state information necessary for Page to create
    a graphic display.

Page
9
Page JavaBean
  • Visual JavaBean. Page can be added to any swing
    container.
  • Page can have any number of Panels placed inside
    it. Each Panel provides an independent graphical
    display of data from the DataModel.
  • The location and size of the Panels are specified
    in the PanelModel.

10
Page
Page
11
PanelModel JavaBean
  • Non-visual JavaBean.
  • PanelModel maintains
  • location and size of Panels on Page
  • AxisGroups and their positions on a Panel
  • Legend position on a Panel
  • Titles and annotation positions on a Panel

12
PanelModel
PanelModel
13
DataModel JavaBean
  • Non-visual JavaBean.
  • DataModel uses information from the PanelModel to
    specify the connection between data and
    Panel/AxisGroup.
  • Contains the SGTData and Attribute objects.

14
DataModel
DataModel
15
SGT Beans Code Examples
  • Example 1 Time Series
  • Read time series from netCDF file into SimpleLine
    object.
  • Create graph using Page, DataModel, and
    PanelModel.
  • Load PanelModel from SBExample1.xml.
  • Example 2 Add Grid Plot
  • Read grid from netCDF file into SimpleGrid
    object.
  • Load PanelModel from SBExample2.xml.
  • Example 3 Overlay Vectors and Add Interactivity
  • Read vector from netCDF file into SGTVector
    object.
  • Load PanelModel from SBExample3.xml.
  • Add color map Legend.
  • Add printing, class browsing, zoom reset,
    PanelModel edit.

16
Example 1 Time Series
SBExample1.xml
17
SBExample1 class
18
Constuctor
19
createGraphic()
20
createGraphic() (cont)
21
NcSimpleReader1
22
getTimeSeries() implementation
23
Set shape and read Arrays
24
Extract variable and axis values
25
Parse time units.
26
Parse time offset, create GeoDateArray
27
Create SimpleLine and return
28
(No Transcript)
29
Example 2 Add Grid Plot
SBExample2.xml
30
SBExample2 modifications
31
Add Grid to Page
32
Add createGridAttribute()
33
NcSimpleReader2 - Add getGrid()
34
Get shape and x y axis data
35
Adjust shape and get data grid
36
Create SimpleGrid and return
37
(No Transcript)
38
Example 3 Overlay Vectors and Add Interactivity
SBExample3.xml
39
SBExample3 modifications
40
Add Grid Legend
41
Add Printing
42
Reset Zoom and Open JClassTree
43
Edit Printer Layout and PanelModel
44
NcSimpleReader3 - Add getVector()
45
Modify getGeoDateArray
46
(No Transcript)
47
What next?
  • Add LayoutManager support to position Panels when
    Page is resized. This requires creating a
    graphical wizard to set SpringLayout properties.
  • Add Annotation object support. Annotations
    include line, oval, point, text, and rectangle
    objects.
  • Enhance IDE compatibility with popular tools.
  • Continue fixing bugs, as they are found, and
    adding new useful features.

48
References
  • SGT Beans
  • Plug and Play Scientific Graphics with SGT,
    NOAAResearch WebShop 2003, Longmont, CO
  • SGT home page
  • ncBrowse
  • ncBrowse A Graphical netCDF/OPeNDAP Browser,
    11th ESIP Technical Meeting - OPeNDAP Session,
    Boulder, CO
  • ncBrowse home page
  • OceanShare
  • Fisheries Oceanography Collaboration Software,
    18th AMS International Conference on IIPS,
    Orlando, FL
  • Collaboration home page
  • Climate Data Portal
  • Climate Data Portal home page
Write a Comment
User Comments (0)
About PowerShow.com