God's Eye View Data Layers and Sources: Complete Guide to the 13 Live Global Feeds
God's Eye View aggregates thirteen real-time data layers—including live flights, maritime vessels, satellites, seismic activity, and traffic—each sourced from distinct public APIs like OpenSky Network, adsb.lol, and USGS, with modular integration logic centralized in src/data/dataRegistry.js.
The open-source repository bilawalsidhu/gods-eye-view renders a 3D globe visualization capable of overlaying diverse global data feeds in real time. Understanding the God's Eye View data layers and their specific sources is essential for developers customizing the interface, researchers verifying data provenance, or users configuring API access. Each layer is implemented as an isolated JavaScript module under src/data/, with authoritative metadata and authentication requirements documented in DATA_SOURCES.md.
The 13 Core Data Layers
God's Eye View visualizes the world through thirteen distinct layers. The table below maps each layer to its data provider and authentication requirements (🟢 = no key required / open, 🟡 = API key required, 🔴 = restricted or direct-access limitations).
| Layer | Data Provided | Primary Source | Auth |
|---|---|---|---|
| Map Stack | Esri satellite, Google Photorealistic 3D, OSM basemap, ion-hosted terrain | Esri, Google, Cesium Ion, OpenStreetMap | 🟢 Esri/OSM · 🟡 Ion-hosted Google 3D · 🔴 Direct Google tiles |
| Live Flights | 11,000+ live aircraft positions + route history | OpenSky Network, adsb.lol | 🟢 (🟡 optional for increased polling) |
| Military Flights | ADS-B military traffic (amber coloration) | adsb.lol | 🟢 |
| Live Vessels | Thousands of live ships worldwide | AISStream.io | 🟡 |
| Satellites | 838-object catalog with class-based color coding | CelesTrak | 🟢 |
| Earthquakes | Global seismic activity (trailing 24h) | USGS | 🟢 |
| Traffic | Simulated vehicles on OSM roads; live flow speed congestion | TomTom, OpenStreetMap | 🟢 simulation · 🟡 live flow speeds |
| CCTV Mesh | ~800 public cameras (Austin, California, London) with estimated poses | City APIs (Austin, Caltrans, TfL) | 🟢 |
| Radio | Geolocated world radio stations with analog tuner interface | Radio Browser | 🟢 |
| Bikeshare | Live station availability and capacity | GBFS (Lyft, BCycle, etc.) | 🟢 |
| Active Fires | NASA FIRMS thermal detections (24h trailing) | NASA FIRMS | 🟡 |
| Space Missions | Rolling 30-day launch schedules with payload details | Launch Library 2 (The Space Devs) | 🟢 (🟡 optional token for higher allowance) |
| Mapped Installations | Viewport-bounded military site context | OpenStreetMap | 🟢 |
Source attribution details, license terms, and credit specifics for every feed are recorded in the repository's DATA_SOURCES.md file at the root level.
Layer Architecture and Source Integration
Data Registry and Module Structure
Each layer lives as a dedicated module inside src/data/. The src/data/dataRegistry.js file (imported by src/main.js) maintains the central registry that maps layer names to their loader functions and default UI toggle states. This architecture allows the application to initialize, enable, or disable layers dynamically without reloading the globe renderer.
Source-specific fetching logic is encapsulated in dedicated files:
src/data/liveFlights.jshandles OpenSky Network and adsb.lol pollingsrc/data/traffic.jsmanages TomTom flow-tile integration for live congestion datasrc/data/cctv.jsloads camera meshes from municipal APIs (Austin, Caltrans, TfL)src/data/radio.jsinterfaces with the Radio Browser directorysrc/data/spaceMissions.jsingests Launch Library 2 schedules
Attribution System
Credits for every source are automatically appended to the on-globe attribution line via src/data/dataCredits.js. This file exports a DATA_CREDITS array that the Cesium viewer consumes, ensuring compliance with provider license requirements (e.g., ©OpenStreetMap contributors, Esri attribution, NASA FIRMS credit).
Basemap Controller
The Map Stack layer supports multiple basemap providers through src/mapStackController.js. This controller manages switching between Esri satellite imagery, Google Photorealistic 3D tiles, standard OpenStreetMap, and Cesium Ion-hosted stacks, handling authentication tokens and tile session management transparently.
Programmatic Layer Control
Developers can toggle layers programmatically using the same API that powers the UI controls. Import the toggleLayer function from the registry to enable or disable feeds at runtime:
// Toggle layers dynamically
import { toggleLayer } from './src/data/dataRegistry.js';
// Enable aviation and traffic layers
toggleLayer('Live Flights', true);
toggleLayer('Traffic', true);
// Disable CCTV Mesh to reduce bandwidth
toggleLayer('CCTV Mesh', false);
URL Parameter Initialization
The application respects a layers query string on startup. Supply a comma-separated list of layer names to activate specific feeds immediately upon loading:
http://localhost:4173/?layers=Live%20Flights,Traffic,Satellites
Raw Data Endpoints
For debugging or external integration, the development server exposes proxy endpoints that return raw source data. Fetch the latest aircraft snapshot directly from the local proxy:
# Get current OpenSky aircraft positions
curl http://localhost:4173/api/flights
Summary
- God's Eye View exposes thirteen distinct data layers spanning aviation, maritime, space, seismic, infrastructure, and environmental monitoring.
- Sources range from open public APIs (OpenStreetMap, USGS, CelesTrak) to key-restricted services (AISStream.io, NASA FIRMS, TomTom).
- Layer management is centralized in
src/data/dataRegistry.js, with individual fetching logic isolated insrc/data/modules likeliveFlights.jsandtraffic.js. - Authentication requirements are color-coded: 🟢 open access, 🟡 API key required, 🔴 restricted/direct access limitations apply.
- Attribution is handled automatically via
src/data/dataCredits.jsto maintain license compliance with data providers.
Frequently Asked Questions
Which God's Eye View data layers require API keys?
Four layers currently require authentication tokens for full functionality: Live Vessels (AISStream.io), Traffic live flow speeds (TomTom), Active Fires (NASA FIRMS), and optional premium polling for Live Flights (adsb.lol). The Map Stack requires Cesium Ion tokens for Google 3D tiles and world terrain, though Esri satellite and OSM basemaps function without keys.
How do I programmatically toggle data layers in God's Eye View?
Import the toggleLayer function from src/data/dataRegistry.js and call it with the layer name and a boolean state. This API is identical to the UI toggle switches and immediately adds or removes the data source from the Cesium viewer while preserving renderer state.
Where is the source code for the live flight tracking?
Real-time aviation data is fetched in src/data/liveFlights.js, which aggregates positions from the OpenSky Network and adsb.lol. This module handles polling intervals, aircraft iconography, and historical trail rendering for the 11,000+ object dataset.
Can I add custom data sources to God's Eye View?
Yes. Create a new module under src/data/ implementing the standard loader pattern, then register the layer in src/data/dataRegistry.js with a name, loader function, and default visibility state. Add corresponding attribution entries to src/data/dataCredits.js and document the source in DATA_SOURCES.md to maintain consistency with the project's attribution standards.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →