[開発日誌]GeoNames webservice - Wikipedia (とりあえずのまとめ、その2)
その1からの続きです
日本語の解説があるAPIは、まぁ、後回しにして、海外のAPIを中心にまとめてみたいと思います。まず、最初はGeoNamesのWeb Service。
ONGMAP.COMでは、GeoNamesのAPIの中から2つ利用させてもらっています。
今日はまず、Wikipedia Geocodingのまとめから。
使い方はREST形式でいたって簡単:
URL: ws.geonames.org/findNearbyWikipedia
出力フォーマットによって、URLが異なり、上の場合はXMLを出力。その他にJSONとRSS形式をサポートしていて、それぞれws.geonames.org/findNearbyWikipediaJSON?
ws.geonames.org/findNearbyWikipediaRSS?パラメーター:
- lat: 緯度(postalcodeを指定しない場合は必須)
- lng: 経度(postalcodeを指定しない場合は必須)
- postalcode: 郵便番号(lat/lngを指定しない場合は必須)
- radius: 検索半径(単位はKm。必須)
- country:検索対象の国(デフォルトは全て。オプション)
- lang:検索対象の言語(デフォルトは英語。オプション)
- maxRows :出力する結果の最大件数(デフォルトは5件。オプション)
サンプル:
http://ws.geonames.org/findNearbyWikipedia?lat=35.6707&lng=139.756&radius=1.5〈=ja
パラメーターの「lang」については230の言語をサポートしています。サポートしている言語については、ここを参照。言語によって、検索できる記事数が違うわけですが、ちなみに1番多いのは英語で99,333件(2007/09/03現在)。日本語は13番目で、9,552件。あまり多くないです。あと、英語、ドイツ語、フランス語、スペイン語、ポーランド語については全文抽出もできるようです(日本語はタイトルと要約の抽出のみ)
「maxRows」については、上限が特に決められていないようです。他のAPIでよくあるように、指定した範囲での全件数やページ数は返してくれないので、用途に応じてmaxRowsを指定する必要があります。
「country」については、国名を指定するわけですが、試していないのでよく分かっていません。多分普通に英語の国名を指定すればいいじゃないでしょうか(あるいは、GeoNamesで使っている国コード?)。緯度経度を指定していれば特に必要ないんでしょうが、郵便番号の場合は必要なのかもしれませんね。
出力内容は、上のサンプルリンクを見てもらえば分かりますが、英語の場合記事サマリーを出力してくれるのでそのままでも使い用があるんですが、日本語の場合、出力されるのはタイトルのみで、サマリーが出力されることはほぼ無いので、ちょっと工夫する必要があります。
そこでONGMAP.COMでとった手段は、このGeoNamesのAPIと、SimpleAPIのWikipedia APIの組み合わせでした。この組み合わせによって、GeoNamesで取得した緯度経度情報と記事タイトルに、記事の日本語サマリーを加えることが可能になりました。
(APIも作ってみました)
GeoNamesは大手企業がやっているわけでもなんでもないので、時々レスポンスがなくなることがあるのがたまにきずですが、非常に便利なAPIだと思います。
是非一度利用してみてください。
api geonames simpleapi wikipedia マッシュアップ 緯度経度 開発日誌![]()
Posted: 2007-09-03 under 開発日誌|
Comments: 0

記事 RSS
Write a comment