# NASA WorldWind

NASA WorldWind is an open-source (released under the NOSA license and the Apache 2.0 license) virtual globe. According to the website, "WorldWind is an open source virtual globe API. WorldWind allows developers to quickly and easily create interactive visualizations of 3D globe, map and geographical information. Organizations around the world use WorldWind to monitor weather patterns, visualize cities and terrain, track vehicle movement, analyze geospatial data and educate humanity about the Earth." It was first developed by NASA in 2003 for use on personal computers and then further developed in concert with the open source community since 2004. As of 2017, a web-based version of WorldWind is available online. An Android version is also available.
The original version relied on .NET Framework, which ran only on Microsoft Windows. The more recent Java version, WorldWind Java, is cross platform, a software development kit (SDK) aimed at developers and, unlike the old .NET version, not a standalone virtual globe application in the style of Google Earth. The WorldWind Java version was awarded NASA Software of the Year in November 2009. The program overlays NASA and USGS satellite imagery, aerial photography, topographic maps, Keyhole Markup Language (KML) and Collada files.

## Overview

Though widely available since 2003, WorldWind was released with the NASA Open Source Agreement license in 2004. The latest Java-based version (2.1.0), was released in December 2016. As of 2015 a web based version of WorldWind is under development and available online. An Android version is also available.
The previous .NET-based version was an application with an extensive suite of plugins. Apart from the Earth there are several worlds: Moon, Mars, Venus, Jupiter (with the four Galilean moons of Io, Ganymede, Europa and Callisto) and SDSS (imagery of stars and galaxies).
Users could interact with the selected planet by rotating it, tilting the view, and zooming in and out. Five million place names, political boundaries, latitude/longitude lines, and other data can be displayed. WorldWind.NET provided the ability to browse maps and geospatial data on the internet using the OGC's WMS servers (version 1.4 also uses WFS for downloading place names), import ESRI shapefiles and kml/kmz files. This is an example of how WorldWind allows anyone to deliver their data.
Other features of WorldWind.NET included support for .X (DirectX 3D polygon mesh) models and advanced visual effects such as atmospheric scattering or sun shading.
The resolution inside the US is high enough to clearly discern individual buildings, houses, cars (USGS Digital Ortho layer) and even the shadows of people (metropolitan areas in USGS Urban Ortho layer). The resolution outside the US is at least 15 meters per pixel.
Microsoft has allowed WorldWind to incorporate Virtual Earth high resolution data for non-commercial use.
WorldWind uses digital elevation model (DEM) data collected by NASA's Shuttle Radar Topography Mission (SRTM), National Elevation Dataset (NED) and Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER). This means one can view topographic features such as the Grand Canyon or Mount Everest in three dimensions. In addition, WW has bathymetry data which allows users to see ocean features, such as trenches and ridges, in 3D.
Many people using the applications are adding their own data and are making them available through various sources, such as the WorldWind Central or blogs mentioned in the link section below.
All images and movies created with WorldWind using Blue Marble, Landsat, or USGS public domain data can be freely modified, re-distributed, and used on web sites, even for commercial purposes.

## Add-ons and plugins

WorldWind can be expanded by using one of many add-ons - small extensions that add new functionality to the program. Possible types of add-ons:
* Point layers: simple XML files displaying placemarks (point of interest) as icons
* Trail layers: paths (routes, boundaries)
* Line features: XML with a list of points visualized as a line or wall
* Polygon features: XML with a list of points visualized as a filled polygon (flat or extruded)
* Model features: XML used to load 3D textured meshes
* Place names: specific points (such as cities, hills and buildings) that are assigned text labels
* Image layers: high resolution imagery for various places in the world
* Scripts: files that control camera movement
Plugins are small programs written in C#, VB or J# which are loaded and compiled by WorldWind at startup. Plug-in developers can add features to WorldWind without changing the program's source code.

## WorldWind Java

The original recipe for WorldWind was restricted to Windows, relying on the .NET libraries and DirectX. A new SDK version has been developed in Java with JOGL referred to as WorldWind Java. The latest version (2.2.0) was released in August 2020.
This new version has an API-centric architecture with functionalities 'off-loaded' to modular components, leaving the API at the core. This makes WorldWind itself a plugin, so that it can be used as interchangeably as possible (for example via Python). This refactoring exercise allows WorldWind to be accessed via a browser as a Java Applet. A preview of the WorldWind Java SDK was released on May 11, 2007 during Sun Microsystem's annual JavaOne conference.
Since WWj is an SDK, there is no single application; instead there are any number of applications using WWj, each with different functionalities, created by government agencies and commercial developers from around the world. These applications include simple virtual globe viewers, satellite tracker, GIS platforms, photo editor, F-16 simulator, mission planning software and many more.

### Android and the Web

NASA has since released WorldWind Android and Web WorldWind, two SDKs for the Android OS and the JavaScript-based web apps. Like WWj, there is no single application for the versions.

## Tutorials

* NASA WorldWind SDK Tutorial: This Tutorial was developed by the Institute for Geoinformatics from the University of Münster, Germany. It contains tutorials from setting up an Eclipse environment with the WorldWind API to building polygons from Linked Open Data geographic datasets. It contains important tips from beginners to advanced developers.

## Forks and clones

* WorldWind Earth is a community that maintains friendly forks of the three current WorldWind SDK releases. They fork provide a release channel for builds based on the latest fixes and features from WebWorldWind's develop branch plus several "cherry-picked" enhancements from the WorldWind community. The WorldWindJS project is available on GitHub and releases are available on NPM.
* Geoforge project contains a fork of the NASA WorldWind project. Geoforge provides open source software. It leads in a platform that manages geosciences data and uses WorldWind features to provide a display of geo-localised geosciences objects.
* Dapple is a fork of the NASA WorldWind project, it is an Open Source project created by developers at Geosoft. Dapple is aimed at geoscience professionals, and has features aimed at them, such as easy addition of WMS servers and a simpler UI very similar to Google Earth's.
* SERVIR-VIZ is a customized version of WorldWind developed by IAGT for the SERVIR project.
* WW2D was a cross-platform, free and open-source application based on Java and OpenGL technologies and can be run on Microsoft Windows, Mac OS X, Linux (x86 and x86-64) and Solaris on SPARC. WW2D uses images from WorldWind's servers.
** WW2D Plus One - an update to WW2D providing a 3D view.
* Punt was a fork of the .NET NASA WorldWind project, and was started by two members of the free software community who had made contributions to WorldWind. Punt was based on the code in WorldWind 1.3.2, but its initial release has features not found in WorldWind 1.3.2 or 1.3.3 (such as support for multiple languages). Currently, Punt is only available for Windows, but long-term goals include a desire to move to a cross-platform solution.

## Datasets available

Low resolution Blue Marble datasets are included with the initial download; as a user zooms into certain areas, additional high resolution data is downloaded from the NASA servers. The size of all currently available data sets is about 4.6 terabytes.

### Earth
#### Animated data layers

* Scientific Visualization Studio
* MODIS
* GLOBE
* NRL Real-Time Weather

#### Image/terrain datasets

* Blue Marble Next Generation imagery
* Landsat 7 imagery
** NLT Landsat (Visible & Pseudo Color)
** Geocover 1990 & 2000 (pseudo; 1990 layer was produced from Landsat 4 & 5 images)
** OnEarth (visible & pseudo)
** i-cubed (visible)
* USGS imagery
** Digital Ortho (DOQ - scanned black and white aerial image)s
** Urban Area Ortho (montaged color aerial photography of many major US metropolitan areas)
** Topographic maps
* Zoomit! imagery (community produced layer)
** LINZ (montaged color aerial photography of New Zealand)
** GSWA (Topographic and geological maps of Western Australia)
** South Africa (colour satellite and aerial imagery)
** US imagery (montaged color aerial photography of many major US metropolitan areas)
* SRTM (SRTM30Plus/SRTMv2/USGS NED) terrain data (includes bathymetry)

### Extraterrestrial datasets
#### Moon

* Clementine (40xx - Colour, 30xx - Greyscale)
* Hypsometric Map

#### Mars

* MOC (Mars Global Surveyor – Mars Orbiter Camera)
* MOLA (MGS – Mars Orbiter Laser Altimeter hypsometric map)
* THEMIS (Mars Odyssey – Thermal Emission Imaging System)
* MDIM (Viking – Mars Digital Image Model)

#### Venus

* Magellan Imaging Radar (color and grayscale)
* Hypsometric Map

#### Jupiter

* Jupiter
* Callisto
* Europa
* Ganymede
* Io

#### Sloan Digital Sky Survey
##### Survey Imagery

* SDSS Server
* WMAP Image Server

##### Footprint Imagery

* SDSS Footprint
* FIRST (Faint Images of the Radio Sky at Twenty-cm) Footprint

### Specifications
#### Baseline resolutions

* 500 m (Blue Marble Next Generation)
* 15 m (Landsat imagery; except for polar areas)

#### Typical high resolutions

* U.S.
** USGS Digital Ortho: 1 m (grayscale; near full coverage)
** USGS Urban Area Ortho: 0.25 m
** Zoomit!: 0.15 m to 1 m
* New Zealand
** Zoomit! (from LINZ data): 2.5 m (color and grayscale)
* Western Australia
** Zoomit! (from GSWA): 250K surface geology mosaic, 250K topographic data, Magnetic Intensity, Bouger Gravity
* South Africa
** Zoomit!: Spot5 10 m (colour near full coverage), Robben Island 0.5 m, Johannesburg 2.5 m

#### Altitude resolution

* U.S.: 30 m (1 arcsecond; USGS NED)
* Global: 90 m (3 arcseconds; SRTM)
* Oceans: 2 arcminutes and better

#### Age

* Some USGS aerial images were taken in the early 1990s.
* Landsat 7 images are all taken after 1999 (except for Geocover 1990).