MSN Pogoda API lista warunków?

Microsoft ma API pogodowe bardzo podobne do Google ' a (które teraz wydaje się być całkowicie martwe). Przekonwertowałem jedną z moich aplikacji na ich kanał, ale nie byłem w stanie znaleźć listy wszystkich możliwych warunków pogodowych.

Jest to udokumentowane dość dobrze dla API Pogody Google, ale nie mogę znaleźć listy warunków dla MSN weather API.

FWIW, przykładowy adres URL do odzyskiwania danych przy użyciu MSN jest:

http://weather.service.msn.com/data.aspx?weadegreetype=F&culture=en-US&weasearchstr=Chicago,IL (usługa nie jest już dostępna (Styczeń 2016))

Czy ktoś może rzucić trochę światła na możliwe Warunki? Potrzebuję ich, aby zamiast tego mogę przekonwertować tekst warunku na ikonę.

Author: Cindy Meister, 2012-08-27

5 answers

Zdecydowałem się na nieco inną trasę i obliczyć warunki na podstawie ikony dostarczonej ( skycode i skycodeday ) z XML.

Oto lista tego, co wymyśliłem. Mam nadzieję, że będzie to pomocne dla innych w migracji z API Pogody Google:

  • 0, 1 ,2, 3 ,4, 17, 35 - Thunderstorm
  • 5 - deszcz/śnieg mix
  • 6 - Sleet/Snow mix
  • 7 - Rain/Snow/Sleet mix
  • 8,9-Icy
  • 10-Deszcz/Deszcz mix
  • 11-Lekki Deszcz
  • 12 - deszcz
  • 13-Lekki Śnieg
  • 14,16,42,43-śnieg
  • 15 - Blizzard
  • 18,40 - Prysznice
  • 19-pył
  • 20-mgła
  • 21-Haze
  • 22 - Dym
  • 23,24-wietrzny
  • 25-oziębły
  • 26-Cloudy
  • 27,29,33-częściowe zachmurzenie (noc)
  • 28,30,34-Częściowe Zachmurzenie
  • 31-Clear (night)
  • 32 - Clear
  • 36 - Hot
  • 37,38-rozproszone Burze
  • 39-Rozproszone Prysznice
  • 41-Rozproszone Opady Śniegu
  • 44-N/A
  • 45-rozproszone opady deszczu (noc)
  • 46-rozproszone opady śniegu (noc)
  • 47-rozproszone burze (noc)
 17
Author: Donavon Yelton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-28 15:58:45

Oto moja funkcja, aby łatwo przekonwertować kod Google API do 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);

}
 4
Author: MPaulo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-04 03:26:58

Wydaje się, że za każdym razem, gdy chodzi o Microsoft, dzieje się wiele dezinformacji. Testowałem dzisiaj MSN Weather API; i wrócił; i zwraca dane pogodowe, co godzinę.

Zrobiłem następujące [prawdopodobnie niestandardowe] zapytanie właśnie teraz: "http://weather.service.msn.com/data.aspx?weasearchstr=ny,NY&culture=en-US&weadegreetype=C&src=msn"

I zwróciło dokładnie to, o co poproszono:

<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>
 1
Author: Bekim Bacaj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-07 23:36:15

Jest Kwiecień, 2016, i wygląda na to, że dane pogodowe Microsoft wciąż napływają: Washington state weather data (link różni się od tego pokazanego w poście OP--który jest teraz przerwany).

Parametr "wealocations" w linku jest inny dla każdego punktu zbierania pogody; np. "USWA0367" jest dla Redmond, Waszyngton. Możesz uzyskać kod lokalizacji pogody z tutaj.

 1
Author: Michael D. O'Connor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-03 10:59:02

[1]} piszemy, aby powiadomić Cię, że Microsoft Weather API nie będzie już dostępny do pobrania i zostanie wycofany z dniem 15 kwietnia 2015 r., co oznacza, że nie będzie już dostarczać danych pogodowych. W związku z tym należy usunąć interfejs API Microsoft Weather z dowolnego produktu lub aplikacji, które go obecnie używają.

Oto lista zewnętrznych dostawców, którzy mogą być w stanie zaspokoić Twoje potrzeby, jeśli jesteś zainteresowany uzyskaniem alternatywnego API pogody:

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

Disclaimer: Microsoft i Microsoft Weather nie są w żaden sposób powiązane ani powiązane z żadną z powyższych firm.

Dziękuję Microsoft Weather Team

 0
Author: Ram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-02 19:38:21