pythonでFlickrとPanoramioから位置情報付き画像を取得する

FlickrPanoramioといった画像投稿サイトには位置情報付きの画像が大量にアップロードされている。
この情報を分析することでどこで多くの写真が撮影されているかなどが分かる。
さらに画像に付けられたタグをテキストマイニングすることでその場所がどのような場所なのかを自動的に推測することができる。
と言う事で、pythonからAPIを用いて画像、位置情報、タグを取得する方法をまとめてみた。

Flickr

以上で、あるエリア内で撮影された画像の、緯度経度情報、タグ情報を得ることが出来たりする。
APIpythonで以下のようにして使う。

args = { 'method'  : 'flickr.photos.search',
             'api_key' : 'API keyを入れる',           
             'per_page': '100', # 1回に取得する画像枚数 <= 500
             'sort'    : 'date-posted-desc',
             'format'  : 'json',
             'nojsoncallback' : 1,
             'place_id' : '9cw_d0JQV7obLp8N5A', # 京都市 IDはflickr.photos.geo.getLocationで見れる
             'group_id' : '84769930@N00', # kyoto group サイトで見れる
             # 'text'    : text, # 検索ワード
             'page'    : str(page), # ページ 連続で取得するならこれをインクリメントする
             'extras'  : "date_upload",
             'has_geo' : 1  # ジオタグがついているか
             }
    url = "http://api.flickr.com/services/rest/?%s"%(urllib.urlencode(args) )
    photos = simplejson.loads( urllib.urlopen(url).readline() )

Panoramio

まとめ

自分用メモなのでわかりにくい。
どちらも遅いので画像を大量に手に入れるには気長に待つ必要がある。