The Investigative Representation Toolbox (A Specialized Outline).


109 views
Uploaded on:
Description
The Investigative Representation Toolbox (A Specialized Outline) Donald Denbo UW-JISAO/NOAA-PMEL http://www.epic.noaa.gov/java/sgt Presentation The Logical Illustrations Toolbox (SGT) is an accumulation of Java classes and interfaces to make graphical applications.
Transcripts
Slide 1

The Scientific Graphics Toolkit (A Technical Overview) Donald Denbo UW-JISAO/NOAA-PMEL http://www.epic.noaa.gov/java/sgt

Slide 2

Introduction The Scientific Graphics Toolkit (SGT) is an accumulation of Java classes and interfaces to make graphical applications. SGT is a toolbox , not an application. Utilizing SGT obliges moderate Java programming abilities. SGT has a few classes that make making a graphical application less demanding, yet utilizing SGT does oblige delivering code. With a small portion of exertion a Java software engineer can, utilizing SGT, make graphical Java applications that are anything but difficult to utilize. SGT has had 5588 downloads to 2393 exceptional destinations in 60 nations since March 2000 (as of Jan 7, 2002). NVODS/DODS Technical Workshop

Slide 3

History Sgt was produced to permit a NOAAServer client to intuitively review information and overlay plots. Initially created utilizing jdk 1.0.3, now utilizes jdk 1.1.x. Next discharge will require jdk 1.2 or more current. Instructional exercise made accessible October 25, 2001. SGT discharge dates 1.0 – March 20, 2000 2.0 – March 14, 2001 2.1 – December 14, 2001 NVODS/DODS Technical Workshop

Slide 4

SGT Applications OceanShare a shared device for appropriated in situ information perception Being altered for Fisheries-Oceanography use http://www.epic.noaa.gov/collab/( pdf paper ) ncBrowse a netCDF record program for nearby and remote netCDF documents http://www.epic.noaa.gov/java/ncBrowse/( force point presentation ) 3452 downloads to 1680 novel destinations in 48 nations since February 2000 (as of Jan 7, 2002). Atmosphere Data Portal customer A circulated in-situ information application http://www.epic.noaa.gov/cdp/( force point presentation ) Although the CDPclient has not been openly discharged, it has had 125 downloads to 51 remarkable locales in 6 nations. NVODS/DODS Technical Workshop

Slide 5

Outline Demos and Examples Technical Issues Design theory & Goals Using standard Java phrases Design Patterns Architecture Real world applications utilizing SGT NVODS/DODS Technical Workshop

Slide 6

Outline Demos and Examples ( applet demo ) Technical Issues Design rationality & Goals Using standard Java colloquialisms Design Patterns Architecture Real world applications utilizing SGT NVODS/DODS Technical Workshop

Slide 7

TAOMap Plot assembled from fundamental sgt parts Uses ValueIcon , which actualizes Draggable Uses a Point Key, which executes Moveable and Selectable http://www.epic.noaa.gov/java/sgt/sgt_demos.shtml NVODS/DODS Technical Workshop

Slide 8

JRealTimeDemo Built from essential sgt segments. Information class utilizes PropertyChangeEvents to tell sgt. Sgt then redesigns plot. NVODS/DODS Technical Workshop

Slide 9

JVectorDemo Uses JPlotLayout which gives: Zoom LayerChild determination Vector head style is HEAD , where vector head is unscaled. http://www.epic.noaa.gov/java/sgt/sgt_demos.shtml NVODS/DODS Technical Workshop

Slide 10

JGridDemo Uses JPlotLayout which gives: Zoom LayerChild choice GridAttribute is at first set to RASTER_CONTOUR style. http://www.epic.noaa.gov/java/sgt/sgt_demos.shtml NVODS/DODS Technical Workshop

Slide 11

Outline Demos and Examples Technical Issues Design theory & Goals Using standard Java figures of speech Design Patterns Architecture Real world applications utilizing SGT NVODS/DODS Technical Workshop

Slide 12

Design Philosophy & Goals Don’t give an excessive amount of usefulness in the toolbox Require designer to disambiguate zoom demand (which layer) Use interfaces for information model determination Hide however much of the inner hardware as could reasonably be expected Provide utility classes to bolster engineer Dialogs to set/alter representation properties Plot format class to bolster straightforward illustrations Basic usage of information model interfaces Keep tool stash adaptable and extensible GIS style layer methodology Support a few presentation sorts Time arrangement/Time tomahawks X-Y plot 2-D shape and “pixel” plots Vector plot Point-Value plot NVODS/DODS Technical Workshop

Slide 13

Using standard Java phrases (don’t rehash the wheel) Basic design toolboxs AWT bolster (now being belittled) Pane is a compartment Printing Swing bolster Scrolling Printing Repaint (invigorate) Minimum, most extreme, and favored size JPane is a holder JavaBeans maxim Use set/get for parameters Use include/evacuate for occasion audience members Use set/is for boolean parameters NVODS/DODS Technical Workshop

Slide 14

Don’t reevaluate the wheel (cont…) Events Mouse occasions Trapped by SGT Object choice Object move/drag operations Zoom rectangle taking care of Passed on by SGT All others… SGT inward occasions (not so much occasions!) Add/uproot SGT parts Modify segment appearance (eg. Mark, hub) Property change occasions When a property changes esteem (eg. LineAttribute ) When a quality changes in an information item When the scope of an information article changes NVODS/DODS Technical Workshop

Slide 15

Design Patterns Strategy. Characterize a group of calculations, exemplify every one, and make them tradable. Change , TimeAxisStyle , CartesianRenderer Proxy. Give a surrogate or placeholder to another item to control access to it. Sheet , JPane Abstract Factory. Give an interface to making groups of related or ward objects without indicating their solid classes. CartesianRenderer , GridCartesianRenderer , LineCartesianRenderer , VectorCartesianRenderer , PointCartesianRenderer NVODS/DODS Technical Workshop

Slide 16

More Design Patterns Interface. Keep a class that uses information and administrations gave by occurrences of different classes free of those classes by having it get to those examples through an interface. SGTData , SGTGrid , SGTLine , and so forth IndexedColor , TransformColor , TransformAccess LayerChild , Moveable , Selectable , Draggable Faã§ade. Give a brought together interface to an arrangement of interfaces in a subsystem. JPlotLayout NVODS/DODS Technical Workshop

Slide 17

Outline Demos and Examples Technical Issues Design logic & Goals Using standard Java figures of speech Design Patterns Architecture Real world applications utilizing SGT NVODS/DODS Technical Workshop

Slide 18

Core Architecture Three direction frameworks Device – most reduced level in pixels Physical – lower-left root User – client characterized Three primary segments Pane/JPane – broadens Container/JLayeredPane Layer – physical units, used to fabricate plot Graph – client units, tomahawks, renders information (in a matter of seconds just CartesianGraph is executed) NVODS/DODS Technical Workshop

Slide 19

Core structure NVODS/DODS Technical Workshop

Slide 20

Layers Contain a solitary Graph object and numerous LayerChild objects. Numerous Layer s can be connected with a solitary Pane Layer s can share AxisTransform s by means of their CartesianGraph objects LayerChild items use physical directions NVODS/DODS Technical Workshop

Slide 21

Layer Children

Slide 22

Rendering information A CartesianGraph article totals: Zero or more X or Y tomahawks A renderer suitable for the information sort and characteristic (e.g., PointCartesianRenderer , LineCartesianRenderer , or GridCartesianRenderer ) One X AxisTransform One Y AxisTransform s give a client to physical direction change for space or time NVODS/DODS Technical Workshop

Slide 23

Graph and Renderers

Slide 24

Space and Time Axes SpaceAxis gives a visual scale to the spatial client to physical direction change TimeAxis makes a visual scale for the GeoDate to physical direction change TimeAxis has a few “styles” that can be utilized relying upon the fleeting compass Minute Hour Day Month Year-Decade NVODS/DODS Technical Workshop

Slide 25

Axes and AxisStyles

Slide 26

Sgt Data Model Data model needs to Support X-Y, shape, raster, vector, and point plots Be conservative and “light-weight” Throw occasions to advise utilizations of information and/or extent changes. Finished the above by Supporting “plottable” objects One-and two-dimensional clusters Coordinate data Units and titles Data model executed utilizing java interfaces NVODS/DODS Technical Workshop

Slide 27

Sgt Data Model

Slide 28

Mouse Events Mouse occasions are pre-prepared by Pane Events went to the client are Object choice Zoom rectangle chose PropertyChangeEvents tossed are objectSelected zoomRectangle Events handled by sgt are Object move Object drag NVODS/DODS Technical Workshop

Slide 29

Outline Demos and Examples Technical Issues Design theory & Goals Using standard Java figures of speech Design Patterns Architecture Real world applications utilizing SGT NVODS/DODS Technical Workshop

Slide 30

ncBrowse was produced to peruse netCDF records. Utilizes JPlotLayout which gives: Zoom LayerChild choice http://www.epic.noaa.gov/java/ncBrowse NVODS/DODS Technical Workshop

Slide 31

Climate Data Portal Client created to plot information from conveyed information servers. Information from different servers can be joined on a solitary plot. Utilizes JPlotLayout Line Plots Area Plots http://www.epic.noaa.gov/cdp/NVODS/DODS Technical Workshop

Slide 32

OceanShare gives Collaborative workplace Local and system access of information sets Access to Habanero instruments (whiteboard, visit, and so on.) Implemented utilizing LineProfileLayout Line style (highlight, imprint, or strong) Line shading Interactive zoom UserIcon and ValueIcon (executes LayerChild interface) http://www.epic.noaa.gov/collab/NVODS/DODS Technical Workshop

Slide 33

What next? Complete GridAttributeDialog . (empowers GridAttribute , shape, and ColorMap altering.) Next variant (2.2) will utilize Java2D to give local backing of physical to gadget coordinate change Remove expostulated classes and drop jdk1.1 support NVODS/DODS Technical Workshop

Slide 34

Real World Applications utilizi

Recommended
View more...