1

現在、Tweetstreamを使用してツイートをMongoDBに保存しています。
私はPython2.7で実行しているスクリプトを設定しました:

extent =["144.715, -38.03", "145.219, -37.541"]

with tweetstream.FilterStream(username, password, locations=extent) as stream:
    for tweet in stream:
        db.tweets.save(tweet)

これは正常に機能しており、ツイートをmongoDbに保存しますが、ジオロケーションがまったくないツイートも保存します。つまり、座標プロパティの場合、空白のものも格納されます。

私にとって、現在のスクリプトは、指定された範囲内のツイートのみをmongoDbに保存する必要がありますが、それは発生しません。

指定した範囲内のジオタグ付きツイートのみをextentmongoDbに送信するようにスクリプトを変更する方法を誰かが提案できますか?

4

1 に答える 1

1

Twitterは、ユーザーが共有する情報を制限できるように、ジオロケーションで2つの異なるレベルの精度をサポートしています。

http://support.twitter.com/forums/26810/entries/78525

一部のツイートの正確な場所が表示されるのに、他のツイートの一般的な周辺(近隣または都市)のみが表示されるのはなぜですか?

デフォルトの表示は場所の場所(近所や町など)ですが、一部のサードパーティアプリでは、正確な場所や住所をツイートできます。サードパーティのアプリを介して表示する正確な場所を選択すると、実際の座標を公開して共有できます。

tweetstream.FilterStreamによって返されるツイートは、どちらの精度でもかまいません。一部のツイートは場所レベルの精度しかありません。その場合、「座標」キーは「なし」になります。

 u'coordinates': None,
 u'place': {u'attributes': {},
            u'bounding_box': {u'coordinates': [[[-122.51368188,
                                                 37.70813196],
                                                [-122.35845384,
                                                 37.70813196],
                                                [-122.35845384,
                                                 37.83245301],
                                                [-122.51368188,
                                                 37.83245301]]],
                              u'type': u'Polygon'},
            u'country': u'United States',
            u'country_code': u'US',
            u'full_name': u'San Francisco, CA',
            u'id': u'5a110d312052166f',
            u'name': u'San Francisco',
            u'place_type': u'city',
            u'url': u'http://api.twitter.com/1/geo/id/5a110d312052166f.json'},

他のツイートには正確な場所があります。その場合、「座標」キーが入力されます。

 u'coordinates': {u'type': 'Point', u'coordinates': [-122.51368188, 37.83245301]}

場所レベルの精度のツイートに興味があるかどうかを判断する必要があります。もしそうなら、それらの座標をポリゴンとして保存するか、図心を計算することができます。

于 2012-11-03T14:57:51.937 に答える