This project is an interactive web-based tool for computing and visualizing the shortest path using Dijkstra's algorithm on raster map data. It supports environmental planning by helping users identify cost-effective and potentially more environmentally friendly powerline routes.
- ✅ Interactive map with raster visualization (
.tif) - ✅ Click-to-select start and goal points
- ✅ Dijkstra algorithm with 8-directional movement
- ✅ Path visualization and export to
.txt - ✅ Environmental analysis support via LLM (Streamlit + Meta-LLaMA)
- Dash (Plotly) – Interactive UI
- NumPy – Matrix computations
- Rasterio – Raster data loading
- Streamlit – Environmental impact assistant
- OpenAI / LLaMA API – Natural language evaluation
- GeoJSON / TXT – Data input/output
📁 root
├── dash_app.py # Dash UI and Dijkstra pathfinding
├── dijkstra.py # Dijkstra algorithm (8 directions) + save to txt
├── landuse_cutout.tif # Raster map (not included here)
├── jihocesky_median_bezoutliers.geojson # Area map data (geojson)
├── proposed_route.txt # Example input route
├── villages_layers.txt # Area environmental layers
├── main.py # Streamlit LLM-based analysis tool
git clone https://github.com/kruzek/GreenHack.git
cd GreenHackpip install -r requirements.txt(Make sure you have a Python 3.8–3.11 environment.)
python dash_app.pyGo to http://127.0.0.1:8050 in your browser.
streamlit run main.py- Load the
landuse_cutout.tifraster. - Let the user select start/goal points.
- Apply Dijkstra's algorithm with cost weighting and 8 directions.
- Visualize the path on a heatmap.
- Allow download of path as
.txt.
- Loads
villages_layers.txtandproposed_route.txt - Takes user messages and proposed path
- Uses Meta-LLaMA 3 to provide a structured environmental impact analysis
- Suggests improved or shortened routes based on impact
Created for the GreenHack 2025 challenge by the GreenHulk team.