Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Options for visualizing marine navigation tracks #61

Closed
mbof opened this issue Aug 13, 2024 · 8 comments
Closed

Options for visualizing marine navigation tracks #61

mbof opened this issue Aug 13, 2024 · 8 comments

Comments

@mbof
Copy link
Contributor

mbof commented Aug 13, 2024

Hi, thank you for gpx.studio!

I frequently use it to plot sailing outings (I generate GPX tracks using the project listed here: https://github.com/mbof/hxsync).

My two main suggestions for what would make this better are:

  • Support for nautical distance and speed units (nautical miles for distance, knots for speed)
  • Ability to remove elevation from the chart (typically it is just noise, I would just like to see only speed instead)

As a bonus, another thing that would be really neat:

  • Ability to set color from speed (e.g. gradient from red to green corresponding to speeds from slow to fast)
@mbof
Copy link
Contributor Author

mbof commented Aug 13, 2024

I may be able to contribute a PR, but before doing so, as suggested in README I wanted to discuss the proposed changes first:

For the first thing, here is what I would propose: adding a "Nautical" option to both the distance and velocity settings
image

For the second thing, I would propose adding a "mountain" icon to the controls to toggle elevation on/off (default on):
image

For the third thing, I would propose changing the Appearance dialog to have two options for "Color":

  • A static color (default)
  • A drop-down allowing user to pick a value to map to colors (speed, slope, etc.) which would then map min / max of that value over the track to the extents of a gradient

Happy to split this into different bugs if appropriate.

@vcoppe
Copy link
Contributor

vcoppe commented Aug 19, 2024

Speed is in knots and distance in nautical miles, right?
I am not against including this, everything is handled in (kilo)meters behind the scenes and it's only the display that is adapted to the user's preferences. If you want to try to implement this yourself, I can give you some pointers to relevant parts of the code if needed.

@vcoppe
Copy link
Contributor

vcoppe commented Aug 19, 2024

I have to think about making the elevation data toggleable. It is technically doable but having it always displayed makes it easy to handle some user interactions. How annoying is it for your specific use case?

@vcoppe
Copy link
Contributor

vcoppe commented Aug 19, 2024

Your third suggestion is similar to #62.

@mbof
Copy link
Contributor Author

mbof commented Aug 19, 2024

Speed is in knots and distance in nautical miles, right? I am not against including this, everything is handled in (kilo)meters behind the scenes and it's only the display that is adapted to the user's preferences. If you want to try to implement this yourself, I can give you some pointers to relevant parts of the code if needed.

OK, I might give this a shot. Thank you.

I have to think about making the elevation data toggleable. It is technically doable but having it always displayed makes it easy to handle some user interactions. How annoying is it for your specific use case?

It's pretty annoying because it makes it more difficult to see what I really want to see (speedup / slowdowns). That said I appreciate that it can be more challenging to show. Is this about the "empty state", i.e. what to show instead of a big blank box if everything is deselected? If so, I could maybe suggest a design for this.

Your third suggestion is similar to #62.

Yes I noticed that. Besides slope and speed, I have also seen color used to signal elevation for airplane tracks. I think maybe the general feature is about picking a track variable and set color dimension. There may be questions about setting up extents of the range (is it just min/max of the track, or a fixed set for all tracks). Would you prefer to use #62 to track this?

@mbof
Copy link
Contributor Author

mbof commented Aug 22, 2024

I sent #66 for review at your convenience, for the first suggestion.

For the second suggestion, here's a screen recording of something useful to do with the chart: correlate speed and location on the map to understand where speed was gained and lost. As you can see there is a lot of noise to ignore in that chart because of elevation and slope.

nav.mov

vcoppe added a commit that referenced this issue Aug 26, 2024
* Add support for nautical units

* Make panel reactive to unit changes even after pushing down conversions into utility functions.

* Fix issue: km->mph conversion was not done right.

* Add support for nautical units to the Time dialog.

* Add support for nautical units to the embedding view and embedding playground.

* add missing parameter and rename

* "npx prettier" pass on the files changed in this PR

Does not include changes to `website/src/lib/db.ts`, because there would otherwise be lots of unrelated formatting changes

* Change elevation unit to meters for 'nautical' distances.

* hide elevation decimals

---------

Co-authored-by: bdbkun <[email protected]>
Co-authored-by: vcoppe <[email protected]>
@vcoppe
Copy link
Contributor

vcoppe commented Aug 29, 2024

Closing this since:

  • your first suggestion was integrated (thanks again for your work!),
  • the third one was suggested in another issue and progress will be tracked there.

Concerning the second one, I think it adds a lot of complexity to the code base for what it is. Having a single dataset used as the main y-axis makes it really simple to handle. Visualizing the slope and surface is also done by coloring this same dataset. Therefore, I am not for adding this at the moment.

@vcoppe vcoppe closed this as completed Aug 29, 2024
@mbof
Copy link
Contributor Author

mbof commented Aug 29, 2024

Sounds good, thanks for considering!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants