2025-11-09 10:31:34 +01:00
2025-11-08 10:01:49 +01:00
2025-11-08 10:10:11 +01:00
idk
2025-11-09 10:31:34 +01:00
2025-11-08 10:10:11 +01:00
2025-11-08 10:11:35 +01:00
2025-11-08 16:15:36 +01:00
2025-11-08 10:55:22 +01:00

igcp: IGC flight data parser

Work in progress.

Goals are: parsing an IGC file containing flight data, giving analytics about the flight, and if I really have time to kill, making some kind of (3D??) view of the flight..

TODO:

  • convert sexagesimal (deg/min/sec) coordinates to decimal degrees
  • convert decimal degrees to cartesian (x, y, z) coordinates
  • choose scale to represent X meters as Y world units
  • get those new units (cartesian & world units) as data fields in the doubly linked list (so we can print GPS coords & draw 3d points using the same data structure)
  • draw points in the 3d world
  • draw lines between these points
  • make camera controls: N for Next, P for Previous
  • Text information: average horizontal/vertical speed etc.
  • Plane mesh
  • Ground texture

Dependencies

These are mainly for building the project, and for Raylib (the 3D graphic library):

sudo apt install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev
sudo apt install build-essential git

You will have to compile Raylib, and then copy the archive file into igcp's lib directory:

git clone --depth 1 https://github.com/raysan5/raylib.git raylib
cd raylib/src/
make PLATFORM=PLATFORM_DESKTOP

cp libraylib.a PATH/TO/igcp/lib/

Compilation & Usage

Now you can compile igcp and use it:

make
./a.out <file>
Description
IGC flight data parser & 3D viewer
Readme GPL-3.0 950 KiB
Languages
C 99.9%
Makefile 0.1%