Last active
April 19, 2016 20:02
-
-
Save PBrockmann/5874c88bb61ac2b7af50 to your computer and use it in GitHub Desktop.
sci-wms with folium
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.1.5\n" | |
] | |
} | |
], | |
"source": [ | |
"import folium\n", | |
"reload(folium)\n", | |
"print folium.__version__\n", | |
"\n", | |
"from IPython.display import HTML, display\n", | |
"\n", | |
"def inline_map(m):\n", | |
" if isinstance(m, folium.folium.Map):\n", | |
" m._build_map()\n", | |
" srcdoc = \"data:text/html;base64,\" + m.HTML.encode('base64')\n", | |
" embed = HTML('<iframe src=\"{}\" '\n", | |
" 'style=\"width: {}px; height: {}px; '\n", | |
" 'border: none\"></iframe>'.format(srcdoc, m.width, m.height))\n", | |
" else:\n", | |
" raise ValueError('{!r} is not a folium Map instance.')\n", | |
" return embed" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe src=\"data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPgogICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUi\n", | |
"IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgPGxpbmsgcmVsPSJzdHls\n", | |
"ZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFm\n", | |
"bGV0LzAuNy43L2xlYWZsZXQuY3NzIiAvPgogICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5j\n", | |
"bG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC8wLjcuNy9sZWFmbGV0LmpzIj48L3Njcmlw\n", | |
"dD4KCiAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJz\n", | |
"L2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CgogICA8bGluayByZWw9InN0\n", | |
"eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFw\n", | |
"LzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg\n", | |
"aHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3Nz\n", | |
"L2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIj4KICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbWF4Y2Ru\n", | |
"LmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwv\n", | |
"c2NyaXB0PgoKICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9m\n", | |
"b250LWF3ZXNvbWUvNC4xLjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hl\n", | |
"ZXQiPgoKICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2dpdC5jb20v\n", | |
"bHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQu\n", | |
"YXdlc29tZS1tYXJrZXJzLmNzcyI+CiAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5j\n", | |
"b20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZs\n", | |
"ZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KCgogICA8bGluayByZWw9InN0eWxlc2hl\n", | |
"ZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQu\n", | |
"bWFya2VyY2x1c3Rlci8wLjQuMC9NYXJrZXJDbHVzdGVyLkRlZmF1bHQuY3NzIj4KICAgPGxpbmsg\n", | |
"cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgv\n", | |
"bGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5jc3MiPgogICA8\n", | |
"c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxl\n", | |
"dC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci1zcmMuanMiPjwvc2Ny\n", | |
"aXB0PgogICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xp\n", | |
"YnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+\n", | |
"PC9zY3JpcHQ+CgogICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vYmlyZGFn\n", | |
"ZS5naXRodWIuaW8vTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvZGlzdC9sZWFmbGV0LmF3ZXNvbWUu\n", | |
"cm90YXRlLmNzcyI+CgogICAKICAgCiAgIAogICAKCiAgIDxzdHlsZT4KCiAgICAgIGh0bWwsIGJv\n", | |
"ZHkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBt\n", | |
"YXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgI21hcCB7CiAgICAg\n", | |
"ICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgdG9wOjA7CiAgICAgICAgYm90dG9tOjA7CiAg\n", | |
"ICAgICAgcmlnaHQ6MDsKICAgICAgICBsZWZ0OjA7CiAgICAgIH0KCiAgIDwvc3R5bGU+CjwvaGVh\n", | |
"ZD4KCjxib2R5PgoKICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9ImZvbGl1bV8zYmFhOTM3\n", | |
"NGUxMzQ0ZDM1YmNmNjhlOGM5NTc5MDliNyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiA0\n", | |
"MDBweCI+PC9kaXY+CgogICA8c2NyaXB0PgoKICAgICAgCgogICAgICB2YXIgYmFzZV90aWxlID0g\n", | |
"TC50aWxlTGF5ZXIoJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97\n", | |
"eX0ucG5nJywgewogICAgICAgICAgbWF4Wm9vbTogMTgsCiAgICAgICAgICBtaW5ab29tOiAxLAog\n", | |
"ICAgICAgICAgYXR0cmlidXRpb246ICdNYXAgZGF0YSAoYykgPGEgaHJlZj0iaHR0cDovL29wZW5z\n", | |
"dHJlZXRtYXAub3JnIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMnCiAgICAgIH0pOwoK\n", | |
"ICAgICAgdmFyIGJhc2VMYXllciA9IHsKICAgICAgICAiQmFzZSBMYXllciI6IGJhc2VfdGlsZQog\n", | |
"ICAgICB9OwoKICAgICAgLyoKICAgICAgYWRkaXRpb24gb2YgdGhlIHdtcyBsYXllcnMKICAgICAg\n", | |
"Ki8KCiAgICAgIAogICAgICB2YXIgc2Npd21zID0gTC50aWxlTGF5ZXIud21zKCdodHRwOi8vc2Np\n", | |
"LXdtcy53aG9pLmVkdS93bXMvZGF0YXNldHMvY29hd3N0P0VMRVZBVElPTj0xNSZDT0xPUlNDQUxF\n", | |
"UkFOR0U9MTAsMzAnLCB7CgkJCQkJc3R5bGVzOiAncGNvbG9yX2dudXBsb3QyJywgCgkJCQkJZm9y\n", | |
"bWF0OiAnaW1hZ2UvcG5nJywKCQkJCQl0cmFuc3BhcmVudDogdHJ1ZSwKCQkJCQlsYXllcnM6ICd0\n", | |
"ZW1wJwoJCQkJCX0pOwogICAgICAKCiAgICAgIC8qCiAgICAgIGFkZGl0aW9uIG9mIHRoZSB0aWxl\n", | |
"IGxheWVycwogICAgICAqLwogICAgICAKCiAgICAgIC8qCiAgICAgIGxpc3Qgb2YgbGF5ZXJzIHRv\n", | |
"IGJlIGFkZGVkCiAgICAgICovCiAgICAgIHZhciBsYXllcl9saXN0ID0gewogICAgICAKICAgICAg\n", | |
"InNjaXdtcyI6IHNjaXdtcwoKICAgICAgCiAgICAgIH07CgogICAgICAvKgogICAgICBCb3VuZGlu\n", | |
"ZyBib3guCiAgICAgICovCiAgICAgIHZhciBzb3V0aFdlc3QgPSBMLmxhdExuZygtOTAsIC0xODAp\n", | |
"LAogICAgICAgICAgbm9ydGhFYXN0ID0gTC5sYXRMbmcoOTAsIDE4MCksCiAgICAgICAgICBib3Vu\n", | |
"ZHMgPSBMLmxhdExuZ0JvdW5kcyhzb3V0aFdlc3QsIG5vcnRoRWFzdCk7CgogICAgICAvKgogICAg\n", | |
"ICBDcmVhdGVzIHRoZSBtYXAgYW5kIGFkZHMgdGhlIHNlbGVjdGVkIGxheWVycwogICAgICAqLwog\n", | |
"ICAgICB2YXIgbWFwID0gTC5tYXAoJ2ZvbGl1bV8zYmFhOTM3NGUxMzQ0ZDM1YmNmNjhlOGM5NTc5\n", | |
"MDliNycsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOlsw\n", | |
"LCAwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAg\n", | |
"ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXhCb3VuZHM6IGJvdW5kcywK\n", | |
"ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbYmFzZV90aWxl\n", | |
"XQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICBMLmNvbnRy\n", | |
"b2wubGF5ZXJzKGJhc2VMYXllciwgbGF5ZXJfbGlzdCkuYWRkVG8obWFwKTsKCiAgICAgIC8vY2x1\n", | |
"c3RlciBncm91cAogICAgICB2YXIgY2x1c3RlcmVkbWFya2VycyA9IEwubWFya2VyQ2x1c3Rlckdy\n", | |
"b3VwKCk7CiAgICAgIC8vc2VjdGlvbiBmb3IgYWRkaW5nIGNsdXN0ZXJlZCBtYXJrZXJzCiAgICAg\n", | |
"IAogICAgICAvL2FkZCB0aGUgY2x1c3RlcmVkIG1hcmtlcnMgdG8gdGhlIGdyb3VwIGFueXdheQog\n", | |
"ICAgICBtYXAuYWRkTGF5ZXIoY2x1c3RlcmVkbWFya2Vycyk7CgogICAgICAKCiAgICAgIAoKICAg\n", | |
"ICAgCgogICAgICAKCiAgICAgIAoKICAgICAgCgp2YXIgYXV0b2JvdW5kcyA9IEwuZmVhdHVyZUdy\n", | |
"b3VwKFtdKS5nZXRCb3VuZHMoKQoKCgoKCm1hcC5maXRCb3VuZHMoYXV0b2JvdW5kcywKICAgIHsi\n", | |
"cGFkZGluZyI6IFszMCwgMzBdfQopOwoKICAgPC9zY3JpcHQ+Cgo8L2JvZHk+\n", | |
"\" style=\"width: 600px; height: 400px; border: none\"></iframe>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"map = folium.Map(width=600, height=400, zoom_start=2)\n", | |
"\n", | |
"url='http://sci-wms.whoi.edu/wms/datasets/coawst?ELEVATION=15&COLORSCALERANGE=10,30'\n", | |
"\n", | |
"# we should have a wms_parameters not only a wms_styles option\n", | |
"map.add_wms_layer(wms_name='sciwms',\n", | |
" wms_url=url,\n", | |
" wms_styles='pcolor_gnuplot2',\n", | |
" wms_format='image/png',\n", | |
" wms_layers='temp'\n", | |
" )\n", | |
"\n", | |
"map.add_layers_to_map()\n", | |
"inline_map(map)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### Notes\n", | |
" * folium is a wrapper of Leaflet that allows to instantiate a Leaflet from a IPython notebook\n", | |
" * instantiate will be simplify in the next release (see issue https://github.com/python-visualization/folium/issues/212)\n", | |
" * Have made some changes to actual realease 0.1.5 to produce this example (template changed to take into consideration option styles from Leaflet). Will do a issue/PR on that.\n", | |
" * Also need to clarify why a styles option is needed. Should be parameters option. See http://leafletjs.com/reference.html#tilelayer-wms\n", | |
" * I would like to add synchroneaous maps using https://github.com/turban/Leaflet.Sync \n", | |
" * Seems that sci-wms not built yet over last release of matplotlib because nice \"Perceptually Sequential Uniform colormaps are not available http://matplotlib.org/examples/color/colormaps_reference.html" | |
] | |
} | |
], | |
"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 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I would be very interested in something like this using local data netCDF data.
My first test was to use mplleaflet to create a geojson from pcolormesh but this is slow due to the number of grid points. Maybe something like the mapbox-gl-vt could be used