Realtime en voorspelde weersgegevens aanvragen met behulp van Azure Kaarten Weather-services
Azure Kaarten Weather-services zijn een set RESTful API's waarmee ontwikkelaars zeer dynamische historische, realtime en voorspelde weersgegevens en visualisaties kunnen integreren in hun oplossingen. In dit artikel laten we u zien hoe u zowel realtime als voorspelde weersgegevens kunt aanvragen.
In dit artikel leert u het volgende:
- Vraag realtime (huidige) weersgegevens aan met behulp van de GET Current Conditions-API.
- Vraag waarschuwingen voor ernstig weer aan met behulp van de GET Severe Weather Alerts API.
- Vraag dagelijkse prognoses aan met behulp van de API Voor dagelijkse prognoses op halen.
- Vraag prognoses per uur aan met behulp van de API Voor prognose per uur.
- Vraag prognoses per minuut aan met behulp van de GET Minute Forecast-API.
Deze video bevat voorbeelden voor het maken van REST-aanroepen naar Azure Kaarten Weather-services.
Vereisten
Een primaire sleutel voor een abonnement verkrijgen, ook wel bekend als de primaire sleutel of de abonnementssleutel. Zie Verificatie beheren in Azure Maps voor meer informatie over verificatie in Azure Maps.
Belangrijk
Voor de API Voor minuutvoorspellingis een Prijscategorie Gen 1 (S1) of Gen 2 vereist. Voor alle andere API's is een S0-prijscategoriesleutel vereist.
In deze zelfstudie wordt gebruikgemaakt van de Postman-toepassing, maar u kunt ook een andere API-ontwikkelomgeving kiezen.
Realtime weersgegevens aanvragen
De GET Current Conditions-API retourneert gedetailleerde weersomstandigheden zoals neerslag, temperatuur en wind voor een bepaalde coördinaatlocatie. Ook kunnen waarnemingen van de afgelopen 6 of 24 uur voor een bepaalde locatie worden opgehaald. Het antwoord bevat details zoals observatiedatum en -tijd, een korte beschrijving van de weersomstandigheden, het weerpictogram, vlaggen voor neerslagindicatoren en temperatuur. De realfeel™ temperatuur- en uv-index worden ook geretourneerd.
In dit voorbeeld gebruikt u de GET Current Conditions-API om de huidige weersomstandigheden op te halen op coördinaten in Seattle, WA.
Open de Postman-app. Selecteer Nieuw om de aanvraag te maken. Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de HTTP-methode GET op het tabblad Builder en voer de volgende URL in. Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.0&query=47.60357,-122.32945&subscription-key={Your-Azure-Maps-Primary-Subscription-key}Klik op de blauwe knop Verzenden. De antwoord-body bevat actuele weersinformatie.
{ "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 } } } } ] }
Waarschuwingen voor ernstig weer aanvragen
Azure Kaarten Get Severe Weather Alerts API retourneert de waarschuwingen voor ernstig weer die wereldwijd beschikbaar zijn van zowel officiële meteorologische overheidsinstanties als toonaangevende wereldwijde weerwaarschuwingen. De service kan details retourneren, zoals waarschuwingstype, categorie, niveau en gedetailleerde beschrijvingen over de actieve ernstige waarschuwingen voor de aangevraagde locatie, zoals orkanen, brandjes, bliksem, warmtegolven of forestbranden. Logistieke managers kunnen bijvoorbeeld ernstige weersomstandigheden op een kaart visualiseren, samen met bedrijfslocaties en geplande routes, en verder coördineren met stuurprogramma's en lokale werknemers.
In dit voorbeeld gebruikt u de GET Severe Weather Alerts-API om de huidige weersomstandigheden op te halen op coördinaten in Cheyenne, WY.
Notitie
In dit voorbeeld worden ernstige weerwaarschuwingen opgehaald op het moment van schrijven. Waarschijnlijk zijn er geen ernstige weerwaarschuwingen meer op de aangevraagde locatie. Als u werkelijke waarschuwingsgegevens wilt ophalen bij het uitvoeren van dit voorbeeld, moet u gegevens ophalen op een andere coördinatenlocatie.
Selecteer nieuw in de Postman-app om de aanvraag te maken. Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de HTTP-methode GET op het tabblad Builder en voer de volgende URL in. Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.https://atlas.microsoft.com/weather/severe/alerts/json?api-version=1.0&query=41.161079,-104.805450&subscription-key={Your-Azure-Maps-Primary-Subscription-key}Klik op de blauwe knop Verzenden. Als er geen ernstige weerwaarschuwingen zijn, bevat de antwoord-body een lege
results[]matrix. Als er ernstige weerwaarschuwingen zijn, bevat de antwoord-body iets als het volgende JSON-antwoord:{ "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" } ] },... ] }
Dagelijkse weervoorspellingsgegevens aanvragen
De API Dagelijkse prognoses ontvangen retourneert een gedetailleerde dagelijkse weersvoorspelling, zoals temperatuur en wind. De aanvraag kan opgeven hoeveel dagen er moeten worden retourneert: 1, 5, 10, 15, 25 of 45 dagen voor een bepaalde coördinaatlocatie. Het antwoord bevat details zoals temperatuur, wind, neerslag, luchtkwaliteit en UV-index. In dit voorbeeld vragen we vijf dagen aan door in te duration=5 stellen.
Belangrijk
In de prijscategorie S0 kunt u een dagelijkse prognose aanvragen voor de volgende 1, 5, 10 en 15 dagen. In de prijscategorie Gen 1 (S1) of Gen 2 kunt u een dagelijkse prognose aanvragen voor de komende 25 dagen en 45 dagen.
In dit voorbeeld gebruikt u de GET Daily Forecast-API om de weersvoorspelling voor vijf dagen op te halen voor coördinaten die zich in Seattle (WA) bevinden.
Selecteer nieuw in de Postman-app om de aanvraag te maken. Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de HTTP-methode GET op het tabblad Builder en voer de volgende URL in. Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.https://atlas.microsoft.com/weather/forecast/daily/json?api-version=1.0&query=47.60357,-122.32945&duration=5&subscription-key={Your-Azure-Maps-Primary-Subscription-key}Klik op de blauwe knop Verzenden. De antwoord body bevat de weervoorspellingsgegevens van vijf dagen. Omwille van de beknoptheid toont het onderstaande JSON-antwoord de prognose voor de eerste dag.
{ "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" ] },... ] }
Weervoorspellingsgegevens per uur aanvragen
De API Voor prognose per uur ontvangen retourneert gedetailleerde weersvoorspelling per uur voor de volgende 1, 12, 24 (1 dag), 72 (3 dagen), 120 (5 dagen) en 240 uur (10 dagen) voor de opgegeven coördinatenlocatie. De API retourneert gegevens zoals temperatuur, vochtigheid, wind, neerslag en UV-index.
Belangrijk
In de prijscategorie S0 kunt u een uurprognose aanvragen voor de volgende 1, 12, 24 uur (1 dag) en 72 uur (3 dagen). In de prijscategorie Gen 1 (S1) of Gen 2 kunt u een uurprognose aanvragen voor de volgende 120 (5 dagen) en 240 uur (10 dagen).
In dit voorbeeld gebruikt u de GET Hourly Forecast API om de weersvoorspelling per uur op te halen voor de komende 12 uur op coördinaten in Seattle, WA.
Selecteer nieuw in de Postman-app om de aanvraag te maken. Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de HTTP-methode GET op het tabblad Builder en voer de volgende URL in. Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.https://atlas.microsoft.com/weather/forecast/hourly/json?api-version=1.0&query=47.60357,-122.32945&duration=12&subscription-key={Your-Azure-Maps-Primary-Subscription-key}Klik op de blauwe knop Verzenden. De antwoord body bevat weervoorspellingsgegevens voor de komende 12 uur. Omwille van de beknoptheid toont het onderstaande JSON-antwoord de prognose voor het eerste uur.
{ "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 } }... ] }
Gegevens van de weersvoorspelling per minuut aanvragen
De GET Minute Forecast-API retourneert prognoses per minuut voor een bepaalde locatie voor de volgende 120 minuten. Gebruikers kunnen weersvoorspellingen aanvragen met intervallen van 1, 5 en 15 minuten. Het antwoord bevat details zoals het type neerslag (inclusief regen, sneeuw of een combinatie van beide), begintijd en neerslag-intensiteit (dBZ).
In dit voorbeeld gebruikt u de GET Minute Forecast-API om de weersvoorspelling per minuut op te halen op coördinaten in Seattle, WA. De weersvoorspelling wordt gegeven voor de volgende 120 minuten. Onze query vraagt om een interval van 15 minuten voor de prognose, maar u kunt de parameter aanpassen naar 1 of 5 minuten.
Selecteer nieuw in de Postman-app om de aanvraag te maken. Selecteer in het venster Nieuwe maken de optie HTTP-aanvraag. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de HTTP-methode GET op het tabblad Builder en voer de volgende URL in. Voor deze aanvraag en andere aanvragen die in dit artikel worden vermeld, vervangt u
{Azure-Maps-Primary-Subscription-key}door uw primaire abonnementssleutel.https://atlas.microsoft.com/weather/forecast/minute/json?api-version=1.0&query=47.60357,-122.32945&interval=15&subscription-key={Your-Azure-Maps-Primary-Subscription-key}Klik op de blauwe knop Verzenden. De antwoord body bevat weervoorspellingsgegevens voor de volgende 120 minuten, in intervallen van 15 minuten.
{ "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 } ] }