API REST Национальной службы погоды (NOAA) возвращает ноль для параметров прогноза
Я использую NWS REST API в качестве службы погоды для приложения, которое я создаю. Изначально я неохотно использовал NWS из-за плохой документации, но не смог удержаться, так как он предлагается совершенно бесплатно.
Теперь, когда я пытаюсь использовать это, я сталкиваюсь с некоторыми трудностями. При оформлении запроса на несколько дней минимальная температура отображается равной нулю в течение нескольких дней.
(РЕДАКТИРОВАТЬ: Поскольку я больше тестировал API, я обнаружил, что не всегда минимальные температуры равны нулю. Это может быть максимальная температура или осадки, это кажется совершенно случайным. Если вы хотите делать тестовые вызовы, используя их веб-интерфейс, вы можете сделать это здесь: http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserByDay.htm
и здесь: http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXML.htm)
Вот пример запроса о том, что минимальные температуры пусты: http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?listLatLon=40.863235,-73.714780&format=24%20hourly&numDays=7
Удивительно, но на их веб-сайте указаны минимальные температуры: http://forecast.weather.gov/MapClick.php?textField1=40.83&textField2=-73.70
Вы увидите под минимальными температурами, что он заполнен примерно 5 (иногда меньше, это противоречит) пустые поля, которые говорят <value xsi:nil="true"/>
Если кто-нибудь может мне помочь, это будет очень признательно, иногда использование NWS API может быть немного ошеломляющим.
Спасибо,
1 ответ
Нулевые значения, насколько я понимаю из документации, здесь и здесь, просто указывают на то, что данные недоступны.
Не делая предположений об архитектуре данных NOAA, возможно, что информация, доступная через API, может отличаться от того, что отображает их веб-сайт.
Недостающие значения представлены пустым элементом и xsi:nil=”true” (R2.2.1).
Возвращаемые значения равны нулю, по-видимому, за период времени. Обратите внимание на разницу между time-layout
ключи (см. раздел 5.3.2) в 1 в этих запросах:
Время данных отличается.
<layout-key>
элементКлюч получен с использованием следующего соглашения:
- "К" обозначает ключ.
- "P24h" означает длительность периода данных 24 часа.
- "N7" означает, что количество раз данных равно 7.
- "1" - это порядковый номер, используемый для сохранения уникальности клавиш макета.
Вот, startDate
это фактор. Отключение включает больше времени и может привести к тому, что некоторые запрошенные данные еще не будут доступны.
По документации:
Начальный день, для которого вы хотите данные NDFD. Если строка пуста, дата начала считается самым ранним доступным днем в базе данных. Этот ввод необходим только в том случае, если требуется сократить данные временного окна, для которых необходимо получить данные (менее чем за 7 дней), например, если пользователь хочет получить данные за 2-5 дней.
Я не испытываю случайность, о которой вы упоминаете. Ребята из YahooAA в Yahoo! Форум группы может рассказать вам больше.