sgt beans l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SGT Beans PowerPoint Presentation
Download Presentation
SGT Beans

Loading in 2 Seconds...

play fullscreen
1 / 48

SGT Beans - PowerPoint PPT Presentation


  • 390 Views
  • Uploaded on

SGT Beans Easy-To-Use Graphics Toolkit for Java Applications Donald W. Denbo UW/JISAO-NOAA/PMEL Introduction The Scientific Graphics Toolkit JavaBeans (SGT Beans) is a collection of Java classes that provide JavaBeans compatible access to SGT.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SGT Beans' - lotus


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sgt beans

SGT Beans

Easy-To-Use Graphics Toolkit for Java Applications

Donald W. Denbo

UW/JISAO-NOAA/PMEL

introduction
Introduction
  • The Scientific Graphics Toolkit JavaBeans (SGT Beans) is a collection of Java classes that provide JavaBeans compatible access to SGT.
  • JavaBeans makes SGT’s 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.).

NOAATech 2004, Silver Spring, MD

history
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.

NOAATech 2004, Silver Spring, MD

other users of sgt
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

NOAATech 2004, Silver Spring, MD

outline
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?

NOAATech 2004, Silver Spring, MD

design goals
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.

NOAATech 2004, Silver Spring, MD

sgt beans demonstration
SGT Beans Demonstration

Start Demonstration

NOAATech 2004, Silver Spring, MD

architecture

1

1

DataModel

PanelModel

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

NOAATech 2004, Silver Spring, MD

page javabean
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.

NOAATech 2004, Silver Spring, MD

slide10

JPane

1

1

components

1..*

Layer

2

Panel

legendLayer

labelLayer

DataGroupLayer

*

Page

Page

NOAATech 2004, Silver Spring, MD

panelmodel javabean
PanelModel JavaBean
  • Non-visual JavaBean.
  • PanelModelmaintains:
  • 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

NOAATech 2004, Silver Spring, MD

panelmodel

1..*

PanelHolder

Label

Legend

*

*

1..*

DataGroup

AxisHolder

Margin

2

1

PanelModel

PanelModel

NOAATech 2004, Silver Spring, MD

datamodel javabean
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.

NOAATech 2004, Silver Spring, MD

datamodel

1..*

SGTData

DataHolder

Attribute

1

1

1

PanelHolder

1

1

DataGroup

1..*

Legend

*

DataModel

DataModel

NOAATech 2004, Silver Spring, MD

sgt beans code examples
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.

NOAATech 2004, Silver Spring, MD

sbexample1 class
SBExample1 class

NOAATech 2004, Silver Spring, MD

constuctor
Constuctor

NOAATech 2004, Silver Spring, MD

creategraphic
createGraphic()

NOAATech 2004, Silver Spring, MD

creategraphic cont
createGraphic() (cont)

NOAATech 2004, Silver Spring, MD

ncsimplereader1
NcSimpleReader1

NOAATech 2004, Silver Spring, MD

gettimeseries implementation
getTimeSeries() implementation

NOAATech 2004, Silver Spring, MD

set shape and read array s
Set shape and read Arrays

NOAATech 2004, Silver Spring, MD

extract variable and axis values
Extract variable and axis values

NOAATech 2004, Silver Spring, MD

parse time units
Parse time units.

NOAATech 2004, Silver Spring, MD

parse time offset create geodatearray
Parse time offset, create GeoDateArray

NOAATech 2004, Silver Spring, MD

create simpleline and return
Create SimpleLine and return

NOAATech 2004, Silver Spring, MD

example 2 add grid plot
Example 2: Add Grid Plot

NOAATech 2004, Silver Spring, MD

SBExample2.xml

sbexample2 modifications
SBExample2 modifications

NOAATech 2004, Silver Spring, MD

add grid to page
Add Grid to Page

NOAATech 2004, Silver Spring, MD

add creategridattribute
Add createGridAttribute()

NOAATech 2004, Silver Spring, MD

ncsimplereader2 add getgrid
NcSimpleReader2 - Add getGrid()

NOAATech 2004, Silver Spring, MD

get shape and x y axis data
Get shape and x & y axis data

NOAATech 2004, Silver Spring, MD

adjust shape and get data grid
Adjust shape and get data grid

NOAATech 2004, Silver Spring, MD

create simplegrid and return
Create SimpleGrid and return

NOAATech 2004, Silver Spring, MD

example 3 overlay vectors and add interactivity
Example 3: Overlay Vectors and Add Interactivity

NOAATech 2004, Silver Spring, MD

SBExample3.xml

sbexample3 modifications
SBExample3 modifications

NOAATech 2004, Silver Spring, MD

add grid legend
Add Grid Legend

NOAATech 2004, Silver Spring, MD

add printing
Add Printing

NOAATech 2004, Silver Spring, MD

reset zoom and open jclasstree
Reset Zoom and Open JClassTree

NOAATech 2004, Silver Spring, MD

edit printer layout and panelmodel
Edit Printer Layout and PanelModel

NOAATech 2004, Silver Spring, MD

ncsimplereader3 add getvector
NcSimpleReader3 - Add getVector()

NOAATech 2004, Silver Spring, MD

modify getgeodatearray
Modify getGeoDateArray

NOAATech 2004, Silver Spring, MD

what next
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.

NOAATech 2004, Silver Spring, MD

references
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

NOAATech 2004, Silver Spring, MD