繞過層層限制——逐小時氣象數據獲取之道

繞過層層限制——逐小時氣象數據獲取之道

來自專欄 新交通人的技術閑談

氣象數據不只是在氣象專業,在交通專業往往也有很大的作用——比如分析惡劣天氣下的交通流特徵,分析惡劣天氣對交通需求的影響,ITS系統中天氣響應式控制系統的構建,都需要天氣數據的支持。

之前在深圳做過一個項目,拿降雨、浮動車等數據去智能識別道路積水情況。效果暫且不提,但當時項目是和深圳氣象局有對接的,所以自動站的數據可以以很高的time resolution(5min)返回給我們。深圳的自動站大約有一百多個,可以說是很全面的覆蓋整個城市了。

深圳氣象自動站

But,當我回到上海,再有一次需要用到上海的天氣數據時,才發現氣象數據是如此的難拿。現在想想,才發現當時在深圳是多麼的幸福。

於是我就開始了我漫長的尋找氣象數據的道路。首先當然是請出淘寶大殺器,結果一搜,發現數據質量基本無法使用——因為我需要在時間粒度和空間粒度上都盡量的細化,但淘寶上賣的數據全是城市級別、一天內的天氣信息,這種信息,基本就是騙錢用的。

然後就是爬蟲了。爬蟲主要爬的是中國天氣網的數據,但打開網站一看,這上面的信息也完全不行——精度和淘寶賣的一個級別的。畢竟正常人看個天氣,是不需要精確度多少經緯度下一個小時的降雨量這種信息的,所以網站也就不會去存相關的歷史數據了。

再就是去中國氣象局的氣象中心,花了好大力氣實名註冊了一個。結果發現,雖然有小時數據,但只有近7天的。。也就是說,要是想研究歷史數據,如近一年的數據,不花大價錢也是拿不到的。

氣象局返回的數據

折騰了半天,天無絕人之路,最後總算找到了一個迅速獲取氣象數據的辦法。此辦法的優點在於,免費,迅速,可以獲取大部分的自動站數據,且時間精度可以細化到15min,數據更新速度也很快,很多都能更新到當前日期。

缺點則是,要翻牆,操作比較麻煩,需要人工解碼,而且數據存在一定缺失。

下面介紹獲取方法。

基本步驟

  1. 打開網站:gis.ncdc.noaa.gov/maps/
  2. 點擊右上方的search,在彈出的對話框中輸入所需研究的地塊,如:Shanghai
  3. 在左側的Layers層點擊工具圖標,彈出工具箱,選擇矩形選款,對所需自動站進行圈取
  4. 稍等片刻,數據點將變成黃色矩形,此時可用數據將出現在Results圖層中。
  5. 點擊ACCESS DATA,一路按照操作進入,並留下郵箱。按照網頁說明,24小時內會將結果上傳並郵件通知,但如果是急需,請轉下一步。

第3步,圈取站點

第4步,提取結果

快速通道

如果不想等24h,而且貌似也不一定能等到。。因此,可以採用下面的方式快速獲取:

  1. 在上一步驟的操作過程中,記錄下站點的編號。如上海可用的站點編號是583211 583620 583670這三個。
  2. 打開網頁:Index of /pub/data/noaa
  3. 選擇所需年份並點擊進去,按照站點編號進行搜索,至所需文件,並下載。
  4. 下載的文件解壓後,並不能直接識別,還需要解碼。
  5. 在之前的網頁中,下載ishJava.java和ishJava.class
  6. (MAC系統下)在JAVA環境配置好的基礎上,在Terminal中先cd到ishJava.java和ishJava.class的工作路徑,然後輸入java -classpath . ishJava /Users/husonghua/Downloads/583211-99999-2017 583211-99999-2017.out。其中/Users/husonghua/Downloads/583211-99999-2017為第4步中解壓出來的文件及所在路徑,583211-99999-2017.out為解碼後的文件。
  7. 文件解碼成功,打開即可查看。**表示的是數據缺失。

網頁下方有站點編號

最終解碼後結果

參考網頁

直接下載noaa全球氣象數據集中的三小時觀測數據-數據資料-氣象家園_氣象人自己的家園

jingyan.baidu.com/artic


推薦閱讀:

為什麼下雨老想睡覺?
中國商業氣象服務有哪些機會?
《 2018 年春耕氣象指南 》
北京地區8月17—18日降水天氣過程分析
[自翻]愛德華·N·洛倫茲:一些數值天氣預報的概念、誕生和童年的片段

TAG:氣象 | 數據 | 天氣 |