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

Slides:



Advertisements
Similar presentations
NASA World Wind Contribution to GEOSS Client Applications Session Nadine Alameh, Ph.D. MobiLaps LLC September 26th, 2008.
Advertisements

The Next Generation Network Enabled Weather (NNEW) SWIM Application Asia/Pacific AMHS/SWIM Workshop Chaing Mai, Thailand March 5-7, 2012 Tom McParland,
REST Introduction 吴海生 博克软件(杭州)有限公司.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Designing and Using.
Development of Java plug-in for Geoserver to read Oracle GeoRaster Data Authors Baskar Dhanapal CoreLogic Bangalore, India Perumal Chinnuswamy CoreLogic.
Flood Map Library MD. M. HAQUE DWR-HYDROLOGY. Building a Flood Map Library Indexing existing flood maps and geospatial data for search and retrieval Separate.
Planned Title: Review of Evaluation of Geospatial Search Allan Doyle.
Agenda What is BIRT? BIRT Features and Report Gallery Scripting BIRT
Exploring large marine datasets using an interactive website and Google Earth Jon Blower, Dan Bretherton, Keith Haines, Chunlei Liu, Adit Santokhee Reading.
Gunnar Misund1 REAL TIME MANAGEMENT OF MASSIVE 2D DATASETS Gunnar Misund.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
WebGIS. Web & GIS ….WebGIS Access without purchasing proprietary software Data directly from producer Emerging new market.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Client/Server Architectures
Android Introduction Platform Overview.
January 25, th APAN Meeting in Bangkok 1 Development of NOAA and Landsat Image Server using Web Map Service Mr. Sarawut Ninsawat and Dr. Kiyoshi.
Indianapolis GIS Service-Oriented Architecture
Introduction to Open Source GIS, GeoTec 2005
GIS technologies and Web Mapping Services
Introduction to ArcGIS API for JavaScript
Russ Dengel and Dave Parker 27 th Satellites and Education Conference July 31, 2014.
Lecture 3: Geospatial Web Services From Web sites to Web services Geospatial Web service functions Web service types Interoperability and geospatial service.
AIRNow-International The future of the United States real-time air quality reporting and forecasting program and GEOSS participation John E. White U.S.
Open Web App. Purpose To explain Open Web Apps To explain Open Web Apps To demonstrate some opportunities for a small business with this technology To.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
, Implementing GIS for Expanded Data Accessibility and Discoverability ASDC Introduction The Atmospheric Science Data Center (ASDC) at NASA Langley Research.
Campus Tour COMP 523 Final Presentation Justin, Paul, Florian.
Open Source Web Mapping Server Products (Spatially-enabled Internet applications)‏ Rex Thaxton & Jerry Workman Mountain CAD Corporation 339 Sixth Ave.
Fundamentals of Database Chapter 7 Database Technologies.
NATIONAL INSTITUTE OF SCIENCE & TECHNOLOGY Presented by: Santosh kumar Swain Technical Seminar Presentation by SANTOSH KUMAR SWAIN Roll # CS
An Introduction To Building An Open Standard Web Map Application Joe Daigneau Pennsylvania State University.
9. Introduction to ArcObjects Most GIS analysis carried out within a GIS consists of a labor- intensive sequence of steps. Automating a GIS makes it possible.
Global Land Cover Facility The Global Land Cover Facility (GLCF) is a member of the Earth Science Information Partnership (ESIP) Federation providing data,
Web mapping interoperability in practice, a Java approach guided by the OpenGis Web Map Server Interface Specification Pedro Fernández, R. Béjar, M.A.
NOAA Earth Information System (NEIS) UAS Workshop September 25 th, 2012 Jebb Q Stewart CIRA in collaboration with NOAA/OAR/ESRL/GSD.
The 2000 Decennial Census School District Project: Using Census Data for the School District Mapping System **** Development and Implementation Tai A.
Best Practices for Designing Effective Map Services Tanu Hoque.
Campus Tour COMP 523 Midterm Presentation Justin, Paul, Florian.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Providing Interoperability.
Extension to Geoserver for reading ESRI Mapcaches Pär Jonsson Project manager Lantmäteriet, Sweden Mauritz Bomark System architect Lantmäteriet,
“OnEarth” WMS Server WMS Global Mosaic Lucian Plesea Jet Propulsion Laboratory California Institute of Technology.
MapTube and Streaming Google Earth – Sharing Data via Anonymous Servers Richard Milton and Andrew Hudson-Smith CASA, UCL UCL CENTRE FOR ADVANCED SPATIAL.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
2007 JavaOne SM Conference | Session XXXX | 1 DEMO NASA World Wind Java F-16 Flight Simulator.
Geospatial Interoperability Jeff de La Beaujardière, PhD NASA Geospatial Interoperability Office.
GEON2 and OpenEarth Framework (OEF) Bradley Wallet School of Geology and Geophysics, University of Oklahoma
RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan.
GIS in the cloud: implementing a Web Map Service on Google App Engine Jon Blower Reading e-Science Centre University of Reading United Kingdom
Dean Anderson Polk County, Oregon GIS in Action 2014 Modifying Open Source Software (A Case Study)
Strictly Business Using “StrictlyFused” to Create an Extensible Knowledge Portal.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Predicting popular areas of a tiled Web map as a strategy for server-side caching Sterling Quinn.
How to Set Up a System for Teaching Files, Conferences, and Clinical Trials Medical Imaging Resource Center.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
VERI is an interface that provides a Web based front end to the access the datasets generated by the MVED. The goal is to Provide open access to the Don.
©2010 AIR WORLDWIDE 1 Using ArcGIS Server Web Map Services in Web Map Mash-Ups Benjamin Spaulding, Ph.D. AIR Worldwide Esri Boston Dev Meet-Up 12/8/2010.
ORNL DAAC SPATIAL DATA ACCESS TOOL Open Geospatial Consortium (OGC) Services Bruce E. Wilson Suresh K. Santhana Vannan Yaxing Wei Tammy W. Beaty National.
U.S. Geological Survey Geospatial Preparedness PIXIA Prototype for Rapid Dissemination of Imagery for Hurricane Response.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Overview Presentation December 2007 MKT-NVO-P-002E.
Flood Map Library MD. M. HAQUE DWR-HYDROLOGY. Building a Flood Map Library Indexing existing flood maps and geospatial data for search and retrieval Separate.
X3D Technology Approach for Developing 3D Web-GIS System
ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN
Presentation transcript:

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

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

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.

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…

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.

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

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.

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.

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.

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.

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

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

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

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

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

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.

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…

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

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….

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.

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

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

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

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.

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

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