GithubHelp home page GithubHelp logo

aeroscore's Issues

Create AAT solver and live scoring

I used the International Bayreuth competition to collect following information of an AAT task (date: 27. May) of the open class:

  • task file in XCSoar format
  • pdf file of task sheet
  • All IGC files used for official scoring
  • (Almost) all IGC files generated from OGN data and referencing the comp number in the file name
  • result sheet in pdf format

Hope this information can be helpfull to develop an AAT capability of aeroscore.
AAT_2018-05-27_Bayreuth.tar.gz

Provide glidertracker status info via command line interface

To monitor the status of the glidertracker a command line tool with following capabilities would be nice:

  • Executeable via CLI / shell script
  • Returns following status info and then exits:
    x Connection to GT successfull: integer: 1 = success, 0 = failure
    x Data (AC positions) received: integer: 1 = success, 0 = failure
    x Data (AC positions) unserstandable / parseable: integer: 1 = success, 0 = failure
    x Number of users (taken from debug dialog): integer
    x Server load: real
    x RX: real
    x TX: real
    x Memory: real
  • Exit status should be 0 for successfull program execution (irrespective the GT status info) and 1 in case of errors

Live scoring of AAT: AATmin time not taken into account

During Lüsse competition on 9.7.2018 I observed, that the AATmintime is not taken correctly into account by aeroscore.

'Official' results by StrePla: https://www.strepla.de/scs/Public/scoreDay.aspx?cId=514&idDay=7711
AATmin time for this day was: 90 min
XM finished after 1:12:32 (7:28 min too early)

Below is what aeroscore calculates in comparisson to StrePla.
36874283_1968546236512171_1095668516809342976_n
Clearly aeroscore disregards AATmin time in this case.

Here is the content of the task file for that day.

<Task aat_min_time="5400" fai_finish="1" finish_min_height="0" finish_min_height_ref="0" homogeneous_tps="0" is_closed="True" max_points="0" min_points="0" start_max_height="0" start_max_height_ref="0" start_max_speed="0" task_scored="0" type="AAT">
	<Point type="Start">
		<Waypoint altitude="None" comment="" id="0" name="003SPNiemegk">
			<Location latitude="52.0711166666667" longitude="12.69"/>
		</Waypoint>
		<ObservationZone length="20000" type="Line"/>
	</Point>
	<Point type="Turn">
		<Waypoint altitude="None" comment="" id="1" name="204Kleinkrausnik">
			<Location latitude="51.7336166666667" longitude="13.61055"/>
		</Waypoint>
		<ObservationZone radius="20000" type="Cylinder"/>
	</Point>
	<Point type="Turn">
		<Waypoint altitude="None" comment="" id="2" name="152Gross Leuthen">
			<Location latitude="52.0386166666667" longitude="14.0422166666667"/>
		</Waypoint>
		<ObservationZone radius="20000" type="Cylinder"/>
	</Point>
	<Point type="Finish">
		<Waypoint altitude="None" comment="" id="3" name="001SPLuesse">
			<Location latitude="52.1441666666667" longitude="12.6683333333333"/>
		</Waypoint>
		<ObservationZone radius="6000" type="Cylinder"/>
	</Point>
</Task>

Live scoring AAT task - time display

During live scoring of AAT tasks the time column should not contain the time since start, but the time remaining to reach AATmin time (expressed as negative value). Once AATmin time was reached, the time value should be expressed as positive values since the moment AATmin time was reached.

Provide key figures of task in result header

It would be nice, if aerscore could provide some key information about the task in the live-scoring view, in the line below the time , but above the table:

For Racing task:

  • Type of task
  • Length of task

For AAT task:

  • Type of task
  • distance min
  • distance max
  • AAT min time

This would help understand, if the relevant task parameters were correctly understood by aeroscore (and correctly provided in the task file) and provide the user with some basic information about the task.

Introduce reception outage tolerance

When doing live scoring the OGN/Flarm reception at the turnpoints might not be great so valid turns might not be seen by the OGN receivers. Adding some tolerance to the scoring might be valuable so that "almost reached the turnpoint" will still be scored in live scoring mode.

One idea would be to estimate how bad the reception on each leg is (e.g. assume a GPS fix every 10sec, if there are gaps of more than 10sec sum them up and divide by total time on the leg, resulting in a reception loss percentage), and then introduce a tolerance based on that percentage. If for example 30% of the time on the current leg there was no reception then the turnpoint could have a tolerance of 30% of the leg length. We might have to cap this (e.g. at 50% or similar) to not give too much tolerance though.

/cc @dspreitz

Calculate average speeds during task and sort by result

Presently aeroscore is only calculating the average speed, once the task is completed. However, this information is also relevant during the task.
Therefore, it would be quite interesting to output the average speed until time now and sort by it.

IGC parser fails

The IGC parser fails when reading IGC files provided from the Bayreuth contest( Open class, 30. May).
Example IGC files provided as attachment.
Bayreuth_2018-05-30_Open_only_official_IGCs.tar.gz

ogn@data-ogn:~/aeroscore$ ts-node examples/calc-ranking.ts fixtures/Bayreuth/task_open fixtures/Bayreuth/2018-05-30/
Error: Invalid task declaration at line 16: C3005181604053005180001-2
    at IGCParser.parseTask (/home/ogn/aeroscore/node_modules/igc-parser/index.ts:321:13)
    at IGCParser.processTaskLine (/home/ogn/aeroscore/node_modules/igc-parser/index.ts:312:32)
    at IGCParser.processLine (/home/ogn/aeroscore/node_modules/igc-parser/index.ts:196:12)
    at Function.IGCParser.parse (/home/ogn/aeroscore/node_modules/igc-parser/index.ts:155:14)
    at readFlightFromString (/home/ogn/aeroscore/src/read-flight.ts:14:20)
    at Object.readFlight (/home/ogn/aeroscore/src/read-flight.ts:23:10)
    at /home/ogn/aeroscore/examples/calc-ranking.ts:40:39
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (/home/ogn/aeroscore/examples/calc-ranking.ts:35:4)
    at Module._compile (module.js:652:30)

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Once you have installed CI on this repository, you’ll need to re-trigger Greenkeeper’s initial Pull Request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organiszation’s settings page, under Installed GitHub Apps.

Make aeroscore more tolerant against bad OGN coverage

When the OGN coverage at the turnpoint is not sufficient, aeroscore misses turn points of contestants and stops scoring.
This is in theory correct, but unpractical.
Based on certain flexible metrics the turnpoint area could be virtually enlarged to compensate for bad OGN coverage and count the turn point as reached, even though no OGN data proving this was received.
Needs more details to be imlemented.

aeroscore not producing results

Competition: Bayreuth
Day: 30.5.
Class: 18m
Task
Further details to follow.

aeroscore is not updating screen, but remains at below print out:

ogn@data-ogn:~/aeroscore$ sudo ts-node examples/live-scoring.ts fixtures/Bayreuth/task_18m fixtures/Bayreuth/filter_18m 
[sudo] password for ogn: 
2018-05-30T15:16:05.616Z

WM		2.9 km
TA2		0.0 km
VK		0.0 km
JS3		0.0 km
SP		0.0 km
BG		0.0 km
FM		0.0 km
KK		0.0 km
AK		0.0 km
SCO		0.0 km
S2		0.0 km
29		0.0 km
2J		0.0 km
IR		0.0 km
MÄX		0.0 km
AA		0.0 km
F		0.0 km
1D		0.0 km
Y4		0.0 km
AI		0.0 km
WS		0.0 km
RS		0.0 km
OS		0.0 km
win		0.0 km

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.