{ "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": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import folium\n", "from folium import features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### WMS" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.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", " attr=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": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = folium.element.Figure(figsize=(8,8))\n", "m = folium.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": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = folium.element.Figure()\n", "m = folium.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": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 12, "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 = folium.element.Figure()\n", "m = folium.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": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 13, "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 = folium.element.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": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 14, "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 = folium.element.Figure()\n", "\n", "# Create two maps\n", "m = folium.Map([0,0], tiles='stamenwatercolor',\n", " zoom_start=1, position='absolute', left=\"0%\", width=\"50%\", height=\"50%\")\n", "m2 = folium.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": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 15, "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 = folium.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": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 16, "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 = folium.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": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 18, "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 = folium.element.Figure()\n", "\n", "d1 = f.add_subplot(1,2,1)\n", "d2 = f.add_subplot(1,2,2)\n", "\n", "d1.add_children(folium.Map([0,0], tiles='stamenwatercolor', zoom_start=1))\n", "d2.add_children(folium.Map([46,3], tiles='mapquestopen', zoom_start=5))\n", "\n", "f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### LayerControl" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.Map(tiles=None)\n", "\n", "folium.TileLayer('mapquestopen').add_to(m)\n", "folium.TileLayer('stamentoner').add_to(m)\n", "\n", "folium.LayerControl().add_to(m)\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ScrollZoomToggler" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import folium.plugins" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.Map()\n", "\n", "folium.plugins.ScrollZoomToggler().add_to(m)\n", "\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Terminator" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.Map()\n", "\n", "folium.plugins.Terminator().add_to(m)\n", "\n", "m" ] } ], "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.11" } }, "nbformat": 4, "nbformat_minor": 0 }