{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# This is to import the repository's version of folium ; not the installed one.\n",
"import sys, os\n",
"sys.path.insert(0,'..')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from folium import features"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### WMS"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m = features.Map([40,-100], zoom_start=4)\n",
"w = features.WmsTileLayer(\"http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi\",\n",
" name='test',\n",
" format='image/png',\n",
" layers='nexrad-n0r-900913',\n",
" attribution=u\"Weather data © 2012 IEM Nexrad\",\n",
" transparent=True)\n",
"w.add_to(m)\n",
"m"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Marker, Icon, Popup"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f = features.Figure(figsize=(8,8))\n",
"m = features.Map([0,0], zoom_start=1)\n",
"mk = features.Marker([0,0])\n",
"pp = features.Popup(\"hello\")\n",
"ic = features.Icon(color='red')\n",
"\n",
"f.add_children(m)\n",
"mk.add_children(ic)\n",
"mk.add_children(pp)\n",
"m.add_children(mk)\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### RegularPolygonMarker"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f = features.Figure()\n",
"m = features.Map([0,0], zoom_start=1)\n",
"mk = features.RegularPolygonMarker([0,0])\n",
"mk2 = features.RegularPolygonMarker([0,45])\n",
"\n",
"f.add_children(m)\n",
"m.add_children(mk)\n",
"m.add_children(mk2)\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Vega stuff"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import vincent, json\n",
"import numpy as np\n",
"N=100\n",
"multi_iter2 = {'x' : np.random.uniform(size=(N,)),\n",
" 'y' : np.random.uniform(size=(N,)),\n",
" }\n",
"scatter = vincent.Scatter(multi_iter2, iter_idx='x', height=100, width=200)\n",
"data = json.loads(scatter.to_json())\n",
"\n",
"f = features.Figure()\n",
"m = features.Map([0,0], zoom_start=1)\n",
"mk = features.Marker([0,0])\n",
"p = features.Popup(\"Hello\")\n",
"v = features.Vega(data, width=\"100%\", height=\"100%\")\n",
"f.add_children(m)\n",
"mk.add_children(p)\n",
"p.add_children(v)\n",
"m.add_children(mk)\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Vega div"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import vincent, json\n",
"import numpy as np\n",
"N=100\n",
"multi_iter2 = {'x' : np.random.uniform(size=(N,)),\n",
" 'y' : np.random.uniform(size=(N,)),\n",
" }\n",
"scatter = vincent.Scatter(multi_iter2, iter_idx='x', height=400, width=600)\n",
"data = json.loads(scatter.to_json())\n",
"\n",
"f = features.Figure()\n",
"v = features.Vega(data, height=40, width=600)\n",
"f.add_children(v)\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### A div and a Map\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import vincent, json\n",
"import numpy as np\n",
"N=100\n",
"multi_iter2 = {'x' : np.random.uniform(size=(N,)),\n",
" 'y' : np.random.uniform(size=(N,)),\n",
" }\n",
"scatter = vincent.Scatter(multi_iter2, iter_idx='x', height=250, width=420)\n",
"data = json.loads(scatter.to_json())\n",
"\n",
"f = features.Figure()\n",
"\n",
"# Create two maps\n",
"m = features.Map([0,0], tiles='stamenwatercolor',\n",
" zoom_start=1, position='absolute', left=\"0%\", width=\"50%\", height=\"50%\")\n",
"m2 = features.Map([46,3], tiles='mapquestopen',\n",
" zoom_start=4, position='absolute', left=\"50%\", width=\"50%\", height='50%',top='50%')\n",
"\n",
"# Create two Vega\n",
"v = features.Vega(data, position='absolute', left=\"50%\", width=\"50%\", height=\"50%\")\n",
"\n",
"v2 = features.Vega(data, position='absolute', left=\"0%\", width=\"50%\", height=\"50%\", top='50%')\n",
"\n",
"f.add_children(m)\n",
"f.add_children(m2)\n",
"f.add_children(v)\n",
"f.add_children(v2)\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### GeoJson"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"N=1000\n",
"lons = +5 - np.random.normal(size=N)\n",
"lats = 48 - np.random.normal(size=N)\n",
"\n",
"data = {\n",
" \"type\": \"FeatureCollection\",\n",
" \"features\": [\n",
" {\n",
" \"type\": \"Feature\",\n",
" \"geometry\": {\n",
" \"type\": \"MultiPoint\",\n",
" \"coordinates\": [[lon, lat] for (lat,lon) in zip(lats,lons)],\n",
" },\n",
" \"properties\": {\"prop0\": \"value0\"}\n",
" },\n",
" ],\n",
" }\n",
"m = features.Map([48.,5.], zoom_start=6)\n",
"m.add_children(features.GeoJson(data))\n",
"m"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Marker Cluster"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"N = 100\n",
"data = np.array([\n",
" np.random.uniform(low=35,high=60, size=N), # random latitudes in Europe\n",
" np.random.uniform(low=-12,high=30, size=N), # random longitudes in Europe\n",
" range(N), # popups are simple numbers \n",
" ]).T\n",
"m = features.Map([45.,3.], zoom_start=4)\n",
"mc = features.MarkerCluster()\n",
"\n",
"for i in range(N):\n",
" mk = features.Marker([data[i][0],data[i][1]])\n",
" p = features.Popup(str(data[i][2]))\n",
" mk.add_children(p)\n",
" mc.add_children(mk)\n",
"\n",
"m.add_children(mc)\n",
"m"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Div"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import vincent, json\n",
"import numpy as np\n",
"N=100\n",
"multi_iter2 = {'x' : np.random.uniform(size=(N,)),\n",
" 'y' : np.random.uniform(size=(N,)),\n",
" }\n",
"scatter = vincent.Scatter(multi_iter2, iter_idx='x', height=250, width=420)\n",
"data = json.loads(scatter.to_json())\n",
"\n",
"f = features.Figure()\n",
"\n",
"d1 = f.add_subplot(1,2,1)\n",
"d2 = f.add_subplot(1,2,2)\n",
"\n",
"d1.add_children(features.Map([0,0], tiles='stamenwatercolor', zoom_start=1))\n",
"d2.add_children(features.Map([46,3], tiles='mapquestopen', zoom_start=5))\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Choropleth"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import json\n",
"\n",
"geojson_data = json.load(open('us-states.json'))\n",
"sd = pd.read_csv('US_Unemployment_Oct2012.csv').set_index('State')['Unemployment'].to_dict()\n",
"\n",
"f = features.Figure()\n",
"m = features.Map([43,-100], zoom_start=4)\n",
"g = features.GeoJson(geojson_data)\n",
"\n",
"f.add_children(m)\n",
"m.add_children(g)\n",
"g.add_children(features.GeoJsonStyle([3.0, 7.0, 8.0, 9.0, 9.0], 'YlGn', sd, key_on='feature.id'))\n",
"\n",
"f"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Boat marker"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from folium.features import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### LayerControl"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ScrollZoomToggler"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Terminator"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Timestamped GeoJson"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ImageOverlay"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### Timestamped ImageOverlay"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}