![]()
Live Air Traffic Control – Installation & Configuration Guide ![]()
![]()
A real-time Cesium-based Air Traffic Visualization System integrating aircraft telemetry, weather layers, and secure Apache authentication.
Requirements Feature Status
SSL Implemented
Apache Server
OpenSky API
OpenWeatherMap API
Cesium Ion API
I. Required APIs
OpenSky API
Instruction image: opensky_token.png Google Drive: (you may remove these if they are private)
Create/manage your token: https://opensky-network.org/my-opensky/account
OpenWeatherMap API
Instruction image: openweathermap_token.png
Generate your API key: https://openweathermap.org/api
Cesium Ion API
Instruction image: cesium_ion_token.png
Create/manage Ion access tokens: https://ion.cesium.com/tokens?page=1
II. Required File Edits
1. index.html
Update lines 8 and 10 with your HTTPS domain:
](https://www.yourdomainname.com/Build/Cesium/Cesium.js%22%3E%3C/script%3E)
Download Cesium: https://drive.google.com/file/d/1PkPH5TfLXRWlhZwbmWnNS7HUc9KPa2zU/view?usp=sharing
Make sure you have only ONE Build subDirectory in your main air traffic directory for Cesium Engine
Cesium requires HTTPS.
2. index.js
Edit lines 1, 2, 4, and 1742:
const defaultLat = 46.2237014771; const defaultLng = 14.4575996399;
Cesium.Ion.defaultAccessToken = ‘add_your_token’;
// At line 1742: const apiKey = “add_your_api_key”;
3. skyopen.php & opensky.php
Update lines 7 & 8:
// === CONFIG === $clientId = ‘your_client_id_json_credentials’; $clientSecret = ‘your_client_Secret_json_credentials’;
III. Apache Security Setup
- Create .htpasswd
Location (not in web root):
C:/xampp/.htpasswd
Generate user + password hash: https://hostingcanada.org/htpasswd-generator/
Choose: Apache-specific salted MD5
Restart Apache after saving.
IV. Protect PHP Files with .htaccess
Add:
<FilesMatch “^(index|opensky).php$”> AuthType Basic AuthName “Restricted Access” AuthUserFile C:/xampp/.htpasswd Require valid-user
To protect more files:
(index|opensky|admin|weather).php$
Gzipped JSON support RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.gz -f RewriteRule ^(.*).json$ $1.json.gz [L]
<FilesMatch “.json.gz$”> RemoveType .gz AddType application/json .gz Header set Content-Encoding gzip Header set Cache-Control “max-age=31536000, public”
Ensure both files exist:
yourdirectory/basic-ac-db.json https://drive.google.com/file/d/11AYbG_aKMBzwkRqQEmavRTv8zMh6J6oO/view?usp=sharing
yourdirectory/basic-ac-db.json.gz https://drive.google.com/file/d/1e3LTUpIsBdMRggo7__XjR2gXyJN4vmvz/view?usp=sharing
Restart Apache.
Project Summary
This system integrates:
Cesium Ion — 3D globe visualization
OpenSky — Live aircraft telemetry
OpenWeatherMap — Atmospheric/weather layers
Apache Auth — Secure restricted access
License
(Choose one or two… Maybe choose all of them: MIT, Apache-2.0, GPL3, etc.) =)
by Roberto
You can peekaboo here Live on CodePen
