Llicència
Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència
Autors:
Projecte dades Estat dels embassaments
- Utilitza el mateix projecte que el que hem utilitzat als exercicis
- Crea un package cat.itb.elteuusuari(*).dam.m03.uf5.dadesaigua
- Assegura't de mostrar els mateixos textos usats als exemples.
- Quan la vulguis entregar afegeix el tag "practicaUF5" a la versió.
- Assegura't de pujar el tag al git i que el projecte compili.
Sumari
- Els Outputs poden no estar actualitzats
ReservoirStatsApp
Volem fer un petit programa que analitzi les estadístiques dels estats dels embassaments.
API
Per fer-ho utilitzarem les dades de la api "quantitat d'aigua als embassaments de les conques" a la següent web:
https://analisi.transparenciacatalunya.cat/Medi-Ambient/Quantitat-d-aigua-als-embassaments-de-les-Conques-/gn9e-3qhr
Consulta els apunts de la uf3 per obtenir les dades d'una api
Per treballar amb les dates fes servir la classe LocalDateTime
Exemples LocalDateTime
@SerialName("dia") val date: LocalDateTime
...
fun getTodayLocalDateTime(): LocalDateTime {
return Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault())
}
val date2022 = LocalDateTime(2022, 1, 1, 0, 0, 0)
ShowReservoirs
Imprimeix el nom dels embassaments dels quals disposem informació i el número total d'embassaments.
Output:
---- INFORMACIÓ DELS EMBASSAMENTS ---
Embassament de Siurana (Cornudella de Montsant)
Embassament de la Llosa del Cavall (Navès)
Embassament de Sau (Vilanova de Sau)
Embassament de Foix (Castellet i la Gornal)
Embassament de Sant Ponç (Clariana de Cardener)
Embassament de la Baells (Cercs)
Embassament de Riudecanyes
Embassament de Darnius Boadella (Darnius)
Embassament de Susqueda (Osor)
Número total d'embassaments = 9
--- --------------------------- ---
CurrentState
Mostra l'estat actual dels embassaments. Concretament volem saber per cada embassament el percentatge del volum en la última data de la que tinguem informació
Output:
---- ESTAT ACTUAL DELS EMBASSAMENTS ---
7.2 - Embassament de Siurana (Cornudella de Montsant)
23.8 - Embassament de la Llosa del Cavall (Navès)
7 - Embassament de Sau (Vilanova de Sau)
69 - Embassament de Foix (Castellet i la Gornal)
29.8 - Embassament de Sant Ponç (Clariana de Cardener)
25.3 - Embassament de la Baells (Cercs)
8 - Embassament de Riudecanyes
29.1 - Embassament de Darnius Boadella (Darnius)
38 - Embassament de Susqueda (Osor)
--- ----------------------------- ---
LowestLevelSince
Per cada embassament voldrem saber quina ha estat la capacitat mínima a partir d'una data en concret.
Aquelles sortides en què la capacitat mínima sigui l'actual les mostrarem de color vermell
Exemples per modificar el color
val RED_COLOR = "\u001B[31m"
val RESET_COLOR = "\u001B[0m"
var color = RED_COLOR
println(color + entry.key + " - " + lowestVolume.percentageVolume + " - " + lowestVolume.date + RESET_COLOR)
Output:
---- MÍNIMA CAPACITAT DES DE 2020-01-01T00:00
Embassament de Siurana (Cornudella de Montsant) - 4.2 - 2023-02-22T00:00
Embassament de la Llosa del Cavall (Navès) - 23.8 - 2023-04-27T00:00 *
Embassament de Sau (Vilanova de Sau) - 10 - 2023-03-12T00:00
Embassament de Foix (Castellet i la Gornal) - 69 - 2023-04-27T00:00 *
Embassament de Sant Ponç (Clariana de Cardener) - 29.8 - 2023-04-27T00:00 *
Embassament de la Baells (Cercs) - 25.3 - 2023-04-27T00:00 *
Embassament de Riudecanyes - 10 - 2023-02-12T00:00
Embassament de Darnius Boadella (Darnius) - 29.1 - 2023-04-27T00:00 *
Embassament de Susqueda (Osor) - 35.8 - 2023-02-16T00:00
-----------------------------------
- En aquest exemple enlloc de mostrar-ho en vermell ho hem marcat amb un asterisc
AvgLevelComparison
Per cada embassament volem mostrar la mitjana del percentatge anual en diferents anys, per poder veure quina evolució segueix. Concretament volem la mitjana de l'any passat, la mitjana de fa 5 anys i la mitjana de fa 10 anys
Per fer-ho pots obtenir les dades parcialment filtrades directament de la api, passant paràmetres per la petició GET. La api et permet generar filtres i aleshores cliques a exportar > punt final de la api i copies la URL que ha generat
Output:
---- COMPARATIVA DE MITJANES ANUALS ----
2012 - 2017 - 2022 - Embassament
50.11 - 44.42 - 32.19 - Embassament de la Baells (Cercs)
40.15 - 34.77 - 22.02 - Embassament de Sau (Vilanova de Sau)
27.57 - 19.64 - 18.08 - Embassament de Riudecanyes
52.94 - 50.74 - 47.23 - Embassament de Susqueda (Osor)
76.42 - 70.17 - 50 - Embassament de Sant Ponç (Clariana de Cardener)
29.94 - 10.45 - 8.23 - Embassament de Siurana (Cornudella de Montsant)
36.92 - 35.42 - 32.97 - Embassament de Darnius Boadella (Darnius)
86.57 - 81.58 - 76.85 - Embassament de Foix (Castellet i la Gornal)
48.37 - 38.55 - 28.75 - Embassament de la Llosa del Cavall (Navès)
------------------------------------