Closed erikasv closed 1 month ago
Hey team! Please add your planning poker estimate with Zenhub @cazapatamar @ManuelStardust
Este es al avance de esta tarea:
Se logra implementar la logica del corte en la capa ´services´ el cual se llama desde la definicion de la ruta. Asi mismo se està recibiendo el poligono como parametro de la peticion post y esta se està leyendo, transformando para poder pasarselo al servicio, realizar el corte y, configurar colores y demas parametros y retornar el binario en formato PNG.
La ruta lo recibe y lo retorna como un response de content_type:png.
Hay algo que no me gusta del todo de esta implementacion y es que la logica del corte tiene unas dependencias de matplotlib y algo me dice que no es necesario y que quiza se puede hacer de otra forma mas directa y quizà encontrando una mejora en desempeño, aunque asi como esta funciona.
Creo que hay que continuar trabajando en el punto anterior, en la organicacion del servicio, y en revisar a profundidad los otros tipos de response (si es que los hay) asi como lo hablamos en la reunion de seguimiento del spike.
Se cumple con el objetivo de la tarea ya que se generó toda la logica para que el endpoint recibiera el geojson en el body de la peticion post, se creo la capa servicios la cual procesa los datos y retorna la respuesta, se crean utilitarios para manejo de raster (corte y generar png), se agrega logica para leer las variables del archivo .env.
Si bien se implementó una funcion de corte y generar png, se recomienda revisarla ya que no parece ser lo mas optimo. Evaluar si se puede quitar dependencias matplotlib y buscar otras librerias para realizar este proceso y que sea mas optimo. Se puede revisar:
Pillow Rasteroi Windowed. Este ejemplo puede servir tambien.
Descripción
Implementar la lógica para retornar el raster de una métrica. El alcance de esta tarea va a ser retornar el raster cortado por el polígono para 1 periodo de pérdida y persistencia, cualquiera. También se deben hacer las siguientes cosas:
service
, por el momento estamos siguiendo las recomendaciones de FastAPI, pero solo hay un enfoque sobre los routers, la otra capa la llaman internal y eso no me gusta, no dice nada. Una vez se tome la decisión, documentarla en el archivo de los proyectos en pythonConsideraciones