Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A bunch of scripts and php pages to handle IGC files and store them into a mysql database, determine track distance, do paragliding GAP RACE scoring, OLC-style scoring, etc. It also presents tracks on Leaflet JS Maps for further viewing.

The basic philosophy is to provide the scoring tools as a set of simple executable (perl scripts) that can be wrapped with any GUI. At this stage I've only provided a basic PHP/Google Maps interface.

The database schema maybe found in xcdb.sql.


With the exception of the following code:

einsert.js ( - copyright Mike Williams) elabel.js ( - copyright Mike Williams)

bootstrap open-iconic spacelab.css leafletjs leaflet-fullscreen leaflet-ruler leaflet-easybutton leaflet-sidebar

All rest of the code is provided under the GPL License version 2 described in the file "Copying".

If this is not present please download from

Geoff Wong, 2007-2023


Helps to be experienced with Apache configurations and Mysql.

  • Edit the "Makefile":
    • set the mysql password you want to use for airscore
    • set your CGI bin directory
    • set your HTDOCS location (for the php files)
  • 'make database' if it's your first installation
  • Type 'make'
  • Ensure Apache is configured with mod-php, perl should be available too
  • Test that the login page work .../airscore/login.php (user: admin, pass: admin)

Other packages needed:

  • php5
  • mysql
  • perl
  • libxml-simple-perl

mysql config

Remove select/strict group by enforcement add the following to mysql.cnf:


Web Security

  • Enable exec() functionality for php.
  • Enable CGI (*pl *php) from the main installation directory for Apache

Script Notes

What do the perl scripts do:

  • - adds an IGC track to the database
  • - verify an 'airgain' task (collecting points in the region)
  • - check airpsace for a task
  • - read in an Openair format airspace file
  • - read in a SUA format airspace file
  • - read in a bunch of IGC files
  • - import pilot information from a CSV file
  • - delete a track
  • - export to FS XML format (not fully functional)
  • - import a FS XML format file (not fully functional)
  • - local handicap calculation
  • - read an IGC file
  • - read an IGC without doing a 'no-flying' strip
  • - do an OLC optimisation on a flight
  • - compute the shortest-route through a task
  • - score a task
  • - re-verify all tracks associated with a task, and re-score it
  • - team scoring stuff
  • - verify an individual track against a task


AirScore - online paragliding / hanggliding GAP-based scoring software.







No releases published


No packages published

Contributors 4