Good question! There is a lack of formal documentation on all the location and place information, in my view. I know that the bounding box streaming API works based on any intersection overlap of your box with the user’s location, which I think refers to the ‘Place’ that is assigned to that tweet, which I think is only from the user tagging it, but possibly Twitter sometimes do this too when it has not been assigned? e.g if tweet contains Paris as a word then it would get assigned Paris in absence of anything more. It would be great to have Twitter dev confirm or deny of this supposition?
See: https://dev.twitter.com/streaming/overview/request-parameters#locations
Namely: > The streaming API uses the following heuristic to determine whether a given Tweet falls within a bounding box:
If the coordinates field is populated, the values there will be tested against the bounding box. Note that this field uses geoJSON order (longitude, latitude).
If coordinates is empty but place is populated, the region defined in place is checked for intersection against the locations bounding box. Any overlap will match.
If none of the rules listed above match, the Tweet does not match the location query. Note that the geo field is deprecated, and ignored by the streaming API.