私は、無料のRSSフィードからyahoo天気データを取得し、RSSフィードから取得したデータに基づいて色の16進数と相関させるアプリ(PHP)を作成しています。私が抱えている問題は、手動で行わずにロケーションコードまたはWOEIDを取得する方法を見つけることです。
Yahoos APIは、WOEIDを提供する限り、RSSフィードを送り返します-> http://weather.yahooapis.com/forecastrss?w=4097
これを行う倫理的な方法はありますか?私の初心者の知識では、用語を使用してyahooを検索し、最初のWOEIDを取得するスクリプトを作成する必要があることを教えてくれますが、yahooはこれを実行するスクリプトを望まず、複雑すぎるように思われます...そうでない場合、代替手段はありますかこれを簡単にするAPIはありますか?
ありがとう!
なぜYahoo!場所をWOEIDに解決するGeoPlanetサービス?または、YQLサービスを使用して、テーブルからGeoPlanetにアクセスしますか?
http://where.yahooapis.com/v1/places.q('Barrie CA')?appid=[yourappidhere]
または
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Barrie%20CA%22&format=xml
削る必要はありません。
乾杯
G
(開示、私はYahoo!で働いており、WOEIDとGeoPlanetの背後にあるグループの一員です)
私はいくつかの有用な情報を得ました: http://developer.yahoo.com/geo/geoplanet/
そして
http://developer.yahoo.com/geo/geoplanet/guide/api-reference.html#api-countries
重要なランドマークのWOEIDを見つけます: http://where.yahooapis.com/v1/places.q ( 'sydney%20opera%20house')?appid = [yourappidhere]
WOEIDを場所に解決します:http://where.yahooapis.com/v1/place/2507854?appid=[yourappidhere]
特定の場所のWOEIDを見つけます: http://where.yahooapis.com/v1/places.q ( 'northfield%20mn%20usa')?appid = [yourappidhere]
特定の場所に一致する一連のWOEIDを、最も可能性の高い順に並べて取得します。 http://where.yahooapis.com/v1/places.q ( 'springfield'); start = 0; count = 5?appid = [yourappidhere]
特定のWOEIDの親を見つけます(そして詳細なレコードを返します):http://where.yahooapis.com/v1/place/638242/parent?select=long&appid=[yourappidhere]
特定のWOEIDの場所名を特定の言語(存在する場合)で返します: http://where.yahooapis.com/v1/places.q ( 'usa')?lang = fr&appid = [ yourappidhere]
場所の表現をJSON形式で取得するには:http://where.yahooapis.com/v1/place/2487956?format=json&appid=[yourappidhere]
特定のWOEIDに隣接する地域のリストを取得するには:http://where.yahooapis.com/v1/place/12795711/neighbors?appid=[yourappidhere]
Yahoo! Geo Technologiesは、YQLでのPlaceFinderサポートの利用可能性を発表します。 geo.placefinderテーブルを使用すると、YQLクエリを介してPlaceFinderにリクエストを送信できます。新しいテーブルは、PlaceFinderにアクセスするためのいくつかの異なる方法を提供します。サポートされているリクエストとパラメーターの説明は http://query.yahooapis.com/v1/public/yql?q...&appid=test を使用して取得できます。以下にいくつかの例を示します。
自由形式の入力形式を使用した住所(1600 Pennsylvania Ave、Washington、DC)のジオコーディング:
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
複数行の入力形式を使用した住所のジオコーディング(701 First Ave、サニーベール、カリフォルニア州94089):
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
空港コード(SFO)のジオコーディング:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22sfo%22&appid=test
フランス語でのPOI(Point of Interest)のジオコーディング:
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
地理座標を使用した逆ジオコーディング:
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
解析された入力形式を使用して、番地(701 First Ave、Sunnyvale、CA 94089)をジオコーディングします。
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
住所に最も近い交差道路とタイムゾーンを決定する:
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
この例は、応答から指定されたフィールドのみを選択するYQL機能を示しています