php - forecast - yahoo weather api español
Yahoo Weather API WOEID recuperación (3)
Estoy creando una aplicación (PHP) que toma los datos meteorológicos de yahoo de la fuente RSS gratuita y los correlaciona con un hexágono de color basado en datos recuperados de la fuente RSS. El problema que estoy teniendo es encontrar la manera de agarrar el código de ubicación o WOEID sin hacerlo manualmente.
La API Yahoos devuelve un feed RSS siempre y cuando proporciones un WOEID -> http://weather.yahooapis.com/forecastrss?w=4097
¿Hay una forma ética de hacer esto? Mi conocimiento de principiante me dice que tengo que escribir un script que busque Yahoo usando el término y tome el primer WOEID, pero supongo que yahoo no quiere que los guiones lo hagan y parece demasiado complicado ... Si no, ¿hay alguna alternativa? API que me facilitaría esto?
¡Gracias!
¿Por qué no simplemente usar el Yahoo! Servicio GeoPlanet para resolver un lugar a un WOEID? ¿O usar el servicio YQL para acceder a GeoPlanet a través de su tabla?
http://where.yahooapis.com/v1/places.q(''Barrie CA'')?appid=[yourappidhere]
o
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Barrie%20CA%22&format=xml
No es necesario raspar.
Aclamaciones
GRAMO
(Divulgación: trabajo para Yahoo y soy parte del grupo detrás de WOEIDs y GeoPlanet)
Obtuve información útil de: http://developer.yahoo.com/geo/geoplanet/
Y
http://developer.yahoo.com/geo/geoplanet/guide/api-reference.html#api-countries
Encuentre el DESPLAZAMIENTO de un hito importante: http://where.yahooapis.com/v1/places.q (''sydney% 20opera% 20house'')? Appid = [yourappidhere]
Resuelva un WOEID a un lugar: http://where.yahooapis.com/v1/place/2507854?appid=[yourappidhere]
Encuentre el WOEID de un lugar específico: http://where.yahooapis.com/v1/places.q (''northfield% 20mn% 20usa'')? Appid = [yourappidhere]
Obtenga un rango de WOEID que coincidan con un lugar determinado, ordenados por el más probable: http://where.yahooapis.com/v1/places.q (''springfield''); start = 0; count = 5? Appid = [yourappidhere ]
Encuentre el padre de un WOEID dado (y devuelva un registro detallado): http://where.yahooapis.com/v1/place/638242/parent?select=long&appid=[yourappidherehere]
Devuelve el Placename para un WOEID dado en un idioma específico (donde exista): http://where.yahooapis.com/v1/places.q (''usa'')? Lang = fr & appid = [yourappidhere]
Para obtener la representación de un lugar en formato JSON: http://where.yahooapis.com/v1/place/2487956?format=json&appid=[yourappidherehere]
Para obtener una lista de zonas geográficas cercanas a un WOEID específico: http://where.yahooapis.com/v1/place/12795711/neighbors?appid=[yourappidherehere]
Yahoo! Geo Technologies se complace en anunciar la disponibilidad del soporte de PlaceFinder en YQL. La tabla geo.placefinder permite a los usuarios realizar solicitudes a PlaceFinder a través de consultas YQL. La nueva tabla proporciona varias formas diferentes de acceder a PlaceFinder. Se puede recuperar una descripción de las solicitudes y los parámetros admitidos utilizando http://query.yahooapis.com/v1/public/yql?q...&appid=test . Aquí están algunos ejemplos:
Geocodificación de una dirección (1600 Pennsylvania Ave, Washington, DC) utilizando el formato de entrada de forma libre:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%221600%20Pennsylvania%20Ave%2C%20Washington%2C%20DC%22&appid=test
Geocodificación de una dirección de calle (701 First Ave, Sunnyvale, CA 94089) utilizando el formato de entrada de varias líneas:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20line1%3D%22701%20First%20Ave%22%20and%20line2%3D%22Sunnyvale%2C%20CA%2094089%22&appid=test
Geocodificación de un código de aeropuerto (SFO):
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22sfo%22&appid=test
Geocodificación de un punto de interés (POI) en francés:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22Eiffel%20Tower%22%20and%20lang%3D%22fr%22&appid=test
Geocodificación inversa utilizando coordenadas geográficas:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%2237.416275%2C%20-122.025092%22%20and%20gflags%3D%22R%22&appid=test
Geocodificación de una dirección (701 First Ave, Sunnyvale, CA 94089) utilizando el formato de entrada analizado:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20house%3D%22701%22%20and%20street%3D%22First%20Ave%22%20and%20city%3D%22Sunnyvale%22%20and%20state%3D%22CA%22%20and%20postal%3D%2294089%22&appid=test
Determinar las calles transversales más cercanas y la zona horaria de una dirección:
http://query.yahooapis.com/v1/public/yql?q=select%20line1%2C%20line2%2C%20line3%2C%20line4%2C%20cross%2C%20timezone%20from%20geo.placefinder%20where%20text%3D%22701%20First%20Ave%2C%20Sunnyvale%2C%20CA%22%20and%20flags%3D%22T%22%20and%20gflags%3D%22C%22&appid=test
Este ejemplo ilustra la capacidad de YQL para seleccionar solo campos especificados de la respuesta