Top Banner
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
26

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.

Dec 26, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 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.

NASA World Wind Java SDK3D Earth in Your Applications and Web Pages

Tom Gaskins, NWW Technical Manager

Rick Brownrigg, NWW Software Engineer

ID#, TS-5523

Page 2: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 2

Learn how NASA World Wind makes building 3D-Earth applications easy and flexible.

Page 3: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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

Page 4: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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-sourceWWJ Is Not an Application

Page 5: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 5

Find World Wind Java

Page 6: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 6

Applications

Multi-Frame

Single Frame

Page 7: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 7

WWJ Is Only a Piece

Page 8: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 8

High Precision

Page 9: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 9

Eclipse RCP

Page 10: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 10

Applets

Page 11: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 11

World Wind Live

Applications Applets

Search and Rescue

Flat World

LandPrint.comTM

Open-source Apps

PNW Peak Tour

Knowledge Planet

World Hopper

Page 12: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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)

Page 13: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 13

WWJ Layer Architecture

Layer

RendererStorageManager

Retriever Web

Cache

Page 14: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 14

Data and Processing Infrastructure

A Randy Kim Graphic

Page 15: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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.

Page 16: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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.

Page 17: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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

Page 18: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 18

WWJ WMS data management strategies

Image Pyramids: - Pre-filter at multiple scales.- Use nearest scale to satisfy client requests.

Page 19: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 19

WWJ WMS data management strategies

Wavelet techniques:- Inherent multiscalar/resolution

representation.- Reconstruct to desired resolution on the fly.

Page 20: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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.

Page 21: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 21

WWJ-WMS Data Flow:

WMS

installers

source dataProcessed and organized (tiled) data and supporting structures:

WMS data repository

client clientwebhttp

Page 22: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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

Page 23: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 23

Code Examples

Simple — Basic WWJ in applicationApplet + JavaScriptShape Dragging

Page 24: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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

Page 25: 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.

2008 JavaOneSM Conference | java.sun.com/javaone | 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

Page 26: 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.

NASA World WindTom Gaskins, Rick Brownrigg

ID#, TS-5523