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
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!
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.
Conceal controls with the 'sun' switch.
Hover over headings to view definitions.
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.
- 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
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.