SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de Fabrizio Giudici

NOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case studyNOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case study
Fabrizio Giudici
 
Tools for an effective software factory
Tools for an effective software factoryTools for an effective software factory
Tools for an effective software factory
Fabrizio Giudici
 
Parallel Computing Scenarios and the new challenges for the Software Architect
Parallel Computing Scenarios  and the new challenges for the Software ArchitectParallel Computing Scenarios  and the new challenges for the Software Architect
Parallel Computing Scenarios and the new challenges for the Software Architect
Fabrizio Giudici
 
blueMarine a desktop app for the open source photographic workflow
blueMarine  a desktop app for the open source photographic workflowblueMarine  a desktop app for the open source photographic workflow
blueMarine a desktop app for the open source photographic workflow
Fabrizio Giudici
 
blueMarine photographic workflow with Java
blueMarine photographic workflow with JavablueMarine photographic workflow with Java
blueMarine photographic workflow with Java
Fabrizio Giudici
 
blueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans PlatformblueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans Platform
Fabrizio Giudici
 
Rich Internet Applications con JavaFX e NetBeans
Rich Internet Applications  con JavaFX e NetBeans Rich Internet Applications  con JavaFX e NetBeans
Rich Internet Applications con JavaFX e NetBeans
Fabrizio Giudici
 
blueMarine Or Why You Should Really Ship Swing Applications
blueMarine  Or Why You Should Really Ship Swing  Applications blueMarine  Or Why You Should Really Ship Swing  Applications
blueMarine Or Why You Should Really Ship Swing Applications
Fabrizio Giudici
 
Designing a JavaFX Mobile application
Designing a JavaFX Mobile applicationDesigning a JavaFX Mobile application
Designing a JavaFX Mobile application
Fabrizio Giudici
 

Mais de Fabrizio Giudici (15)

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

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

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