PDA

View Full Version : Paragliding task score software


July 11th 12, 05:40 PM
Hi,

I'd like to write a small programm (online) to evaluate our paragliding competitions. We usually set a couple of turnpoints with a radius of 400 meters and the aim is to pass all these one by one and fly to the target cylinder, the finish. Just to get an idea how it looks like, I made a small graphic:

http://dl.dropbox.com/u/15535011/PGC/pgc-cm-auswertung.png

The flights a recorded a IGC Files which i can process line by line. I need to know if the pilot exited the start cylinder before a defined time and how many cylinders were passed correct. If a cylinder was entered i have to count the distance to the previous cylinder and if not I need to chip in the edge of 90 degrees to the nearest point to the next turnpoint. I hope you understand what I mean.

Does anybody know if such a software allready exists or how to do the computation (PHP or Perl prefered). I allready found some libraries for calculatin the distance but I don't know how to do the 90 degrees calculation.

Any hints will be helpfull!

Thanks,
Max

Morgan[_2_]
July 11th 12, 08:54 PM
You should consider starting with winscore. Not web based, but easy to use and will probably do everything you need.

http://www.gfbyars.com/winscore/


On Wednesday, July 11, 2012 9:40:39 AM UTC-7, (unknown) wrote:
> Hi,
>
> I'd like to write a small programm (online) to evaluate our paragliding competitions. We usually set a couple of turnpoints with a radius of 400 meters and the aim is to pass all these one by one and fly to the target cylinder, the finish. Just to get an idea how it looks like, I made a small graphic:
>
> http://dl.dropbox.com/u/15535011/PGC/pgc-cm-auswertung.png
>
> The flights a recorded a IGC Files which i can process line by line. I need to know if the pilot exited the start cylinder before a defined time and how many cylinders were passed correct. If a cylinder was entered i have to count the distance to the previous cylinder and if not I need to chip in the edge of 90 degrees to the nearest point to the next turnpoint. I hope you understand what I mean.
>
> Does anybody know if such a software allready exists or how to do the computation (PHP or Perl prefered). I allready found some libraries for calculatin the distance but I don't know how to do the 90 degrees calculation..
>
> Any hints will be helpfull!
>
> Thanks,
> Max

Markus Manninger
July 11th 12, 09:22 PM
Ok, thanks ... I'll try it.

On 2012-07-11 21:54, Morgan wrote:
> You should consider starting with winscore. Not web based, but easy to use and will probably do everything you need.
>
> http://www.gfbyars.com/winscore/
>
>
> On Wednesday, July 11, 2012 9:40:39 AM UTC-7, (unknown) wrote:
>> Hi,
>>
>> I'd like to write a small programm (online) to evaluate our paragliding competitions. We usually set a couple of turnpoints with a radius of 400 meters and the aim is to pass all these one by one and fly to the target cylinder, the finish. Just to get an idea how it looks like, I made a small graphic:
>>
>> http://dl.dropbox.com/u/15535011/PGC/pgc-cm-auswertung.png
>>
>> The flights a recorded a IGC Files which i can process line by line. I need to know if the pilot exited the start cylinder before a defined time and how many cylinders were passed correct. If a cylinder was entered i have to count the distance to the previous cylinder and if not I need to chip in the edge of 90 degrees to the nearest point to the next turnpoint. I hope you understand what I mean.
>>
>> Does anybody know if such a software allready exists or how to do the computation (PHP or Perl prefered). I allready found some libraries for calculatin the distance but I don't know how to do the 90 degrees calculation.
>>
>> Any hints will be helpfull!
>>
>> Thanks,
>> Max
>

Max Kellermann
July 12th 12, 12:52 PM
wrote:
> The flights a recorded a IGC Files which i can process line by line. I need to know if the pilot exited the start cylinder before a defined time and how many cylinders were passed correct. If a cylinder was entered i have to count the distance to the previous cylinder and if not I need to chip in the edge of 90 degrees to the nearest point to the next turnpoint. I hope you understand what I mean.
>
> Does anybody know if such a software allready exists or how to do the computation (PHP or Perl prefered). I allready found some libraries for calculatin the distance but I don't know how to do the 90 degrees calculation.

At the XCSoar / SkyLines project, we're working on tools that do task
scoring of IGC files. All task types that are supported by XCSoar
will eventually be available in SkyLines. And that means there will
be a small command-line program that parses an IGC file, a task file,
and prints the results as JSON, which you can use in whatever
language.

So the way to go is: implement the task rules you need in XCSoar, and
then you get a command-line tool for the offline (non-interactive)
analysis.

http://www.xcsoar.org/
http://skylines.xcsoar.org/

Max

Markus Manninger
July 12th 12, 01:32 PM
On 2012-07-12 13:52, Max Kellermann wrote:
> At the XCSoar / SkyLines project, we're working on tools that do task
> scoring of IGC files. All task types that are supported by XCSoar
> will eventually be available in SkyLines. And that means there will
> be a small command-line program that parses an IGC file, a task file,
> and prints the results as JSON, which you can use in whatever
> language.
>
> So the way to go is: implement the task rules you need in XCSoar, and
> then you get a command-line tool for the offline (non-interactive)
> analysis.
>
> http://www.xcsoar.org/
> http://skylines.xcsoar.org/
>
> Max

I know XCSoar but didn't that it can be used to score for a task. I
thought that's a flight computer. Is there a tutorial/wiki how to to the
score an IGC File?

I think it's not a big deal but just don't know how to do the
calculation with The 90 degrees angle. I need to calculat de distance
(red Line) which cuts the line between the two points A and B in the
angle of 90 degrees running throught point C. Each point is stored as a
longitude/latitude pair.

See this figure for better understanding:
http://dl.dropbox.com/u/15535011/PGC/Schnittpunkt.png

If some knows how to calculate this or has som hints, please let me know.

For all other calculations I would use the library from
http://www.jstott.me.uk/phpcoord to process each line from the IGC file.

thanks,
MAx

Max Kellermann
July 12th 12, 02:08 PM
Markus Manninger > wrote:
> I know XCSoar but didn't that it can be used to score for a task. I
> thought that's a flight computer. Is there a tutorial/wiki how to to the
> score an IGC File?

It is a flight computer, but naturally, a flight computer contains all
sorts of task calculations. Since I joined the XCSoar project as a
voluntary developer in 2009, I have spent a lot of time on splitting
XCSoar into reusable libraries.

There's no reason why one should write new task calculation code, when
XCSoar has it already! Better improve XCSoar's code than writing new
one from scratch.

This is how you compile the OLCPlus scoring program on Linux:

git clone git://git.xcsoar.org/xcsoar/master/xcsoar.git
cd xcsoar
make output/UNIX/bin/AnalyseFlight

Source code of the program, it's nothing more than a command-line JSON
front-end for XCSoar's contest scoring library:

http://git.xcsoar.org/cgit/master/xcsoar.git/tree/test/src/AnalyseFlight.cpp

Now you can use it to get OLCPlus scores of an IGC file:

output/UNIX/bin/AnalyseFlight foo.igc

This will print flight statistics (take-off/landing time/location) and
OLCPlus scores/turnpoints. This program is used internally by
SkyLines when you upload an IGC file:

http://git.xcsoar.org/cgit/master/skylines.git/tree/skylines/lib/analysis.py#n134

If you want to know more, subscribe to our developer mailing list
(https://lists.sourceforge.net/lists/listinfo/xcsoar-devel) or join
our IRC channel (#xcsoar on freenode).

Max

Google