我如何从api.weather.gov获取德克萨斯州电台,区域,办公室或网格点或其他任何东西的小时预测



我正在尝试从api.weather.gov

获得小时预测

我有一个网格点为印第安纳州工作。https://api.weather.gov/gridpoints/ind/56,65/forecast/hourly

我得到了此信息,并且是有效的。我需要的是在得克萨斯州的每个电台,区域,办公室或网格点或其他任何东西的小时预测。

我该怎么做?

只要您拥有想要预测的位置的纬度/经度,然后:

  1. 从https://api.weather.gov/points/{lat}获取点元数据,{lon}
  2. 请按照forecastHourly属性中的链接获取预测

这比另一个答案中的构建URL更可取,因为如果URL方案在将来发生变化,则您的程序不会破坏。

查看此处和此处找到的API文档,您正在调用/gridpoints/{wfo}/{x},{y}/forecast/hourly调用,该呼叫将返回指定的X-Y坐标的指定气象办公室{wfo}的每小时天气预报。您可以在此处找到天气办公室的列表。在网上找到天气办公室的X-y坐标可能会更加乏味。

如果您碰巧可以访问与您一起工作的GPS坐标,则可以使用/points/{x},{y} API调用来获取最接近的天气办公室的信息,然后传递到/gridpoints/{wfo}/{x},{y}/forecast/hourly API呼叫。

您的应用程序的流程看起来像这样:

步骤1:获取地图地理坐标。就我而言,我在 35,-106

步骤2:呼叫Weather.gov API:https://api.weather.gov/points/35,106。将向您提供一些JSON数据。在 properties 对象中查找 CWA 键。那将是进入下一个API呼叫的预测办公室。就我而言,密钥是 abq 。您还需要在属性中找到 gridx gridy 键。这些是您将用于API调用中{X},{Y}参数的XY坐标。在我的情况下

步骤3:对Weather.gov api进行最终通话:https://api.weather.gov/gridpoints/abq/121,112/forecast/forecast/hourly

>

最新更新