Pergunta

Estou tentando obter o clima atual, dado um código postal ou um conjunto de coordenadas de latitude/longitude. Parece que a melhor prática fazer isso (e como a NOAA faz) é obter o feed XML para uma estação meteorológica.

Exemplo: http://www.weather.gov/xml/current_obs/kedw.xml

O único problema é que a NOAA não fornece uma boa maneira de encontrar a estação meteorológica mais próxima, dada um código ou coordenadas ZIP e não vi nenhum serviço da Web hospedado por aí que fornecerá esse mapeamento.

Alguém conhece algum serviço da Web para obter a estação meteorológica mais próxima, dada um código postal ou coordenar a entrada? Caso contrário, alguém tem ótimas soluções para analisar que fornecem informações semelhantes, como a NOAA, mas leva um código postal ou coordena?

Foi útil?

Solução

Existem inúmeras APIs climáticas por aí que procurarão o clima com base em códigos postais ou encontre o mais próximo para um código postal. Ver essa questão.

O Serviço Nacional de Meteorologia tem um Rest API. Ctrl+F para ZipCode:

Dados resumidos para um ou mais códigos ZIP: Retorna dados NDFD codificados por DWML para um ou mais códigos postais (50 Estados Unidos e Porto Rico).

Aqui está um pedido de amostra


Não tenho certeza se esse tem condições atuais. Caso contrário, você pode usar o API do Wunderground. Primeiro você usa Geolookupxml procurar estações meteorológicas próximas baseadas na cidade (veja o nearby_weather_stations elemento na saída da amostra), então você pode usar WxCurrentObxml Para obter as condições em uma das estações meteorológicas.

Outras dicas

Foram necessárias algumas pesquisas, mas a NOAA mantém uma lista de todas as estações meteorológicas de metar, com suas coordenadas de latitude e longitude, além de links diretos para seus URLs de alimentação RSS e XML. A lista é armazenada no XML aqui: http://www.weather.gov/xml/current_obs/index.xml

Você pode usar as APIs de geocodificação do Google ou Yahoo para procurar a latitude/longitude de um nome de local (cidade, endereço, código postal, etc.) e, em seguida, pesquisar na lista de estações meteorológicas para a estação de metar mais próxima do local fornecido.

Eu tentei o seu link e, em vez da cidade, a rua inseriu meu código postal. Ele retornou o local correto e o relatório meteorológico. É possível que seja apenas uma API mal documentada e um parâmetro de cidade/rua substituído por um zip de 5 dígitos realmente fará o que você deseja.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top