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

Catalog objects are viewable, and their TLE’s are downloadable by Celestrak category #253

Open
johngribbin opened this issue Mar 3, 2020 · 11 comments
Labels
enhancement New feature or request
Projects

Comments

@johngribbin
Copy link
Collaborator

johngribbin commented Mar 3, 2020

This feature would:

  • Extend the “catalog” view to allow browsing objects by all of the available Celestrak object categories.
  • Allow users to browse the 3700 satellites in the TruSat catalog in a familiar (Celestrak) group and help make the catalog content easier to engage with.

It will require navigation queries for the various object categories, and mimic the service offered by Celestrak here - https://www.celestrak.com/SpaceTrack/TLERetriever3Help.php

@johngribbin johngribbin added the enhancement New feature or request label Mar 3, 2020
@johngribbin johngribbin added this to To do in TruSat via automation Mar 3, 2020
@mikeville
Copy link
Collaborator

Here's a design that replaces the "all" filter with a "more" dropdown:
Screen Shot 2020-03-23 at 3 12 44 PM

Figma design file here.

@mikeville
Copy link
Collaborator

Let's track category labels and groups in this public doc.

@johngribbin
Copy link
Collaborator Author

@mikeville Do we want to include a description for these new filters? The way I see it, we can do one of two things:

  1. Basic description - These are the Starlink objects in the TruSat Catalog
  2. More detailed - These are satellites that form part of a constellation being created by American company SpaceX to provide satellite internet access

This is the component that will need to be updated when a decision is made - https://github.com/TruSat/trusat-frontend/blob/dev/src/catalog/components/FilterDescription.js

@johngribbin
Copy link
Collaborator Author

johngribbin commented Mar 26, 2020

FYI - frond end work on this feature can be tracked on the celestrak-categories branch.

See here, a tweak to the FilterDescription component that covers the "Basic Description" update outlined in the comment above - https://github.com/TruSat/trusat-frontend/blob/feature/celestrak-categories/src/catalog/components/FilterDescription.js

@mikeville
Copy link
Collaborator

@johngribbin Good idea with the description.

For the text All the objects classified as "${catalogFilter}" in the TruSat Catalog, is the category title that's in the category dropdown available to put in the description instead of its respective catalogFilter argument?

For example, "nnss" would instead read as "Navy navigation satellite"?

@johngribbin
Copy link
Collaborator Author

@mikeville It is possible, but it would take a rethink of how "state" is managed for a number of components. I'll have a look at it

@johngribbin
Copy link
Collaborator Author

Summary of changes that were made this morning in response to feedback can be viewed here - #284

Changes were all merged to the dev branch can be viewed by running TruSat locally. Following the steps outlined in the Get Started section of the README here - https://github.com/TruSat/trusat-frontend/blob/dev/README.md and make sure to checkout the dev branch

Alternative you can view the current state of the feature by visiting the dev deployment site hosted here - https://devvymcdevface.trusat.org/catalog/priorities

@mikeville @interplanetarychris @mainnebula

@johngribbin
Copy link
Collaborator Author

johngribbin commented Apr 2, 2020

After quick chat with @Kmoneal, I've got some questions re Download ${catalogFilter} TLEs button on the catalog view.

Currently if no data is found for a given catalogFilter, the CatalogTable does not render any rows, and instead returns the message The catalog does not currently include any objects that match the filter chosen. I have noticed that when this happens, then there is not going to be any TLEs either to download. Questions:

  1. Should we hide the button when it is found that there is no data to be rendered in the table?
  2. Is there celestrak categories that do return data to be displayed in the table, but do not not return any TLE data to be downloaded? And if so what should we do in that case?

@mikeville @interplanetarychris

@interplanetarychris
Copy link
Collaborator

interplanetarychris commented Apr 2, 2020 via email

@johngribbin
Copy link
Collaborator Author

#285

Changes deployed to development site - https://devvymcdevface.trusat.org/catalog/one-web

Download TLEs button now hidden when no data is returned to the Catalog Table.

@johngribbin
Copy link
Collaborator Author

johngribbin commented Apr 8, 2020

After testing the Celestrak Categories feature, I found that the following Categories return objects to the CatalogTable, but do not offer any TLEs to download:

  • IRIDIUM 33 (iridium-33)
  • Cosmos-2251 (cosmos-2251)
  • Planet (planet)
  • Spire (spire)
  • Education (education)
  • Experimental (experimental)
  • Molniya (molniya)
  • Military (military)
  • Radar Calibration (radar-calibration)
  • Other (other)
  • System-navigation (system navigation)

With the current implementation of the DownloadCatalogFilterTleButton the front-end does not know if there is going to be any TLEs available before the user clicks the button. A quick fix for this could be to include the number of TLEs in the data returned to the /catalog/{catalogFilter} endpoint - which could be used to decide whether or not to render the button. This would be a much better UX.

Another bonus from doing this fix is that we can include in the change the number of objects for a given category - and I can use this in the FilterDescription component to inform the user of how many objects we have information on for the filter they just selected.

@Kmoneal We currently return an array of objects from the /catalog/${catalogFilter} endpoint. I propose we change this to return a JSON object that looks like the following:

{
    data: [],
    object_count: integer 999,
    tle_count: 50
}

data would be the value that is currently returned - i.e. an array of objects (one for each sat object)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
TruSat
  
To do
Development

No branches or pull requests

3 participants