Satellites currently orbiting the Earth

Author: Vladislav Fridkin - linkedin - github - youtube
View the Table - Repo - RStudio Cloud Product


An interactive table of satellites built with R Shiny, reactable and gt.
The satellites are currently orbiting the Earth.
Data is sourced from the Union of Concerned Scientists (UCS) UCS Satellite Database.
User guide | Video demo

satellites

Features

  • View summary and detailed information

  • Add and reorder columns using selectize inputs

  • Filter by double clicking and sliding

  • Add cell bars that refresh fast enough for the animated slider

  • Save the above in up to eight custom views

  • Compare a satellite to the population of satellites

  • Discover the oldest, furthest, heaviest satellite and more!

Screenshots

satellites_convenience_commands
Select or clear all measures at once with commands embedded in the select input choices.



Columns with a common unit of measure share cell bar colours.


sun_reveal_control_panel
Conceal controls with the 'sun' switch.



Hover over headings to view definitions.


satellite_info_box
Click on identifiers to view comments, links to sources and a comparison to other satellites (using the gt and echarts4r packages).



Which month has the most satellite launches? View satellite launches by month - by calendar order.



Clicking the moon triggers Inline help (using rintrojs package).



View status of saved views by clicking on the satellite in top left.

Additional features and implementations

  • Column heading tooltips
  • Maintaining sort order on updates to the table
  • Custom implementation of cell bars for faster rendering
  • Saved views are stored between sessions
  • Commands embedded in the selectize inputs

Technical notes


The app implements four modules contained in the R directory. Of those, two are called from server.R and two are submodules of satellite_table.R. The R directory also contains three files for helper functions used throughout the app. Module structure shown above with table packages marked.



Configuration files are contained in config directory. Alongside the yaml file, fields.csv configures all the table columns including names, descriptions, bar colours and number formats. The lookup.csv file is used for looking up descriptions for individual values. The www directory contains the usual assortment of script, css and image files.



Data is contained in the data directory.



User data is stored in the browser's local storage.

3 Likes