Helpex - Trao đổi & giúp đỡ Đăng nhập
71

Tôi có thể tìm dữ liệu thời tiết thô lịch sử ở đâu cho một dự án tôi đang làm với trọng tâm là Hoa Kỳ và Canada. Tôi cần nhiệt độ là chủ yếu, nhưng các chi tiết khác sẽ tốt đẹp. Tôi đang có một thời gian rất khó khăn để tìm dữ liệu này. Tôi thực sự không muốn phải cạo một trang web thời tiết.

71 hữu ích 1 bình luận 82k xem chia sẻ
25

Tại Phòng thí nghiệm lưu trữ dữ liệu thời tiết lịch sử của cơn bão dữ dội quốc gia Hoa Kỳ (lưu ý: việc này đã bị loại bỏ).

Ngoài ra, Cổng thông tin Geodata của Trung tâm Dữ liệu Khí hậu Quốc gia Hoa Kỳ .

Trung tâm dữ liệu khí hậu quốc gia Hoa Kỳ Dữ liệu khí hậu trực tuyến .

Trung tâm dữ liệu khí hậu quốc gia Hoa Kỳ Các sản phẩm phổ biến nhất .

25 hữu ích 1 bình luận chia sẻ
55

Tôi thấy mình hỏi cùng một câu hỏi và sẽ chia sẻ kinh nghiệm của mình cho các nhân viên Google trong tương lai.

Nguồn dữ liệu

Tôi muốn dữ liệu thô và rất nhiều ... API sẽ không làm được. Tôi cần phải đi thẳng đến nguồn. Nguồn tốt nhất cho tất cả dữ liệu đó dường như là máy chủ NCEP hoặc NCDC NOMADS:

http://nomads.ncdc.noaa.gov/dods/ <- tốt cho dữ liệu lịch sử
http://nomads.nIGH.noaa.gov/dods/ <- tốt cho dữ liệu gần đây

(Lưu ý: Một người bình luận chỉ ra rằng bây giờ bạn phải sử dụng https chứ không phải http. Tôi chưa kiểm tra nó, nhưng nếu bạn gặp vấn đề, hãy thử điều đó!)

Để đưa ra ý tưởng về lượng dữ liệu, dữ liệu của họ sẽ quay trở lại năm 1979! Nếu bạn đang tìm kiếm Canada và Hoa Kỳ, bộ dữ liệu Reanalysis khu vực Bắc Mỹ có lẽ là câu trả lời tốt nhất của bạn.

Sử dụng dữ liệu

Tôi là một người dùng python lớn và pydap hoặc NetCDF dường như là những công cụ tốt để sử dụng. Không có lý do cụ thể, tôi bắt đầu chơi xung quanh với pydap.

Để đưa ra một ví dụ về cách lấy tất cả dữ liệu nhiệt độ cho một vị trí cụ thể từ trang web của người du mục, hãy thử cách sau trong python:

from pydap.client import open_url

# setup the connection
url = 'http://nomads.ncdc.noaa.gov/dods/NCEP_NARR_DAILY/197901/197901/narr-a_221_197901dd_hh00_000'
modelconn = open_url(url)
tmp2m = modelconn['tmp2m']

# grab the data
lat_index = 200    # you could tie this to tmp2m.lat[:]
lon_index = 200    # you could tie this to tmp2m.lon[:]
print tmp2m.array[:,lat_index,lon_index] 

Đoạn mã trên sẽ giúp bạn có một chuỗi thời gian (cứ sau ba giờ) dữ liệu cho toàn bộ tháng 1 năm 1979! Nếu bạn cần nhiều địa điểm hoặc tất cả các tháng, mã trên sẽ dễ dàng được sửa đổi để phù hợp.

Để siêu dữ liệu ... và hơn thế nữa!

Tôi không hạnh phúc dừng lại ở đó. Tôi muốn dữ liệu này trong cơ sở dữ liệu SQL để tôi có thể dễ dàng cắt và xé nó. Một lựa chọn tuyệt vời để làm tất cả điều này là mô-đun dự báo python.

Tiết lộ: Tôi đặt mã phía sau mô-đun. Mã này là tất cả nguồn mở - bạn có thể sửa đổi nó để đáp ứng tốt hơn nhu cầu của bạn (có thể bạn đang dự báo cho Sao Hỏa?) Hoặc rút ra các đoạn nhỏ cho dự án của bạn.

Mục tiêu của tôi là có thể lấy dự báo mới nhất từ mô hình Rapid Refresh (đặt cược tốt nhất của bạn nếu bạn muốn có thông tin chính xác về thời tiết hiện tại):

from forecasting import Model

rap = Model('rap')
rap.connect(database='weather', user='chef')
fields = ['tmp2m']
rap.transfer(fields)

và sau đó để vẽ dữ liệu trên bản đồ của USA ole USA:

Tôi có thể tìm dữ liệu thời tiết thô lịch sử ở đâu? [đóng cửa]?

Dữ liệu cho âm mưu đến trực tiếp từ SQL và có thể dễ dàng sửa đổi truy vấn để lấy ra bất kỳ loại dữ liệu nào bạn muốn.

Nếu ví dụ trên không đủ, hãy xem tài liệu hướng dẫn, nơi bạn có thể tìm thấy nhiều ví dụ khác.

55 hữu ích 5 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ database datasource weather weather-api , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading