En desarrollo…
Calculadora de Promedios Climáticos
Promedio Horario
Promedio Diario
// URL pública de tu Google Sheet (formato CSV)
const SHEET_URL = «https://docs.google.com/spreadsheets/d/e/2PACX-1vRRFbdtqGIqtuamuxnkwGHQ3ctU5_0g3p4ypgYLcubGuRGjHiVrP0tG-oHFwYwsOk4oIFWry5zMHOB2/pub?gid=2041173368&single=true&output=csv»;
async function calcularPromedio(tipo) {
const respuesta = await fetch(SHEET_URL);
const csv = await respuesta.text();
const lineas = csv.split(‘\n’).slice(1); // Ignora encabezados
// Procesar datos (ejemplo para promedio horario)
const promedios = {};
lineas.forEach(linea => {
const [fechaHora, …valores] = linea.split(‘,’);
const hora = new Date(fechaHora).getHours();
if (!promedios[hora]) {
promedios[hora] = { suma: 0, contador: 0 };
}
// Sumar valores (ajusta el índice según tu CSV)
promedios[hora].suma += parseFloat(valores[0]); // Ej: Columna Ch0.Temperatura
promedios[hora].contador++;
});
// Mostrar resultados
let html = ‘
| Hora | Promedio |
‘;
for (const [hora, datos] of Object.entries(promedios)) {
html += `| ${hora}:00 | ${(datos.suma / datos.contador).toFixed(2)}°C |
`;
}
document.getElementById(‘resultados-clima’).innerHTML = html + ‘
‘;
}
.clima-container {
font-family: Arial, sans-serif;
max-width: 600px;
margin: 0 auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
}
.clima-container button {
background: #0073aa;
color: white;
border: none;
padding: 10px 15px;
margin: 0 10px 10px 0;
border-radius: 4px;
cursor: pointer;
}
.clima-container button:hover {
background: #005177;
}
.clima-container table {
width: 100%;
border-collapse: collapse;
}
.clima-container th, .clima-container td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}