2013-09-16 9 views
6

Próbuję odzyskać dane z poprzednich danych NOAA, korzystając z współrzędnych równoleżnikowych i podłużnych. Interesują mnie zarówno historyczne szeregi czasowe, jak i roczne podsumowania zmiennych, takich jak temperatura, prędkość wiatru, frakcja chmury i opady.Jak używać interfejsu API NOAA do wysyłania zapytań dotyczących danych pogodowych dla zadanego zestawu współrzędnych

EX: 2008-02-20 13:00 w (25.033972, 121.564493)

Mam nadzieję, że w celu zautomatyzowania procesu, który osiąga to za 900,000+ lokalizacjach. Jakieś pomysły? Idealnie ten skrypt byłby napisany w R lub Pythonie.

+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 –

Odpowiedz

6
  1. dowiedzieć się endpoint/dataset który zawiera informacje, które chcesz (lub kilku z nich)
  2. Konwersja lat/long pod kodem pocztowym
  3. Znajdź właściwą stację dla kodu pocztowego here
  4. Dla każdego punktu końcowego, pobierz dane dla każdej lokalizacji.
  5. ???
  6. Zysk ???

Jeśli szukasz kogoś, kto napisze dla ciebie kod, jestem (jak wiele innych osób) do pracy na zlecenie.

2

NOAA jest teraz na drugiej wersji interfejsu API sieci NOAA. Interfejsy API są użyteczne, ponieważ zasadniczo można zapytać usługę WWW, używając requests i pytona dict argumentów opisujących to, co chcesz. @Cravden stworzył ładną klasę, która pozwoli Ci zacząć na GitHub. NOAA maopisujące, co możesz zdobyć i jak (musisz je podać i wysłać e-mailem, aby uzyskać token dostępu). Other Agregatory danych klimatycznych również robią tego rodzaju rzeczy.
Coś tak proste, jak to może Ci zacząć:

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) 

Jeśli idziesz przez tysiące miejsc, możesz rozważyć pobierania danych z siatką, dzięki czemu shapefile punktów, a następnie wyodrębnianie wartości rastrowych do tabeli atrybutów jak zrobiono here.

Powiązane problemy