Main menu:


 

2010年 2月
« 7月    
1234567
891011121314
15161718192021
22232425262728

最近の投稿

最近のコメント

カテゴリー

アーカイブ

 

運営サイト

naotori@twitter

MAの輪

リンク

RSS

ʸۿƱ

Profile

社会人を始めた時にはコンサルタントという名のC/C++プログラマーでした。それから12年、プログラミングから離れて10年近く、似非エンジニアと周りには言われつつ、35歳を目前になんだかやたら燃えてます。最近はRubyを覚えたいなと本を買ったのはいいけど、PHP/JavaScriptの便利さに引きずり込まれ、何もできていない状況、、、

 

MA3

最優秀賞を頂きました!

[開発日誌]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だと思います。

是非一度利用してみてください。


Try ONGMAP Ver.2(α) Go to ONGMAP

Trackback URL

Write a comment