2013-09-16 13 views
6

Sto cercando di recuperare i dati NOAA passati utilizzando le coordinate latitudinali e longitudinali. Mi interessano sia le serie storiche che i riepiloghi annuali per variabili quali temperatura, velocità del vento, frazione di nubi e precipitazioni.Come utilizzare l'API NOAA per interrogare i dati del tempo passato per un determinato set di coordinate

EX: 2008-02-20 13:00 in (25,033,972 mila, 121,564,493 mila)

spero di automatizzare un processo che consente di ottenere questo per 900,000+ posizioni. Qualche idea? Idealmente questo script verrebbe scritto in R o Python.

+0

http://stackoverflow.com/questions/2502340/noaa-web-service-for-current-weather –

+0

https://code.google.com/p/python-weather-api/wiki/Examples#NOAA –

+0

https://bitbucket.org/btbytes/python-weather-api –

risposta

6
  1. capire la endpoint/dataset che contiene le informazioni che si desidera (o quelli multipli)
  2. Convert latitudine/longitudine in codice di avviamento postale
  3. trovare la stazione corretta per il codice di avviamento postale here
  4. per ciascun endpoint, tirare i dati per ogni posizione.
  5. ???
  6. Profitto ???

Se stai cercando qualcuno per scrivere il tuo codice per te, io sono (come molti altri) disponibile per lavoro freelance.

2

NOAA è ora sulla sua seconda versione dell'API web NOAA. Le API sono utili perché puoi essenzialmente interrogare un servizio web, usando requests e un python dict di argomenti che descrivono ciò che vuoi. @Cravden ha fatto una bella lezione che ti farà iniziare su GitHub. NOAA ha nice documentation che descrive cosa è possibile ottenere e come (è necessario fornire loro e-mail per ottenere un token di accesso). Gli aggregatori di dati climatici Other fanno anche questo genere di cose.
Qualcosa di semplice come questo potrebbe iniziare:

import requests 


def get_noaa_data(url, data_type, header): 

    r = requests.get(url, data_type, headers=header) 
    print(r) 


if __name__ == '__main__': 

    token = 'gotowebsitetorequesttoken' 
    creds = dict(token=token) 
    dtype = 'dataset' 
    url = 'https://www.ncdc.noaa.gov/cdo-web/api/v2/' 

    get_noaa_data(url, dtype, creds) 

Se si sta andando per migliaia di posti, si potrebbe considerare il download di dati a griglia, facendo uno shapefile dei punti, quindi estrarre i valori raster ad una tabella attributi come fatto here.

Problemi correlati