SlideShare a Scribd company logo
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License




              NASA World Wind for Java
                   API Overview
                                         Fabrizio Giudici



Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
In a few words...
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   3D API for rendering the Earth
          –   ... but also other planets
     ●   Default data from NASA
          –   You can feed other data providers
          –   Beware of terms of use
     ●   You can add your own objects




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Some basic facts
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Based on JOGL (OpenGL bindings for Java)
          –   Fast!
          –   Fast Video Card required
          –   But beware of drivers (especially in Linux)
          –   Native library required
     ●   You don't need to learn JOGL




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Basic classes
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Configuration
          –   How to set up things
     ●   WorldWindowGLCanvas
          –   The components that renders the scene
     ●   Model
          –   What we are going to render




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Basic classes
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Layer(s)
          –   Stacked sets of rendered objects
     ●   View, OrbitView
          –   The coordinates and other attributes of the view
              point
     ●   SceneController
          –   The controller



Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Standard Layers
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Stars                                             ●    USGSUrbanAreaOrtho
     ●   Fog                                               ●    CountryBoundaries
     ●   SkyGradient                                       ●    EarthNASAPlaceName
     ●   BMNGSurface                                       ●    ScaleBar
     ●   LandsatI3                                         ●    WorldMap
     ●   USGSDigitalOrtho                                  ●    Compass



Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
The demos
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

     ●   ViewIteration                                       ●   SurfaceImages
     ●   GlobalGridAboveSurface                              ●   TexturedSurfaceShape
     ●   Shapes                                              ●   Tracks
     ●   DraggingShapes                                      ●   AnaglyphStereo




                    run-demo.bash demo_name

Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
ViewIteration
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Goes to a specific location applying a smooth
         transition
     ●   OrbitView
     ●   ScheduledOrbitViewStateIterator




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
GlobalGridAboveSurface
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Draws a grid over the surface
     ●   RenderableLayer
     ●   PolyLine
          –   color
          –   numSegments
          –   followTerrain




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Shapes
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Sticks and renders many different shapes at
         given coordinates
     ●   RenderableLayer
          –   SurfaceSector, SurfaceEllipse,
              SurfaceSquare, SurfaceCircle,
              SurfaceQuad, Quadrilateral,
              SurfacePolygon, PolyLine
     ●   IconLayer
                ●   WWIcon, UserFacingIcon

Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
DraggingShapes
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Surface shapes can be selected and dragged
     ●   SelectListener
          –   SelectEvent.HOVER
          –   SelectEvent.ROLLOVER
          –   SelectEvent.DRAG
          –   SelectEvent.DRAG_END




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
SurfaceImages
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Paints a given image over the surface
     ●   RenderableLayer
          –   SurfaceImage




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
TexturedSurfaceShape
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Paints a shape with a given texture over the
         surface
     ●   RenderableLayer
          –   SurfaceSector
          –   TexturePaint




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Tracks
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Renders a track with waypoints
     ●   TrackMarkerLayer
          –   Track




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Anaglyph Stereo
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   Renders a 3D view that can be viewer with 3D
         glasses
     ●   Configuration
     ●   AnaglyphSceneController
          –   setDisplayMode(...)
          –   setFocusAngle(...)




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
Contacts & Links
                                                         Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


     ●   http://worldwind.arc.nasa.gov/java
     ●   http://bluemarine.tidalwave.it
     ●   http://forceten.tidalwave.it (soon)

     ●   http://weblogs.java.net/blog/fabriziogiudici
     ●   http://www.tidalwave.it/people




Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007

More Related Content

PDF
Web Development with Apache Struts 2
PPT
Ajax ons2
PPTX
Peace Project
PDF
Pommiheitmisest
PPT
Struts2 course chapter 1: Evolution of Web Applications
PDF
Modern Web Applications with Struts 2
PPTX
Apache Struts 2 Framework
KEY
Building Android apps with Maven
Web Development with Apache Struts 2
Ajax ons2
Peace Project
Pommiheitmisest
Struts2 course chapter 1: Evolution of Web Applications
Modern Web Applications with Struts 2
Apache Struts 2 Framework
Building Android apps with Maven

More from Fabrizio Giudici (15)

PDF
DCI - Data, Context and Interaction @ Jug Lugano May 2011
PDF
DCI - Data, Context and Interaction @ Jug Genova April 2011
KEY
NOSQL also means RDF stores: an Android case study
PDF
Netbeans+platform+maven
PDF
Tools for an effective software factory
PDF
Parallel Computing Scenarios and the new challenges for the Software Architect
PDF
blueMarine a desktop app for the open source photographic workflow
PDF
blueMarine photographic workflow with Java
PDF
blueMarine Sailing with NetBeans Platform
PDF
Rich Internet Applications con JavaFX e NetBeans
PDF
The VRC Project
PDF
blueMarine Or Why You Should Really Ship Swing Applications
PDF
Designing a JavaFX Mobile application
KEY
Android java fx-jme@jug-lugano
KEY
Mercurial
DCI - Data, Context and Interaction @ Jug Lugano May 2011
DCI - Data, Context and Interaction @ Jug Genova April 2011
NOSQL also means RDF stores: an Android case study
Netbeans+platform+maven
Tools for an effective software factory
Parallel Computing Scenarios and the new challenges for the Software Architect
blueMarine a desktop app for the open source photographic workflow
blueMarine photographic workflow with Java
blueMarine Sailing with NetBeans Platform
Rich Internet Applications con JavaFX e NetBeans
The VRC Project
blueMarine Or Why You Should Really Ship Swing Applications
Designing a JavaFX Mobile application
Android java fx-jme@jug-lugano
Mercurial
Ad

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Touch Screen Technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Tartificialntelligence_presentation.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Getting Started with Data Integration: FME Form 101
Heart disease approach using modified random forest and particle swarm optimi...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Touch Screen Technology
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
TLE Review Electricity (Electricity).pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 5: Probability Theory and Statistics
Mushroom cultivation and it's methods.pdf
Group 1 Presentation -Planning and Decision Making .pptx
MIND Revenue Release Quarter 2 2025 Press Release
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A Presentation on Artificial Intelligence
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Tartificialntelligence_presentation.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Web App vs Mobile App What Should You Build First.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Ad

NASA World Wind for Java API Overview

  • 1. Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License NASA World Wind for Java API Overview Fabrizio Giudici Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 2. In a few words... Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● 3D API for rendering the Earth – ... but also other planets ● Default data from NASA – You can feed other data providers – Beware of terms of use ● You can add your own objects Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 3. Some basic facts Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Based on JOGL (OpenGL bindings for Java) – Fast! – Fast Video Card required – But beware of drivers (especially in Linux) – Native library required ● You don't need to learn JOGL Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 4. Basic classes Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Configuration – How to set up things ● WorldWindowGLCanvas – The components that renders the scene ● Model – What we are going to render Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 5. Basic classes Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Layer(s) – Stacked sets of rendered objects ● View, OrbitView – The coordinates and other attributes of the view point ● SceneController – The controller Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 6. Standard Layers Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Stars ● USGSUrbanAreaOrtho ● Fog ● CountryBoundaries ● SkyGradient ● EarthNASAPlaceName ● BMNGSurface ● ScaleBar ● LandsatI3 ● WorldMap ● USGSDigitalOrtho ● Compass Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 7. The demos Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● ViewIteration ● SurfaceImages ● GlobalGridAboveSurface ● TexturedSurfaceShape ● Shapes ● Tracks ● DraggingShapes ● AnaglyphStereo run-demo.bash demo_name Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 8. ViewIteration Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Goes to a specific location applying a smooth transition ● OrbitView ● ScheduledOrbitViewStateIterator Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 9. GlobalGridAboveSurface Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Draws a grid over the surface ● RenderableLayer ● PolyLine – color – numSegments – followTerrain Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 10. Shapes Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Sticks and renders many different shapes at given coordinates ● RenderableLayer – SurfaceSector, SurfaceEllipse, SurfaceSquare, SurfaceCircle, SurfaceQuad, Quadrilateral, SurfacePolygon, PolyLine ● IconLayer ● WWIcon, UserFacingIcon Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 11. DraggingShapes Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Surface shapes can be selected and dragged ● SelectListener – SelectEvent.HOVER – SelectEvent.ROLLOVER – SelectEvent.DRAG – SelectEvent.DRAG_END Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 12. SurfaceImages Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Paints a given image over the surface ● RenderableLayer – SurfaceImage Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 13. TexturedSurfaceShape Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Paints a shape with a given texture over the surface ● RenderableLayer – SurfaceSector – TexturePaint Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 14. Tracks Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Renders a track with waypoints ● TrackMarkerLayer – Track Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 15. Anaglyph Stereo Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Renders a 3D view that can be viewer with 3D glasses ● Configuration ● AnaglyphSceneController – setDisplayMode(...) – setFocusAngle(...) Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007
  • 16. Contacts & Links Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● http://worldwind.arc.nasa.gov/java ● http://bluemarine.tidalwave.it ● http://forceten.tidalwave.it (soon) ● http://weblogs.java.net/blog/fabriziogiudici ● http://www.tidalwave.it/people Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano Javaday Roma - 01/12/2007