Погодный API MSN погодных условий?

У Microsoft есть API погоды, очень похожий на Google (который теперь кажется полностью мертвым). Я конвертировал одно из своих приложений в свой канал, но мне не удалось найти список всех возможных погодных условий.

Это достаточно хорошо документировано для API погоды Google, но я не могу найти список условий для API погоды MSN.

FWIW, пример URL для получения данных с помощью MSN:

http://weather.service.msn.com/data.aspx?weadegreetype=F&culture=en-US&weasearchstr=Chicago,IL (услуга недоступна (январь 2016 г.))

Может ли кто-нибудь пролить свет на возможные условия? Мне они нужны, чтобы я мог преобразовать текст условия в значок.

Ответ 1

Я решил пойти немного другим путем и определить условия, основанные на предоставленном значке (skycode и skycodeday) из XML.

Вот список того, что я придумал. Надеемся, что это будет полезно для других пользователей при переходе с API погоды Google:

  • 0, 1, 2, 3, 4, 17, 35 - Гроза
  • 5 - Смесь дождя/снега
  • 6 - Снег/Снег.
  • 7 - Смесь дождя/снега/снега
  • 8,9 - Icy
  • 10 - Смесь для дождя/слива.
  • 11 - Легкий дождь
  • 12 - Дождь
  • 13 - Легкий снег.
  • 14,16,42,43 - Снег
  • 15 - Blizzard
  • 18,40 - Души
  • 19 - Пыль
  • 20 - Fog
  • 21 - Haze
  • 22 - Дым
  • 23,24 - Windy
  • 25 - Frigid
  • 26 - Облачно.
  • 27,29,33 - Небольшая Облачность (ночь)
  • 28,30,34 - Частично облачно.
  • 31 - Очистить (ночь)
  • 32 - Очистить
  • 36 - Горячая
  • 37,38 - Рассеянные грозы
  • 39 - Рассеянные ливни
  • 41 - Рассеянный снег
  • 44 - N/A
  • 45 - Рассеянный дождь (ночь)
  • 46 - Рассеянный снег (ночь)
  • 47 - Рассеянные грозы (ночь)

Ответ 2

Здесь моя функция, чтобы легко конвертировать ваш код API Google в MSN API:

function skycode2image ($skycode)
{    

$daynight = "na";

$skycodes = array ( 
0 => 'thunderstorm', 
1 => 'thunderstorm',
2 => 'thunderstorm',
3 => 'thunderstorm',
4 => 'thunderstorm',
5 => 'rain_snow',
6 => 'sleet',
7 => 'rain_snow',
8 => 'icy',
9 => 'icy',  
10 => 'rain_snow', 
11 => 'showers',
12 => 'rain',
13 => 'flurries',
14 => 'snow', 
15 => 'snow', 
16 => 'snow', 
17 => 'thunderstorm',
18 => 'showers',
19 => 'dust',
20 => 'fog',
21 => 'haze',
22 => 'haze',
23 => 'windy',
24 => 'windy',
25 => 'icy',
26 => 'cloudy',
27 => 'mostly_cloudy',
28 => 'mostly_cloudy',
29 => 'partly_cloudy', 
30 => 'partly_cloudy',
31 => 'sunny',
32 => 'sunny',
33 => 'mostly_sunny',
34 => 'mostly_sunny',
35 => 'thunderstorm',
36 => 'hot',
37 => 'chance_of_tstorm',
38 => 'chance_of_tstorm', 
39 => 'chance_of_rain',
40 => 'showers',
41 - 'chance_of_snow',  
42 => 'snow',
43 => 'snow',
44 => 'na',
45 => 'chance_of_rain',
46 => 'chance_of_snow',
47 => 'chance_of_tstorm');

$condition =  $skycodes[$skycode];

if (in_array($skycode,array(27,29,31,33,31,45,46,47))) $daynight = 'night';
if (in_array($skycode,array(28,30,32,34,36,37,38,39,41))) $daynight = 'day';   

return array($condition,$daynight);

}

Ответ 3

Кажется, что существует много дезинформации, когда Microsoft находится под вопросом. Сегодня я тестировал API MSN Weather; и он вернулся; и ежечасно возвращает данные о погоде.

Я сделал следующий [вероятно, не стандартный] запрос только сейчас: " http://weather.service.msn.com/data.aspx?weasearchstr=ny,NY&culture=en-US&weadegreetype=C&src=msn"

И он вернул именно то, что было запрошено:

<weatherdata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><weather weatherlocationcode="wc:USNY0309" weatherlocationname="New York, NY" url="http://a.msn.com/54/en-US/ct40.782,-73.832?ctsrc=msn" imagerelativeurl="http://blob.weather.microsoft.com/static/weather4/en-us/" degreetype="C" provider="Foreca" attribution="http://www.foreca.com/" attribution2="Foreca" lat="40.782" long="-73.832" timezone="-5" alert="" entityid="10109777" encodedlocationname="New+York%2C+NY"><current temperature="4" skycode="29" skytext="Partly Cloudy" date="2016-02-07" observationtime="18:00:00" observationpoint="New York, NY" feelslike="2" humidity="62" winddisplay="9 km/h East" day="Sunday" shortday="Sun" windspeed="9 km/h" /><forecast low="-3" high="5" skycodeday="31" skytextday="Clear" date="2016-02-06" day="Saturday" shortday="Sat" precip="" /><forecast low="1" high="7" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-07" day="Sunday" shortday="Sun" precip="10" /><forecast low="-3" high="3" skycodeday="16" skytextday="Snow" date="2016-02-08" day="Monday" shortday="Mon" precip="90" /><forecast low="0" high="1" skycodeday="30" skytextday="Partly Sunny" date="2016-02-09" day="Tuesday" shortday="Tue" precip="90" /><forecast low="-2" high="5" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-10" day="Wednesday" shortday="Wed" precip="50" /><toolbar timewindow="60" minversion="1.0.1965.0" /></weather><weather weatherlocationcode="wc:USNY0996" weatherlocationname="New York, NY" url="http://a.msn.com/54/en-US/ct40.714,-74.006?ctsrc=msn" imagerelativeurl="http://blob.weather.microsoft.com/static/weather4/en-us/" degreetype="C" provider="Foreca" attribution="http://www.foreca.com/" attribution2="Foreca" lat="40.714" long="-74.006" timezone="-5" alert="" entityid="23164" encodedlocationname="New+York%2C+NY"><current temperature="5" skycode="29" skytext="Partly Cloudy" date="2016-02-07" observationtime="18:00:00" observationpoint="New York, NY" feelslike="4" humidity="58" winddisplay="7 km/h East" day="Sunday" shortday="Sun" windspeed="7 km/h" /><forecast low="-7" high="4" skycodeday="31" skytextday="Clear" date="2016-02-06" day="Saturday" shortday="Sat" precip="" /><forecast low="1" high="7" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-07" day="Sunday" shortday="Sun" precip="10" /><forecast low="-2" high="3" skycodeday="16" skytextday="Snow" date="2016-02-08" day="Monday" shortday="Mon" precip="80" /><forecast low="-1" high="1" skycodeday="30" skytextday="Partly Sunny" date="2016-02-09" day="Tuesday" shortday="Tue" precip="80" /><forecast low="-3" high="5" skycodeday="30" skytextday="Partly Sunny" date="2016-02-10" day="Wednesday" shortday="Wed" precip="50" /><toolbar timewindow="60" minversion="1.0.1965.0" /></weather></weatherdata>

Ответ 4

Это апрель 2016 года, и похоже, что данные Microsoft Weather все еще проходят через: данные о погоде в штате Вашингтон (ссылка отличается от показанной в пост OP, который теперь прекращен).

Параметр "wealocations" в ссылке отличается для каждой точки сбора погоды; например, "USWA0367" - для Редмонда, штат Вашингтон. Вы можете получить свой код погоды от здесь.

Ответ 5

Мы пишем, чтобы уведомить вас о том, что Microsoft Weather API больше не будет доступен для загрузки и будет прекращен с 15 апреля 2015 года, то есть он больше не будет предоставлять данные о погоде. Соответственно, удалите Microsoft Weather API из любых ваших продуктов или приложений, которые в настоящее время его используют.

Ниже приведен список внешних поставщиков, которые могут поддерживать ваши потребности, если вы заинтересованы в получении альтернативного API погоды:

http://api.accuweather.com/ 
http://www.wunderground.com/weather/api/d/pricing.html 
https://developer.forecast.io/

Отказ от ответственности: Microsoft и Microsoft Weather никоим образом не связаны ни с одной из вышеуказанных компаний.

Спасибо Microsoft Weather Team