NASA WorldWind is an
open-source (released under the
NOSA license and the Apache 2.0 license)
virtual globe. According to the website (
https://worldwind.arc.nasa.gov/), "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,[update] a web-based version of WorldWind is available online.[1] An
Android version is also available.[2]
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.[4] As of 2015 a web based version of WorldWind is under development[5] and available online.[6] An
Android version is also available.[7]
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.
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[9] 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:
[1] 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[10] 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[11] contains a
fork of the NASA WorldWind project. Geoforge provides open source software. It leads in a platform[12] that manages geosciences data and uses WorldWind features to provide a display of geo-localised geosciences objects.
Dapple[13] 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[14] is a customized version of WorldWind developed by IAGT for the SERVIR project.
WW2D[15] 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.