# Météo-France Python API


====================

# Previsions météo : 

utilisation d'API http://webservice.meteofrance.com fournissant jusqu'a 14 jours de previsions 

source : HACF Communauté francophone pour Home-Assistant

https://github.com/hacf-fr/meteofrance-api

====================

# historique météo : 

utilisation d'API https://public-api.meteofrance.fr fournissant des données par station météo 


![station select](map_pin.jpg)

Etapes :

    1 - Recherche des stations météo les plus proches d'un point GPS et ayants un historique sur la periode demandée

    2 - Passer une commande de données pour chaque année

    3 - Télécharger les données
    
    4 - En cas d'erreur chercher l'historique dans la nième station la plus proche Etc ..

======================


# Exemple d'utilisation:


    test_api_token = 'eyJ4NXQiOiJZV0kxTTJZNE1qWTNOemsyTkRZeU5XTTRPV014TXpjek1UVmhNbU14T1RSa09ETXlOVEE0Tnc9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9. .j5kSjg6vBmQlJwtRHORzlkqmGkHM2acudIuMCEHSQMWpbyMObjC12U87SleMVWTRvDJp2kK5SxiQUBubGH1InbQMCKwjwvJx7smJ4PaNtrz-oTBtfucUHze-iSs6qS3l70uk1JDuW9kj45u4kqU8yfzGGzrJ6ix-lIewqX3kaS_rUVKqqc1tzi_N_2OVxgrbagu4oFgeoj2m7jylivH6SLbWgxEhWYci5h1-eak466JHDgsBJw2zffXgfTkjAb-WkZ7Gd7ICM449GD-sl9WrJo8OqzKdR2NAy9TFL33RyWP2S2nAgKmX8iyOawchsr7ECtloNYrk_bdzUtIdci17rg=='

    client = MeteoFranceClient()
    #################################### FORCAST ##############################################################
    forcast = client.get_forecast(latitude=44.84153973276238, longitude=-0.5798359378981625, language='fr')
    dailyForcast = forcast.daily_forecast
    dfResult = pd.DataFrame({})
    dates = []
    Tmin = []
    Tmax = []
    RR = []
    Desc = []
    for dforcast in dailyForcast:
        dates.append(str(datetime.fromtimestamp(dforcast['dt'])))
        Tmin.append(dforcast['T']['min'])
        Tmax.append(dforcast['T']['max'])
        RR.append(dforcast['precipitation']['24h'])
        Desc.append(dforcast['weather12H']['desc'])


    dfResult['date'] = dates
    dfResult['Tmin'] = Tmin
    dfResult['Tmax'] = Tmax
    dfResult['precipitation'] = RR
    dfResult['description'] = Desc

    dfResult.to_csv('export.csv', index=False)


    ####################################### HiSTORY ########################################## 
    
    ################# Commande des données journalières ######################################
    HistoryData = client.getDataOfClosestStation(33 , test_api_token, 44.89710867517252, -0.5004530272595558
                                                , '2019-03-15' , '2021-03-15')

    HistoryData.to_csv('export.csv', index=False)

    ################# Commande des données horaires ######################################
    # il faut ajouter le paramétre fréquence (H)
    HistoryData = client.getDataOfClosestStation(33 , test_api_token, 44.89710867517252, -0.5004530272595558
                                                , '2024-03-15T12:00:00Z' , '2024-03-15T20:00:00Z' , 'H')

    HistoryData.to_csv('export.csv', index=False)

    ################# Commande des données avec une fréquence de 6 minutes ######################################
    # il faut ajouter le paramétre fréquence (M)
    HistoryData = client.getDataOfClosestStation(33 , test_api_token, 44.89710867517252, -0.5004530272595558
                                                , '2024-03-15T12:00:00Z' , '2024-03-15T12:30:00Z' , 'M')

    HistoryData.to_csv('export.csv', index=False)


    ###########################################################################################