大家好,我們是中國科學院資源與環境信息系統國家重點實驗室的人員(學生)。在軟件開發過程中,我們發現,傳統獲取天氣信息的接口大多是基於所謂的天氣碼,數據源大多來自中國國家氣象局;隨着移動互聯網的快速發展,大家都希望通過經緯度查詢天氣信息。
最開始我們搜尋全網,發現谷歌提供了利用經緯度獲取天氣信息的接口,然而一測試發現,由於“你懂的”原因,它已經無法使用了。國內IT三哥——百度貌似也提供了這么一個接口,但是又是需要神馬key啊,驗證文件啊等等一堆手續;而且它還限制每天的單個IP的訪問次數,更讓人討厭的是,它只提供3天的天氣預報信息。其他的接口大多數是通過令人深惡痛絕的天氣碼獲取,基本都不好用。
我們本着逢山開路,遇水疊橋的精神,痛下決心,利用了點我們實驗室所謂的強項——GIS技術,自己制作了天氣預報,天氣查詢接口。天氣查詢接口支持全國任何地區的天氣信息查詢,數據精確到區縣級別。天氣預報接口提供5天之內的天氣預報信息。
下面介紹一下天氣接口以及其使用方法。天氣查詢接口為:http://www.missfeng.com/iserver/services/GetOverallWeatherComponent/restjsr/GetOverallWeather/"longitude"/"latitude".rjson。這個接口的訪問方式為HttpGet,接口中只有兩個參數"longitude"和"latitude",替換成你定位獲得的經緯度即可。例如:http://www.missfeng.com/iserver/services/GetOverallWeatherComponent/restjsr/GetOverallWeather/116.3/40.rjson獲取的是北京海淀區的天氣信息。這個接口請求返回的是一個json,json的格式為:{"weatherinfo":{"city":"海淀","cityid":"101010200","temp1":"14℃","temp2":"9℃","weather":"小雨轉陰","img1":"d7.gif","img2":"n2.gif","ptime":"08:00","temp":"12","WD":"北風","WS":"0級","SD":"86%","WSE":"0","time":"09:35","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暫無實況","qy":"1018"}}
其中:weatherinfo代表天氣信息,city代表所在地,cityid是中國氣象局給全國縣市的編碼,temp1代表當地當日最高氣溫,temp2代表當日當地最低氣溫,weather代表當日天氣狀況,img1代表白天天氣狀況的圖標,img2代表夜晚天氣狀況的圖標,圖片資源的訪問地址為http://m.weather.com.cn/img/d7.gif,其中d7.gif為獲取的img;ptime為天氣信息發布的時間,temp為發布時的氣溫,WD為風向,WS為風級,SD為濕度,WSE為風力,time代表雷達圖更新時間,isRadar代表是否有雷達圖,Radar代表雷達圖的訪問地址,njd為能見度信息,qy為當前氣壓信息。
天氣預報接口為:http://www.missfeng.com/iserver/services/GetDetailedWeatherComponent/restjsr/GetDetailedWeather/"longitude"/"latitude".rjson,其中"longitude"/"latitude"分別為經度、緯度參數。例如:http://www.missfeng.com/iserver/services/GetDetailedWeatherComponent/restjsr/GetDetailedWeather/118.3/37.1.rjson。返回的json為:
({"time":1414719933,"area":[["山東","12"],["濱州","1211"],["博興","101121102"]],"weather":[{"date":"2014-10-31","info":{"day":["7","小雨","18","東北風","微風"],"night":["7","小雨","11","東風","微風"]}},{"date":"2014-11-01","info":{"dawn":["7","小雨","11","東風","微風"],"day":["7","小雨","16","西北風","微風"],"night":["7","小雨","9","西北風","3-4 級"]}},{"date":"2014-11-02","info":{"dawn":["7","小雨","9","西北風","3-4 級"],"day":["1","多雲","14","西北風","3-4 級"],"night":["0","晴","5","西北風","微風"]}},{"date":"2014-11-03","info":{"dawn":["0","晴","5","西北風","微風"],"day":["0","晴","17","無持續風向","微風"],"night":["0","晴","5","無持續風向","微風"]}},{"date":"2014-11-04","info":{"dawn":["0","晴","5","無持續風向","微風"],"day":["0","晴","18","無持續風向","微風"],"night":["1","多雲","8","無持續風向","微風"]}}],"pm25":[]});
其中area代表當前的區域,weather代表當前的天氣信息,天氣信息由day 白天;night 夜晚;以及dawn傍晚信息組成,單個信息塊里是最低溫度,天氣,風向,風級的格式,譬如["7","小雨","11","東風","微風"]分別是最低溫度為7度,天氣為小雨,風向為東風,風級為微風。
以上就是我們提供的天氣查詢和天氣預報接口的介紹以及使用方法。如果您有任何疑問歡迎向czgbjy@yeah.net郵箱詢問,也可以通過QQ:2649615105詢問。
由於我們的服務器是架設在阿里雲上,每年服務器的使用費用都比較高,而我們是一群科研屌絲加學生。如果您覺得我們的天氣接口好用,並希望我們能一直提供這項服務,請您在使用接口時向支付寶賬號:czgbjy@yeah.net(*祖剛)或者向中國建設銀行賬號:6217 0000 1002 8704 941(*祖剛)捐贈50元(多的不限噢O(∩_∩)O),並備注您單位或者個人的姓名,我們將為您提供更為個性化的服務。我們在此基礎上提供永久免費的服務。
