NOAA(美國海洋和大氣管理局)氣象數據獲取與POI點數據獲取

NOAA(美國海洋和大氣管理局)提供GHCND(全球歷史氣候學網絡)月度摘要數據庫,可以滿足全球陸地區域歷史月度溫度,降水和降雪記錄的研究需求。

GHCND月度摘要數據庫數據源自GHCN-Daily數據庫,經過質量審查與二次加工製成,主要包含18個氣象要素,包括溫度(每月平均值和極端值),降水(每月總數,極端值和滿足各種數量閾值的天數),降雪,最大雪深等。GHCND月度摘要數據庫與它對應的每日數據庫一樣,包含分佈在各大洲的40000多個站點的數十個觀測值。

基於世界氣象組織(WMO)第40號決議(Cg-12),世界氣象組織(WMO)達成了世界天氣監視計劃協議,互相交換氣象數據,GHCN-Daily數據庫提供的數據即基於此計劃。WMO成員國可以免費且不受限制的使用或導出數據用於研究,教育和其他非商業活動。

本節以颱風山竹期間獲取廣東省內數據繪製降雨情況爲例。點擊數據庫連接會得到以下文件列表,提供從1901年至今的氣象數據,操作步驟如下:

  1. 在文件列表中找到ish-history.csv文件,文件提供了29726個氣象站點,包含站點ID,站點經緯度,站點高程,站點所在城市,站點所在國家(CH代表中國),站點數據起迄時間。根據需求在excel內進行查找,篩選出想要的數據站點。從中篩選出具有2018年9月16日至9月18日數據的38個廣東省範圍內數據站。
  2. 點進2018年份文件夾,將篩選後的數據站原始數據下載下來並解壓。對解壓後的文件進行處理,此時解壓出來的文件名稱格式如“578660-99999-2018”,579570代表站點ID,99999是統一的命名,2018代表數據年份。此時文件並不能直接使用,官方提供瞭解析腳本ishJava.java,需要安裝JDK環境使用,並在同路徑下添加ishJava.class類,cmd下執行命令java -classpath . ishJava 578660-99999-2019 578660-99999-2010.out。這裏提供了編寫好的腳本,調用deal_with_download_file(root_source)函數即可處理路徑下所有文件,輸出成.out格式。

  1. 此時提供的數據是2018年一整年的數據,依據時間條件進行過濾,調用函數filter_time(root_source, 201809160000, 201809170000)篩選出三天的氣象數據,得到篩選後的結果result.txt。
  2. 依據處理結果進行篩選,Arcgis處理後得到降雨插值圖。

代碼開源至:https://github.com/yemanzhongting/get_rain_data

  1. POI數據獲取

POI是Point of Interest的縮寫,中文可以翻譯爲“興趣點”。在地理信息系統中,一個POI可以是一棟房子、一個商鋪、一個郵筒、一個公交站等。以百度地圖爲例,將POI分爲八類:喫喝、住宿、出行、銀行、娛樂、生活、景點、購物,再細一點可以選擇大類中的類目。百度地圖、高德地圖等平臺提供了API接口,對接口傳入必要的參數,就能返回需要的數據。本節以抓取百度地圖廣州市醫院位置爲例進行講解,主要步驟如下:

  1. 百度地圖API Key的獲取。API Key是百度地圖API必要的請求參數,百度地圖開發者平臺提供申請入口。
  2. 請求參數。Query參數,即查詢的POI種類,本例參數爲醫院;bounds參數,即檢索的區域,格式爲lat1,lng1,lat2,lng2,參數1表示左下角經緯度,參數二表示右下角經緯度;page_size參數,即返回的最大頁面數,默認最大爲20;page_num參數,即查詢第幾頁的返回數據;region參數,即檢索的城市名稱;output參數,即查詢結果的格式,這裏選擇json格式;ak參數,即申請的祕鑰。一個完整的請求連接格式如下:http://api.map.baidu.com/place/v2/search?query=醫院&page_size=20 &page_num={page_index}&region=廣州市&&output=json&ak=yourak',詳細的腳本代碼參見github。
  3. 座標糾偏。由於百度座標進行了一定加密處理,直接使用座標會帶來很明顯的偏差,需要將經緯度從百度座標系(BD-09)糾偏至CGCS2000或WGS84(兩者均爲大地座標系,差異很小),以成都地鐵站店爲例,給出了糾偏的效果。
  1.  

圖 糾偏對比

圖 抓取到的POI數據前端交互展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章