Skip to content

WorldWindJS is a community maintained fork of the WebWorldWind virtual globe SDK from NASA - an interactive 3D globe library featuring maps, imagery and terrain plus 2D map projections.

Notifications You must be signed in to change notification settings

WorldWindEarth/worldwindjs

 
 

Repository files navigation

Emxsys

WorldWindJS

NPM

Important News

Mitigation efforts are underway to ensure that WorldWindJS based projects are insulated from the effects of the NASA WorldWind project suspension.

A community supported and enhanced Web WorldWind library

WorldWindJS is a fork of the popular Web WorldWind library from NASA (with contributions from ESA). This fork provides 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.

This fork exists to support the development of several personal projects, including:

WorldWindJS is made available in the spirit of the NASA motto: For the benefit of all. Show your support for this project by giving it a star!

Enhancements include:

  • A template for creating geo-browser web apps with Bootstrap and Knockout (apps/worldwind-app-template).
  • Keyboard navigation controls for the globe
  • Improved the resolution of Bing imagery
  • Support for a translucent night-image
  • Removed dependency vulnerabilities
  • Fixed WMTS tile geo-registration

Migrating from NASA WebWorldWind

  • The WorldWindJS npm package is available in the npm repository.
  • WorldWindJS is available on the unpkg and jsDelivr CDNs. See CDN providers in the wiki for examples.
  • The project supports npm dependencies on its git repository: See npm dependencies in the wiki for examples.
  • The JS libraries (production and debug) and the image resources are available in the GitHub releases.

Changes from WebWorldWind release 0.9.0

  • NavigatorState has been deprecated. Its properties have migrated to DrawContext.
  • Added the HeatMap from the WorldWind NASAWorldWind/feature/heatmap branch.
  • Added the ShapeEditor from the WorldWind NASAWorldWind/enhancement/shape_editor_refactoring branch.

Changes from the WebWorldWind develop branch

  • WorldWindJS is a drop in replacement for WebWorldWind's worldwind.js and worldwind.min.js libraries built from the WebWorldWind develop branch. There are no changes to the API other than additions.

Additional Resources

Tutorials

Demos

Related projects

  • worldwind-react-globe: A React-based Globe component that encapulates WorldWindJS.
  • worldwind-react-globe-bs4: Bootstrap UI components for the Globe component including a layer manager, tools palette, placename search, and settings.

NPM Downloads


Web WorldWind

Web WorldWind is a 3D planetary globe engine built in JavaScript for the web, developed by NASA. The European Space Agency has provided valuable contributions to this platform since 2015. Web WorldWind provides a geographic context complete with terrain, and a collection for shapes for displaying and interacting with geographic or geo-located information in 3D and 2D in any modern web browser. High-resolution terrain and imagery is retrieved from remote servers automatically as needed, while enabling developers to include their own custom terrain, imagery, 3D shapes, and position markings.

The project's website, worldwind.arc.nasa.gov has setup instructions, developer guides, API documentation and more.

Get Started

The Web WorldWind Developer's Guide has a complete description of Web WorldWind's functionality. In there, you will find many Web WorldWind resources, including a user guide and documentation for every module file. For complete beginners on WorldWind, the Get Started tutorial is the place to go.

The latest Web WorldWind release provides many simple examples showing how to use most of Web WorldWind's functionality, as well as more involved small applications for reference on how to use Web WorldWind in domain-focused GIS development.

Building

Build Status

Install NodeJS. The build is known to work with Node.js 12.18.0 LTS.

  • npm install downloads WorldWind's dependencies and builds everything

  • npm run build builds everything

  • npm run doc generates the WorldWind API documentation

  • npm run test runs WorldWind's unit tests

  • npm run test:watch automatically runs WorldWind's unit tests when source code changes

  • npm version <newversioo> changes the version number in package.json

  • npm publish publishes the build to npm

License

Copyright 2003-2006, 2009, 2017, 2020, 2022 United States Government, as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved.

The NASAWorldWind/WebWorldWind platform is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source software:

  • ES6-Promise – under MIT License
  • libtess.js – SGI Free Software License B
  • Proj4 – under MIT License
  • JSZip – under MIT License

A complete listing of 3rd Party software notices and licenses included in WebWorldWind can be found in the Web WorldWind 3rd-party notices and licenses PDF file found in its code directory.

About

WorldWindJS is a community maintained fork of the WebWorldWind virtual globe SDK from NASA - an interactive 3D globe library featuring maps, imagery and terrain plus 2D map projections.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.7%
  • Other 1.3%