{ "metadata": { "name": "", "signature": "sha256:ce776f6f756468340b871321dc49e2e27376713ae180fa5e9e05d2ca2054e65b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Map Your Google Location History in 3D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By Sukhbinder and inspired from [this](http://nbviewer.ipython.org/github/chrisalbon/code_py/blob/master/matplotlib_map_your_google_data.ipynb)" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Step 1: Download your Google Location History" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Google makes this process very easy. Go here to [download your location history data](https://www.google.com/settings/takeout) and unzip it." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "\n", "Step 2: Run this script" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fname=r\"/Users/Sukhbinder/Downloads/Takeout/Location History/LocationHistory.json\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "# Import pandas\n", "import pandas as pd\n", "import numpy as np\n", "\n", "# Import matplotlib and Basemap\n", "import matplotlib.pyplot as plt\n", "#from mpl_toolkits.basemap import Basemap\n", "\n", "# Set iPython to display visualization inline\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Read in the location history json\n", "\n", "Simply change the string to point to where you unzipped your location history json file\n", "\n", " " ] }, { "cell_type": "code", "collapsed": false, "input": [ "raw = pd.read_json(fname) #pd.io.json.read_json(fname)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Let's take a look at some of the data\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "raw.tail(5)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", " | locations | \n", "somePointsTruncated | \n", "
---|---|---|
86241 | \n", "{u'latitudeE7': 129896780, u'accuracy': 100, u... | \n", "True | \n", "
86242 | \n", "{u'latitudeE7': 129896780, u'accuracy': 100, u... | \n", "True | \n", "
86243 | \n", "{u'latitudeE7': 129896780, u'accuracy': 100, u... | \n", "True | \n", "
86244 | \n", "{u'latitudeE7': 129896780, u'accuracy': 100, u... | \n", "True | \n", "
86245 | \n", "{u'latitudeE7': 129947642, u'accuracy': 798, u... | \n", "True | \n", "
5 rows \u00d7 2 columns
\n", "\n", " | accuracy | \n", "activitys | \n", "altitude | \n", "heading | \n", "latitudeE7 | \n", "longitudeE7 | \n", "timestampMs | \n", "velocity | \n", "
---|---|---|---|---|---|---|---|---|
86241 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096571529 | \n", "NaN | \n", "
86242 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096556086 | \n", "NaN | \n", "
86243 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096541775 | \n", "NaN | \n", "
86244 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096526596 | \n", "NaN | \n", "
86245 | \n", "798 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129947642 | \n", "776835705 | \n", "1297274751020 | \n", "NaN | \n", "
5 rows \u00d7 8 columns
\n", "\n", " | accuracy | \n", "activitys | \n", "altitude | \n", "heading | \n", "latitudeE7 | \n", "longitudeE7 | \n", "timestampMs | \n", "velocity | \n", "latitude | \n", "longitude | \n", "
---|---|---|---|---|---|---|---|---|---|---|
86241 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096571529 | \n", "NaN | \n", "12.989678 | \n", "77.688110 | \n", "
86242 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096556086 | \n", "NaN | \n", "12.989678 | \n", "77.688110 | \n", "
86243 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096541775 | \n", "NaN | \n", "12.989678 | \n", "77.688110 | \n", "
86244 | \n", "100 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129896780 | \n", "776881100 | \n", "1304096526596 | \n", "NaN | \n", "12.989678 | \n", "77.688110 | \n", "
86245 | \n", "798 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "129947642 | \n", "776835705 | \n", "1297274751020 | \n", "NaN | \n", "12.994764 | \n", "77.683571 | \n", "
5 rows \u00d7 10 columns
\n", "\n", " | accuracy | \n", "activitys | \n", "altitude | \n", "heading | \n", "latitudeE7 | \n", "longitudeE7 | \n", "timestampMs | \n", "velocity | \n", "latitude | \n", "longitude | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "165 | \n", "NaN | \n", "901 | \n", "-1 | \n", "129919563 | \n", "777150227 | \n", "1404655403815 | \n", "-1 | \n", "12.991956 | \n", "77.715023 | \n", "
1 | \n", "165 | \n", "NaN | \n", "900 | \n", "-1 | \n", "129919981 | \n", "777145832 | \n", "1404634564910 | \n", "-1 | \n", "12.991998 | \n", "77.714583 | \n", "
2 | \n", "165 | \n", "NaN | \n", "900 | \n", "-1 | \n", "129919532 | \n", "777150546 | \n", "1404630560819 | \n", "-1 | \n", "12.991953 | \n", "77.715055 | \n", "
3 | \n", "165 | \n", "NaN | \n", "900 | \n", "-1 | \n", "129920234 | \n", "777143167 | \n", "1404626864671 | \n", "-1 | \n", "12.992023 | \n", "77.714317 | \n", "
4 | \n", "1414 | \n", "NaN | \n", "900 | \n", "-1 | \n", "129954840 | \n", "776779268 | \n", "1404626799099 | \n", "-1 | \n", "12.995484 | \n", "77.677927 | \n", "
5 rows \u00d7 10 columns
\n", "