我一直在使用来自 weather.gov 的相对较新的V3 API中的提醒功能。我已成功使用API在https://api.weather.gov/alerts/active使用PHP查看当前警报,并在HTTP请求中发送相应的accept,version和user-agent标头。
我现在正在寻求扩展此功能,以便查询特定日期的非活动警报。文档以ISO8601DateTime
格式说明了开始和结束参数。因此,以下示例URL应在2018年5月15日在伊利诺伊州生成所有警报的列表:
然而,这会产生响应:
{
"type": "FeatureCollection",
"features": [],
"title": "Watches, warnings, and advisories issued between Mon, May 14, 2018 12:00:00 AM -0500 and Tue, May 14, 2018 12:00:00 AM -0500 for Illinois"
}
响应清楚地表明参数正在被正确解析。我知道伊利诺伊州今天发布了大量警报。我也尝试了很多变化,包括更短和更长的持续时间,不同的时区(包括没有),不同的日期和不同的状态,包括没有提供的状态。所有这些都提供了描述列表的类似结果,但没有实际数据。
是否有人在API上找到了更好的文档,或者在警报开始和结束时间方面取得了成功?
您可以找到API here的完整文档。
答案 0 :(得分:1)
我玩了一遍,最后只是通过一个简单的请求来查看你得到的东西。
https://api.weather.gov/alerts?state=IL
然后我使用了有效而不是开始和结束。
https://api.weather.gov/alerts?state=IL&effective=2018-05-20T06:08:00-04:00
你得到了一些回报:
{
"@context": [
"https://raw.githubusercontent.com/geojson/geojson-ld/master/contexts/geojson-base.jsonld",
{
"wx": "https://api.weather.gov/ontology#",
"@vocab": "https://api.weather.gov/ontology#"
}
],
"type": "FeatureCollection",
"features": [
{
"id": "https://api.weather.gov/alerts/NWS-IDP-PROD-2847567-2622897",
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-90.97,
39.39
],
[
-90.89,
39.45
],
[
-90.77,
39.38
],
[
-90.71,
39.23
],
[
-90.81,
39.22
],
[
-90.97,
39.39
]
]
]
},
答案 1 :(得分:1)
不久前,我再次进行了回顾,很明显,NWS的内部发生了一些变化,因为我现在可以指定开始时间和结束时间了。首先是时间戳:
2020-05-14T05:40:08-00:00
2020-05-14T05:40:08-05:00
已将偏移量更改为-5小时2020-05-14T05:40:08Z
将时区更改为Z(UTC的简写)2020-05-14T05:40:08+00:00
不接受正偏移量2020-05-14T05:40:08.000Z
不接受毫秒20200514T054008Z
不接受没有标点符号的情况2020-05-14
仅接受日期这是一个将返回数据直到2020年5月21日的URL:https://api.weather.gov/alerts?start=2020-05-14T05:40:08-00:00
我还学到了以下内容:
start
和end
网址参数似乎正在过滤响应中的sent
字段。/alerts
端点大约有最后一周的数据。