pyspc.webservice.meteofrance.open_data.OpenData
- class pyspc.webservice.meteofrance.open_data.OpenData(hostname=None, proxies=None, timeout=None, verify=None)[source]
Bases :
objectStructure du client accédant aux données de METEO.DATA.GOUV.FR.
- hostname
Hôte du webservice
- Type:
str
- proxies
Dictionnaire des proxys {“protocol”: “proxy”}
- Type:
None, dict
- timeout
Durée maximale de la requête
- Type:
None, int
- session
Session de la requête
- Type:
requests.Session
- url
Adresse de la requête
- Type:
None, str
- filename
Fichier enregistré en local
- Type:
None, str
- verify
Vérification du certificat SSL. Voir requests.get
- Type:
None, str, bool
- __init__(hostname=None, proxies=None, timeout=None, verify=None)[source]
Instanciation du webservice
- Paramètres:
hostname (str) – Hôte du webservice. Par défaut: eaufrance
proxies (None, dict) – Dictionnaire des proxys {“protocol”: “proxy”}
timeout (None, int) – Durée maximale de la requête. Par défaut: 300 secondes.
verify (None, str, bool) – Vérification du certificat SSL. Voir requests.get
Methods
__init__([hostname, proxies, timeout, verify])Instanciation du webservice
check_timestep(timestep)Contrôler s'il s'agit bien d'un export autorisé
get([remotedir, remotefile])Récupérer les données de METEO.DATA.GOUV.FR.
Obtenir la liste des exports
login()Ouvrir une session requests.Session.
logout()Fermer une session requests.Session.
retrieve([codes, start, end, timestep, ...])Récupérer les données de METEO.DATA.GOUV.FR en local.
set_basename([dept, date, timestep, rr_t_uv])Définir le nom du fichier à télécharger.
- get(remotedir=None, remotefile=None)[source]
Récupérer les données de METEO.DATA.GOUV.FR.
- Paramètres:
remotedir (str) – Sous-répertoire du fichier distant
remotefile (str) – Nom de base du fichier distant
- Renvoie:
res – Retour de requests.Session.get
- Type renvoyé:
requests.models.Response
Voir aussi
pyspc.convention.meteofrance.MDG_HOSTANME,pyspc.convention.meteofrance.MDG_DSC,pyspc.webservice.meteofrance.OpenData.retieve
- classmethod get_timesteps()[source]
Obtenir la liste des exports
- Renvoie:
Liste des pas de temps des données METEO.DATA.GOUV.FR
- Type renvoyé:
list
Voir aussi
- retrieve(codes=None, start=None, end=None, timestep=None, dirname='.', desc=False, rr_t_uv=None)[source]
Récupérer les données de METEO.DATA.GOUV.FR en local.
- Paramètres:
codes (list) – Identifiants des sites météo
start (datetime.datetime) – Première date
end (datetime.datetime) – Dernière date
timestep (datetime.timedelta) – Type d’export Hydroportail
dirname (str) – Répertoire local d’archivage des fichiers Hydroportail. Défaut: “.”
desc (bool) – Exporter le fichier de description. Défaut: False
rr_t_uv (bool) – Précipitations (RR), Température de l’air (T) ou Vent (UV)
- Renvoie:
filenames – Fichiers enregistrés
- Type renvoyé:
list
Voir aussi
pyspc.convention.meteo_france.DATATYPES,pyspc.webservice.meteo_france.OpenData.getExemples
CAS DES DONNEES HORAIRES
>>> odata = OpenData() >>> odata.login()) >>> filenames = odata.retrieve(codes=['43111002'], ... start=2019-09-01 00:00:00, ... end=2024-05-13 06:58:19.347953, ... timestep=1:00:00, ... dirname='data', ... desc=True) >>> filenames ['data\H_43_2010-2019.csv.gz', 'data\H_43_latest-2023-2024.csv.gz', 'data\H_43_previous-2020-2022.csv.gz', 'data\H_descriptif_champs.csv'] >>> odata.logout())
CAS DES DONNEES EN MINUTES
>>> odata = OpenData() >>> odata.login()) >>> filenames = odata.retrieve(codes=['43111002'], ... start=2019-09-01 00:00:00, ... end=2024-05-13 06:58:37.669703, ... timestep=0:06:00, ... dirname='data', ... desc=True) >>> filenames ['data\MN_43_2010-2019.csv.gz', 'data\MN_43_latest-2023-2024.csv.gz', 'data\MN_43_previous-2020-2022.csv.gz', 'data\MN_descriptif_champs.csv'] >>> odata.logout())
CAS DES DONNEES JOURNALIERES (RR, TA, UV)
>>> odata = OpenData() >>> odata.login()) >>> filenames = odata.retrieve(codes=['7075001', '07105001'], ... start=2019-09-01 00:00:00, ... end=2024-05-13 06:58:56.903236, ... timestep=1 day, 0:00:00, ... dirname='data', ... desc=True, rr_t_uv=True) >>> filenames ['data\Q_07_latest-2023-2024_RR-T-Vent.csv.gz', 'data\Q_07_previous-1950-2022_RR-T-Vent.csv.gz', 'data\Q_descriptif_champs_RR-T-Vent.csv'] >>> odata.logout())
CAS DES DONNEES JOURNALIERES (AUTRES GRANDEURS)
>>> odata = OpenData() >>> odata.login()) >>> filenames = odata.retrieve(codes=['7075001', '07105001', ... '07154005', '43111002'], ... start=2019-09-01 00:00:00, ... end=2024-05-13 06:59:10.606568, ... timestep=1 day, 0:00:00, ... dirname='data', ... desc=True, ... rr_t_uv=False) >>> filenames ['data\Q_07_latest-2023-2024_autres-parametres.csv.gz', 'data\Q_07_previous-1950-2022_autres-parametres.csv.gz', 'data\Q_43_latest-2023-2024_autres-parametres.csv.gz', 'data\Q_43_previous-1950-2022_autres-parametres.csv.gz'] >>> odata.logout())
- set_basename(dept=None, date=None, timestep=None, rr_t_uv=None)[source]
Définir le nom du fichier à télécharger.
- Paramètres:
dept (int) – Département
date (datetime.datetime) – Date cible
timestep (datetime.timedelta) – Pas de temps
rr_t_uv (bool) – Précipitations (RR), Température de l’air (T) ou Vent (UV)
Exemples
>>> odata = OpenData() >>> odata.set_basename(dept=43, date=1910-01-01 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_1865-1949_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=1910-01-01 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=False) Q_43_1865-1949_autres-parametres.csv.gz
>>> odata.set_basename(dept=43, date=1949-12-31 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_1865-1949_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=1950-01-01 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_previous-1950-2022_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2022-12-31 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_previous-1950-2022_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2023-01-01 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2023-12-31 00:00:00, ... timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=43, date=2024-04-30 00:00:00, ... <<timestep=1 day, 0:00:00, rr_t_uv=True) Q_43_latest-2023-2024_RR-T-Vent.csv.gz
>>> odata.set_basename(dept=15, date=1920-01-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_1920-1929.csv.gz
>>> odata.set_basename(dept=15, date=1958-12-31 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_1950-1959.csv.gz
>>> odata.set_basename(dept=15, date=2000-01-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_2000-2009.csv.gz
>>> odata.set_basename(dept=15, date=2009-12-31 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_2000-2009.csv.gz
>>> odata.set_basename(dept=15, date=2010-01-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_2010-2019.csv.gz
>>> odata.set_basename(dept=15, date=2019-12-31 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_2010-2019.csv.gz
>>> odata.set_basename(dept=15, date=2020-01-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=15, date=2022-12-31 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=15, date=2023-01-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=15, date=2024-05-01 00:00:00, ... timestep=1:00:00, rr_t_uv=True) H_15_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=7, date=2000-01-01 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_2000-2009.csv.gz
>>> odata.set_basename(dept=7, date=2009-12-31 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_2000-2009.csv.gz
>>> odata.set_basename(dept=7, date=2010-01-01 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_2010-2019.csv.gz
>>> odata.set_basename(dept=7, date=2019-12-31 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_2010-2019.csv.gz
>>> odata.set_basename(dept=7, date=2020-01-01 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=7, date=2022-12-31 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_previous-2020-2022.csv.gz
>>> odata.set_basename(dept=7, date=2023-01-01 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_latest-2023-2024.csv.gz
>>> odata.set_basename(dept=7, date=2024-05-01 00:00:00, ... timestep=0:06:00, rr_t_uv=True) MN_07_latest-2023-2024.csv.gz