npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aeroscore

v0.2.2

Published

Gliding Competition Scoring

Downloads

7

Readme

aeroscore

Build Status

Gliding Competition Scoring

Content

The current status of the project is: work in progress

This project contains code and algorithms to score gliding competition flights using the TypeScript programming language. The reason for using TypeScript is being able to compile to JavaScript and run the code in the browser to ultimately allow live scoring using either SkyLines or OGN live tracking data.

The examples folder contains some basic scripts to demonstrate what the library is currently capable of. It is recommended to run them using ts-node. For example:

ts-node examples/calc-ranking.ts fixtures/2017-07-17-lev

Installation

To install aeroscore you need to install:

GIT and curl

sudo apt-get install git curl

Node.js

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Yarn

curl -o- -L https://yarnpkg.com/install.sh | bash

Logout (exit) and back in again

yarn global add ts-node typescript

aeroscore

git clone https://github.com/Turbo87/aeroscore.git

Change into aeroscore directory and install dependencies

cd aeroscore
yarn install

To check if you installation was successful, run

ts-node examples/live-scoring.ts

Live-Scoring

You can use aeroscore to perform a live scoring of a running contest task. aeroscore can read a given task (XCSoar tsk format) and filter (Glidertracker.org fromat) to perform live scoring of the task. aeroscore connects to Glidertracker.org via WebSocket connection and continuously receives OGN data from the GliderTracker, which it evaluates into a live scoring.

Live-scoring using local filter and task files can be started like this

ts-node examples/live-scoring.ts fixtures/Bayreuth/2018-05-30/Open/task.tsk fixtures/Bayreuth/2018-05-30/Open/filter.csv

Live-scoring using remote filter and task files directly from GliderTracker.org can be started like this

ts-node examples/live-scoring.ts "http://glidertracker.org/#tsk=https://gist.github.com/hsteinhaus/4369987643f0081d49c4458baa8c1422/raw/task&lst=https://gist.github.com/hsteinhaus/4369987643f0081d49c4458baa8c1422/raw/filter"

Usage

Single flights

  • Show the detected task points on a map

     ts-node examples/task-point-tracker.ts TASK_PATH IGC_PATH
  • Show a map with the flight path, task and all detected area intersections.

    ts-node examples/show-area-intersections.ts TASK_PATH IGC_PATH
  • Show a map with the flight path and task.

    ts-node examples/show-flights.ts TASK_PATH IGC_PATH
  • Print the detected task points and times as well as the final speed and distance

    ts-node examples/analyze-flight.ts TASK_PATH IGC_PATH
  • Show a map with the flight path, task and the optimized AAT path

    ts-node examples/show-aat-path.ts TASK_PATH IGC_PATH
  • Show the given task on a map

    ts-node examples/show-task.ts TASK_PATH

Scoring a competition

  • Calculate the ranking for a given competition day. Expected folder structure:

    • ./task.tsk - task in xcsoar task format
    • ./filter.csv - list of pilots, glider types, handicap, etc.
    • ./[A-Z]{1,3}_.*.igc - The flight logs, name prefixed with the CN
    ts-node examples/calc-ranking.ts FOLDER
  • Print the list of start and landing times for a given competition day.

    ts-node examples/calc-flight-times.ts FOLDER

Live tracking and scoring

  • Calculate the live scoring for the given task and pilot/glider list using GliderTracker.

    ts-node examples/live-scoring.ts TASK_PATH CSV_PATH
  • Show the OGN traffic for a given competition

    ts-node examples/show-ogn-traffic.ts CSV_PATH
  • Show track for a given ID

    ts-node examples/glidertracker-history.ts FLARM_ID [YYYY-MM-DD]

License

aeroscore is licensed under the MIT License.