worldwindjs
v1.9.5
Published
WorldWindJS is an interactive 3D globe library featuring imagery, maps, terrain and 2D projections from the Web WorldWind virtual globe SDK from NASA and ESA plus several community contributions.
Downloads
15,085
Readme
WorldWindJS
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:
- Explorer - the WorldWind Explorer
- WMT v2.0 - Wildfire Management Tool v2.0 (under development)
- Bible Atlas - Geography and cartography of the Holy Land (under development)
- worldwind-react-globe - A React component for Web WorldWind
- worldwind-react-globe-bs4 - React Bootstrap4 UI components for Web WorldWind
- worldwind-react-app - A geo-browser web app using Web WorldWind with React and Bootstrap 4
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 toDrawContext
.- Added the
HeatMap
from the WorldWindNASAWorldWind/feature/heatmap
branch. - Added the
ShapeEditor
from the WorldWindNASAWorldWind/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
- How to Build a WorldWindJS Web App on the project website
Demos
- worldwind-web-app demo: A geo-browser built with Bootstrap and KnockoutJS.
- worldwind-react-app demo: A geo-browser built with React using the worldwind-react-globe and worldwind-react-globe-bs4 components.
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
- worldwindjs package: This library as an npm package.
- worldwind-react-globe package: Globe component encapulating WorldWindJS.
- worldwind-react-globe-bs4 package: Bootstrap UI for the Globe component.
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
Install NodeJS. The build is known to work with Node.js 12.18.0 LTS.
npm install
downloads WorldWind's dependencies and builds everythingnpm run build
builds everythingnpm run doc
generates the WorldWind API documentationnpm run test
runs WorldWind's unit testsnpm run test:watch
automatically runs WorldWind's unit tests when source code changesnpm version <newversioo>
changes the version number in package.jsonnpm 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.