Skip to content

Instantly share code, notes, and snippets.

View linwoodc3's full-sized avatar

Linwood Creekmore linwoodc3

  • United States
View GitHub Profile
@linwoodc3
linwoodc3 / tweetCountryChoropleth.py
Last active April 22, 2017 23:18
Simple code to create a choropleth based on the number of tweets.
def continentlabs(row):
shape = row['geometry'].centroid
x,y = shape.x,shape.y
return (x,y,row['name'])
%matplotlib inline
from matplotlib import legend
f, ax = plt.subplots(1, figsize=(20, 12))
gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')).plot(ax=ax,color='white',linewidth=0.2)
gdf.merge(countdf,left_on='name',right_on='NAME').plot(column='counted',cmap='OrRd',scheme='Fisher_Jenks',ax=ax,linewidth=0.1,edgecolor='white',legend=True,alpha=0.4)
@linwoodc3
linwoodc3 / ddlTwitterPlotters.py
Created April 18, 2017 03:13
matplotlib plotting functions for my District Data Labs Twitter post.
# Author: Linwood Creekmore
# email: valinvescap@gmail.com
# date: 17 April 2017
import matplotlib.pyplot as plt
from matplotlib import gridspec
import matplotlib.patches as patches
import datetime
import pandas as pd
@linwoodc3
linwoodc3 / shapefilereader.py
Last active September 23, 2017 00:12
Using Python 2 (doesn't work for 3), this function reads zipped shapefiles from the web or disk and convert it into a Python geodataframe (pandas dataframe with spatial features).
import geopandas as gpd
import numpy as np
import requests
import gdal
import fiona
import uuid
import re
# informaed by: https://gis.stackexchange.com/questions/225586/reading-raw-data-into-geopandas/225627
@linwoodc3
linwoodc3 / linwood_utilities.py
Last active April 11, 2017 11:12
Utility functions for District Data Labs blog on geolocated social media. These functions clean and prepare Twitter data for geospation analysis, in addition to removing personally identifying information.
# Author:
# Linwood Creekmore III
# email: valinvescap@gmail.com
# Custom functions for Twitter Geospatial Analysis Blog
#################################
# Class for corrupt json
#################################
@linwoodc3
linwoodc3 / cleantweets.py
Last active January 19, 2021 22:58
Python script that uses the python Twitter client (https://github.com/sixohsix/twitter) to pull tweets that are geolocated. Optionally stores in efficient columnar parquet data store with configurable file sizes. Took 13 secs to download 100 geolocated tweets on MacOS 10.12 with 16 GB RAM on 82 Mb/s connection.
# Author
# Linwood Creekmore III
# April 8 2017
# heavy input from http://socialmedia-class.org/twittertutorial.html
# valinvescap@gmail.com
import re
import copy
import numpy as np
import pandas as pd
@linwoodc3
linwoodc3 / nba_data_utils.py
Last active February 25, 2017 21:10
Utility functions to clean ESPN.com's NBA data.
# By: Linwood Creekmore
# https://www.linkedin.com/in/linwood-creekmore-iii-a2174538/
from dateutil.parser import parse
from concurrent.futures import ProcessPoolExecutor
from functools import partial
import datetime
import re
import numpy as np
import pandas as pd
@linwoodc3
linwoodc3 / jupytercontribnbextensioninstall.log
Created January 15, 2017 02:16
jupyter contrib nbextension install --user log
[I 21:11:04 InstallContribNbextensionsApp] jupyter contrib nbextension install --user
[I 21:11:04 InstallContribNbextensionsApp] Installing jupyter_contrib_nbextensions nbextension files to jupyter data directory
[I 21:11:04 InstallContribNbextensionsApp] Installing /Users/linwood/anaconda3/lib/python3.5/site-packages/jupyter_contrib_nbextensions/nbextensions/code_prettify -> code_prettify
[I 21:11:04 InstallContribNbextensionsApp] Up to date: /Users/linwood/Library/Jupyter/nbextensions/code_prettify/code_prettify.js
[I 21:11:04 InstallContribNbextensionsApp] Up to date: /Users/linwood/Library/Jupyter/nbextensions/code_prettify/code_prettify.yaml
[I 21:11:04 InstallContribNbextensionsApp] Up to date: /Users/linwood/Library/Jupyter/nbextensions/code_prettify/demo-jv.gif
[I 21:11:04 InstallContribNbextensionsApp] Up to date: /Users/linwood/Library/Jupyter/nbextensions/code_prettify/demo-py.gif
[I 21:11:04 InstallContribNbextensionsApp] Up to date: /Users/linwood/Library/Jupyter/nbextensions/code_prettify/demo-R
@linwoodc3
linwoodc3 / jupyterlog.log
Created January 14, 2017 20:21
another jupyter log
[D 15:17:30.243 NotebookApp] Searching ['/Users/linwood', '/Users/linwood/.jupyter', '/Users/linwood/anaconda3/envs/scipyML/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[D 15:17:30.244 NotebookApp] Looking for jupyter_config in /etc/jupyter
[D 15:17:30.244 NotebookApp] Looking for jupyter_config in /usr/local/etc/jupyter
[D 15:17:30.244 NotebookApp] Looking for jupyter_config in /Users/linwood/anaconda3/envs/scipyML/etc/jupyter
[D 15:17:30.245 NotebookApp] Looking for jupyter_config in /Users/linwood/.jupyter
[D 15:17:30.245 NotebookApp] Looking for jupyter_config in /Users/linwood
[D 15:17:30.246 NotebookApp] Looking for jupyter_notebook_config in /etc/jupyter
[D 15:17:30.246 NotebookApp] Looking for jupyter_notebook_config in /usr/local/etc/jupyter
[D 15:17:30.246 NotebookApp] Looking for jupyter_notebook_config in /Users/linwood/anaconda3/envs/scipyML/etc/jupyter
[D 15:17:30.246 NotebookApp] Loaded config file: /Users/linwood/anaconda3/envs/scipyML/etc/jupyter/jupyter_notebook_c
@linwoodc3
linwoodc3 / jupyternotebookdebug.log
Created January 12, 2017 07:28
Log output of Jupyter Notebook debug
[D 02:18:44.009 NotebookApp] Searching ['/Users/linwood/projects', '/Users/linwood/.jupyter', '/Users/linwood/anaconda3/envs/scipyML/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[D 02:18:44.010 NotebookApp] Looking for jupyter_config in /etc/jupyter
[D 02:18:44.010 NotebookApp] Looking for jupyter_config in /usr/local/etc/jupyter
[D 02:18:44.010 NotebookApp] Looking for jupyter_config in /Users/linwood/anaconda3/envs/scipyML/etc/jupyter
[D 02:18:44.011 NotebookApp] Looking for jupyter_config in /Users/linwood/.jupyter
[D 02:18:44.011 NotebookApp] Looking for jupyter_config in /Users/linwood/projects
[D 02:18:44.012 NotebookApp] Looking for jupyter_notebook_config in /etc/jupyter
[D 02:18:44.012 NotebookApp] Looking for jupyter_notebook_config in /usr/local/etc/jupyter
[D 02:18:44.012 NotebookApp] Looking for jupyter_notebook_config in /Users/linwood/anaconda3/envs/scipyML/etc/jupyter
[D 02:18:44.034 NotebookApp] Loaded config file: /Users/linwood/anaconda3/envs/scipyML/etc/jupyter/
@linwoodc3
linwoodc3 / keyholemarkup_converter.py
Last active January 30, 2024 11:51
Convert KML/KMZ to CSV or KML/KMZ to shapefile or KML/KMZ to Dataframe or KML/KMZ to GeoJSON. Full script with classes to convert a KML or KMZ to GeoJSON, ESRI Shapefile, Pandas Dataframe, GeoPandas GeoDataframe, or CSV. Can write the converted file directly to disk with no human intervention.
# Author:
# Linwood Creekmore III
# email: valinvescap@gmail.com
# Acknowledgements:
# http://programmingadvent.blogspot.com/2013/06/kmzkml-file-parsing-with-python.html
# http://gis.stackexchange.com/questions/159681/geopandas-cant-save-geojson
# https://gist.github.com/mciantyre/32ff2c2d5cd9515c1ee7