Valós idejű és előre jelzett időjárási adatok kérése az Azure Maps Weather Services használatával
Az Azure Maps Weather services RESTful API-k készlete, amelyek lehetővé teszik a fejlesztők számára, hogy a megoldásukba integrálják a dinamikusan dinamikus előzményadatokat, valós idejű és előrejelzett időjárási adatokat és vizualizációkat.
Ez a cikk bemutatja, hogyan kérhet le valós idejű és előre jelzett 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 használatával.
- Súlyos időjárási riasztások kérése a Súlyos időjárási riasztások API használatával.
- Napi előrejelzések kérése a Napi előrejelzési 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.
- Percenkénti előrejelzések kérése a Get Minute Forecast API használatával.
Ez a videó példákat tartalmaz az Azure Maps Weather Services REST-hívásainak indítására.
Előfeltételek
Fontos
A cikkben szereplő URL-példákban le kell cserélnie {Your-Azure-Maps-Subscription-key}
az Azure Maps-előfizetési kulcsát.
Ez az oktatóanyag a bruno 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
A Get Current Conditions API részletes időjárási feltételeket ad vissza, például csapadékot, hőmérsékletet és 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. RealFeel™ Hőmérséklet és ultraibolya (UV) index is visszaadja.
Ebben a példában az Aktuális feltételek lekérése API-val lekérheti az aktuális időjárási viszonyokat Seattle, WA koordinátáin.
Nyissa meg a bruno alkalmazást, és válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.
Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:
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 Létrehozás gombot.
Válassza a futtatás gombot.
A válasz törzse az aktuális időjárási adatokat tartalmazza.
{ "results": [ { "dateTime": "2024-08-08T09:22:00-07:00", "phrase": "Sunny", "iconCode": 1, "hasPrecipitation": false, "isDayTime": true, "temperature": { "value": 19.5, "unit": "C", "unitType": 17 }, "realFeelTemperature": { "value": 23.7, "unit": "C", "unitType": 17 }, "realFeelTemperatureShade": { "value": 19.4, "unit": "C", "unitType": 17 }, "relativeHumidity": 81, "dewPoint": { "value": 16.2, "unit": "C", "unitType": 17 }, "wind": { "direction": { "degrees": 0, "localizedDescription": "N" }, "speed": { "value": 2, "unit": "km/h", "unitType": 7 } }, "windGust": { "speed": { "value": 3.8, "unit": "km/h", "unitType": 7 } }, "uvIndex": 4, "uvIndexPhrase": "Moderate", "visibility": { "value": 16.1, "unit": "km", "unitType": 6 }, "obstructionsToVisibility": "", "cloudCover": 5, "ceiling": { "value": 12192, "unit": "m", "unitType": 5 }, "pressure": { "value": 1015.9, "unit": "mb", "unitType": 14 }, "pressureTendency": { "localizedDescription": "Steady", "code": "S" }, "past24HourTemperatureDeparture": { "value": 3, "unit": "C", "unitType": 17 }, "apparentTemperature": { "value": 20, "unit": "C", "unitType": 17 }, "windChillTemperature": { "value": 19.4, "unit": "C", "unitType": 17 }, "wetBulbTemperature": { "value": 17.5, "unit": "C", "unitType": 17 }, "precipitationSummary": { "pastHour": { "value": 0, "unit": "mm", "unitType": 3 }, "past3Hours": { "value": 0, "unit": "mm", "unitType": 3 }, "past6Hours": { "value": 0, "unit": "mm", "unitType": 3 }, "past9Hours": { "value": 0, "unit": "mm", "unitType": 3 }, "past12Hours": { "value": 0, "unit": "mm", "unitType": 3 }, "past18Hours": { "value": 0, "unit": "mm", "unitType": 3 }, "past24Hours": { "value": 0, "unit": "mm", "unitType": 3 } }, "temperatureSummary": { "past6Hours": { "minimum": { "value": 16, "unit": "C", "unitType": 17 }, "maximum": { "value": 19.5, "unit": "C", "unitType": 17 } }, "past12Hours": { "minimum": { "value": 16, "unit": "C", "unitType": 17 }, "maximum": { "value": 20.4, "unit": "C", "unitType": 17 } }, "past24Hours": { "minimum": { "value": 16, "unit": "C", "unitType": 17 }, "maximum": { "value": 26.4, "unit": "C", "unitType": 17 } } } } ] }
Súlyos időjárási riasztások kérése
Az Azure Maps Get Severe Weather Alerts API azokat a súlyos időjárási riasztásokat adja vissza, amelyek világszerte elérhetők a hivatalos kormányzati meteorológiai ügynökségektől, és globálisan vezetnek a regionális időjárási riasztások szolgáltatóihoz. A szolgáltatás olyan részleteket 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 helyszínre 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, valamint az üzleti helyszíneket és a tervezett útvonalakat, és további egyeztetéseket végezhetnek a sofőrökkel és a helyi dolgozókkal.
Ebben a példában a Get Severe Weather Alerts API-t használja az aktuális időjárási feltételek lekérésére a Cheyenne,WY-ban található koordinátákon.
Feljegyzé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, egy másik koordináta-helyen kell adatokat lekérnie.
A bruno alkalmazásban válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.
Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:
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 Létrehozás gombot.
Válassza a futtatá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érelemben megadhatja, hogy egy adott koordináta-hely esetében hány nap legyen a visszatérési nap: 1, 5, 10, 15, 25 vagy 45 nap. 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ással duration=5
.
Fontos
Az S0 tarifacsomagban napi előrejelzést kérhet a következő 1, 5, 10 és 15 napra vonatkozóan. Gen1 (S1) vagy Gen2 tarifacsomagban napi előrejelzést kérhet a következő 25 napra és 45 napra.
Azure Maps Gen1 tarifacsomag kivonása
A Gen1 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 az Azure Maps-fiókjában a Gen1 tarifacsomag van kiválasztva, a kivonás előtt átválthat Gen2-díjszabásra, ellenkező esetben az automatikusan frissül. További információ: Az Azure Maps-fiók tarifacsomagjának kezelése.
Ebben a példában a Napi előrejelzés lekérése API-val lekéri a Seattle,WA-ban található koordináták ötnapos időjárás-előrejelzését.
A bruno alkalmazásban válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.
Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:
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 Létrehozás gombot.
Válassza a futtatás gombot.
A válasz törzse tartalmazza az ötnapos 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": "2024-08-09T08:00:00-07:00", "endDate": "2024-08-09T20:00:00-07:00", "severity": 7, "phrase": "Very warm tomorrow", "category": "heat" }, "forecasts": [ { "date": "2024-08-08T07:00:00-07:00", "temperature": { "minimum": { "value": 16.2, "unit": "C", "unitType": 17 }, "maximum": { "value": 28.9, "unit": "C", "unitType": 17 } }, "realFeelTemperature": { "minimum": { "value": 16.3, "unit": "C", "unitType": 17 }, "maximum": { "value": 29.8, "unit": "C", "unitType": 17 } }, "realFeelTemperatureShade": { "minimum": { "value": 16.3, "unit": "C", "unitType": 17 }, "maximum": { "value": 27.3, "unit": "C", "unitType": 17 } }, "hoursOfSun": 12.9, "degreeDaySummary": { "heating": { "value": 0, "unit": "C", "unitType": 17 }, "cooling": { "value": 5, "unit": "C", "unitType": 17 } }, "airAndPollen": [ { "name": "AirQuality", "value": 56, "category": "Moderate", "categoryValue": 2, "type": "Nitrogen Dioxide" }, { "name": "Grass", "value": 2, "category": "Low", "categoryValue": 1 }, { "name": "Mold", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "Ragweed", "value": 5, "category": "Low", "categoryValue": 1 }, { "name": "Tree", "value": 0, "category": "Low", "categoryValue": 1 }, { "name": "UVIndex", "value": 7, "category": "High", "categoryValue": 3 } ], "day": { "iconCode": 2, "iconPhrase": "Mostly sunny", "hasPrecipitation": false, "shortPhrase": "Mostly sunny", "longPhrase": "Mostly sunny; wildfire smoke will cause the sky to be hazy", "precipitationProbability": 0, "thunderstormProbability": 0, "rainProbability": 0, "snowProbability": 0, "iceProbability": 0, "wind": { "direction": { "degrees": 357, "localizedDescription": "N" }, "speed": { "value": 11.1, "unit": "km/h", "unitType": 7 } }, "windGust": { "direction": { "degrees": 354, "localizedDescription": "N" }, "speed": { "value": 29.6, "unit": "km/h", "unitType": 7 } }, "totalLiquid": { "value": 0, "unit": "mm", "unitType": 3 }, "rain": { "value": 0, "unit": "mm", "unitType": 3 }, "snow": { "value": 0, "unit": "cm", "unitType": 4 }, "ice": { "value": 0, "unit": "mm", "unitType": 3 }, "hoursOfPrecipitation": 0, "hoursOfRain": 0, "hoursOfSnow": 0, "hoursOfIce": 0, "cloudCover": 10 }, "night": { "iconCode": 35, "iconPhrase": "Partly cloudy", "hasPrecipitation": false, "shortPhrase": "Partly cloudy", "longPhrase": "Partly cloudy; wildfire smoke will cause the sky to be hazy", "precipitationProbability": 1, "thunderstormProbability": 0, "rainProbability": 1, "snowProbability": 0, "iceProbability": 0, "wind": { "direction": { "degrees": 7, "localizedDescription": "N" }, "speed": { "value": 9.3, "unit": "km/h", "unitType": 7 } }, "windGust": { "direction": { "degrees": 3, "localizedDescription": "N" }, "speed": { "value": 20.4, "unit": "km/h", "unitType": 7 } }, "totalLiquid": { "value": 0, "unit": "mm", "unitType": 3 }, "rain": { "value": 0, "unit": "mm", "unitType": 3 }, "snow": { "value": 0, "unit": "cm", "unitType": 4 }, "ice": { "value": 0, "unit": "mm", "unitType": 3 }, "hoursOfPrecipitation": 0, "hoursOfRain": 0, "hoursOfSnow": 0, "hoursOfIce": 0, "cloudCover": 26 }, "sources": [ "AccuWeather" ] } ] }
Óránkénti időjárás-előrejelzési adatok kérése
A Get Hourly Forecast API a következő 1, 12, 24 (1 nap), 72 (3 nap), 120 (5 nap) és 240 órára (10 nap) vonatkozó részletes időjárás-előrejelzést ad vissza a megadott koordinátához. 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). Gen1 (S1) vagy 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éri a következő 12 órára vonatkozó óránkénti időjárás-előrejelzést Seattle, WA koordinátáin.
A bruno alkalmazásban válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.
Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:
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 Létrehozás gombot.
Válassza a futtatás gombot.
A válasz törzse a következő 12 órára vonatkozó időjárás-előrejelzési adatokat tartalmazza. A következő példa JSON-válasz csak az első órát jeleníti meg:
{ "forecasts": [ { "date": "2024-08-07T15:00:00-07:00", "iconCode": 2, "iconPhrase": "Mostly sunny", "hasPrecipitation": false, "isDaylight": true, "temperature": { "value": 24.6, "unit": "C", "unitType": 17 }, "realFeelTemperature": { "value": 26.4, "unit": "C", "unitType": 17 }, "wetBulbTemperature": { "value": 18.1, "unit": "C", "unitType": 17 }, "dewPoint": { "value": 14.5, "unit": "C", "unitType": 17 }, "wind": { "direction": { "degrees": 340, "localizedDescription": "NNW" }, "speed": { "value": 14.8, "unit": "km/h", "unitType": 7 } }, "windGust": { "speed": { "value": 24.1, "unit": "km/h", "unitType": 7 } }, "relativeHumidity": 53, "visibility": { "value": 16.1, "unit": "km", "unitType": 6 }, "cloudCover": 11, "ceiling": { "value": 10211, "unit": "m", "unitType": 5 }, "uvIndex": 5, "uvIndexPhrase": "Moderate", "precipitationProbability": 0, "rainProbability": 0, "snowProbability": 0, "iceProbability": 0, "totalLiquid": { "value": 0, "unit": "mm", "unitType": 3 }, "rain": { "value": 0, "unit": "mm", "unitType": 3 }, "snow": { "value": 0, "unit": "cm", "unitType": 4 }, "ice": { "value": 0, "unit": "mm", "unitType": 3 } } ] }
Percről percre vonatkozó 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-val lekéri a percenkénti 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 bruno alkalmazásban válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.
Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:
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 Létrehozás gombot.
Válassza a futtatás gombot.
A válasz törzse a következő 120 percre vonatkozó időjárás-előrejelzési adatokat tartalmazza 15 perces időközönként.
{ "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": 1 }, "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": 1 } ], "intervals": [ { "startTime": "2024-08-08T05:58:00-07:00", "minute": 0, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 7 }, { "startTime": "2024-08-08T06:13:00-07:00", "minute": 15, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 3 }, { "startTime": "2024-08-08T06:28:00-07:00", "minute": 30, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 2 }, { "startTime": "2024-08-08T06:43:00-07:00", "minute": 45, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 2 }, { "startTime": "2024-08-08T06:58:00-07:00", "minute": 60, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 1 }, { "startTime": "2024-08-08T07:13:00-07:00", "minute": 75, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 1 }, { "startTime": "2024-08-08T07:28:00-07:00", "minute": 90, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 0 }, { "startTime": "2024-08-08T07:43:00-07:00", "minute": 105, "dbz": 0, "shortPhrase": "No Precipitation", "iconCode": 1, "cloudCover": 0 } ] }