WorldWind Java - Community Edition (WWJ-CE)
WWJ-CE is community supported fork of the ubiquitous WorldWind Java SDK from NASA.
WorldWind Java is a 3D virtual globe API for desktop Java, developed by NASA. It provides a geographic context with high-resolution terrain, for visualizing geographic or geo-located information in 3D and 2D. Developers can customize the globe's terrain and imagery. The SDK provides a collection of shapes for displaying and interacting with geographic data and representing a range of geometric objects.
- WorldWindJava Wiki has setup instructions, developers guides and more
- API Documentation provides an extensive collection of useful JavaDocs for the WWJ-CE SDK
- WorldWind Forum provides help from the WorldWind community
- IntelliJ IDEA is used by the NASA WorldWind development team
Notice from NASA
On March 8, 2019, NASA announced a suspension of the WorldWind project.
WorldWind team would like to inform you that starting May 3, 2019, NASA WorldWind project will be suspended. All the WorldWind servers providing elevation and imagery will be unavailable. While you can still download the SDKs from GitHub, there will be no technical support. If you have questions and/or concerns, please feel free to email at:
WWJ-CE seeks to mitigate the effects of the suspension and continue the development of WorldWind Java.
Contributing to the Community Edition
Contributions to WWJ-CE are welcomed in the form of issues and pull requests.
Before Submitting an Issue
Please fulfill the following requirements before submitting an issue to this repository:
- Check the Common Problems in the Tutorials wiki
- Check that your issue isn't already filed in the open issues and pull requests
- Check the WorldWind Java Forums for common solutions
Before Submitting a Pull Request
Releases and Roadmap
Official WorldWind Java releases have the latest stable features, enhancements and bug fixes ready for production use.
- GitHub Releases documents official releases
- GitHub Milestones documents upcoming releases and the development roadmap
- Travis CI provides continuous integration and build automation
Run a Demo
From a Web Browser
- WorldWind Demo App shows WorldWind's basic capabilities
- Java Demos has a complete list of example apps
From a Windows Development Environment
- Download and extract the Latest Release
- Open the Command Prompt
cd [WorldWind release] run-demo.bat
From a Linux or macOS Development Environment
- Download and extract the Latest Release
- Open the Terminal app
cd [WorldWind release] sh run-demo.bash
WorldWind requires a modern graphics card with a current driver. Most display problems are caused by out-of-date graphics drivers. On Windows, visit your graphics card manufacturer's web site for the latest driver: NVIDIA, ATI or Intel. The drivers are typically under a link named Downloads or Support. If you're using a laptop, the latest drivers are found at the laptop manufacturer's web site.
JOGL Native Binaries
JOGL performs runtime extraction of native binaries. Some deployment situations may not allow this because it extracts the binaries to the application user’s temp directory. Runtime extraction can be avoided by by modifying WorldWind Java's JOGL distribution to load native binaries directly from the library path instead of dynamically using the native binary JAR files as follows:
- Extract the GlueGen and JOGL native binary JAR files for the desired platform. These JAR files follow the naming pattern gluegen-rt-natives-PLATFORM.jar and jogl-all-natives-PLATFORM.jar
- Place the extracted native binaries either in the program's working directory or in a location specified as the library path. The following JOGL user's guide page outlines supported library path variables: https://jogamp.org/jogl/doc/userguide/index.html#traditionallibraryloading
- Remove the GlueGen and JOGL native binary JAR files from your application's workspace. JOGL attempts to use the native binary JAR files before loading from the library path, so these files must not be deployed with the application.
- When running, specify the JVM argument -Djogamp.gluegen.UseTempJarCache=false
NASA WORLDWIND Copyright (C) 2001 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. NASA OPEN SOURCE AGREEMENT VERSION 1.3 This open source agreement ("agreement") defines the rights of use, reproduction, distribution, modification and redistribution of certain computer software originally released by the United States Government as represented by the Government Agency listed below ("Government Agency"). The United States Government, as represented by Government Agency, is an intended third-party beneficiary of all subsequent distributions or redistributions of the subject software. Anyone who uses, reproduces, distributes, modifies or redistributes the subject software, as defined herein, or any part thereof, is, by that action, accepting in full the responsibilities and obligations contained in this agreement. Government Agency: National Aeronautics and Space Administration (NASA) Government Agency Original Software Designation: ARC-15166-1 Government Agency Original Software Title: NASA WorldWind User Registration Requested. Please send email with your contact information to Patrick.Hogan@nasa.gov Government Agency Point of Contact for Original Software: Patrick.Hogan@nasa.gov You may obtain a full copy of the license at: https://worldwind.arc.nasa.gov/LICENSE.html