{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import folium\n",
"import pandas as pd\n",
"\n",
"folium.initialize_notebook()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
""
],
"metadata": {},
"output_type": "display_data",
"text": [
""
]
},
{
"html": [
""
],
"metadata": {},
"output_type": "display_data",
"text": [
""
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Standard OSM\n",
"map_osm = folium.Map(location=[45.5236, -122.6750])\n",
"map_osm"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
""
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"stamen = folium.Map(location=[45.5236, -122.6750], tiles='Stamen Toner',\n",
" zoom_start=13)\n",
"stamen"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
""
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mt_hood = folium.Map(location=[45.372, -121.6972], zoom_start=12,\n",
" tiles='Stamen Terrain')\n",
"mt_hood.simple_marker([45.3288, -121.6625], popup='Mt. Hood Meadows')\n",
"mt_hood.simple_marker([45.3311, -121.7113], popup='Timberline Lodge')\n",
"mt_hood"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
""
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"portland = folium.Map(location=[45.5236, -122.6750], tiles='Stamen Toner',\n",
" zoom_start=13)\n",
"portland.simple_marker(location=[45.5244, -122.6699], popup='The Waterfront')\n",
"portland.circle_marker(location=[45.5215, -122.6261], radius=500,\n",
" popup='Laurelhurst Park', line_color='#3186cc',\n",
" fill_color='#3186cc')\n",
"portland"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
""
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"latlng = folium.Map(location=[46.1991, -122.1889], tiles='Stamen Terrain',\n",
" zoom_start=13)\n",
"latlng.lat_lng_popover()\n",
"latlng"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
""
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"waypoints = folium.Map(location=[46.8527, -121.7649], tiles='Stamen Terrain',\n",
" zoom_start=13)\n",
"waypoints.simple_marker(location=[46.8354, -121.7325], popup='Camp Muir')\n",
"waypoints.click_for_marker(popup='Waypoint')\n",
"waypoints"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
""
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"polygons = folium.Map(location=[45.5236, -122.6750], zoom_start=13)\n",
"polygons.polygon_marker(location=[45.5012, -122.6655], popup='Ross Island Bridge',\n",
" fill_color='#132b5e', num_sides=3, radius=10)\n",
"polygons.polygon_marker(location=[45.5132, -122.6708], popup='Hawthorne Bridge',\n",
" fill_color='#45647d', num_sides=4, radius=10)\n",
"polygons.polygon_marker(location=[45.5275, -122.6692], popup='Steel Bridge',\n",
" fill_color='#769d96', num_sides=6, radius=10)\n",
"polygons.polygon_marker(location=[45.5318, -122.6745], popup='Broadway Bridge',\n",
" fill_color='#769d96', num_sides=8, radius=10)\n",
"polygons"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n",
"\n",
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
""
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import vincent\n",
"NOAA_46041 = pd.read_csv(r'NOAA_46041.csv', index_col=3,\n",
" parse_dates=True)\n",
"NOAA_46050 = pd.read_csv(r'NOAA_46050_WS.csv', index_col=3,\n",
" parse_dates=True)\n",
"NOAA_46243 = pd.read_csv(r'NOAA_46243.csv', index_col=3,\n",
" parse_dates=True)\n",
"\n",
"NOAA_46041 = NOAA_46041.dropna()\n",
"\n",
"#Binned wind speeds for NOAA 46050\n",
"bins = range(0, 13, 1)\n",
"cuts = pd.cut(NOAA_46050['wind_speed_cwind (m/s)'], bins)\n",
"ws_binned = pd.value_counts(cuts).reindex(cuts.levels)\n",
"\n",
"#NOAA 46401 Wave Period\n",
"vis1 = vincent.Line(NOAA_46041['dominant_wave_period (s)'],\n",
" width=400, height=200)\n",
"vis1.axis_titles(x='Time', y='Dominant Wave Period (s)')\n",
"vis1.to_json('vis1.json')\n",
"\n",
"#NOAA 46050 Binned Wind Speed\n",
"vis2 = vincent.Bar(ws_binned, width=400, height=200)\n",
"vis2.axis_titles(x='Wind Speed (m/s)', y='# of Obs')\n",
"vis2.to_json('vis2.json')\n",
"\n",
"#NOAA 46243 Wave Height\n",
"vis3 = vincent.Area(NOAA_46243['significant_wave_height (m)'],\n",
" width=400, height=200)\n",
"vis3.axis_titles(x='Time', y='Significant Wave Height (m)')\n",
"vis3.to_json('vis3.json')\n",
"\n",
"#Map all buoys\n",
"buoy_map = folium.Map(location=[46.3014, -123.7390], zoom_start=7,\n",
" tiles='Stamen Terrain')\n",
"buoy_map.polygon_marker(location=[47.3489, -124.708], fill_color='#43d9de',\n",
" radius=12, popup=(vis1, 'vis1.json'))\n",
"buoy_map.polygon_marker(location=[44.639, -124.5339], fill_color='#43d9de',\n",
" radius=12, popup=(vis2, 'vis2.json'))\n",
"buoy_map.polygon_marker(location=[46.216, -124.1280], fill_color='#43d9de',\n",
" radius=12, popup=(vis3, 'vis3.json'))\n",
"buoy_map.create_map(path='NOAA_buoys.html')\n",
"buoy_map.render_iframe = True\n",
"buoy_map"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
""
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"state_geo = r'us-states.json'\n",
"state_unemployment = r'US_Unemployment_Oct2012.csv'\n",
"\n",
"state_data = pd.read_csv(state_unemployment)\n",
"\n",
"#Let Folium determine the scale\n",
"states = folium.Map(location=[48, -102], zoom_start=3)\n",
"states.geo_json(geo_path=state_geo, data=state_data,\n",
" columns=['State', 'Unemployment'],\n",
" key_on='feature.id',\n",
" fill_color='YlGn', fill_opacity=0.7, line_opacity=0.2,\n",
" legend_name='Unemployment Rate (%)')\n",
"states.create_map(path='us_state_map.html')\n",
"states"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
""
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"states2 = folium.Map(location=[48, -102], zoom_start=3)\n",
"states2.geo_json(geo_path=state_geo, data=state_data,\n",
" columns=['State', 'Unemployment'],\n",
" threshold_scale=[5, 6, 7, 8, 9, 10],\n",
" key_on='feature.id',\n",
" fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5,\n",
" legend_name='Unemployment Rate (%)',\n",
" reset=True)\n",
"states2.create_map(path='us_state_map_2.html')\n",
"states2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
""
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"county_data = r'us_county_data.csv'\n",
"county_geo = r'us_counties_20m_topo.json'\n",
"\n",
"#Read into Dataframe, cast to string for consistency\n",
"df = pd.read_csv(county_data, na_values=[' '])\n",
"df['FIPS_Code'] = df['FIPS_Code'].astype(str)\n",
"\n",
"\n",
"def set_id(fips):\n",
" '''Modify FIPS code to match GeoJSON property'''\n",
" if fips == '0':\n",
" return None\n",
" elif len(fips) <= 4:\n",
" return ''.join(['0500000US0', fips])\n",
" else:\n",
" return ''.join(['0500000US', fips])\n",
"\n",
"#Apply set_id, drop NaN\n",
"df['GEO_ID'] = df['FIPS_Code'].apply(set_id)\n",
"df = df.dropna()\n",
"\n",
"#Number of employed with auto scale\n",
"map_1 = folium.Map(location=[48, -102], zoom_start=3)\n",
"map_1.geo_json(geo_path=county_geo, data_out='data1.json', data=df,\n",
" columns=['GEO_ID', 'Employed_2011'],\n",
" key_on='feature.id',\n",
" fill_color='YlOrRd', fill_opacity=0.7, line_opacity=0.3,\n",
" topojson='objects.us_counties_20m')\n",
"map_1.create_map(path='map_1.html')\n",
"map_1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
""
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"map_2 = folium.Map(location=[40, -99], zoom_start=4)\n",
"map_2.geo_json(geo_path=county_geo, data_out='data2.json', data=df,\n",
" columns=['GEO_ID', 'Unemployment_rate_2011'],\n",
" key_on='feature.id',\n",
" threshold_scale=[0, 5, 7, 9, 11, 13],\n",
" fill_color='YlGnBu', line_opacity=0.3,\n",
" legend_name='Unemployment Rate 2011 (%)',\n",
" topojson='objects.us_counties_20m')\n",
"map_2.create_map(path='map_2.html')\n",
"map_2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
""
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"map_3 = folium.Map(location=[40, -99], zoom_start=4)\n",
"map_3.geo_json(geo_path=county_geo, data_out='data3.json', data=df,\n",
" columns=['GEO_ID', 'Median_Household_Income_2011'],\n",
" key_on='feature.id',\n",
" fill_color='PuRd', line_opacity=0.3,\n",
" legend_name='Median Household Income 2011 ($)',\n",
" topojson='objects.us_counties_20m')\n",
"map_3.create_map(path='map_3.html')\n",
"map_3"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
""
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
""
]
}
],
"prompt_number": 14
}
],
"metadata": {}
}
]
}