Skip to content

Rening23/Geocodev-Watershed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Geocodev-Watershed

watersehd.mp4

Herramienta para el cálculo de una cuenca hidrográfica a partir de un DTM (GeoTIFF) y las coordenadas del punto de salida. Backend en Django + DRF y frontend en React.

Contenido del repositorio

Backend (geodetic_calculator/)

  • Django + DRF con endpoints para:
    • Previsualizar DTM: convierte GeoTIFF a PNG georreferenciado con bounds en EPSG:4326.
    • Delinear cuenca: calcula la cuenca que drena hacia un punto (pour point) usando pysheds.
  • Dependencias clave: rasterio, shapely, pyproj, pysheds, numpy, pillow.
  • Configuración mínima para despliegue local.

Estructura principal:

  • geodetic_calculator/manage.py
  • geodetic_calculator/geodetic_calculator/settings.py
  • geodetic_calculator/geodetic_calculator/urls.py
  • geodetic_calculator/hidrologia_app/views.py
  • geodetic_calculator/hidrologia_app/utils.py
  • geodetic_calculator/requirements.txt
  • geodetic_calculator/Dockerfile
  • geodetic_calculator/docker-compose.yml
  • geodetic_calculator/.env

Endpoints (backend):

  • POST /hydrology/geotiff-to-png-reproy/
    • FormData: dtm_file
    • Respuesta: { png_data_url, bounds }
  • POST /hydrology/watershed/
    • FormData: dtm_file, pour_point ({"type":"Point","coordinates":[lon,lat]}), snap_radius_cells (opcional)
    • Respuesta: FeatureCollection con area_m2, area_ha, perimeter_m y meta con el punto ajustado
  • GET /health/

Frontend (geocodev-frontend/)

  • React (CRA) con una sola pantalla para:
    • Cargar DTM (GeoTIFF) y previsualizarlo en el mapa.
    • Seleccionar el punto de salida (clic en mapa o ingreso manual).
    • Ejecutar cálculo de cuenca y descargar GeoJSON.
  • Dependencias clave: react, axios, leaflet.

Estructura principal:

  • geocodev-frontend/src/App.js
  • geocodev-frontend/src/WatershedTool.jsx
  • geocodev-frontend/src/utils/api.jsx
  • geocodev-frontend/Dockerfile
  • geocodev-frontend/.env
  • geocodev-frontend/.env.production

Requisitos

  • Docker + Docker Compose
  • (Opcional para desarrollo sin Docker) Python 3.11 y Node 20

Clonar el repo

git clone https://github.com/Rening23/Geocodev-Watershed.git
cd geocodev-Cuencas

Ejecutar en local con Docker

Desde la carpeta raíz del repo:

docker compose -f geodetic_calculator/docker-compose.yml up --build

Servicios:

  • Backend: http://localhost:8000
  • Frontend: http://localhost:3000

Ejecutar en local sin Docker (opcional)

Backend

cd geodetic_calculator
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver 0.0.0.0:8000

Frontend

cd geocodev-frontend
yarn install
yarn start

Variables de entorno

Backend (geodetic_calculator/.env):

DJANGO_SECRET_KEY=change-me
DEBUG=True
ALLOWED_HOSTS=*

Frontend (geocodev-frontend/.env):

REACT_APP_API_URL=http://localhost:8000

Notas

  • El backend está configurado para SQLite por defecto.
  • Para producción, configura DJANGO_SECRET_KEY, DEBUG=False y ALLOWED_HOSTS apropiados.

About

Herramienta para el calculo de una cuenca hidrográfica a partir de un DTM y las coordenadas del punto hacia donde drena esa cuenca. Desarrollada en Python-Django y React.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors