46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# 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>
|
|
```
|