UNPKG

aemet-api

Version:

Cliente TypeScript para la API de AEMET (Agencia Estatal de Meteorología)

187 lines (186 loc) 3.71 kB
/** * Opciones para inicializar el cliente de AEMET */ export interface AemetOptions { /** * URL base de la API de AEMET. Por defecto: https://opendata.aemet.es/opendata/api */ baseUrl?: string; /** * Timeout para las peticiones en milisegundos. Por defecto: 10000 (10 segundos) */ timeout?: number; } /** * Respuesta genérica de la API de AEMET */ export interface AemetResponse { descripcion: string; estado: number; datos: string; metadatos: string; } /** * Información de predicción diaria simplificada */ export interface SimpleForecast { value: string; descripcion: string; tmp: { min: number; max: number; }; } /** * Respuesta de la predicción meteorológica simplificada */ export interface SimpleForecastResponse { name: string; province: string; today: SimpleForecast; tomorrow: SimpleForecast; next2: SimpleForecast; } /** * Respuesta completa de la predicción meteorológica */ export interface ForecastResponse extends SimpleForecastResponse { forecast: any[]; } /** * Estados del cielo para la predicción */ export type SkyState = { [key: string]: string; }; /** * Parámetros para solicitar valores climatológicos diarios */ export interface ClimateValuesParams { /** * Fecha de inicio para la consulta (formato: AAAA-MM-DD) */ startDate: string; /** * Fecha de fin para la consulta (formato: AAAA-MM-DD) */ endDate: string; } /** * Estación meteorológica */ export interface WeatherStation { /** * Indicativo de la estación */ indicativo: string; /** * Nombre de la estación */ nombre: string; /** * Provincia donde se encuentra la estación */ provincia: string; /** * Altitud de la estación (en metros) */ altitud: number; /** * Coordenadas geográficas (latitud y longitud) */ geoposicion?: { latitud: number; longitud: number; }; } /** * Valor climatológico diario */ export interface ClimateValue { /** * Fecha de observación */ fecha: string; /** * Indicativo de la estación */ indicativo: string; /** * Nombre de la estación */ nombre: string; /** * Provincia */ provincia: string; /** * Altitud (metros) */ altitud: number; /** * Temperatura máxima (°C) */ tmax?: number; /** * Hora de la temperatura máxima (HHMM) */ horatmax?: string; /** * Temperatura mínima (°C) */ tmin?: number; /** * Hora de la temperatura mínima (HHMM) */ horatmin?: string; /** * Temperatura media (°C) */ tm?: number; /** * Precipitación diaria (mm) */ prec?: number; /** * Presión máxima al nivel de la estación (hPa) */ presMax?: number; /** * Presión mínima al nivel de la estación (hPa) */ presMin?: number; /** * Velocidad media del viento (m/s) */ velmedia?: number; /** * Velocidad máxima del viento (m/s) */ racha?: number; /** * Dirección del viento (grados) */ dir?: number; /** * Insolación diaria (horas) */ inso?: number; /** * Presencia de niebla durante el día (0/1) */ nieve?: number; } /** * Respuesta con los valores climatológicos diarios */ export interface ClimateValuesResponse { /** * Información de la estación */ station: WeatherStation; /** * Valores climatológicos diarios */ values: ClimateValue[]; }