Обучение
Схема обучения
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Службы погоды Azure Maps — это набор интерфейсов REST API, позволяющий разработчикам интегрировать в свои решения высокодинамичные исторические, актуальные и прогнозные погодные данные, а также визуализации.
В этой статье показано, как запрашивать данные погоды в режиме реального времени и прогнозируемых данных о погоде:
В этом видеоролике приведены примеры вызовов REST для Служб погоды Azure Maps.
Важно!
В примерах URL-адресов в этой статье вам потребуется заменить {Your-Azure-Maps-Subscription-key}
ключ подписки Azure Maps.
В этом руководстве используется приложение бруно , но вы можете выбрать другую среду разработки API.
Get Current Conditions API возвращает подробные данные о погодных условиях, например количество осадков, температура и скорость ветра, для заданного с помощью координат расположения. Кроме того, можно получить данные наблюдений за последние 6 часов или 24 часа для определенного расположения. Ответ включает такие сведения, как дата наблюдения и время, описание погодных условий, значок погоды, флаги индикаторов осадков и температура. Также возвращается значение RealFeel™ (ощущаемая температура) и индекс УФ-излучения.
В этом примере вы используете API Get Current Conditions для получения текущих погодных условий в координатах, расположенных в Сиэтле, WA.
Откройте приложение бруно, выберите NEW REQUEST , чтобы создать запрос. В окне NEW REQUEST задайте для типа HTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий URL-адрес:
https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.0&query=47.60357,-122.32945&subscription-key={Your-Azure-Maps-Subscription-key}
Нажмите синюю кнопку "Создать ".
Нажмите кнопку запуска.
Текст ответа содержит сведения о текущей погоде.
{
"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
}
}
}
}
]
}
API получения серьезных оповещений о погоде Azure Maps возвращает тяжелые оповещения о погоде, доступные во всем мире от официальных государственных метеорологических агентств и ведущих глобальных поставщиков предупреждений о погоде. Служба возвращает такие сведения, как тип оповещения, категория, уровень. Служба также возвращает подробное описание активных серьезных оповещений для запрошенного расположения, таких как ураганы, грозы, молнии, тепловые волны или лесные пожары. Например, менеджеры по логистике могут визуализировать данные о неблагоприятных погодных условиях на карте вместе с объектами коммерческой деятельности и запланированными маршрутами, а также координировать работу с водителями и сотрудниками на местах.
В этом примере вы используете API получения оповещений о тяжелой погоде для получения текущих погодных условий в координатах, расположенных в Cheyenne, WY.
Примечание
В этом примере извлекаются предупреждения о неблагоприятных погодных условиях на момент написания этой статьи. Вероятно, для запрошенного расположения больше нет активных предупреждений о неблагоприятных погодных условиях. Чтобы получить фактические данные при выполнении этого примера, необходимо получить данные в расположении с другими координатами.
В приложении бруно выберите NEW REQUEST , чтобы создать запрос. В окне NEW REQUEST задайте для типа HTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий 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}
Нажмите синюю кнопку "Создать ".
Нажмите кнопку запуска.
Если нет серьезных оповещений о погоде, текст отклика содержит пустой results[]
массив. При наличии предупреждений текст ответа будет содержать ответ 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"
}
]
},...
]
}
Get Daily Forecast API возвращает подробный прогноз погоды по дням, включая температуру и скорость ветра. В запросе можно указать, за сколько дней требуются данные (1, 5, 10, 15, 25 или 45) для заданного с помощью координат расположения. Ответ включает такие сведения, как температура, скорость ветра, количество осадков, качество воздуха и индекс УФ-излучения. В этом примере мы запрашиваем данные за пять дней, установив duration=5
.
Важно!
В ценовой категории S0 можно запросить прогноз по дням на следующие 1, 5, 10 и 15 дней. В ценовой категории 1-го поколения (S1) или 2-го поколения можно запросить ежедневный прогноз на следующие 25 дней и 45 дней.
Выход на пенсию ценовой категории Azure Maps 1-го поколения
Ценовая категория 1-го поколения устарела и будет прекращена на 9.15.26. Ценовая категория 2-го поколения заменяет ценовую категорию 1-го поколения (как S0, так и S1). Если у вашей учетной записи Azure Maps выбрана ценовая категория 1-го поколения, вы можете перейти на ценовую категорию 2-го поколения, прежде чем она будет прекращена, в противном случае она будет автоматически обновлена. Дополнительные сведения см. в статье "Управление ценовой категорией учетной записи Azure Maps".
В этом примере вы используете API получения ежедневного прогноза для получения пятидневного прогноза погоды для координат, расположенных в Сиэтле, WA.
В приложении бруно выберите NEW REQUEST , чтобы создать запрос. В окне NEW REQUEST задайте для типа HTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий 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}
Нажмите синюю кнопку "Создать ".
Нажмите кнопку запуска.
Текст ответа содержит данные прогноза погоды на пять дней. Для краткости следующий ответ JSON показывает прогноз на первый день.
{
"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"
]
}
]
}
Get Hourly Forecast API возвращает подробный почасовой прогноз погоды на следующий 1 час, 12 часов, 24 часа (1 день), 72 часа (3 дня), 120 часов (5 дней) или 240 часов (10 дней) для заданного с помощью координат расположения. API возвращает такие сведения, как температура, влажность, скорость ветра, количество осадков и индекс УФ-излучения.
Важно!
В ценовой категории "1-го поколения" (S0) можно запросить почасовой прогноз на следующие 1, 12, 24 часа (1 день) и 72 часа (3 дня). В ценовой категории 1-го поколения (S1) или 2-го поколения можно запросить почасовой прогноз на следующие 120 (5 дней) и 240 часов (10 дней).
В этом примере вы используете API получения почасового прогноза для получения почасового прогноза погоды в течение следующих 12 часов в координатах, расположенных в Сиэтле, WA.
В приложении бруно выберите NEW REQUEST , чтобы создать запрос. В окне NEW REQUEST задайте для типа HTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий 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}
Нажмите синюю кнопку "Создать ".
Нажмите кнопку запуска.
Текст ответа содержит данные прогноза погоды на следующие 12 часов. В следующем примере ответа JSON отображается только первый час:
{
"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
}
}
]
}
Get Minute Forecast API возвращает данные поминутного прогноза на следующие 120 минут для определенного расположения. Пользователи могут запрашивать прогноз погоды с интервалом 1, 5 и 15 минут. Ответ содержит такие сведения, как тип осадков (включая дождь, снег или их сочетание), время начала и значение интенсивности осадков (dBZ).
В этом примере вы используете API получения прогноза минут для получения прогноза по минутам погоды в координатах, расположенных в Сиэтле, WA. Прогноз погоды предоставляется на следующие 120 минут. Наши запросы, которые прогноз предоставляется через 15 минут, но можно настроить параметр на 1 или 5 минут.
В приложении бруно выберите NEW REQUEST , чтобы создать запрос. В окне NEW REQUEST задайте для типа HTTP. Введите имя запроса.
Выберите метод GET HTTP в раскрывающемся списке URL-адресов и введите следующий 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}
Нажмите синюю кнопку "Создать ".
Нажмите кнопку запуска.
Текст ответа содержит данные прогноза погоды на следующие 120 минут с интервалом в 15 минут.
{
"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
}
]
}
Обучение
Схема обучения
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Документация
Основные понятия служб погоды в Microsoft Azure Maps
Ознакомьтесь с основными понятиями, применимыми к службам погоды в Microsoft Azure Maps.
Часто задаваемые вопросы по Службе погоды Microsoft Azure Maps
Получите ответы на распространенные вопросы о данных и функциях Службы погоды Azure Maps.