There is absolutely no guarantee that this information is accurate to real world aviation
A mapping application that works with GeoFS and Simbrief to provide route information to enhance situational awareness in the cockpit, working with any aircraft that is both available in Geofs and Simbrief. It allows creation of radials with magnetic bearing, adjusted with the WMM model, being accurate up to 2025. It allows for departure and runway selection, seamlessly generated flight plans that easily work with the existing fmc-requirejs plugin and autopilot_pp plugins for GeoFS. With the addition of fix rings, like in real aircraft it allows the pilot to stay ahead for the aircraft. Coupled with OSM
- Does not require any special authentication
- Works with any AIRAC
- Works cross-platform
- Allows visualization of complex radii and magnetic courses on a flat map with considerable accuracy
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Node.js
- Python 3.12.2
- Tampermonkey,
- Greasemonkey(Firefox Only)
- or ViolentMonkey
- autopilot_pp
- fmc-requirejs
NOTE: After installing any userscript addon, please ensure that you allow access to file URLs for that extension in your browser settings
Drag and drop the userscript.js
file into a empty "New Tab" window, which will be recognized by the userscript manager. Click install to install the script and your are done!
Creating a python virtual environment is not required, it is highly reccommended.
After activating the virtual environment, run:
pip3 install -r requirements.txt
This installs all the required python packages to run the server which will be connected to the Geofs usescript. In app.py
replace USERID
with your Simbrief Pilot ID. In geofs-interface/src/worker.ts
replace userId
with your Simbrief Pilot ID. If you don't do this, you'll just be loading my flightplans
cd geofs-interace
and then run
npm install
This installs all the required dependencies for this app
Now that you have all the required dependencies, run two commands on two seperate terminals:
npm run dev
in the geofs-interface folder and
python3 app.py
in the main folder. Starting:
- a server on http://localhost:5000
- and the app on http://localhost:5173
Start Geofs after opening the app, ensure the fmc-requirejs and autopilot_pp are installed.
NOTE: On macOS, disable the 'AirPlay Receiver' service from System Preferences -> General -> AirDrop & Handoff.
NOTE: If you want the route clipboard feature to be available, you can only run as localhost or 127.0.0.1, which are considered to be secure contexts although they use the HTTP protocol. Read more here on how to make localhost or even the adress on your LAN HTTPS compliant
For the interface, we are using cypress to test for basic inputs and form submissions. An issue has been noted where the application dosent fully load with Cypress
If you have followed the installation instructions, run npx cypress open
, in the suite, run spec.cy.ts
to run a basic test on the summary opening and the form sync features
We use pylint. It is implemented as a github action. No actions are neeeded from your side. We use pylint to ensure our code is less prone to errors, because it is meant to replicate standards of real flight navigation apps like Navigraph FliteDeck Pro
- Leaflet - Map library
- OpenStreetMap - Map tile service
- Leaflet.RotatedMarker - Library for providing Leaflet markers that are able to rotate
- Leaflet.Geodesic - Library to draw geodesic lines on leaflet maps
- Vite - Very easy development and fast HMR
We use SemVer for versioning. For the versions available, see the tags on this repository.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Aiden Israel - Initial work - Tech-Helper503
This project is licensed under the MIT License - see the LICENSE.md file for details