Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Služba Azure Maps Weather je sada rozhraní RESTful API, která vývojářům umožňuje integrovat do svých řešení vysoce dynamická historická, reálná a předpovězená data a vizualizace počasí.
Tento článek ukazuje, jak si vyžádat data o počasí v reálném čase i předpověze:
- Vyžádejte si údaje o počasí v reálném čase (aktuální) pomocí rozhraní API Get Current Conditions (Získat aktuální podmínky).
- Vyžádejte si závažná upozornění na počasí pomocí rozhraní API Get Severe Weather Alerts.
- Vyžádejte si denní předpovědi pomocí rozhraní API Get Daily Forecast.
- Vyžádejte si hodinové prognózy pomocí rozhraní API Get Hourly Forecast.
- Vyžádejte si předpovědi po minutách pomocí rozhraní API Get Minute Forecast.
Toto video obsahuje příklady volání REST do služby Azure Maps Weather.
Požadavky
- Účet služby Azure Maps
- Klíč předplatného
Důležité
V příkladech adres URL v tomto článku budete muset nahradit {Your-Azure-Maps-Subscription-key} klíčem předplatného Azure Maps.
V tomto kurzu se používá aplikace bruno , ale můžete zvolit jiné vývojové prostředí rozhraní API.
Vyžádejte si údaje o počasí v reálném čase
Rozhraní API Get Current Conditions vrací podrobné povětrnostní podmínky, jako jsou srážky, teplota a vítr pro dané umístění souřadnic. Také je možné získat pozorování z posledních 6 nebo 24 hodin pro konkrétní místo. Odpověď obsahuje podrobnosti, jako je datum a čas pozorování, popis povětrnostních podmínek, ikona počasí, příznaky indikátoru srážek a teplota. Vrací se také teplota RealFeel™ a ultrafialový (UV) index.
V tomto příkladu použijete rozhraní API pro získání aktuálních podmínek k načtení aktuálních povětrnostních podmínek na souřadnicích umístěných v Seattlu ve Washingtonu.
Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.0&query=47.60357,-122.32945&subscription-key={Your-Azure-Maps-Subscription-key}Vyberte modré tlačítko Vytvořit .
Vyberte tlačítko Spustit.
Text odpovědi obsahuje aktuální informace o počasí.
{ "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 } } } } ] }
Vyžádání výstrah před extrémním počasím
Rozhraní API Azure Maps Get Severe Weather Alerts vrací upozornění na extrémní počasí, která jsou k dispozici po celém světě od oficiálních vládních meteorologických agentur i předních globálních až regionálních poskytovatelů upozornění na počasí. Služba vrací podrobnosti, jako je typ upozornění, kategorie, úroveň. Služba také vrací podrobné popisy aktivních závažných výstrah pro požadované místo, jako jsou hurikány, bouřky, blesky, vlny veder nebo lesní požáry. Manažeři logistiky mohou například vizualizovat nepříznivé povětrnostní podmínky na mapě spolu s obchodními místy a plánovanými trasami a dále koordinovat svou činnost s řidiči a místními pracovníky.
V tomto příkladu použijete rozhraní API Get Severe Weather Alerts k načtení aktuálních povětrnostních podmínek na souřadnicích umístěných v Cheyenne, WY.
Poznámka:
Tento příklad načte závažná upozornění na počasí v době psaní tohoto článku. Je pravděpodobné, že na požadovaném místě již nejsou žádné výstrahy před nepříznivým počasím. Chcete-li při spuštění tohoto příkladu načíst skutečná závažná data výstrah, budete muset načíst data na jiném souřadnicovém umístění.
V aplikaci bruno vyberte NOVÝ POŽADAVEK a vytvořte požadavek. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
https://atlas.microsoft.com/weather/severe/alerts/json?api-version=1.0&query=41.161079,-104.805450&subscription-key={Your-Azure-Maps-Subscription-key}Vyberte modré tlačítko Vytvořit .
Vyberte tlačítko Spustit.
Pokud nejsou k dispozici žádné závažné výstrahy počasí, text odpovědi obsahuje prázdné
results[]pole. Pokud existují závažná upozornění na počasí, text odpovědi obsahuje něco podobného jako následující odpověď JSON:{ "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" } ] },... ] }
Vyžádejte si údaje o denní předpovědi počasí
Rozhraní API Get Daily Forecast vrací podrobnou denní předpověď počasí, jako je teplota a vítr. V požadavku lze specifikovat, kolik dní se má vrátit: 1, 5, 10, 15, 25 nebo 45 dní pro dané souřadnicové umístění. Odpověď obsahuje podrobnosti, jako je teplota, vítr, srážky, kvalita ovzduší a UV index. V tomto příkladu požadujeme pět dní nastavením duration=5.
Důležité
Na cenové úrovni S0 si můžete vyžádat denní prognózu na příštích 1, 5, 10 a 15 dní. Na cenové úrovni Gen1 (S1) nebo Gen2 si můžete vyžádat denní prognózu na příštích 25 dní a 45 dní.
Vyřazení cenové úrovně Azure Maps Gen1 z provozu
Cenová úroveň Gen1 je teď zastaralá a bude vyřazena 15. 9. 26. Cenová úroveň Gen2 nahrazuje cenovou úroveň Gen1 (S0 i S1). Pokud má váš účet Azure Maps vybranou cenovou úroveň Gen1, můžete před vyřazením přepnout na ceny Gen2, jinak se automaticky aktualizuje. Další informace najdete v tématu Správa cenové úrovně účtu Azure Maps.
V tomto příkladu použijete rozhraní API Get Daily Forecast k načtení pětidenní předpovědi počasí pro souřadnice umístěné v Seattlu ve Washingtonu.
V aplikaci bruno vyberte NOVÝ POŽADAVEK a vytvořte požadavek. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
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}Vyberte modré tlačítko Vytvořit .
Vyberte tlačítko Spustit.
Text odpovědi obsahuje data pětidenní předpovědi počasí. V zájmu stručnosti následující odpověď JSON zobrazuje předpověď na první den.
{ "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" ] } ] }
Vyžádejte si hodinové údaje o předpovědi počasí
Rozhraní API Get Hourly Forecast vrací podrobnou předpověď počasí po hodinách na následující 1, 12, 24 (1 den), 72 (3 dny), 120 (5 dní) a 240 hodin (10 dní) pro dané umístění souřadnic. API vrací podrobnosti, jako je teplota, vlhkost, vítr, srážky a UV index.
Důležité
Na cenové úrovni Gen1 (S0) si můžete vyžádat hodinovou předpověď na příštích 1, 12, 24 hodin (1 den) a 72 hodin (3 dny). Na cenové úrovni Gen1 (S1) nebo Gen2 si můžete vyžádat hodinovou předpověď na dalších 120 (5 dní) a 240 hodin (10 dní).
V tomto příkladu použijete rozhraní API Get Hourly Forecast k načtení hodinové předpovědi počasí na příštích 12 hodin na souřadnicích umístěných v Seattlu ve Washingtonu.
V aplikaci bruno vyberte NOVÝ POŽADAVEK a vytvořte požadavek. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
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}Vyberte modré tlačítko Vytvořit .
Vyberte tlačítko Spustit.
Text odpovědi obsahuje data předpovědi počasí na příštích 12 hodin. Následující příklad odpovědi JSON zobrazuje pouze první hodinu:
{ "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 } } ] }
Vyžádejte si data předpovědi počasí minutu po minutě
Rozhraní API Get Minute Forecast vrací minutové předpovědi pro dané umístění na dalších 120 minut. Uživatelé si mohou vyžádat předpověď počasí v intervalech 1, 5 a 15 minut. Odpověď obsahuje podrobnosti, jako je typ srážek (včetně deště, sněhu nebo kombinace obojího), čas začátku a hodnota intenzity srážek (dBZ).
V tomto příkladu použijete rozhraní API Get Minute Forecast k načtení předpovědi počasí minutu po minutě na souřadnicích umístěných v Seattlu ve Washingtonu. Předpověď počasí je uvedena na následujících 120 minut. Náš dotaz požaduje, aby byla prognóza zadána v 15minutových intervalech, ale parametr můžete upravit tak, aby byl buď 1, nebo 5 minut.
V aplikaci bruno vyberte NOVÝ POŽADAVEK a vytvořte požadavek. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
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}Vyberte modré tlačítko Vytvořit .
Vyberte tlačítko Spustit.
Text odpovědi obsahuje data předpovědi počasí na příštích 120 minut v 15minutových intervalech.
{ "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 } ] }