2013-09-16 25 views
6

Tôi đang cố truy xuất dữ liệu NOAA trong quá khứ bằng tọa độ theo chiều dọc và theo chiều dọc. Tôi quan tâm cả về chuỗi thời gian lịch sử và tóm tắt hàng năm về các biến số như nhiệt độ, tốc độ gió, phần đám mây và lượng mưa.Cách sử dụng API NOAA để truy vấn dữ liệu thời tiết trong quá khứ cho một tập tọa độ nhất định

EX: 2008/02/20 13:00 trong (25,033972, 121,564493)

tôi hy vọng sẽ tự động thực hiện quá trình đó đạt được điều này cho 900,000+ địa điểm. Bất kỳ ý tưởng? Lý tưởng nhất kịch bản này sẽ được viết bằng R hoặc 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 –

Trả lời

6
  1. Hình ra endpoint/dataset có chứa các thông tin mà bạn muốn (hoặc nhiều người)
  2. Chuyển đổi lat/long vào mã zip
  3. Tìm trạm chính xác cho các mã zip here
  4. Đối với mỗi thiết bị đầu cuối, kéo dữ liệu cho từng vị trí.
  5. ???
  6. Lợi nhuận ???

Nếu bạn đang tìm ai đó viết mã cho bạn, tôi (cũng như nhiều người khác) sẵn sàng cho công việc tự do.

2

NOAA hiện đang có phiên bản thứ hai của API web NOAA. API rất hữu ích vì bạn về cơ bản có thể truy vấn dịch vụ web, sử dụng requests và một trăn dict đối số mô tả những gì bạn muốn. @Cravden đã tạo nên một lớp học tuyệt vời sẽ giúp bạn bắt đầu vào ngày GitHub. NOAA có nice documentation mô tả những gì bạn có thể nhận được và cách thức (bạn cần cung cấp cho họ và email để nhận mã thông báo truy cập). Other tập hợp dữ liệu khí hậu cũng làm điều này.
Something đơn giản như điều này có thể giúp bạn bắt đầu:

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) 

Nếu bạn đang cho hàng ngàn địa điểm, bạn có thể xem xét tải dữ liệu theo dạng lưới, làm cho một shapefile trong những điểm, sau đó giải nén giá trị raster sang một bảng thuộc tính như đã hoàn thành here.