1. Home
  2. Tutorials
  3. GIS
  4. Virtual Globes
Yolinux.com Tutorial

Virtual Globes:

Open source Geographic Information Systems (GIS) Virtual Globe Displays for Web and Desktop Applications.


"Virtual Globes": or Earth displays are 3 dimensional software applications used to display or query Earth mapping imagery, elevation or raw data. Typical use includes GPS location services, GPS guidance, tracking, transportation mapping, land management to support farming or city planning, civil engineering (roads, bridges, buildings), flight planning, weather and meteorology data display. Virtual globes allow for the viewing of the planet Earth in its entirety as well as zooming to view it as a detailed regional map. They typically are architected to support data layers for various data formats. eg. vector: political and water boundaries, imagery: satellite or aircraft, elevation and topography, 3-D models: airspace, buildings or scientific data: temperatures.

Most Virtual Globes act as clients to a map server which delivers the map imagery, vector and elevation data. The map servers typically deliver data via HTTP get requests based on the coordinates of the area being zoomed in on and at a resolution and scale based on the user's reference point and view. Map imagery data for the planet earth is typically too large to be included with the globe application. For example NASA Blue Marble low resolution maps (view of the entire Earth: 600MB), the I3 Landsat medium resolution imagery (4.1 Tb) and elevation data (STRM: 2.5 GB, USGS NED: 560 GB, ASTER DEM2: 766 GB) and ancillary support data, total about 6.2 TB of data. Some map servers like Microsoft's Bing map server, support even higher imagery resolution from aircraft and is of an unknown but gigantic data footprint size.

Maps vs Virtual Globes: Virtual Globes are 3-D with a true spherical projection mimicking reality with little or no distortion, true distances and continuous. Maps are 2-D and the projection of a 3-D Earth. Various projections are used, each with their own flaws:

Lambert conformal conic projection

Lambert conformal conic (Wikipedia commons image)

Mercator map projection

Mercator (Wikipedia commons image)

Goode Homolosine map projection

Goode Homolosine (Wikipedia commons image)

Open source Virtual Globes:

Virtual Globes take two forms:
  1. # Desktop or mobile applications
  2. # Web based using WebGL and operating in a web browser

Virtual Globe Apps:

Application based Virtual Globes typically access graphics cards for accelerated 3D performance. They are also used with a GIS map server for imagery and elevation data. There are clear advantages to using a Virtual Globe application which is compliant with Open Geospatial Consortium (OGC) standards so that it can make map and elevation data requests for display on the globe.

NASA WorldWind Java: Home Page: https://worldwind.arc.nasa.gov/java/
Demos: https://worldwind.arc.nasa.gov/java/demos/#anchor (JNLP served across internet or download)
Source: https://github.com/NASAWorldWind/WorldWindJava/releases/
Description: Java based application using the JOGL OpenGL API. JAVA development API for cross platform support (Sun, Linux, Android, MS/Windows, Mac, ...). The premier virtual globe application. Designed as a development framework. Geometry creation: Path, Polygon, Ellipse, Circle, Quadrilateral, Square
Formats:Supports many open standards (OGC, WMS, KML), image data types (JPG, PNG), elevation data (DTM/DEM, SRTM, NWDBII), location (GPX), Open Street Map (OSM), vector (VPF, VMAP, KML, SHP).
NASA WorldWind Virtual Globe

KDE Marble: Home Page: https://marble.kde.org/
Source: https://marble.kde.org/sources.php
Description: C++/Qt based virtual globe. Requires KDE desktop for full functionality.
Formats:KML, Open WLAN, GPX, imagery and elevation.
KDE Marble Virtual Globe


WebGL/Javascript based Virtual Globes:

Modern web browsers support WebGL, a port of OpenGL for Javascript. WebGL based Virtual Globes run as 3-D Javascript clients, in a web browser. They too can connect to OGC compliant map servers for map and elevation data.

Cesium: Home Page: https://cesium.com/
Demos: https://cesiumjs.org/demos/ (Example snow data display: Global snow reports)
Source: https://cesiumjs.org/downloads/
Description: WebGL 3-D globe with OGC WMS compliant Map server imagery support. Default is MS/Bing maps. Elevation data is in a proprietary mesh format. Elevation server and data are not open source. Feature rich and mature product.
Formats:OGC (WMS,WMTS), TMS, KML, ArcGIS, Mapbox, Bing REST services, OpenStreetMap
CesiumJS Globe

NASA Web WorldWind: Home Page: https://worldwind.arc.nasa.gov/web/
Demos: https://worldwind.arc.nasa.gov/web/examples/
Source: globe
Description: WebGL globe 3-D (WGS84) and 2-D with OGC compliant Map server support (images, elevation and shape files). Javascript API for interaction and visualization. Feature rich.
Formats:JPG, PNG, SHP
NASA Web WorldWind

Google Chrome Experiments: Globe Experiments: https://globe.chromeexperiments.com/
Globe: https://experiments.withgoogle.com/chrome/globe
Source: https://github.com/dataarts/webgl-globe
Description: WebGL experiment, not a supported framework. Simple, minimal code. No map server support.
Formats:Reads JSON data for display on globe as a spike.
Google Experiment: Globe



Book imageBooks:

"GIS Fundamentals: A First Text on Geographic Information Systems"
by Paul Bolstad
ISBN # 1506695876, XanEdu Publishing Inc; 5th edition