1 / 20

Advanced Weather Interactive Processing System II (AWIPS II)

AWIPS Development Environment (ADE) and the Common AWIPS Visualization Environment (CAVE) Module 7: CAVE-User Interface Wrap-Up. Advanced Weather Interactive Processing System II (AWIPS II). Module 7: CAVE-User Interface. Module 7 Objectives CAVE Baseline orientation

wang-avery
Download Presentation

Advanced Weather Interactive Processing System II (AWIPS II)

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AWIPS Development Environment (ADE)and theCommon AWIPS Visualization Environment(CAVE) Module 7: CAVE-User Interface Wrap-Up Advanced Weather Interactive Processing System II(AWIPS II)

  2. Module 7: CAVE-User Interface Module 7 Objectives • CAVE Baseline orientation • Add Functionality by Modifying plugin.xml • Add a New Menu Item and Custom Resource

  3. Baseline Orientation • Presently 5 Plug-Ins in CAVE, Each With Its Own Project in Eclipse and Each Built Independently (Although Some Plug-ins Depend on Others) • Cave Plug-ins • Core plug-in – Provides Rendering and Infrastructure • Libs plug-in – Provides Open Source Libraries (No Source Code) • User interface plug-in – Provides User Interface Elements • Drawing & Collaboration CAVE plug-in – Provides Drawing and Collaboration Support • Hydro plug-in – Contains Hydro and Skew-T support

  4. Core Packages Catalog Client Support Client Communications Subscription Support Base Drawing objects GL Drawing objects XY Graphing Imagery Utilities Map Descriptor Plot Data Preference Panes Base Resources Animation Support D2D BCD Support Resource Capabilities GeoTIFF Rendering JTS Rendering Shapefile Rendering SVG Rendering Tiled Rendering

  5. Libs CAVE Plug-In • Libraries That CAVE Depends On • Common : The EDEX common library • Batik : SVG tools, primarily SVG to raster • Ehcache : Event driven cache framework • JiBX : Fast Object to XML serialization • JOGL : OpenGL API in Java • JTS : GIS analysis /geometry library used with GeoTools • ActiveMQ : JMS API • Mule : Enterprise Service Bus and Container, Using Mule Client • Commons-* : General-purpose Apache projects • gt2-* : GeoTools GIS libraries

  6. User Interface CAVE Plug-In Menu/Button Actions Legend Contextual Menu Dialogs Editors Eclipse Jobs Maps Mouse Management UI Perspectives Scripting Tools: Toolbar Items Tools: GIS Toolbar Items Tools: GIS Analysis Toolbar Items Tools: Loop Controls Tools: Navigation Controls UI Views Wizards

  7. Eclipse Plug-In XML Look at a piece of plugin.xml (from core): This extension registers the Shapefile type to the ShapefileResource (and the .shp file extension). <extension point="com.raytheon.viz.core.resource"> <resource class="com.raytheon.viz.core.rsc.shp.ShapefileResource" factoryClass="com.raytheon.viz.core.rsc.shp.ShapefileFactoryAdapter" name="ShapefileResource"> <fileType fileExtension="shp" name="Shapefile"/> </resource> </extension>

  8. Eclipse Plug-In XML (Cont’d) Another example from Drawing's plugin.xml: This code adds the Weather Symbol tool to the toolbar as the Thunderstorm tool. Note the “:17” at the end. This corresponds to the 17.svg in basemaps. <action class="com.raytheon.viz.drawing.WeatherSymbolTool" icon="icons/thunderstorm.gif" id="com.raytheon.viz.drawing.WeatherSymbolTool:17" label="Thunderstorm" state="false" style="radio" toolbarPath="drawing/g1" tooltip="Thunderstorm"/>

  9. BREAK

  10. Plug-In XML • Exercise: Add an entry to plugin xml to add another symbol. • Modify plugin.xml by adding another <action> block (copy the thunderstorm block). • Point to testSymbol.svg and testSymbol.gif instead of 17.svg and 17.gif. • Give it a meaningful label and tooltip.

  11. Creating a Custom Imaging Resource • Based on some of the capabilities we've experimented with in CAVE, we'll add a new item to the “Add Layer” menu containing our GeoTIFF resource, with custom brightness and contrast settings.

  12. Creating a Custom Imaging Resource (Cont’d) • Exercise: • In Eclipse, open: com.raytheon.viz.ui/com.raytheon.viz.ui.AddLayerAction.java • Create a new class before “SRTMLayer”: publicstaticclass MyGeoTIFFLayer extends AddLayerAction { public String getText() { return"My GeoTIFF Layer"; } protectedvoid createLayer() throws VizException { try { GeoTiffResource myGeotiff = new GeoTiffResource(new File(PATH + "/test.tif")); theDescriptor.add(myGeotiff); myGeotiff.init(theTarget); myGeotiff.setBrightness(0.8f); myGeotiff.setContrast(1.3f); } catch (IOException e) { e.printStackTrace(); } }

  13. Creating a Custom Imaging Resource (Cont’d) • Exercise (Continued): • In Eclipse, open: com.raytheon.viz.ui/com.raytheon.viz.ui.LayerMenu.java • Near the end of the file, after the two lines regarding RasterTest, add: • Verify that your resource shows up in the “Add Layer” menu in the Other Data section sub-menu. action = new AddLayerAction.MyGeoTIFFLayer(); theOtherDataActions.add(action);

  14. References • Eclipse • Eclipse RCP home page • http://eclipse.org/rcp • http://eclipse.org/community/rcp.html • News://news.eclipse.org/eclipse.platform.rcp • Books on Eclipse • Eclipse Rich Client Platform by Jeff McAffer • SWT: The Standard Widget Toolkit, Vol 1 by Northover

  15. BREAK

  16. Wrap-Up: ADE and CAVE Training • TO5 Preview • Large-scale clustering • HDF5 data persistence • PostgreSQL metadata repository • Radar all-tilts • Questions? • What do you want to know more about? • How can we make this better for next time?

  17. Additional Information • Books • Patterns of Enterprise Application Architecture: Fowler • Enterprise Integration: Patterns Hohpe • Lucene in Action: Gospodnetic • Hibernate in Action: Bauer • Enterprise Service Bus: Chappell {Sonic ESB slant} • SVG for Web Designers: Jason… • SVG Essentials: Eisenberg • Spring in Action: Walls • Lighter, Faster, Java by Spring inventor • Eclipse (extending and writing plug-ins …) • Xdoclet in Action: Walls • ANT – developers handbook • Junit in Action: Massol • Java 2D Graphics: Knudsen

  18. Additional Information • Links: • Mule ESB + SPRING: http://mule.codehaus.org/ • Subversion CM: http://subversion.tigris.org • ECLIPSE IDE framework & plug-ins: http://www.eclipse.org • ActiveMQ JMS broker: http://www.activemq.org • Cloudscape embedded RDBMS: http://db.apache.org/derby • POSTGRE RDBMS: http://www.postgresql.org • JBossCache: http://www.jboss.org/products/jbosscache • RHINO JS scripting: http://www.mozilla.org/rhino • Reverse Indexing: http://lucene.apache.org/java/docs • Common_digester for XML configuration and scripting: http://jakarta.apache.org/commons/digester • MINA: http://directory.apache.org/subprojects/network/index.html • Batik SVG tools: http://xml.apache.org/batik • Hibernate relational to object mapping: http://www.hibernate.org

  19. Additional Information • Wx Related Projects: • Unidata NetCDF • VisAD • IDV • OpenGIS/GeoTools

  20. Name E-Mail Phone Number Frank Griffith Frank_P_Griffith@raytheon.com 402.293.2941 Chris Hammack Christopher_N_Hammack@raytheon.com 402.293.2948 Greg Armendariz Gregory_Armendariz@raytheon.com 402.293.2944 Mark Fegan Mark_W_Fegan@raytheon.com 402.293.2916 Bryan Rockwood Bryan_J_Rockwood@raytheon.com 402.293.2940 Scott Nicholson Scott_W_Nicholson@raytheon.com 402.293.2934 NWS POC NWS POC NWS POC Contact Information

More Related