Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the...

17
Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study of Ocean and Atmosphere (JISAO), University of Washington, Seattle, WA (JISAO is a joint institute of the University of Washington and the National Oceanic and Atmospheric Administration's Pacific Marine Environmental Laboratory) “http://www.epic.noaa.gov/NOAASer ver/sgt”

description

January 14, th IIPS, Dallas, TX3 Design Goals zAllow graphics developer flexibility and freedom zGIS style layer approach zSupport several display types yX-Y plot y2-D contour and “pixel” plots yVector plot yPoint-Value plot zDevelop a framework that can be easily extended

Transcript of Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the...

Page 1: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

Using Java Graphics to Display Ocean Observations in NOAAServer

D.W. DenboJoint Institute for the Study of Ocean and Atmosphere (JISAO),University of Washington, Seattle, WA

(JISAO is a joint institute of the University of Washington and the National Oceanic and Atmospheric Administration's Pacific Marine Environmental Laboratory)

“http://www.epic.noaa.gov/NOAAServer/sgt”

Page 2: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 2

IntroductionNOAAServer Project was created to provide

a view of NOAA’s on-line information free of organizational boundaries.

To accomplish this goal NOAAServer applies a combination of World Wide Web and network computing technologies.

Java graphics enables highly interactive client-side graphics.

NOAAServer Project was established by and is managed out of the Environmental Services Data and Information Management (ESDIM) office.

Page 3: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 3

Design Goals

Allow graphics developer flexibility and freedomGIS style layer approachSupport several display types

X-Y plot 2-D contour and “pixel” plots Vector plot Point-Value plot

Develop a framework that can be easily extended

Page 4: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 4

Implementation Two coordinate systems

physical user

Three main components Pane Layer

LineKey SGLabel

Graph Axes Renderer

Pane Layer Graph

Layerchild

Device units Physical units User units

SGLabelLineKey…

Page 5: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 5

Mouse Events

Mouse events are pre-processed by PaneEvents passed to user are

Object selection Zoom rectangle selected

Events processed by sgt are Object move Line hi-lighting

Page 6: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 6

Graphics Data Model

Data model needs to support X-Y, contour, raster, vector, and point plots be compact and “light-weight” for client-server Web

Accomplish the above by supporting “plottable” objects

one- and two-dimensional arrayscoordinate informationunits and titles

data models implemented using java interfaces

Page 7: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 7

Graphics Data Model

Primitive Data Types SGTPoint SGTLine SGTGrid (2-dimensional) SGTVector (2-

component) SGTImage

SGTMetaData getName() getUnits() isModulo() getProperties()

3

2

gov.noaa. noaaserver.sgt.d atamodel

NOAAServer Java Graphics

Scientific Graphics Toolkit

Datamodel

S GTData Collection

SG TVector

SGTPoint

2

SGTLine

S GTG rid

SGTIm age

Coordina teSystem Cartesian

Geographic

P olar

Simp lePoint

SimpleLine

SimpleGrid

SGTMetaData

implements

Abstract/interfaceClass

Page 8: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 8

NOAAServer Application

Client allows user to select a remote dataset navigate through the dataset receive the data request graphically display the data

SGT used to display data in an independent window

Layouts construct a graph, manage zooming, and add datasets to the graphs

Page 9: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 9

GraphicLayout

PlotFrame

RasterTimeSeries Layout LineTimeSeriesLay out

Ca rtes ianGraph

GridCa rtes ianRenderer

SGTGrid GridAttribute SGTLine

LineCartes ianRenderer

LineAttribute

Sgt c

lasse

sap

plica

tion

Page 10: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 10

Station Locations

Uses StationPlotLayout with LineCartesianRenderer Multiple SGTLine objects LineAttribute set for MARK style

Layout uses different plot marks for each set of stations

LineKey used to identify each set of stations Supports zooming

Page 11: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 11

Page 12: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 12

Time Series Plot

Uses LineTimeSeriesLayout LineCartesianRenderer Multiple SGTLine objects LineAttribute set for SOLID lines

Layout uses different pen colors for each line LineKey used to identify each station Supports zooming

Page 13: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 13

Page 14: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 14

Raster Time Series Plot

Uses RasterTimeSeriesLayout with RasterCartesianRenderer Single SGTGrid object ColorMap used to map temperature to a color ColorKey graphically displays the mapping

Page 15: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 15

Page 16: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 16

Future Directions

Next major version will include Java2D capabilities Line widths Dash styles More font control for Labels Arbitrary rotated text

Implement MapGraph and supporting classes

Page 17: Using Java Graphics to Display Ocean Observations in NOAAServer D.W. Denbo Joint Institute for the Study…

January 14, 1999http://www.epic.noaa.gov/NOAAServer/sgt

15th IIPS, Dallas, TX 17

References

Brazille, W., D.W. Denbo, and W.H. Zhu, 1997. NOAAServer Version 2 Co-plotting Prototype. Presented at NOAA WebShop97, October 22-23, 1997, Silver Spring, Maryland.

Denbo, D.W., 1998. Scigraph: Object-Oriented 2D Scientific Graphics Library. Presented at the 14th International Conference on Interactive Information and Processing Systems for Meteorology, Oceanography, and Hydrology, January 12-16, 1998, Phoenix, Arizona.

Denbo, D.W., 1997. NOAAServer Graphics Engine Architecture. Presented at NOAA WebShop97, October 22-23, 1997, Silver Spring, Maryland.