Python for Geo-Scripting

WUR Geoscripting WUR logo

Hi. Good morning! Today we will have fun with Python by playing with social media data.

Harvesting tweets with Python

As background knowledge it is assumed that you know what a JSON is. If not, have a look at JSON Intro. Also acquaint yourself yourself with the datastructure of tweets. You can find it on API Tweets. Try to find out for example where spatial references are made in a tweet.

  • Morning: Self-study by working on the two notebooks below.
  • 14u-1430u: Feedback and presentation about social media as a source of spatial data
  • 14:30-17:00: Assignment (~depends on registration for the twitter api)

Setup your Conda environment

There are various packages to work with twitter data in Python. One great Python package for twitter data handling is Twython. Twython is an actively maintained, pure Python wrapper for the Twitter API. It supports both normal and streaming Twitter APIs. Today we will work with both APIs. Let's setup the conda environment for today with the Spyder IDE.

conda create --name twitterpython python=3 geopandas spyder
conda activate twitterpython
conda install --channel conda-forge twython folium matplotlib psycopg2

Python notebooks for the self-study

Below are the Jupyter Notebooks that contain the tutorials for today.

Connecting and harvesting real-time tweets

Harvesting real-time tweets

Exercise 14: Optional for Geo-scripting students

Create a twitter harvesting application that harvests tweets (either real-time or stored), and create a spatial dataset and map from it. The application should be able to: collect tweets based on a thematic and/or spatial query.

Suggestions:

  • Feed a spatial database with information tweeted real time from a certain location and plot it on a map.
  • Create a map indicating where traffic jams, disruptions in the public transport or ... took place last week.
  • Create a map indicating the home countries of international tourists visiting Amsterdam (or Wageningen if you like)
  • Go out with your smartphone (what else should you do during lunch), collect spatial information (for examples POIs on the campus) by tweeting from various locations using a specific hashtag (make sure location is enabled on your twitter account), harvest these tweets with an application, and create a map from it.
  • .... think of something else.

Send in your application as a python script as well as a screenshot of the map you produced.

If you want to go beyond todays tutorials, have a look at some cookbooks and examples: