Как узнать текущую погоду через веб-сервисы
Я пытаюсь получить текущую погоду, используя почтовый индекс или набор координат широты / долготы. Похоже, что лучшая практика для этого (и как это делает NOAA) - это получить XML-фид для метеостанции.
Пример: http://www.weather.gov/xml/current_obs/KEDW.xml
Единственная проблема состоит в том, что NOAA не обеспечивает хороший способ найти ближайшую метеостанцию по почтовому индексу или координатам, и я не видел каких-либо размещенных там веб-сервисов, которые бы обеспечивали такое сопоставление.
Кто-нибудь знает какие-либо веб-сервисы для получения ближайшей метеостанции с помощью почтового индекса или ввода координат? Если нет, есть ли у кого-нибудь какие-нибудь отличные решения, в которых можно найти информацию, аналогичную NOAA, но с учетом почтового индекса или координат?
3 ответа
Существует множество погодных API, которые будут искать погоду на основе почтовых индексов или находить ближайший для почтового индекса. Смотрите этот вопрос.
Национальная служба погоды имеет REST API. CTRL + F для почтового индекса:
Суммированные данные для одного или нескольких почтовых индексов. Возвращает данные NDFD в кодировке DWML для одного или нескольких почтовых индексов (50 США и Пуэрто-Рико).
Я не уверен, что у этого есть текущие условия. Если нет, вы можете использовать Wunderground API. Сначала вы используете GeolookupXML для поиска ближайших метеостанций в зависимости от города (см. nearby_weather_stations
элемент в примере вывода), затем вы можете использовать WXCurrentObXML, чтобы получить условия на одной из метеостанций.
Потребовался некоторый поиск, но NOAA ведет список всех метеостанций METAR с их координатами широты и долготы, а также прямые ссылки на их URL-адреса в RSS и XML-каналах. Список хранится в формате XML здесь: http://www.weather.gov/xml/current_obs/index.xml
Вы можете использовать API геокодирования Google или Yahoo для поиска широты / долготы названия места (город, адрес, почтовый индекс и т. Д.), А затем искать в списке метеостанций ближайшую станцию METAR к указанному местоположению.
Я попробовал вашу ссылку и вместо City, Street ввел мой почтовый индекс. Он вернул правильное местоположение и прогноз погоды. Вполне возможно, что это просто плохо документированный API, а параметр city/street, замененный 5-значным zip, действительно сделает то, что вы хотите.