The goal of this project is to rewrite and consolidate the existing codebases for creating heatmaps of satellite data to create an interactive heatmap. This heatmap can currently display Sentinel-1 data with the ability to select date ranges and data types. The heatmap can also export to a png with formatting matching the old heatmap generation codebases.
- Navigate to the
data-ingest
directory - Create a file named
.env
.env
should contain login credentials to the PostgreSQL DB, ie.export DB_HOST=change_me export DB_USERNAME=change_me export DB_PASSWORD=change_me export DB_NAME=change_me
-
-
If you have the dependencies installed locally you can now run
python3 ingest.py
andsat_data.geojson
will be generated -
If you have conda installed then you can create a conda enviornment using
env.yml
located inside theDocker
directory, you can then runpython3 ingest.py
inside this environment to generatesat_data.geojson
-
- Install rust, rust-lang.org has instructions on how to go about this
- This project uses nightly features of rust, this means you will need a nightly version of rust, run
rustup toolchain install nightly-2024-06-23
- To swtich to a nightly build of rust run
rustup override set nightly-2024-06-23-x86_64-unknown-linux-gnu
This step requires you to have a .env file in the heatmap-service
directory, it should have the following fields:
SERVER_ADDRESS=127.0.0.1:8080 # the bind address for the microservice
CACHE_TTL=3600 # how long (in seconds) the cache should last for
GEO_JSON_PATH=/path/to/geojson
- Move
sat_data.geojson
to theheatmap-service
directory, don't change the file name or the server will fail to find the data - Navigate into the
heatmap-service
directory - Run
cargo run
in the terminal and you now have a locally running version of the server, if the terminal you entered this command into closes you will need to repeat this step in a new terminal
- Navigate to the
heatmap-client
directory - Install trunk, run
cargo binstall trunk
- Run
trunk serve --open
, this should open a page in your default browser, if you would prefer the command not open a page remove--open
and it will serve the client without opening a new page
Elliott Lewandowski
Lily Larson