PEM-Humboldt / biotablero-search-backend

Backend for the search module of BioTablero
MIT License
1 stars 0 forks source link

Endpoint para datos a partir del raster #12

Closed erikasv closed 2 months ago

erikasv commented 3 months ago

Descripción

Hacer la implementación para el endpoint de lo datos para las gráficas por polígono. Se debe realizar toda la separación de la lógica, como se hizo con el endpoint del corte del raster

Julián nos pasó esta librería para hacer los cálculos: https://pythonhosted.org/rasterstats/manual.html#zonal-statistics, si hay otras librerías en el radar, probarlas también.

Consideraciones

A pesar de no ser un POC como tal, ideal que se pueda probar más de una forma de calcular los datos y por lo tanto hacer la reunión de seguimiento

erikasv commented 3 months ago

Hey team! Please add your planning poker estimate with Zenhub @cazapatamar @ManuelStardust

ManuelStardust commented 3 months ago

Se exploro la implementación con dos métodos:

  1. Usando rio_tiler: El tiempo de respuesta es corto y se usa la misma función que se viene utilizando para obtener el recorte de capas con rio_tiler. Esta libreria presenta actualizaciones frecuentes, la última de mayo de 2024.
  2. Usando rasterstats: También muestra un tiempo de respuesta corto para un área de prueba. La última actualización de la libreria es de mayo de 2023.

En ambos casos, luego de extraer las matrices de datos de las áreas cortadas, se usa numpy para las operaciones matemáticas sobre estas matrices. Los valores resultantes presentan pequeñas diferencias entre ambas implementaciones, aún no es claro cual da los resultados mas exactos.

Finalmente se seleccione rio_tiler para la implementación.

ManuelStardust commented 2 months ago

Se encontró la forma de obtener la resolución de la capa con rio_tiler. Sin embargo, aún no se consigue un resultado convincente en el valor de las áreas calculadas, por tanto se solicito una revisión a Julian Torres.

ManuelStardust commented 2 months ago

Finalmente se logró la implementación haciendo la conversión de coordenadas para el polígono recortado y usando GeoPandas para el cálculo de áreas.

Se inicio la creación de un documento para ir recopilando algunas ideas sobre el manejo de datos geográficos en Python.