2010-07-16 17:29

[PHP] 取得 Weather Underground 即時氣象

如果你需要即時的氣象資訊,找 Weather Underground 是一個不錯的選擇,每30分鐘更新一次,再加上提供很方便 XML 資料連結,唯一感到美中不足的就是沒有多國語言的支持。

  1. <?php 
  2. // ?query=[觀測點名稱],例如: Taoyuan Air Base , Taipei 
  3. $xml = simplexml_load_file( 
  4.    "http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=RCSS" 
  5. ); 
  6.  
  7. // 氣象圖示 
  8. foreach ($xml->icons->children() as $icon_set) { 
  9.    if($icon_set['name']=='Contemporary'){ 
  10.        echo $icon_set->icon_url; 
  11.    }     
  12. } 
  13. /*  
  14. 圖示造型種類: 
  15.    Default 
  16.    Smiley 
  17.    Helen 
  18.    Generic 
  19.    Old School 
  20.    Cartoon 
  21.    Mobile 
  22.    Simple 
  23.    Contemporary 
  24.    Dunkin' Donuts     
  25. */ 
  26.  
  27. echo "氣象狀況:",$xml->weather,"\n"; 
  28.  
  29. echo "溫度:",$xml->temp_c,"°C\n"; 
  30.  
  31. echo "相對濕度:",$xml->relative_humidity,"\n"; 
  32.  
  33. echo "風向:",$xml->wind_dir,"\n"; 
  34.  
  35. echo "風速:",$xml->wind_mph,"MPH\n"; 
  36. echo "風速:每小時",round($xml->wind_mph*1.6093),"公里\n"; 
  37. echo "風速:每秒",round($xml->wind_mph*0.447028),"公尺\n"; 
  38.  
  39. echo "海平面氣壓:",$xml->pressure_mb,"百帕\n"; 
  40.  
  41. echo "高溫指數:",$xml->heat_index_c,"°C\n"; 
  42.  
  43. echo "風寒指數:",$xml->windchill_c,"°C\n"; 
  44.  
  45. echo "水凝點:",$xml->dewpoint_c,"°C\n"; 
  46.  
  47. echo "能見度:",$xml->visibility_km,"公里\n"; 
  48.  
  49. echo "觀測時間:",date( 
  50.    'Y-m-d H:i', 
  51.    strtotime($xml->observation_time_rfc822) 
  52. ),"\n"; 
  53.  
  54. /*  
  55. thunderstorm rain = 雷雨 
  56. showers rain = 驟雨 
  57. light showers rain = 小驟雨 
  58.  
  59. Cloudy = 多雲 
  60. Flurries = 小雪 
  61. Fog = 霧 
  62. Haze = 陰霾 
  63. Mostly Cloudy = 多雲時陰 
  64. Mostly Sunny = 晴時多雲 
  65. Partly Cloudy = 局部多雲 
  66. Partly Sunny = 多雲時晴 
  67. Freezing Rain = 凍雨 
  68. Rain = 雨 
  69. Sleet = 冰雹 
  70. Snow = 雪 
  71. Sunny = 晴朗 
  72. Unknown = 未知 
  73. Overcast = 陰天 
  74. Scattered Clouds = 疏雲  
  75. */ 


參考資料:
台灣各地-氣象觀測點
API - XML - WunderWiki

PHP: simplexml_load_file - Manual

1 回應:

來福 提到...
作者已經移除這則留言。