The goal of project is to build a set of open source ATC modules to be shared across other applications. The modules are written in Swift, cross-platform compatible (Linux, OS X and iOS) providing a level of OS independence to enhance portability.
-
AircraftKit - Aircraft performance library. Loads and parses aircraft data from XML.
-
AirspaceKit - Contains code to load and parse airspace model from disk (boundary, navigation points, sectors, layers ...)
-
ATCKit - Provides base ATC structures which are required for almost all other OATC modules.
-
ATCSIM - Simulation library. Simulates air traffic flow from a scenario.
-
FDPS - Flight Data Processing System. (FDPServer, FDPClient ...)
-
Measure - Unit-safe numeric types. Provide compiler help to make sure that only numerics with the same unit-of-measure can be combined.
-
Projection, PROJ4 - Swift wrapper for PROJ.4 (Cartographic Projections Library). Makes it easy to use OATC with all commonly used projections.
-
FoundationKit - Contains various extensions to Apple's Foundation framework
-
JSON - JSON parsing library. Extracted in order to keep other modules independent of JSON implementation. In future, SE-0166 Swift Archival & Serialization should probably be used.
-
Mathematics, BlueSocket (network communication)
Sample applications using core modules to help you get started:
- Map Editor (OATCME) - Create and edit map layers which can be read by AircraftKit
- Display - 2D display prototype using different modules (AirspaceKit, ATCKit, Measure, Projection...).
- Simulation - Interface to ATCSIM module. It takes role of FDPS and Tracker simulating real traffic flow.
Data repository contains sample data (Aircraft, Airspace, Scenario) so you quickly check what format is currently suported for the particular module.
If you would like to contribute, please create a pull request to propose and collaborate on changes to a repository.
This software is licensed under GPLv3. For third-party libraries that are used in a module, please check Credits.md file inside the particular module.