Valós idejű és előrejelzett időjárási adatok kérése Azure Maps Weather Services használatával
Azure Maps A Weather Services RESTful API-k készlete, amelyek lehetővé teszik a fejlesztők számára, hogy nagy mértékben dinamikus előzményadatokat, valós idejű és előrejelzett időjárási adatokat és vizualizációkat integráljanak a megoldásukba.
Ez a cikk bemutatja, hogyan kérhet le valós idejű és előrejelzett időjárási adatokat is:
- Valós idejű (aktuális) időjárási adatok kérése az Aktuális feltételek lekérése API-val.
- Súlyos időjárási riasztások kérése a Súlyos időjárási riasztások lekérése API használatával.
- Napi előrejelzések kérése a Napi előrejelzés lekérése API használatával.
- Óránkénti előrejelzések kérése az Óránkénti előrejelzés lekérése API használatával.
- Percről percre vonatkozó előrejelzések kérése a Get Minute Forecast API használatával.
Ez a videó példákat mutat be a Azure Maps Weather Services REST-hívásainak indítására.
Előfeltételek
-
Fontos
A Get Minute Forecast API-hoz Gen1 (S1) vagy Gen2 tarifacsomag szükséges.
Ez az oktatóanyag a Postman alkalmazást használja, de választhat egy másik API-fejlesztési környezetet.
Valós idejű időjárási adatok kérése
Az Aktuális feltételek lekérése API részletes időjárási körülményeket ad vissza, például a csapadékot, a hőmérsékletet és a szélt egy adott koordináta-helyhez. Emellett az elmúlt 6 vagy 24 óra megfigyelései is lekérhetők egy adott helyre vonatkozóan. A válasz olyan részleteket tartalmaz, mint a megfigyelés dátuma és időpontja, az időjárási körülmények leírása, az időjárás ikon, a csapadékjelző jelzők és a hőmérséklet. A RealFeel™ Temperature és az ultraibolya(UV) index is vissza lesz adva.
Ebben a példában az Aktuális feltételek lekérése API-val lekérheti az aktuális időjárási körülményeket Seattle, WA koordinátáin.
Nyissa meg a Postman alkalmazást. A kérés létrehozásához válassza az Új lehetőséget. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérelem nevét .
Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le
{Your-Azure-Maps-Subscription-key}
a Azure Maps előfizetési kulcsát.https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.0&query=47.60357,-122.32945&subscription-key={Your-Azure-Maps-Subscription-key}
Válassza a kék Küldés gombot. A válasz törzse az aktuális időjárási információkat tartalmazza.
{ "results": [ { "dateTime": "2020-10-19T20:39:00+00:00", "phrase": "Cloudy", "iconCode": 7, "hasPrecipitation": false, "isDayTime": true, "temperature": { "value": 12.4, "unit": "C", "unitType": 17 }, "realFeelTemperature": { "value": 13.7, "unit": "C", "unitType": 17 }, "realFeelTemperatureShade": { "value": 13.7, "unit": "C", "unitType": 17 }, "relativeHumidity": 87, "dewPoint": { "value": 10.3, "unit": "C", "unitType": 17 }, "wind": { "direction": { "degrees": 23.0, "localizedDescription": "NNE" }, "speed": { "value": 4.5, "unit": "km/h", "unitType": 7 } }, "windGust": { "speed": { "value": 9.0, "unit": "km/h", "unitType": 7 } }, "uvIndex": 1, "uvIndexPhrase": "Low", "visibility": { "value": 9.7, "unit": "km", "unitType": 6 }, "obstructionsToVisibility": "", "cloudCover": 100, "ceiling": { "value": 1494.0, "unit": "m", "unitType": 5 }, "pressure": { "value": 1021.2, "unit": "mb", "unitType": 14 }, "pressureTendency": { "localizedDescription": "Steady", "code": "S" }, "past24HourTemperatureDeparture": { "value": -2.1, "unit": "C", "unitType": 17 }, "apparentTemperature": { "value": 15.0, "unit": "C", "unitType": 17 }, "windChillTemperature": { "value": 12.2, "unit": "C", "unitType": 17 }, "wetBulbTemperature": { "value": 11.3, "unit": "C", "unitType": 17 }, "precipitationSummary": { "pastHour": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past3Hours": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past6Hours": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past9Hours": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past12Hours": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past18Hours": { "value": 0.0, "unit": "mm", "unitType": 3 }, "past24Hours": { "value": 0.4, "unit": "mm", "unitType": 3 } }, "temperatureSummary": { "past6Hours": { "minimum": { "value": 12.2, "unit": "C", "unitType": 17 }, "maximum": { "value": 14.0, "unit": "C", "unitType": 17 } }, "past12Hours": { "minimum": { "value": 12.2, "unit": "C", "unitType": 17 }, "maximum": { "value": 14.0, "unit": "C", "unitType": 17 } }, "past24Hours": { "minimum": { "value": 12.2, "unit": "C", "unitType": 17 }, "maximum": { "value": 15.6, "unit": "C", "unitType": 17 } } } } ] }
Súlyos időjárási riasztások kérése
Azure Maps A Súlyos időjárási riasztások API a hivatalos kormányzati meteorológiai ügynökségektől világszerte elérhető súlyos időjárási riasztásokat adja vissza, és globálisan regionális időjárási riasztásokat küld. A szolgáltatás olyan adatokat ad vissza, mint a riasztás típusa, kategóriája, szintje. A szolgáltatás részletes leírást is ad a kért helyre vonatkozó aktív súlyos riasztásokról, például hurrikánokról, zivatarokról, villámlásokról, hőhullámokról vagy erdőtüzekről. A logisztikai vezetők például a térképen ábrázolhatják a súlyos időjárási körülményeket, az üzleti helyszíneket és a tervezett útvonalakat, és tovább egyeztethetnek a sofőrökkel és a helyi dolgozókkal.
Ebben a példában a Súlyos időjárási riasztások lekérése API-val lekérheti az aktuális időjárási körülményeket a Cheyenne,WY-ban található koordinátákon.
Megjegyzés
Ez a példa súlyos időjárási riasztásokat kér le az írás időpontjában. Valószínű, hogy a kért helyen már nincsenek súlyos időjárási riasztások. Ha a példa futtatásakor tényleges súlyos riasztási adatokat szeretne lekérni, más koordináta-helyen kell lekérnie az adatokat.
A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérelem nevét .
Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le
{Your-Azure-Maps-Subscription-key}
a Azure Maps előfizetési kulcsát.https://atlas.microsoft.com/weather/severe/alerts/json?api-version=1.0&query=41.161079,-104.805450&subscription-key={Your-Azure-Maps-Subscription-key}
Válassza a kék Küldés gombot. Ha nincsenek súlyos időjárási riasztások, a válasz törzse üres
results[]
tömböt tartalmaz. Ha súlyos időjárási riasztások vannak, a válasz törzse a következő JSON-válaszhoz hasonlót tartalmaz:{ "results": [ { "countryCode": "US", "alertId": 2194734, "description": { "localized": "Red Flag Warning", "english": "Red Flag Warning" }, "category": "FIRE", "priority": 54, "source": "U.S. National Weather Service", "sourceId": 2, "alertAreas": [ { "name": "Platte/Goshen/Central and Eastern Laramie", "summary": "Red Flag Warning in effect until 7:00 PM MDT. Source: U.S. National Weather Service", "startTime": "2020-10-05T15:00:00+00:00", "endTime": "2020-10-06T01:00:00+00:00", "latestStatus": { "localized": "Continue", "english": "Continue" }, "alertDetails": "...RED FLAG WARNING REMAINS IN EFFECT FROM 9 AM THIS MORNING TO\n7 PM MDT THIS EVENING FOR STRONG GUSTY WINDS AND LOW HUMIDITY...\n\n* WHERE...Fire weather zones 303, 304, 305, 306, 307, 308, 309,\n and 310 in southeast Wyoming. Fire weather zone 313 in Nebraska.\n\n* WIND...West to northwest 15 to 30 MPH with gusts around 40 MPH.\n\n* HUMIDITY...10 to 15 percent.\n\n* IMPACTS...Any fires that develop will likely spread rapidly.\n Outdoor burning is not recommended.\n\nPRECAUTIONARY/PREPAREDNESS ACTIONS...\n\nA Red Flag Warning means that critical fire weather conditions\nare either occurring now...or will shortly. A combination of\nstrong winds...low relative humidity...and warm temperatures can\ncontribute to extreme fire behavior.\n\n&&", "alertDetailsLanguageCode": "en" } ] },... ] }
Napi időjárás-előrejelzési adatok kérése
A Napi előrejelzés lekérése API részletes napi időjárás-előrejelzést ad vissza, például a hőmérsékletet és a szélt. A kérelem megadhatja, hogy hány nap legyen visszaadva: 1, 5, 10, 15, 25 vagy 45 nap egy adott koordináta-hely esetében. A válasz olyan részleteket tartalmaz, mint a hőmérséklet, a szél, a csapadék, a levegőminőség és az UV-index. Ebben a példában öt napig kérünk kérést a beállításával duration=5
.
Fontos
Az S0 tarifacsomagban napi előrejelzést kérhet a következő 1, 5, 10 és 15 napra vonatkozóan. Az 1. generációs (S1) vagy a Gen2 tarifacsomagban napi előrejelzést kérhet a következő 25 napra és 45 napra.
Azure Maps Gen1 tarifacsomag kivonása
Az 1. generációs tarifacsomag elavult, és 26.09.15-én megszűnik. A Gen2 tarifacsomag az 1. generációs (S0 és S1) tarifacsomagot váltja fel. Ha a Azure Maps fiókjában a Gen1 tarifacsomag van kiválasztva, áttérhet a Gen2 díjszabására a kivonása előtt, különben automatikusan frissül. További információ: A Azure Maps-fiók tarifacsomagjának kezelése.
Ebben a példában a Napi előrejelzés lekérése API-val lekérheti a Seattle,WA-ban található koordináták ötnapos időjárás-előrejelzését.
A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérelem nevét .
Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le
{Your-Azure-Maps-Subscription-key}
a Azure Maps előfizetési kulcsát.https://atlas.microsoft.com/weather/forecast/daily/json?api-version=1.0&query=47.60357,-122.32945&duration=5&subscription-key={Your-Azure-Maps-Subscription-key}
Válassza a kék Küldés gombot. A válasz törzse tartalmazza az öt napos időjárás-előrejelzési adatokat. A rövidség kedvéért az alábbi JSON-válasz az első napra vonatkozó előrejelzést mutatja.
{ "summary": { "startDate": "2020-10-18T17:00:00+00:00", "endDate": "2020-10-19T23:00:00+00:00", "severity": 2, "phrase": "Snow, mixed with rain at times continuing through Monday evening and a storm total of 3-6 cm", "category": "snow/rain" }, "forecasts": [ { "date": "2020-10-19T04:00:00+00:00", "temperature": { "minimum": { "value": -1.1, "unit": "C", "unitType": 17 }, "maximum": { "value": 1.3, "unit": "C", "unitType": 17 } }, "realFeelTemperature": { "minimum": { "value": -6.0, "unit": "C", "unitType": 17 }, "maximum": { "value": 0.5, "unit": "C", "unitType": 17 } }, "realFeelTemperatureShade": { "minimum": { "value": -6.0, "unit": "C", "unitType": 17 }, "maximum": { "value": 0.7, "unit": "C", "unitType": 17 } }, "hoursOfSun": 1.8, "degreeDaySummary": { "heating": { "value": 18.0, "unit": "C", "unitType": 17 }, "cooling": { "value": 0.0, "unit": "C", "unitType": 17 } }, "airAndPollen": [ { "name": "AirQuality", "value": 23, "category": "Good", "categoryValue": 1, "type": "Ozone" }, { "name": "Grass", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "Mold", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "Ragweed", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "Tree", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "UVIndex", "value": 0, "category": "Low", "categoryValue": 1 } ], "day": { "iconCode": 22, "iconPhrase": "Snow", "hasPrecipitation": true, "precipitationType": "Mixed", "precipitationIntensity": "Light", "shortPhrase": "Chilly with snow, 2-4 cm", "longPhrase": "Chilly with snow, accumulating an additional 2-4 cm", "precipitationProbability": 90, "thunderstormProbability": 0, "rainProbability": 54, "snowProbability": 85, "iceProbability": 8, "wind": { "direction": { "degrees": 36.0, "localizedDescription": "NE" }, "speed": { "value": 9.3, "unit": "km/h", "unitType": 7 } }, "windGust": { "direction": { "degrees": 70.0, "localizedDescription": "ENE" }, "speed": { "value": 25.9, "unit": "km/h", "unitType": 7 } }, "totalLiquid": { "value": 4.3, "unit": "mm", "unitType": 3 }, "rain": { "value": 0.5, "unit": "mm", "unitType": 3 }, "snow": { "value": 2.72, "unit": "cm", "unitType": 4 }, "ice": { "value": 0.0, "unit": "mm", "unitType": 3 }, "hoursOfPrecipitation": 9.0, "hoursOfRain": 1.0, "hoursOfSnow": 9.0, "hoursOfIce": 0.0, "cloudCover": 96 }, "night": { "iconCode": 29, "iconPhrase": "Rain and snow", "hasPrecipitation": true, "precipitationType": "Mixed", "precipitationIntensity": "Light", "shortPhrase": "Showers of rain and snow", "longPhrase": "A couple of showers of rain or snow this evening; otherwise, cloudy; storm total snowfall 1-3 cm", "precipitationProbability": 65, "thunderstormProbability": 0, "rainProbability": 60, "snowProbability": 54, "iceProbability": 4, "wind": { "direction": { "degrees": 16.0, "localizedDescription": "NNE" }, "speed": { "value": 16.7, "unit": "km/h", "unitType": 7 } }, "windGust": { "direction": { "degrees": 1.0, "localizedDescription": "N" }, "speed": { "value": 35.2, "unit": "km/h", "unitType": 7 } }, "totalLiquid": { "value": 4.3, "unit": "mm", "unitType": 3 }, "rain": { "value": 3.0, "unit": "mm", "unitType": 3 }, "snow": { "value": 0.79, "unit": "cm", "unitType": 4 }, "ice": { "value": 0.0, "unit": "mm", "unitType": 3 }, "hoursOfPrecipitation": 4.0, "hoursOfRain": 1.0, "hoursOfSnow": 3.0, "hoursOfIce": 0.0, "cloudCover": 94 }, "sources": [ "AccuWeather" ] },... ] }
Óránkénti időjárás-előrejelzési adatok kérése
Az Óránkénti előrejelzés lekérése API a következő 1, 12, 24 (1 nap), 72 (3 nap), 120 (5 nap) és 240 óra (10 nap) részletes időjárás-előrejelzést ad vissza az adott koordinátára vonatkozóan. Az API olyan részleteket ad vissza, mint a hőmérséklet, a páratartalom, a szél, a csapadék és az UV-index.
Fontos
A Gen1 (S0) tarifacsomagban óránkénti előrejelzést kérhet a következő 1, 12, 24 órára (1 nap) és 72 órára (3 nap). Az 1. generációs (S1) vagy a Gen2 tarifacsomagban óránkénti előrejelzést kérhet a következő 120 (5 nap) és 240 órára (10 nap).
Ebben a példában a Get Hourly Forecast API használatával lekérheti a következő 12 órára vonatkozó óránkénti időjárás-előrejelzést Seattle, WA koordinátáin.
A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérelem nevét .
Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le
{Your-Azure-Maps-Subscription-key}
a Azure Maps előfizetési kulcsát.https://atlas.microsoft.com/weather/forecast/hourly/json?api-version=1.0&query=47.60357,-122.32945&duration=12&subscription-key={Your-Azure-Maps-Subscription-key}
Válassza a kék Küldés gombot. A válasz törzse a következő 12 órára vonatkozó időjárás-előrejelzési adatokat tartalmazza. A rövidség kedvéért az alábbi JSON-válasz az első órára vonatkozó előrejelzést mutatja.
{ "forecasts": [ { "date": "2020-10-19T21:00:00+00:00", "iconCode": 12, "iconPhrase": "Showers", "hasPrecipitation": true, "precipitationType": "Rain", "precipitationIntensity": "Light", "isDaylight": true, "temperature": { "value": 14.7, "unit": "C", "unitType": 17 }, "realFeelTemperature": { "value": 13.3, "unit": "C", "unitType": 17 }, "wetBulbTemperature": { "value": 12.0, "unit": "C", "unitType": 17 }, "dewPoint": { "value": 9.5, "unit": "C", "unitType": 17 }, "wind": { "direction": { "degrees": 242.0, "localizedDescription": "WSW" }, "speed": { "value": 9.3, "unit": "km/h", "unitType": 7 } }, "windGust": { "speed": { "value": 14.8, "unit": "km/h", "unitType": 7 } }, "relativeHumidity": 71, "visibility": { "value": 9.7, "unit": "km", "unitType": 6 }, "cloudCover": 100, "ceiling": { "value": 1128.0, "unit": "m", "unitType": 5 }, "uvIndex": 1, "uvIndexPhrase": "Low", "precipitationProbability": 51, "rainProbability": 51, "snowProbability": 0, "iceProbability": 0, "totalLiquid": { "value": 0.3, "unit": "mm", "unitType": 3 }, "rain": { "value": 0.3, "unit": "mm", "unitType": 3 }, "snow": { "value": 0.0, "unit": "cm", "unitType": 4 }, "ice": { "value": 0.0, "unit": "mm", "unitType": 3 } }... ] }
Percenkénti időjárás-előrejelzési adatok kérése
A Get Minute Forecast API percenkénti előrejelzéseket ad vissza egy adott helyhez a következő 120 percre vonatkozóan. A felhasználók 1, 5 és 15 perces időközönként kérhetnek időjárás-előrejelzést. A válasz olyan részleteket tartalmaz, mint a csapadék típusa (beleértve az esőt, a havat vagy mindkettő keverékét), a kezdési időpontot és a csapadék intenzitási értékét (dBZ).
Ebben a példában a Get Minute Forecast API használatával kéri le a percről percre vonatkozó időjárás-előrejelzést Seattle, WA koordinátáin. Az időjárás-előrejelzés a következő 120 percre lesz megadva. Lekérdezésünk azt kéri, hogy az előrejelzés 15 perces időközönként legyen megadva, de a paramétert 1 vagy 5 percre módosíthatja.
A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérelem nevét .
Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le
{Your-Azure-Maps-Subscription-key}
a Azure Maps előfizetési kulcsát.https://atlas.microsoft.com/weather/forecast/minute/json?api-version=1.0&query=47.60357,-122.32945&interval=15&subscription-key={Your-Azure-Maps-Subscription-key}
Válassza a kék Küldés gombot. A válasz törzse 15 perces időközönként tartalmazza a következő 120 percre vonatkozó időjárás-előrejelzési adatokat.
{ "summary": { "briefPhrase60": "No precipitation for at least 60 min", "shortPhrase": "No precip for 120 min", "briefPhrase": "No precipitation for at least 120 min", "longPhrase": "No precipitation for at least 120 min", "iconCode": 7 }, "intervalSummaries": [ { "startMinute": 0, "endMinute": 119, "totalMinutes": 120, "shortPhrase": "No precip for %MINUTE_VALUE min", "briefPhrase": "No precipitation for at least %MINUTE_VALUE min", "longPhrase": "No precipitation for at least %MINUTE_VALUE min", "iconCode": 7 } ], "intervals": [ { "startTime": "2020-10-19T20:51:00+00:00", "minute": 0, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T21:06:00+00:00", "minute": 15, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T21:21:00+00:00", "minute": 30, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T21:36:00+00:00", "minute": 45, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T21:51:00+00:00", "minute": 60, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T22:06:00+00:00", "minute": 75, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T22:21:00+00:00", "minute": 90, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 }, { "startTime": "2020-10-19T22:36:00+00:00", "minute": 105, "dbz": 0.0, "shortPhrase": "No Precipitation", "iconCode": 7, "cloudCover": 100 } ] }