你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Weather - Get Current Conditions

用于获取当前天气状况。

Get Current Conditions API 是一个 HTTP GET 请求,用于返回给定坐标位置的详细当前天气状况,例如降水、温度和风。 此外,还可检索过去 6 或 24 小时内特定位置的观测结果。 响应返回的基本信息包括观测日期和时间、天气状况的简要描述、天气图标、降水指示器标志和温度等详细信息。 还会返回其他详细信息,例如 RealFeel™ Temperature 和 UV index。 有关详细信息,请参阅 请求实时天气数据

GET https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.1&query={query}
GET https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.1&query={query}&unit={unit}&details={details}&duration={duration}&language={language}

URI 参数

名称 必需 类型 说明
format
path True

JsonFormat

响应的所需格式。 仅支持 json 格式。

api-version
query True

string

Azure Maps API 的版本号。

query
query True

number[]

指定为逗号分隔字符串的适用查询,后跟经度,例如“47.641268,-122.125679”。

通常,天气信息适用于陆地上的位置、被陆地包围的水体以及距离海岸线约 50 海里以内的海洋区域。

details
query

string

返回当前条件的完整详细信息。 可用值为

  • true - 返回完整详细信息。 默认情况下,将返回所有详细信息。
  • false - 返回当前条件数据的截断版本,其中包括观测日期时间、天气短语、图标代码、降水指示器标志和温度。
duration
query

integer

返回的天气条件的时间范围。 默认情况下,将返回最新的天气状况。 默认值为 0 。 支持的值有:

  • 0 - 返回最新的天气状况。
  • 6 - 返回过去 6 小时的天气状况。
  • 24 - 返回过去 24 小时的天气状况。
language
query

string

应返回搜索结果的语言。 应该是受支持的 IETF 语言标记之一,不区分大小写。 当指定语言中的数据不适用于特定字段时,将使用默认语言。

有关详细信息,请参阅 支持的语言

unit
query

WeatherDataUnit

指定以公制单位或英制单位返回数据。 默认值为 metric。

请求头

名称 必需 类型 说明
x-ms-client-id

string

指定哪个帐户与 Microsoft Entra ID 安全模型结合使用。 它表示 Azure Maps 帐户的唯一 ID,可以从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。

响应

名称 类型 说明
200 OK

CurrentConditionsResult

好的

Other Status Codes

ErrorResponse

发生意外错误。

安全性

AADToken

这些 Microsoft Entra OAuth 2.0 流。 与 Azure 基于角色的访问配对时, 控制它可用于控制对 Azure Maps REST API 的访问。 Azure 基于角色的访问控制用于指定对一个或多个 Azure Maps 资源帐户或子资源的访问。 任何用户、组或服务主体都可以通过内置角色或由一个或多个对 Azure Maps REST API 的权限组成的自定义角色授予访问权限。

若要实现方案,建议查看 身份验证概念。 总之,此安全定义提供了一种解决方案,用于通过能够针对特定 API 和范围进行访问控制的对象对应用程序建模。

注释

  • 此安全定义 要求 使用 x-ms-client-id 标头来指示应用程序请求访问的 Azure Maps 资源。 这可以从 地图管理 API 获取。

Authorization URL 特定于 Azure 公有云实例。 主权云具有唯一的授权 URL,Microsoft Entra ID 配置。 * Azure 基于角色的访问控制是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面 配置的。 * 使用 azure Maps Web SDK 允许为多个用例设置基于应用程序的配置。

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

这是在 Azure 门户中或使用 PowerShell、CLI、Azure SDK 或 REST API 创建 Azure Maps 帐户 时预配的共享密钥。

使用此密钥,任何应用程序都可以访问所有 REST API。 换句话说,此密钥可用作颁发密钥的帐户中的主密钥。

对于公开的应用程序,我们建议使用 机密客户端应用程序 方法来访问 Azure Maps REST API,以便安全地存储密钥。

类型: apiKey
在: query

SAS Token

这是一个共享访问签名令牌,它通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面在 azure Maps 资源 上的列表 SAS 操作创建。

使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。

对于公开的应用程序,建议在 映射帐户资源 上配置允许的源的特定列表,以限制呈现滥用并定期续订 SAS 令牌。

类型: apiKey
在: header

示例

Successfully retrieve detailed current weather conditions for a given coordinate location

示例请求

GET https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.1&query=47.641268,-122.125679

示例响应

{
  "results": [
    {
      "dateTime": "2019-11-14T15:08:00-08:00",
      "phrase": "Cloudy",
      "iconCode": 7,
      "hasPrecipitation": false,
      "isDayTime": true,
      "temperature": {
        "value": 13.7,
        "unit": "C",
        "unitType": 17
      },
      "realFeelTemperature": {
        "value": 13.6,
        "unit": "C",
        "unitType": 17
      },
      "realFeelTemperatureShade": {
        "value": 13.6,
        "unit": "C",
        "unitType": 17
      },
      "relativeHumidity": 75,
      "dewPoint": {
        "value": 9.2,
        "unit": "C",
        "unitType": 17
      },
      "wind": {
        "direction": {
          "degrees": 315,
          "localizedDescription": "NW"
        },
        "speed": {
          "value": 3.6,
          "unit": "km/h",
          "unitType": 7
        }
      },
      "windGust": {
        "speed": {
          "value": 4.9,
          "unit": "km/h",
          "unitType": 7
        }
      },
      "uvIndex": 0,
      "uvIndexPhrase": "Low",
      "visibility": {
        "value": 8,
        "unit": "km",
        "unitType": 6
      },
      "obstructionsToVisibility": "",
      "cloudCover": 95,
      "ceiling": {
        "value": 4359,
        "unit": "m",
        "unitType": 5
      },
      "pressure": {
        "value": 1014.9,
        "unit": "mb",
        "unitType": 14
      },
      "pressureTendency": {
        "localizedDescription": "Steady",
        "code": "S"
      },
      "pastTwentyFourHourTemperatureDeparture": {
        "value": 1.8,
        "unit": "C",
        "unitType": 17
      },
      "apparentTemperature": {
        "value": 16.1,
        "unit": "C",
        "unitType": 17
      },
      "windChillTemperature": {
        "value": 13.9,
        "unit": "C",
        "unitType": 17
      },
      "wetBulbTemperature": {
        "value": 11.4,
        "unit": "C",
        "unitType": 17
      },
      "precipitationSummary": {
        "pastHour": {
          "value": 0.5,
          "unit": "mm",
          "unitType": 3
        },
        "past3Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        },
        "past6Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        },
        "past9Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        },
        "past12Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        },
        "past18Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        },
        "past24Hours": {
          "value": 0.8,
          "unit": "mm",
          "unitType": 3
        }
      },
      "temperatureSummary": {
        "past6Hours": {
          "minimum": {
            "value": 8.3,
            "unit": "C",
            "unitType": 17
          },
          "maximum": {
            "value": 13.7,
            "unit": "C",
            "unitType": 17
          }
        },
        "past12Hours": {
          "minimum": {
            "value": 5.9,
            "unit": "C",
            "unitType": 17
          },
          "maximum": {
            "value": 13.7,
            "unit": "C",
            "unitType": 17
          }
        },
        "past24Hours": {
          "minimum": {
            "value": 5.9,
            "unit": "C",
            "unitType": 17
          },
          "maximum": {
            "value": 13.7,
            "unit": "C",
            "unitType": 17
          }
        }
      }
    }
  ]
}

定义

名称 说明
CurrentConditions
CurrentConditionsResult
ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

IconCode

表示显示 iconPhrase. 有关详细信息,请参阅 Azure Maps 中的天气服务

JsonFormat

响应的所需格式。 仅支持 json 格式。

PastHoursTemperature

过去小时数的温度波动摘要。

PrecipitationSummary
PressureTendency
TemperatureSummary
UnitType

与所显示的单位类型关联的数字 ID 值。 可用于单位转换。 有关详细信息,请参阅 Azure Maps 中的天气服务

WeatherDataUnit

指定以公制单位或英制单位返回数据。 默认值为 metric。

WeatherUnit

与天气相关的给定单位的特定值。

WindDetails

返回的风详细信息,包括速度和方向。

WindDirection

风向

CurrentConditions

名称 类型 说明
apparentTemperature

WeatherUnit

由指定单元的空气温度、相对湿度和风速组合引起的室外感知温度。

ceiling

WeatherUnit

指定单位的云顶。 天花板是最低云底高度的测量值。

cloudCover

integer (int32)

表示云覆盖的百分比。

dateTime

string (date-time)

以 ISO 8601 格式显示的当前观测的日期和时间,例如,2019-10-27T19:39:57-08:00。

dewPoint

WeatherUnit

以指定单位表示的露点温度。 露点温度是空气必须冷却到才能达到饱和的温度。

hasPrecipitation

boolean

指示是否存在降水。 True 表示存在降水,false 表示没有降水。

iconCode

IconCode (int32)

表示显示 iconPhrase. 有关详细信息,请参阅 Azure Maps 中的天气服务

isDayTime

boolean

指示一天中的时间。 True 表示“白天”,false 表示“夜晚”。

obstructionsToVisibility

string

可见性受限的原因。

可能的值:

  • A = 强雷暴/冰雹
  • BD = 吹尘
  • BN = 吹砂
  • BS = 吹雪
  • D = 灰尘
  • F = 雾
  • GF = 地面雾
  • HZ = 雾度
  • I = 冰
  • IC = 冰晶
  • IF = 冰雾
  • IP = 冰丸
  • IPW = 冰丸淋浴
  • K = 烟雾
  • L = 毛毛雨
  • R = 雨
  • RS = 雨/雪
  • RW = 花洒淋浴
  • S = 雪
  • SG = 雪粒
  • SP = 雪丸
  • SW = 阵雪
  • T = 雷暴
  • UP = 未定义的降水
  • ZL = 冰冻毛毛雨
  • ZR = 冻雨
  • + = 重
  • - = 浅色
pastTwentyFourHourTemperatureDeparture

WeatherUnit

偏离指定单位 24 小时前观察到的温度。

phrase

string

当前天气状况的短语描述。 以指定的语言显示。

precipitationSummary

PrecipitationSummary

过去 24 小时内的降雨量摘要。

pressure

WeatherUnit

以指定单位表示的大气压力。

pressureTendency

PressureTendency

大气压力变化。

realFeelTemperature

WeatherUnit

RealFeel™ Temperature 正在返回。

realFeelTemperatureShade

WeatherUnit

RealFeel™ Temperature 正在返回。 描述阴凉处温度的真实感觉。

relativeHumidity

integer (int32)

相对湿度是空气中存在的水蒸气量,表示为相同温度下饱和所需量的百分比。

temperature

WeatherUnit

温度正在返回。

temperatureSummary

TemperatureSummary

过去 6 小时、12 小时和 24 小时的温度波动摘要。

uvIndex

integer (int32)

测量来自太阳的紫外线辐射的强度。 支持的值有:

  • 0-2 - 对太阳紫外线或普通人的危险性低。
  • 3-5 - 无保护的阳光照射造成中等伤害的风险。
  • 6-7 - 无保护的阳光照射造成伤害的风险很高。
  • 8-10 - 无保护的阳光照射造成伤害的风险非常高。
  • 11+ - 无保护的阳光照射带来极度的伤害风险。
uvIndexPhrase

string

uvIndex关联的短语。

visibility

WeatherUnit

以指定单位表示的可见性。 可以清楚地辨别物体或光线的距离的度量。

wetBulbTemperature

WeatherUnit

通过在恒定压力下将水蒸发到空气中直到达到饱和,空气可以冷却到的温度。

wind

WindDetails

返回的风详细信息,包括速度和方向。

windChillTemperature

WeatherUnit

由于风而对裸露皮肤的感知空气温度。

windGust

WindDetails

阵风。 阵风是风速的突然、短暂增加。

CurrentConditionsResult

名称 类型 说明
results

CurrentConditions[]

详细的当前天气状况。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

IconCode

表示显示 iconPhrase. 有关详细信息,请参阅 Azure Maps 中的天气服务

说明
1

10
11

12

阵雨

13

大部多云有阵雨

14

局部晴朗有阵雨

15

雷暴

16

大部多云有雷暴

17

局部晴朗有雷暴

18

19

小雪

2

晴时多云

20

大部多云有小雪

21

局部晴朗有小雪

22

雪白

23

大部多云有雪

24

25

雨夹雪

26

冻雨

27
28
29

雨夹雪

3

局部晴朗

30

31

32

33

清晰

34

大部晴朗

35

局部多云

36

间歇性云(夜间)

37

朦胧的月光

38

大部分时间多云(夜间)

39

局部多云有阵雨

4

间歇性多云

40

大部分时间多云,有阵雨(夜间)

41

局部多云有雷暴

42

多云,有雷暴(夜间)

43

大部分时间多云,有阵雨(夜间)

44

大部分时间多云,有雪(夜间)

5

朦胧的阳光

6

大部多云

7

多云

8

阴沉(阴)

9

JsonFormat

响应的所需格式。 仅支持 json 格式。

说明
json

JavaScript 对象表示法数据交换格式

PastHoursTemperature

过去小时数的温度波动摘要。

名称 类型 说明
maximum

WeatherUnit

最大值

minimum

WeatherUnit

最小值

PrecipitationSummary

名称 类型 说明
past12Hours

WeatherUnit

过去 12 小时内下降的降水量 (液体当量)。

past18Hours

WeatherUnit

过去 18 小时内下降的降雨量 (液体当量)。

past24Hours

WeatherUnit

过去 24 小时内下降的降水量 (液体当量)。

past3Hours

WeatherUnit

过去 3 小时内下降的降雨量 (液体当量)。

past6Hours

WeatherUnit

过去 6 小时内下降的降雨量 (液体当量)。 包含公制和英制值。

past9Hours

WeatherUnit

过去 9 小时内下降的降雨量 (液体当量)。

pastHour

WeatherUnit

过去一小时内下降的降雨量 (液体当量)。

PressureTendency

名称 类型 说明
code

string

压力倾向代码,与语言无关。 F=下降,S=稳定,R=上升。

localizedDescription

string

以指定语言描述压力趋势

TemperatureSummary

名称 类型 说明
past12Hours

PastHoursTemperature

过去 12 小时内的温度波动摘要。

past24Hours

PastHoursTemperature

过去 24 小时内的温度波动摘要。

past6Hours

PastHoursTemperature

过去 6 小时内的温度波动摘要。

UnitType

与所显示的单位类型关联的数字 ID 值。 可用于单位转换。 有关详细信息,请参阅 Azure Maps 中的天气服务

说明
0

英尺

1

英寸

10

米每秒

11

百帕

12

英寸汞柱

13

千帕

14

毫巴

15

毫米汞柱

16

每平方英寸磅数

17

摄氏温度

18

华氏温度

19

开氏温度

2

英里

20

百分之

21

漂浮

22

整数

3

毫米

31

MicrogramsPerCubicMeterOfAir

4

厘米

5

6

千米

7

公里每小时

8

9

英里每小时

WeatherDataUnit

指定以公制单位或英制单位返回数据。 默认值为 metric。

说明
imperial

以英制单位返回数据。 英制的一些示例单位是华氏度和英里。

metric

以公制单位返回数据。 公制的一些示例单位是 Celsius 和 Kilometer。

WeatherUnit

与天气相关的给定单位的特定值。

名称 类型 说明
unit

string

返回值的单位类型。

unitType

UnitType (int32)

与所显示的单位类型关联的数字 ID 值。 可用于单位转换。 有关详细信息,请参阅 Azure Maps 中的天气服务

value

number (float)

四舍五入的值。

WindDetails

返回的风详细信息,包括速度和方向。

名称 类型 说明
direction

WindDirection

风向

speed

WeatherUnit

以指定单位表示的风速。

WindDirection

风向

名称 类型 说明
degrees

integer (int32)

风向(方位角),从正北开始,继续顺时针方向。 北是0度,东是90度,南是180度,西部是270度。 可能的值为 0-359。

localizedDescription

string

指定语言的 Direction 缩写。