A simple Streamlit dashboard that visualizes the construction progress of a bridge in southern Chile using Google Earth Engine (GEE) Sentinel‑2 imagery. It displays a side‑by‑side comparison of a start (T₀) and current (T₁) mosaic, computes a linear extrapolation to predict completion, and shows key metrics.
~/apps/idb-geo/
├── app.py # Streamlit app source
├── pyproject.toml # Poetry project definition
├── README.md # (this file)
└── .streamlit/ # optional Streamlit config
-
Clone the repo
git clone https://github.com/baltierra/idb-geo.git cd idb-geo -
Install dependencies with Poetry
# Initialize (if not already): poetry init --no-interaction \ --name idb-geo --python="^3.10" \ --description "Bridge Progress Tracker using GEE and Streamlit" # Add runtime packages: poetry add \ streamlit pandas geopandas geemap earthengine-api \ scikit-learn streamlit-folium folium python-dateutil setuptools # Install deps without installing the root package: poetry install --no-root # Activate the venv: poetry shell
-
Authenticate Earth Engine
poetry run earthengine authenticate
Follow the URL instructions; this writes your credentials to
~/.config/earthengine/. -
Run locally
streamlit run app.py --server.port 8501 --server.address 0.0.0.0
Browse to
http://<VM_IP>:8501(e.g.http://149.165.170.125:8501).
Create /etc/systemd/system/idb-geo.service:
[Unit]
Description=IDB‑GEO Bridge Progress Dashboard
After=network.target
[Service]
Type=simple
User=exouser
Group=exouser
Environment=HOME=/home/exouser
WorkingDirectory=/home/exouser/apps/idb-geo
ExecStart=/usr/bin/env poetry run streamlit run app.py \
--server.port 8501 --server.address 0.0.0.0
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable idb-geo.service
sudo systemctl start idb-geo.serviceView live logs:
sudo journalctl -u idb-geo.service -f- Sidebar: Adjust “Current % complete” slider to reflect the bridge’s reported progress.
- Metrics: See start/current dates, current percentage, predicted completion date, and days remaining.
- Map: Swipe between T₀ and T₁ mosaics over a 2 km buffer around the bridge.
- Extrapolation chart: Toggle on to view the linear fit of progress vs. time.
This project is released under the MIT License. See LICENSE for details.
Maintained by Fabián A. Araneda-Baltierra