2015-07-02 19 views
0

从Twitter API提取信息时,有许多与地理相关的信息。这里是我的代码部分...我是否缺少来自Twitter API的正确地理/坐标信息?

placeHolder = [] 
placeHolder.append(tweet.author.name.encode('utf8')) 

placeHolder.append(tweet.place) 
placeHolder.append(tweet.user.location.encode('utf8')) 
placeHolder.append(tweet.user.time_zone) 
placeHolder.append(tweet.geo) 
placeHolder.append(tweet.coordinates) 

我有一些具体问题,希望能在这里得到答案:

1)我是否收集正确的地理位置信息? ESP。与tweet.geo和tweet.coordinates。或者我的代码中是否存在任何地理信息?

2)我应该使用哪个地理变量来定位用户发布他们的推文的位置? “地理”或“坐标”?有些人说“地理”已经过时,但是当我在数据中查看它们时,除了经度和纬度翻转以外,它们是一样的。

3)我刚看了一下数据,似乎只有大约0.35%的样本推文含有关于“地理位置”/“坐标”变量的信息,是否太低或正常?我发现“tweet.user.location”有更多的信息,但没有标准化,整合所有这些地理信息的最佳方式是什么?

回答

0

1)我是否收集了正确的地理位置信息? ESP。与tweet.geo和tweet.coordinates。或者我的代码中是否存在任何地理信息?

假设正确的地理位置是该人在推特时的位置,那么tweet.placetweet.geotweet.coordinates是您正在寻找的。 user.*下的任何人都是由用户定义的,而不是twitter。

2)我应该使用哪个地理变量来定位用户发布他们的推文的位置? “地理”或“坐标”?有些人说“地理”已经过时,但是当我在数据中查看它们时,除了经度和纬度翻转以外,它们是一样的。

对于一个我也建议tweet.coordinates,原因有二:1)它是根据Twitter的官方地理编码字段b)它在正确的GeoJSON格式导出(长,LAT)

3)我只是看着在我的数据中,似乎只有大约0.35%的示例推文包含关于“地理位置”/“坐标”变量的信息,是否太低或正常?我发现“tweet.user.location”有更多的信息,但没有标准化,整合所有这些地理信息的最佳方式是什么?

就像我在“1”中所说的,“user.*下的任何东西都是用户定义的。举例来说,你可以说你是来自火星,但如果你启用了地理位置,并且你发推文,tweet.coordinates会给出真实位置(很可能不是火星)。

这个比例很低,但很难说。这一切都取决于你定义的位置,如果你在谈论整个世界的推特,没有具体的数字,你可以基于此。根据经验,我可以告诉你(如果不包括字词过滤器),美国大约有10%的推文地理信息。我说没有词语过滤器的原因是因为一旦你根据单词搜索推文,你就会将偏倚的数据包含在你的系统中。