2013-11-14 22 views
5

Tôi đang làm việc trên một dự án khai thác dữ liệu và tôi muốn thu thập dữ liệu thời tiết lịch sử. Tôi có thể nhận dữ liệu lịch sử thông qua giao diện web mà họ cung cấp tại http://www.ncdc.noaa.gov/cdo-web/search. Nhưng tôi muốn truy cập dữ liệu này theo chương trình thông qua API. Từ những gì tôi đã đọc trên StackOverflow dữ liệu này được cho là miền công cộng, nhưng nơi duy nhất tôi có thể tìm thấy nó là trên các dịch vụ không miễn phí như Wunderground. Làm thế nào tôi có thể truy cập dữ liệu này miễn phí?Dữ liệu thời tiết lịch sử từ NOAA

+0

thể trùng lặp của [Làm thế nào để sử dụng API NOAA để truy vấn dữ liệu thời tiết trong quá khứ cho một tập hợp các tọa độ] (http://stackoverflow.com/questions/18828890/làm thế nào để sử dụng-the-noaa-api-to-query-past-thời tiết-dữ liệu-cho-một-cho-bộ-of-phối hợp) – Andy

+0

Câu hỏi hay. Không có api, tôi chỉ đơn giản là rút lại các chiến lược cạo râu (tôn trọng). Dữ liệu NOAA là một nguồn tài nguyên tuyệt vời, nhưng yêu cầu một số QA/QC. Xem [tài nguyên này] (https://beaumont.tamu.edu/climaticdata/WorldMap.aspx) liên quan đến [bài viết này] (http://www.sciencedirect.com/science/article/pii/S0168169909002348) – metasequoia

+0

Một tài nguyên khác thay thế là sử dụng [trang ftp] (http://www.ncdc.noaa.gov/data-access/quick-links#dsi-3505) cho GHCN-D – metasequoia

Trả lời

2

Đối với một danh sách tất cả các API dịch vụ được cung cấp bởi Trung tâm Dữ liệu khí hậu quốc gia: http://www.ncdc.noaa.gov/cdo-web/webservices

Full tài liệu hướng dẫn để các API mà ủng hộ trang tìm kiếm bạn liệt kê: http://www.ncdc.noaa.gov/cdo-web/webservices/v2

Yêu cầu một mã thông báo, và giới hạn đến 1000 yêu cầu mỗi ngày. Nếu bạn cần giới hạn tăng lên vì lý do chính đáng, hãy liên hệ http://www.ncdc.noaa.gov/customer-support.

Ngoài ra, đối với số lượng lớn sử dụng tải ftp: ftp://ftp.ncdc.noaa.gov/pub/data/

+1

Tôi gặp sự cố với mã thông báo, tại đây là yêu cầu curl của tôi: "curl -H" Ủy quyền: "http: // www.ncdc.noaa.gov/cdo-web/api/v2/datasets' trong đó' 'là mã thông báo được gửi qua email cho tôi, nhưng nó trả về lỗi '{" trạng thái ":" 400 "," thông báo ":" Tham số mã thông báo là bắt buộc. "}' – azrosen92

+1

tôi chỉ tìm thấy một cách với 'curl()' như thế này-> 'curl_setopt ($ init, CURLOPT_URL, 'http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&startdate='.$startDate.'&enddate='.$endDate.'&datatypeid=TMAX&datatypeid=TMIN&stationid=GHCND : '. $ city_id.' & limit = '. $ limit); //' http: //www.ncdc.noaa.gov/cdo-web/a pi/v2/data? datasetid = GHCND & stationid = GHCND: ZI000067964 & limit = 31 '); \t \t \t \t \t curl_setopt ($ init, CURLOPT_HEADER, false); \t \t \t \t \t curl_setopt ($ init, CURLOPT_HTTPHEADER, mảng ('mã thông báo: ')); \t \t \t \t \t curl_setopt ($ init, CURLOPT_RETURNTRANSFER, 1); ' –

+1

azrosen92:' -H curl "token: " http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets ' – Brian

Các vấn đề liên quan