Как получить «текущие данные наблюдений» из службы NDFD (NOAA, NWS) REST?

Я пытаюсь использовать NDFD (Национальную цифровую базу данных прогнозов), чтобы получить текущую температуру и относительную влажность с учетом широты и долготы, используя их сервис на основе REST.

Проблема под рукой:

Я не могу сопоставить «текущие данные наблюдения» с «результатами», которые я получаю от службы REST.

Установка:

Местоположение:
* Яблоко (1-бесконечная петля, Купертино, Калифорния)
* Шир. = 37,33; Долгота = -122,03

Если я выполню следующий REST-вызов:

http://www.weather.gov/forecasts/xml/sample_products/browser_interface/ndfdXMLclient.php?lat=37.33&lon=-122.03&product=time-series&begin=2009-06-21T17:12:35&end=2009-06-21T17:12:35&appt=appt&rh=rh&temp_r=temp_r&temp=temp

Note 1: I'm passing the begin and end time in UTC. They're the same because I'm looking for just a single-point-in-time: the latest observed temp and relative humidity.

И затем сравните его с ближайшими станциями отчетности (Международный аэропорт Сан-Хосе, Калифорния - KSJC - 37.37N 121.93W) @ http://www.weather.gov/xml/current_obs/KSJC.xml

** Я никак не могу заставить их СООТВЕТСТВОВАТЬ. **

Note 2: The nearest reporting station is return back from the REST call as well, so I know I'm comparing Location apples to Location apples.

У меня было две идеи:

1: Я делаю что-то не так с тем, как я передаю время начала/окончания в вызов REST...

2: Вы не можете получить «текущие наблюдаемые данные» так, как я пытаюсь...

Наконец:

Я нашел решение, используя рубиновую библиотеку outoftime NOAA, [она анализирует станции наблюдения Файл YAML, чтобы найти ближайшую станцию ​​с заданной широтой/долготой, затем переходит непосредственно к этой станции через ее идентификатор, т.е. http://www.weather.gov/xml/current_obs/KSJC.xml].... но мне кажется, что я могу упустить здесь что-то очевидное и хотел бы использовать интерфейс на основе REST ;)

Любая помощь или указатели будут оценены!

Спасибо!


person killingmichael    schedule 21.06.2009    source источник


Ответы (4)


Похоже, служба, которую вы вызываете, не предназначена для текущих данных. Судя по URL и результатам XML, похоже, для прогнозов. Вы также можете указать будущие даты, чтобы получить данные прогноза на будущее. Ожидается, что даты будут в часовом поясе -0700 в соответствии с ответом. Я не уверен, какую службу вы должны звонить, чтобы получить нужные данные.

person laz    schedule 30.06.2009
comment
Спасибо, Яз! Я ценю время, чтобы ответить и помочь ... Я смирился с тем, что делаю это на основе данных станции :) - person killingmichael; 02.07.2009

Я знаю, что это старый вопрос, но я использую его для получения текущих погодных условий: http://forecast.weather.gov/MapClick.php?lat=43.09110&lon=-79.0162&unit=0&lg=english&FcstType=dwml

person Jesse    schedule 31.12.2013

Вчера нашел этот API/ссылку. Он все еще находится в разработке (operation-mode="developmental"):

http://forecast.weather.gov/MapClick.php?lat=37.33&lon=-122.03&FcstType=dwml

person slgraffoo    schedule 06.12.2011

Если вам нужно «текущее» наблюдение, вы используете XML здесь:

http://w1.weather.gov/xml/current_obs/seek.php?state=or&Find=Find

e.g.,:

http://w1.weather.gov/xml/current_obs/KAST.xml

Если вы нажмете на ссылку, вы получите отрендеренную страницу. Однако, если вы извлекаете из него обычные методы rest или просто wget, он доставляет файл xml.

person Nathan Dunn    schedule 24.08.2013