Presentation is loading. Please wait.

Presentation is loading. Please wait.

NASA World Wind Java SDK 3D Earth in Your Applications and Web Pages

Similar presentations


Presentation on theme: "NASA World Wind Java SDK 3D Earth in Your Applications and Web Pages"— Presentation transcript:

1 NASA World Wind Java SDK 3D Earth in Your Applications and Web Pages
Tom Gaskins, NWW Technical Manager Rick Brownrigg, NWW Software Engineer ID#, TS-5523 Hi. Thanks for coming to hear about NASA World Wind. Tom is Technical Manager of the NASA World Wind Project Rick is senior engineer, responsible or server-side software currently. Ask for show of hands of those who: Have used or are using WWJ Know more about WWJ then what is in the program Are here because they couldn’t get into the session they really wanted

2 Learn how NASA World Wind makes building 3D-Earth applications easy and flexible.
To show you to put 3D Earth into your own applications What World Wind is currently capable of Agenda on next slide

3 Agenda What WWJ is and is not Unique WWJ Examples
WWJ’s Features and purpose WWJ’s Architecture Build a WWJ Application Deploy a WWJ Applet Where to get WWJ and help There’s a difference between WWJ and the current crop of Earth browsers. I’ll make that clear. Will show some examples that would be hard to do without WWJ. Introduce WWJ’s major features. Describe the architecture, which is something you need to understand to use WWJ, but is simple. Show how to build a WWJ application and a WWJ applet. Show how to deploy it with Java Web Start or in a web browser. Where to find more information and help.

4 WWJ: What It Is, and Is Not
Solves the Geo-browser problem Makes app the master instead of a servant WWJ is a Component A plug-in providing an Earth context for applications Does the hard stuff Terrain generation from real, remote data at high frequency Image display and selection from terabytes of remote imagery Rapid management of data retrieval from distributed sources Getting it all to show up when and where it’s supposed to In a component as simple to use as a Jbutton Viewing and picking Cross-platform and Open-source WWJ Is Not an Application Earth browsing is mostly done today in a few well-known stand-alone applications, in particular, GE and MS Virtual Earth. That’s very constraining and tremendously limits their usefulness. The original NASA World Wind provided a plug-in capability, which helped a lot, but it is still someone else’s application. We decided to flip things around, and create WWJ plug-in. Instead of plugging your logic into someone else’s program, you plug the world into your own application. WWJ provides applications with an interactive 3D Earth context. It takes care of the hard problems: - Terrain generation - Surface imagery - Getting the right information from the server when it’s needed - All the tricks necessary to make all this happen very quickly - Viewing and selection - The data and the servers to provide it And you get all this in a component as simple to plug in as a Jbutton. That’s free and open-source. Big Point: WWJ is not an application. It’s intended to be a piece of many applications. What kind of applications? … next slide…

5 Find World Wind Java These kinds. Point to each and say what it is
All these applications are using WWJ. Some of them are applets. They include appliclations for Simulation Analysis Organization Fun Most of them could not be done without WWJ There are many more WWJ applications than these, some we know about and some we know we’re not supposed to know about.

6 Applications Multi-Frame Single Frame
You can use WWJ in just about any configuration you want. In the upper right is a program that animates time-series data visualization. It uses three separate frames. At bottom left is a command and controll applications that manages worldwide sensors It uses a single frame. Notice the cute coordinate selector on the status bar. Single Frame

7 WWJ Is Only a Piece If there is one thing I want you to take away from this session, it’s that WWJ is a component. In all these applications It’s just a slave, a supporter of the application’s real mission. The red boxes identify WWJ. The rest is implemented by the application.

8 High Precision It’s not just pretty pictures either. People are doing serious stuff with WWJ and expect a professional product. I don’t know what this application is doing, but it certainly looks serious. This is the app’s own imagery, by the way. Not something that WWJ provides.

9 Eclipse RCP Early on we decided that we’d be as platform neutral as possible. A particular consideration was being able to fit into application frameworks. Here you see WWJ as a component in an Eclipse Rich Client Platform application. People are using WWJ in Swing apps and in Eclipse SWT apps.

10 Applets Another early goal was that we produce a tool that can run in a web-browser application. Here you see two applets that I’ll demonstrate later. Both are applets with a WWJ window and driven by Javascript. We have begun implementing a Javascript interface to WWJ.

11 World Wind Live Applications
Applets PNW Peak Tour Knowledge Planet World Hopper Search and Rescue Flat World LandPrint.comTM Open-source Apps Enough pictures. I’m going to run some applications and then some applets. I’ve just pointed my web browser to the WWJ demo site There are over 20 demos there, including applets and third-party applications I’m going to show you just a few Search and Rescue was commissioned by a group at NASA that helps determine where to look for planes gone down. Terrain profiler Track adjuster Simulation -- Fly-it and Examine Annotations Clipping adjuster Flat World Scientists with global data often find 3D globes cumbersome. They can’t see everything at once. So we enabled WWJ to show a flat Earth Yet even though it’s flat, the terrain is still available And it can display any projection the app wants Including ones it codes itself LandPrint.com LandPrint.com is one of the first commercial apps enabled by WWJ It combines WWJ’s terrain and imagery to create 3D prints of arbitrary areas You can now create and customize a 3D print of anywhere on the globe, and soon the Moon and Mars You can add GPS tracks and soon your own imagery Now for some Applets PNW Peak Tour The first WWJ applet we made Presents an interactive tour of the Cascade Range This is the kind of thing we initially dreamed about World Hopper This applet further demonstrate WWJ interaction driven by Javascript It will let you cruise the world -- or other planets -- and capture favorite places to return to Uses cookies and plain Javascript. No Ajax, so you can imagine what’s possible with that. Knowledge Planet Thankfully there are increasing numbers of people working to inform and retard global warming Knowledge Planet’s goal is to identify the Earth’s entire collection of pertinent information This slide is a topographic map of information availability by geographic location

12 WWJ Architecture and Operation
Application Configuration (Global) Scene Controller View Frame Controller Canvas Window Environment (Swing, SWT, etc.) Globe Tessellator Layer Model WorldWindow Cache Web Notifier (Global) Now I’d like to show you what it looks like inside the client. Let me first say that every component you see, and many of those you don’t, are fully replaceable by the application. A fundamental requirement of WWJ is that portions can be subclassed or replaced to satisfy specific app purposes. From the application’s point of view, it all starts with a WorldWindow, which encapsulates the WWJ component and its canvas Think of a WorldWindow as you would a drawing canvas, or a Swing text pane It’s a single component with a lot of built-in functionality The other main objects the app works with are: Globe, which represents the planet’s geometry, including elevations Layers, which determine what gets seen -- what gets drawn on the geometry Examples are surface imagery, placenames, icons, tracks, lines, polygons The typical application creates a window, defines the layers it wants presented, then just lets it all happen. It can listen for events from WWJ that tell it when something was picked or some other useful event occurred. Other objects exposed but not requiring application intervention are: View, maps user actions into viewing changes SceneController, weaves the globe, layers and view together and manages the drawing Configuration, holds the zillion parameters that control which layers are initially created, terrain precision, etc. Objects not normally addressed directly by the application: RetrievalService (not shown), manages all data retrieval from servers Tessellator, computes the globe geometry, can be done several ways

13 WWJ Layer Architecture
Renderer Storage Manager Retriever Web Cache A layer has three parts: Code to draw whatever it contains Code to manage its retrieval from local disk Code to manage retrieval from the network Most layers cache locally what they’ve retrieved from the network

14 Data and Processing Infrastructure
Up to now I’ve talked about the WWJ client. But over half the story takes place on the other side of the wire. WWJ is served from NASA Ames Research Center, just down the peninsula. Mention Sun’s new support of us on network.com Introduce Rick to talk about the server-side A Randy Kim Graphic

15 Geospatial Data: challenges
Myriad of formats: .gtiff, .shp, .dem,… Differing scales/resolutions/accuracies. Differing cartographic projections: UTM, lambert conformal, state-plane,… HUGE DATASETS: gigabytes, terabytes,… Need to display within interactive-time constraints. Need to display at multiple resolutions. Geographical data is a pain: Different formats (some quite arcane) GDAL supports in varying degrees over 50 formats Different scales and accuracies Different cartographic projections – quite often poorly determined! LARGE Punch line is: Lots of cartographic and geospatial expertise is required of an application if it is required to manipulate these data itself

16 Geospatial data management in WWJ
Web Mapping Server (WMS): Open standard (Open GIS Consortium). Server hides and embodies esoteric knowledge of formats, projections, multiple scales, etc. HTTP protocol, easy to implement on client-side. Provides data abstraction to clients: maps that are seamless, of arbitrary scales and extents, composed from multiple data sources. free of artificial server-side constraints. An open standard, widely adopted, with open-source and commercial offerings.

17 WMS Challenges: an Example
One meter resolution, 25,000 x 25,000  2GBs! Approx. 50 x 50 Km = 2,500 Km2 Viewed at global scales, this image will have a footprint of just a few pixels Imagine data requirements at global scale Earth’s surface ~ 510 million Km2 400 TB And that’s One data set Expound to emphasize data management and data-magnitude issues…

18 WWJ WMS data management strategies
Image Pyramids: Pre-filter at multiple scales. Use nearest scale to satisfy client requests. One of several strategies employed in WWJ

19 WWJ WMS data management strategies
Wavelet techniques: Inherent multiscalar/resolution representation. Reconstruct to desired resolution on the fly. Another of several strategies employed in WWJ: - An advanced technique, has various benefits….

20 WWJ WMS Implementation:
Tailored for WWJ clients (but OGC-standards compliant). Open source. Lightweight, stand-alone Java application. Installer applications for importing supported geospatial data. Plug-in architecture for integrating new sources of data.

21 WWJ-WMS Data Flow: installers WMS client client web source data
Processed and organized (tiled) data and supporting structures: installers WMS data repository In general, data is introduced into WMS repository via an Installer program/process We provide several installers In certain cases, data may be imported straight into repository WMS http client client web

22 Current Capabilities 3D World Context 2-1/2 D World Context
Multiple and user projections Data retrieval, availability Geometry Tessellation Image Application Picking, Event notification Viewing and Animation JavaScript Interface Icons Text and Annotation Polylines and Polygons Terrain conforming Earth, Planets, Moon Data formats JPEG, PNG, TIFF, RPF,… .bil for elevations GPX, NMEA, CSV for GPS Here are the features currently available in WWJ Mention RPF infrastructure: An integrated system for pre-processing and displaying huge volumes of RPF imagery Client and Server

23 Code Examples Simple — Basic WWJ in application Applet + JavaScript Shape Dragging

24 Challenges 1. Graphics drivers 2. Graphics drivers 3. Graphics drivers
4. Showing what’s there when it’s not 5. Large data volumes displayed quickly 6. Getting the factoring and interfaces right 7. Keeping the servers running 8. Finding and installing data 9. Supporting users 10. Finding time to do it all Here’s what we consider our biggest challenges to be.

25 Where Do I Go? Code: worldwind.arc.nasa.gov/java
Demos: worldwind.arc.nasa.gov/java/demos Forums forum.worldwindcentral.com/forumdisplay.php?f=37 Bug tracker: issues.worldwind.arc.nasa.gov

26 Tom Gaskins, Rick Brownrigg
NASA World Wind Tom Gaskins, Rick Brownrigg ID#, TS-5523


Download ppt "NASA World Wind Java SDK 3D Earth in Your Applications and Web Pages"

Similar presentations


Ads by Google