Code Monkey home page Code Monkey logo

flyxc's Introduction

Tests

FlyXC

  • Visualize your flights,
  • Plan your flights,
  • Add your live trackers (inreach, spot, skylines, flyme, flymaster, ogn) to the map.

Contributors

Credits

This workspace has been generated by Nx, a Smart, fast and extensible build system.

Support flyxc

You can support the development of flyxc via the Buy me a Coffee platform

Buy Me A Coffee

Any contribution is greatly appreciated!

flyxc's People

Contributors

mmomtchev avatar osmeras avatar spasutto avatar tris avatar vicb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flyxc's Issues

Add a turn point at the current location

Great app but the airspace height have been done in meters (airspace is in feet ) here in the UK we have to negotiate round airspace that is even lower than 1000m would it be possible to have airspace from 0ft and going up in the correct increments which is usually 500ft

thanks
Nick

Trackers

Only request ~50 trackers per batch.

Use cursor queries.

Initial position

The initial position is set to:

  1. The last known position
  2. THEN the current GPS location when it has been retrieved.

2 should be disabled if the user starts moving the map after 1.

QR Code for XCTrack

Scanning the QR code to load a task into XCTrack on my phone returns 'unsupported QR data'. However it works fine from XCPlanner. I can download the flyxc task and manually open it but it would be much easier to scan it. Thanks

Live tracking updates

  • Have trackers return fixes only,

  • Common post-processing:

    • sort by ts,
    • keep only fixes that are at least 2min appart,
    • split lines if gap > 1h. Only the most recent track is displayed with opacity = 1 if it's not too old.
  • Change the most recent icon to be an arrow pointing to the current direction,

  • Change round icon to use maps built-in symbol.

source xcplanner

Salut

Est-ce que tu utilises le code XCPlanner de Tom Payne ou est-ce que tu l'as réécrit from scratch ?

Optimize status requests

Do not load all the tracks & trackers.

Cache older entities count in Redis, only load the delta

Live tracking

Server side

  • Update DB to allow multiple devices
  • Merge fixes from multiple devices
  • Support incremental updates (instead of fetching 24h)

Client side

  • Support full and incremental updates (24 & 2h)
  • Generate geojson from proto
  • Support 3d
  • Add InReach status - see #23
  • Validate device address / id - see #29

Misc

App/Platform in progress:

App/Platform discussions:

  • XCTrack - they are working on a public API
  • Syride - they are working on a public API

App/Plaform supported:

  • Skylines
  • XCGlobe / Flyme

App/Platform closed

  • livetrack24 - no answers

Storing the proto in the DB would save 10+% space

  const tracks = JSON.parse(zlib.gunzipSync(Buffer.from(trackStr, 'base64')));

  console.log(`initialSize: ${trackStr.length}`);

  const pbf = new Pbf();
  (protos.Tracks as any).write({ track: tracks }, pbf);
  const pbfBuffer = Buffer.from(pbf.finish());

  console.log(`pbfBuffer`, pbfBuffer);

  const zipPbfBuffer = zlib.gzipSync(pbfBuffer, { level: 9 });

  console.log(`zipPbfBuffer`, zipPbfBuffer);
  console.log(`zipPbfBuffer.toString().length`, zipPbfBuffer.toString().length);
  console.log(`zipPbfBuffer.toString('base64').length`, zipPbfBuffer.toString('base64').length);
initialSize: 6284
zipPbfBuffer.toString().length 3925
zipPbfBuffer.toString('base64').length 5576

Glide ratio display

Would it be possible to add the glide ratio to the data display field together with the vario,speed and altitude? Thanks for the great job. Cheers robi

Add thermal layers from thermal.kk7.ch

From Richard Barber on paragliding forum

Is there any chance that you can add thermals for April/August/October and by time of day they were the last features of xcplanner that kept me going back there until its recent demise. skyways can be too noisy in busy areas.

In my opinion those layers are not super helpful and would add churn to the UI.

I would still add support for those if many pilots up vote that issue (smiley icon on top of this text > thumbs up)

How to downoad WP for a route?

How to disable the FAI triangle helper, leaving just the red line tu add multiple waypoints without it changing your track to accomoddate some kind of triangle.
Thank you.
Great app!

Airspaces on the graph

Once the infra will be in place to set the elevation async (#12) then we can add the airspaces on the graph.

Also need to have the top of the airspaces in the metadata.

Handle ago airspaces

Airspaces should only be displayed when there is a single track

Check at zoom level 12

Tracker URL validation

  • make sure it has https://
  • inReach Share/FeedLoader -> Share/Feed
  • do not allow enabling a device is the url is not correct

Print an error if the selected device is not valid (and do not save)

URL handling

  • History.push when a route a modified to allow going back & forward in history.
  • Add tracks ids to the url when a tracks are added (upload or by url - in the later case remove the track param).

Airspace check

This is not really a issue but just a feature request in this very good app.
The vertical profile can be very easily used for track vs airspace check when airspace have limits related to QNH (low airspaces).
For high airspace (the one like FL105) the QNE track altitude related to 1013hp should be used instead of GPS altitude. Some track have it in the IGC.
Adding a new profile with also the QNE altitude will permit this check. The new profile could be added like XContest does (2 lines with different colors) or selecting it from the dropdown on the right.
Thanks for your time
T.

Fix timeouts with long flights

When a track is too long (distance) it might cover too many elevation tiles.

As it takes time to download the tiles from AWS the request might time out and nothing is returned to the browser.

Things to try:

  • download all files in parallel (this would only push the limit further away),
  • download the alt async.

airspace the Netherlands not up to date

Nice interactive map! Ans I support the request for 500 mtr increments.
My issue is that the airspace file for the Netherlands is almost 1 year outdated. Is there something I can do here?
Thanks,
Marco

3D view

Ref:
https://developers.arcgis.com/features/visualization/
https://www.harp.gl/ - https://github.com/heremaps/harp-terrain-datasource
https://github.com/iTowns/itowns

Close Flight

I've just tried to create a triangle but when I used the "Close Flight" it fails to snap together the Start an Finish wpts.

PS. Great work by the way and thanks for what you have done.

Add a copy button in Share popup

Adding a "Copy" button next to the Link field in the Share popup to paste the resulting url into the clipboard would be a very useful feature.

Hit detection for multi-polygon

fce9213 fixes the display for multi-polygons (the former code assume multi-polygon would not exist).

A similar changes should be done for hit detection (i.e. find the airspace at a given point).

Pan the map when the marker moves

When the marker moves because the mouse moves on the graph it should remains visible (i.e. the map should move).

Add a checkbox to disable this feature on the graph ?

Open Distance has disappeared

The option to plan a route as Open Distance has disappeared. It constantly reverts back to competition triangles. Switching between different competitions sometimes showes this option however after a short while it disappeare again.

Live tracks

Move then below regular tracks.

Make older positions smaller.

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.