{ "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": {} } ] }