This Demo offers a simple exploratory interface over AIS Data.
The Dashboard is created using Dash & Plotly for the map, Pandas for the frontend data processing, and Tinybird for the backend.
The dataset comes from NOAA, and is a few billion vessel observation samples from 2020.
- Clone this repository
- Create a Python virtual env
python -m venv .venv && ./.venv/bin/activate
- Install the Python dependencies
pip install -r requirements.txt
- Open or create your Tinybird Workspace
- Open the Tinybird Auth Token page and copy the User Admin Token
- In your CLI, run
tb auth
in the repo directory and paste the Auth Token - Then run
tb push
to establish the backend processing structure and serve the data APIs - Use
noaa_uploader.sh
to append as many of the zipped CSV files as you need to Tinybird for sample data. Jan-May is about 1b rows
⚠️ NOTE: NOAA provide this data for free, so don't abuse their download server
- Run
app.py
to have a local Dash app to explore some of the shipping data. The default values should work
You could also stream in live AIS data following the same format.
Created by: @Chaffelson @juliavallina @sdairs