AirScore - online paragliding / hanggliding GAP-based scoring software.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
css
debian
images
js
test
tools
Airspace.pm
Copying
Defines.pm
GGap.pm
Gap.pm
HELP
IGC.pm
INJECTION
JTGap.pm
Makefile
NoGap.pm
Nzl.pm
OzGap.pm
PWC.pm
README.md
RTGap.pm
Route.pm
Sajax.php
Simple.pm
TODO
Task.pm
TrackDb.pm
TrackLib.pm
Vector.pm
WINGS
add_comp.php
add_track.php
add_track.pl
airgain_verify.pl
airspace_admin.html
airspace_admin.php
airspace_check.pl
airspace_check.pl.new
airspace_map.html
airspace_map.php
airspace_openair.pl
airspace_sua_reader.pl
airspace_sua_reader.pl.mod
authorisation.php
better_browsers.php
bluecircle.png
bulk_igc_reader.pl
bulk_pilot_import.pl
bulk_submit.php
circle.png
client.php
col2.css
comp_admin.html
comp_admin.php
comp_overall.html
comp_overview.html
comp_pilot.html
comp_result.php
competition.html
competition.php
compview.php
confirm.php
createdb.php
dbextra.php
dbup.php
defines.php
del_airspace.php
del_track.pl
download_airspace.php
download_fsdb.php
download_routes.php
download_task_tracks.php
download_tracks.php
download_waypoints.php
einsert.js
einsertv3.js
elabel.js
elabelv3.js
export.php
format.php
fsdb_export.pl
fsdb_import.pl
ftv.php
get_active_comps.php
get_admin_airspace.php
get_admin_comps.php
get_admin_pilots.php
get_admin_regions.php
get_admin_tracks.php
get_airspace.php
get_all_comps.php
get_all_pilots.php
get_all_tasks.php
get_comp_details.php
get_comp_pilot_details.php
get_comp_result.php
get_competition.php
get_ladder.php
get_local_airspace.php
get_local_tracks.php
get_olc.php
get_pilot_details.php
get_pilots_lo.php
get_rankings.php
get_region.php
get_region_airspace.php
get_result.php
get_short.php
get_task.php
get_task_details.php
get_task_result.php
get_track.php
get_track_progress.php
get_waypoints.php
green800.css
greenery.css
handicap_speed.pl
hc.php
hc2.php
hc2v3.php
html_control.js
igcreader.pl
index.php
jq_task_result.html
json2.js
json_parse.js
ladder.html
ladder.php
ladder_overview.html
ladder_result.html
login.php
merge_track.php
mgr_map.php
microajax.minified.js
olc.php
olc_overview.html
oldmysql.php
optimise_flight.pl
pilot.html
pilot.php
pilot_admin.html
pilot_admin.php
pilot_overview.html
plot_air.js
plot_air.php
plot_task.js
plot_track.php
plot_trackv4.js
popwpt.js
printer.css
recent.php
region_admin.html
region_admin.php
regional.php
registration.php
rjson.js
rjson.mini.js
rjson.php
route_map.php
rules.htm
segment_map.php
short_route.pl
spacelab_bootstrap.css
sprintf.js
srtm.html
srtm.js
submacro.sh
submission.js
submit_pin.php
submit_track.html
submit_track.php
submit_zip.php
task.css
task.html
task.php
task_overview.html
task_overview_leaf.js
task_result.html
task_result.php
task_score.pl
task_up.pl
team.php
team.sql
team_admin.php
team_comp_result.php
team_score.pl
team_task_result.php
thermal.sql
thermal_map.php
tips
top.php
top_pilots.php
top_scores.php
track_admin.html
track_admin.php
track_overview.html
track_verify_sr.pl
tracklog_map.html
tracklog_map.php
uair.js
uair_lf.js
unauthorised.php
update_compinfo.php
update_formula.php
update_pilot.php
update_scoring.php
update_task.php
update_waypoint.php
utils.js
waypoint_creator.php
waypoint_map.html
waypoint_map.php
xcdb.php
xcdb.sql
xcstyle.css

README.md

airScore

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 Google 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.

Copyright

With the exception of the following code:

einsert.js (http://econym.googlepages.com - copyright Mike Williams) elabel.js (http://econym.googlepages.com - copyright Mike Williams)

bootstrap datatables.net 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 www.gnu.org.

Geoff Wong, 2007-2016 geoff.wong@gmail.com

Installation

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:

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

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:

  • add_track.pl - adds an IGC track to the database
  • airgain_verify.pl - verify an 'airgain' task (collecting points in the region)
  • airspace_check.pl - check airpsace for a task
  • airspace_openair.pl - read in an Openair format airspace file
  • airspace_sua_reader.pl - read in a SUA format airspace file
  • bulk_igc_reader.pl - read in a bunch of IGC files
  • bulk_pilot_import.pl - import pilot information from a CSV file
  • del_track.pl - delete a track
  • fsdb_export.pl - export to FS XML format (not fully functional)
  • fsdb_import.pl - import a FS XML format file (not fully functional)
  • handicap.pl - local handicap calculation
  • igcreader.pl - read an IGC file
  • igcr_nostrip.pl - read an IGC without doing a 'no-flying' strip
  • optimise_flight.pl - do an OLC optimisation on a flight
  • short_route.pl - compute the shortest-route through a task
  • task_score.pl - score a task
  • task_up.pl - re-verify all tracks assocaited with a task, and re-score it
  • team_score.pl - team scoring stuff
  • track_verify_sr.pl - verify an indivudal track against a task