繞過層層限制——逐小時氣象數據獲取之道
來自專欄 新交通人的技術閑談
氣象數據不只是在氣象專業,在交通專業往往也有很大的作用——比如分析惡劣天氣下的交通流特徵,分析惡劣天氣對交通需求的影響,ITS系統中天氣響應式控制系統的構建,都需要天氣數據的支持。
之前在深圳做過一個項目,拿降雨、浮動車等數據去智能識別道路積水情況。效果暫且不提,但當時項目是和深圳氣象局有對接的,所以自動站的數據可以以很高的time resolution(5min)返回給我們。深圳的自動站大約有一百多個,可以說是很全面的覆蓋整個城市了。
But,當我回到上海,再有一次需要用到上海的天氣數據時,才發現氣象數據是如此的難拿。現在想想,才發現當時在深圳是多麼的幸福。
於是我就開始了我漫長的尋找氣象數據的道路。首先當然是請出淘寶大殺器,結果一搜,發現數據質量基本無法使用——因為我需要在時間粒度和空間粒度上都盡量的細化,但淘寶上賣的數據全是城市級別、一天內的天氣信息,這種信息,基本就是騙錢用的。
然後就是爬蟲了。爬蟲主要爬的是中國天氣網的數據,但打開網站一看,這上面的信息也完全不行——精度和淘寶賣的一個級別的。畢竟正常人看個天氣,是不需要精確度多少經緯度下一個小時的降雨量這種信息的,所以網站也就不會去存相關的歷史數據了。
再就是去中國氣象局的氣象中心,花了好大力氣實名註冊了一個。結果發現,雖然有小時數據,但只有近7天的。。也就是說,要是想研究歷史數據,如近一年的數據,不花大價錢也是拿不到的。
折騰了半天,天無絕人之路,最後總算找到了一個迅速獲取氣象數據的辦法。此辦法的優點在於,免費,迅速,可以獲取大部分的自動站數據,且時間精度可以細化到15min,數據更新速度也很快,很多都能更新到當前日期。
缺點則是,要翻牆,操作比較麻煩,需要人工解碼,而且數據存在一定缺失。
下面介紹獲取方法。
基本步驟
- 打開網站:https://gis.ncdc.noaa.gov/maps/ncei/cdo/hourly
- 點擊右上方的search,在彈出的對話框中輸入所需研究的地塊,如:Shanghai
- 在左側的Layers層點擊工具圖標,彈出工具箱,選擇矩形選款,對所需自動站進行圈取
- 稍等片刻,數據點將變成黃色矩形,此時可用數據將出現在Results圖層中。
- 點擊ACCESS DATA,一路按照操作進入,並留下郵箱。按照網頁說明,24小時內會將結果上傳並郵件通知,但如果是急需,請轉下一步。
快速通道
如果不想等24h,而且貌似也不一定能等到。。因此,可以採用下面的方式快速獲取:
- 在上一步驟的操作過程中,記錄下站點的編號。如上海可用的站點編號是583211 583620 583670這三個。
- 打開網頁:Index of /pub/data/noaa
- 選擇所需年份並點擊進去,按照站點編號進行搜索,至所需文件,並下載。
- 下載的文件解壓後,並不能直接識別,還需要解碼。
- 在之前的網頁中,下載ishJava.java和ishJava.class
- (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為解碼後的文件。
- 文件解碼成功,打開即可查看。**表示的是數據缺失。
參考網頁
直接下載noaa全球氣象數據集中的三小時觀測數據-數據資料-氣象家園_氣象人自己的家園
https://jingyan.baidu.com/article/908080221f3cfefd91c80fbf.html
推薦閱讀:
※為什麼下雨老想睡覺?
※中國商業氣象服務有哪些機會?
※《 2018 年春耕氣象指南 》
※北京地區8月17—18日降水天氣過程分析
※[自翻]愛德華·N·洛倫茲:一些數值天氣預報的概念、誕生和童年的片段