Created
December 4, 2015 19:19
-
-
Save ocefpaf/2c35a679f333c57ecd1d to your computer and use it in GitHub Desktop.
This file contains hidden or 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": [ | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import folium\n\nprint(folium.__file__)\nprint(folium.__version__)", | |
"execution_count": 1, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": "/home/filipe/.virtualenvs/iris/lib/python2.7/site-packages/folium/__init__.py\n0.2.0.dev\n", | |
"name": "stdout" | |
} | |
] | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import numpy as np\n\n\ndef sample_data(shape=(73, 145)):\n nlats, nlons = shape\n lats = np.linspace(-np.pi / 2, np.pi / 2, nlats)\n lons = np.linspace(0, 2 * np.pi, nlons)\n lons, lats = np.meshgrid(lons, lats)\n wave = 0.75 * (np.sin(2 * lats) ** 8) * np.cos(4 * lons)\n mean = 0.5 * np.cos(2 * lats) * ((np.sin(2 * lats)) ** 2 + 2)\n\n lats = np.rad2deg(lats)\n lons = np.rad2deg(lons)\n data = wave + mean\n\n return lons, lats, data\n\n\nlon, lat, data = sample_data(shape=(73, 145))\nlon -= 180", | |
"execution_count": 2, | |
"outputs": [] | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "%matplotlib inline\n\nimport matplotlib\n\ncm = matplotlib.cm.get_cmap('cubehelix')\n\nnormed_data = (data - data.min()) / (data.max() - data.min())\ncolored_data = cm(normed_data)", | |
"execution_count": 3, | |
"outputs": [] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "# Bad" | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "mapa = folium.Map(location=[lat.mean(), lon.mean()], zoom_start=1)\n\nmapa.image_overlay(colored_data, min_lat=lat.min(), max_lat=lat.max(),\n min_lon=lon.min(), max_lon=lon.max(), opacity=0.25, mercator_project=False)\n\nmapa", | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": "\n <div style=\"width:100%;\">\n <div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\">\n <iframe src=\"data:text/html;base64,CiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5jb20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvbGVhZmxldC5tYXJrZXJjbHVzdGVyLXNyYy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjEuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9sdm9vZ2R0L0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC9kZXZlbG9wL2Rpc3QvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5EZWZhdWx0LmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL01hcmtlckNsdXN0ZXIuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPgoKICAgICAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAjbWFwIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOjA7CiAgICAgICAgICAgICAgICBib3R0b206MDsKICAgICAgICAgICAgICAgIHJpZ2h0OjA7CiAgICAgICAgICAgICAgICBsZWZ0OjA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPiAjbWFwX2YzZjNiNDVmZDNhZTQ3MjM4MjM5YjQ5MjljODYxMmZmIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgIHRvcDogMC4wJTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9mM2YzYjQ1ZmQzYWU0NzIzODIzOWI0OTI5Yzg2MTJmZiIgPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIDwvYm9keT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgdmFyIG5vcnRoRWFzdCA9IEwubGF0TG5nKDkwLCAxODApOwogICAgICAgICAgICB2YXIgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMoc291dGhXZXN0LCBub3J0aEVhc3QpOwoKICAgICAgICAgICAgdmFyIG1hcF9mM2YzYjQ1ZmQzYWU0NzIzODIzOWI0OTI5Yzg2MTJmZiA9IEwubWFwKCdtYXBfZjNmM2I0NWZkM2FlNDcyMzgyMzliNDkyOWM4NjEyZmYnLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6WzAuMCwtOC41OTIyOTc2MDc2OGUtMTddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMjkxMTRmY2YzNjc1NGNlMWIwYjBjNTlhYmFmOWFmMWIgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbTogMTgsCiAgICAgICAgICAgICAgICAgICAgbWluWm9vbTogMSwKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbjogJ01hcCBkYXRhIChjKSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycycsCiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0UmV0aW5hOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwX2YzZjNiNDVmZDNhZTQ3MjM4MjM5YjQ5MjljODYxMmZmKTsKCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGltYWdlX292ZXJsYXlfNTliMjY2OWJlODJhNGEyOWFlYTFiOWFhYWM2YjAwYzMgPSBMLmltYWdlT3ZlcmxheSgKICAgICAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKRUFBQUJKQ0FZQUFBQTl0Y1JoQUFBSHgwbEVRVlI0MnUyZGU0Z1ZWUnpIeno3YTFueFI3dk5hbVptVVJHcHE2YXBaYmc5dFUwRU1RWXdlaE5FREZLVmk3MDJMeUJBaUtJb2lpSXdpQ0RFaXBBaUtLTmZYcXVuV3V0Rzd0RExMeCs1MVY5MTg5ZXQ4Zm5kbkdhZTkvZUdvTmZRYitESE5tZlA3ZmovMzl2T2NNM2Z2blhIT09iR3dpQm4ySmxoWUVWbFlFVmxZRVZsWUZMZ0NzYkNJRTY2NG9GaE9Ob29LaXZKR0hGM2pTUmFQTzZlNHR4QzlpbnJsamRMQzBoNmpwTEFrYitUTCtTZWZnTVY0a3NYanpqMjdYTUxSdjJSQWQvUXJPVmVqNzFuOU5mb1U5OVVJdjVqb0M0cWVDM0lDalVBejdCTmxNSjVrOGJqS2ZrUGxoT2c3UkNyNkRKYnkzb09rclBjRlVuYk9RQm5RcTFyT0s2MDhBYm9uMktoNTJKUjhkTkJERjMxODhQc2JnL0VraXNlbExwZ2czWEYramFSUzR5UlZOVVpTRmFPa3VteUVWSjkzdVZUMXYxU1RGYlFMTWdBTUtqVWNBVWdBUVI3NTZLQ0hMdnJxZ3grK1lRN2pTUlNQcTZpWkxocGpwMG5sbUZ1a2NtU2RWRjB4VmFvdnUxRlNReVpMYXRCRVNWVmZMYW55a1NwSTVRVndWR3NVakdQYXUyRjhmL0xJVngzMHZDNzYrT0NITC83ZExNYVRLQjVYZGRzVXFaenJUODY1V1NwbTEwbjV6R2xTVmpkZHlxK2ZJUlhqcDB2bHFMb2M0RVdUVkxSNndCVnF4QkFYaGdvUGlRcmx6eXVRNzY4d1BoOGQ5TkJGWDMyOEg3NzR3MkU4cDRCbjJFMW5sTWROZnZoS21lU2o1c0hSTW5yUlZYTDVnaG9aZk8rMU12Q3VHN1N6Sms2Y3JoV29sUTZZcjFUbVI4d0JDUlp2N0RtbW5mTmEwUUQ1UFBMUlFROWQ5UEhCRDEvODRUQ2U1UEc0NTlQWHliUHBTYklzVXlPUFpNYkl2Wm1STWlzOVhEc01tejllenIrN1ZzcG4zU0xsdFROeVlCZGZxL01qVmNzY0NrU3c0bWZQTWUyYzEzblU5MWNnbjQ4T2V1aWlqdzkrK09JUGgvRWtqOGR0WGZLTWJGbnl0R3g4NURGWm5WNGdxK3JueXN2cEc3WGpISjlFeFZHQk9uUjY0YXJoTit0aWlxcGxDR1E0REVOeFRMdFd0ZTlIZi9MSVJ3YzlkTkhIQno5ODhZZkRlSkxINDVwZStVYWFYdjVLbWw5b2twYW5QNUZ0VDZ5UXpZdWZsUGZyNzVRWDA1TzE4cWpDSWZkZkl4VzMrZ3FmTkNNMzUvcGhqOVU3QzdKZ25sVWdmMHk3RHFPK0gvM0pJeDhkOU5CRkh4Lzg4TVVmRHVOSkhvOWJ2YWxEVmpkMnlKcVA5OHVHVlh0bHkrdmJaZHV6amRMOCtLdlNrRjRreTlOVFpING1OL2RSbVRwVStybFNGNVArY2srdkFMbytxMkN2RlUyN1AwOC8rcE5IUGpyb29ZcytQdmpoaXo4Y3hwTThIcmQ1VjVzMDdzekt1dTIrOFlzT2FWamJMbzF2NzViUFhtclJxbHViZVVoZVM5ZDFnMm1GZHcyVnpKM1ZRMnR6bDRGOFp1RDNIQWR6YWpBa0JrRG9vSWN1K3ZqZ2h5LytjSnh1SHZxSDM2Q0E1L01YbS84Vm51ai9zRlA5L29TbnR0UEY0MzQ0MENiZmRiVEpGOWxXK2ZTM05sbjcvWDZ0THFvdENyWXdNMHFtMW8vUWhSYXJkYXEyYk1vTUhRSzFpdjFlajMwNzUrbEhmL0tpQllRK1B2amhpejhjeHBNOEhyZjNjSWZzL3FOZGZqNlVsYS8zdDhxVzM5dGt6YmZ0T2xSdGVHZVAvZ3R0V2ZxV2JNZ3NsaFgxTTJWcFpwemNrUm1oMVRwaTRWaTU1SUdKTXVpZXlYTGh2RnJkYzB3NzUrbEhmL0xJUndjOWRIVkk5ajc0NFlzL0hNYVRQQjUzNEdpbnRCODlwQTA3RG1hMXdqYjkyaVlOWDdhZk1GUzJMRnVscS9HUDB2ZkpHL1hUNUtuMEJIblFWK3c4Yjh6cWZiWVA5aHpUem5uNjBaODg4c05ESXZyNDRJY3YvbkFZVC9KNHVvdUlpdHJabVpWdjJsdmxzNzJ0c3VHbmJQZWN5MUMyZGZsM3VyQ2lPcHNlZlU0ckZjUDM2bStYdCt0bnk4cjZXYnJubUhiTzA0Lys1SkdQVGpDbm9vOFBmdmppSDM2VGpDYzVQSTcveUI0NXFJMjdPdmZySEVlMU1XeXQzNUZidk9sYytHRldxNUxWdWM2OXo2eVRscWMrMElwVll5NzkvRjZQZlR2bjZVZC84c2pYS3d1dmh5NzYrT0NITC81d0dFL3llRnpya1FQZDh5d25HYXFvdHBhMkhGampMOW5jNHEzRkMyNzJsZDdRcmdicjM5Mm5aaHRYN3BKTkszNlZ6Vy91MUQzSHRIT2VmdlFuajN4MDBFTVhmWHp3d3plWVg4OGtEM084OGNUbjBZVjFHSW9GMDQrKzJraWc4ajdmMXdYbkwrZW9TQUFidnNvTmNhdWJmVFQ1MkJLS3BxNTJobGJmai83a2tZOE9ldWlpanc5K1lTampTUjZQaTRMOTVvTTVMNERqTW83Vk9FTE5yYm41ZCt1ZU5yM000ek1DRmx2Um9KM3o5S00vZWVTamcxNEFndzkrMFRmSWVKTEY0NWpYQ0lhbDhGQVpBRkoxQVNSREdZTEJaeFZVWjc0SVBrT2dQM2tCQkhvQlNIaElKQUlXNDBrV2oxNmRCU3YrY1BRRUd3WU9vUFBGN29oeFQrWlJ6NERGZUpMRjR6cVBIWlp3SER6MlI0OFJmZ0hSeVBkQ281RlBPOHBnUE1uaWNVZVBINU53SEQ1KzVJeEhsTUY0a3NYamp2OTVYQ3dzNG9RVDIyeUx1VmtSMldaRlpKc1ZrVzFXUkxiWlprVmtteFdSYlZaRXRsa1IyV2FiRnBGOTRtb1IreE5yKzl1UThjVCsyNW45bGRwNFl2OFYzNzR2WXp5eHYwOWszOXd6bnRqZmJMVHZFQnRQN085WTI2OFpqQ2YycnozK3o3ODdzOS9CbmFMZm5ka3ZQSTBuOWk5ZzdiZm14aFA3dC9oMjF3dmppWDFYRUx2L2p2SEV2aitSM1FuTWVHTGZLYzN1MldqM2JJeDl6MGE3TzZyeHhMNTdyTjJuMlhoaTM4ZmE3aGh2UExIdnFHL1ByakNlMk0vMnNLZm9HRS9zcHd6Wjg4WHNlV2V4bjNkbVR4WTBudGhQWHJSbm5CcFA3R2ZBMnRPV2pTZjIwNmp0dWUvR0U1Zkg5U1FjamRMQzBoNmpwTEFrYitUTCtTZWZmQy9VZVA3YlBLNjRvRmhPTm9vS2l2SkdIRjNqU1JhUEszQUZZbUVSSjV6ZnhNSWladGliWUdGRlpHRkZaR0ZGWlBHL2o3OEFUVTlVdHlEVTRkWUFBQUFBU1VWT1JLNUNZSUk9JywKICAgICAgICAgICAgICAgICAgICBbWy05MC4wLCAtMTgwLjBdLCBbOTAuMCwgMTgwLjBdXSwKICAgICAgICAgICAgICAgICAgICB7Im9wYWNpdHkiOiAwLjI1fQogICAgICAgICAgICAgICAgICAgICkuYWRkVG8obWFwX2YzZjNiNDVmZDNhZTQ3MjM4MjM5YjQ5MjljODYxMmZmKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAg\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\">\n </iframe>\n </div></div>", | |
"text/plain": "<folium.folium.Map at 0x7fec93f9fc50>" | |
}, | |
"metadata": {}, | |
"execution_count": 4 | |
} | |
] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "# Good" | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "mapa = folium.Map(location=[lat.mean(), lon.mean()], zoom_start=1)\n\nmapa.image_overlay(colored_data, min_lat=lat.min(), max_lat=lat.max(),\n min_lon=lon.min(), max_lon=lon.max(), opacity=0.25,\n mercator_project=True)\n\nmapa", | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": "\n <div style=\"width:100%;\">\n <div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\">\n <iframe src=\"data:text/html;base64,CiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5jb20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvbGVhZmxldC5tYXJrZXJjbHVzdGVyLXNyYy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjEuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9sdm9vZ2R0L0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC9kZXZlbG9wL2Rpc3QvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5EZWZhdWx0LmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL01hcmtlckNsdXN0ZXIuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPgoKICAgICAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAjbWFwIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOjA7CiAgICAgICAgICAgICAgICBib3R0b206MDsKICAgICAgICAgICAgICAgIHJpZ2h0OjA7CiAgICAgICAgICAgICAgICBsZWZ0OjA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPiAjbWFwX2Y5ZjY4NmQwYTk3ZDRkY2FhMzgzODJiZjRmZDQxMjc1IHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgIHRvcDogMC4wJTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9mOWY2ODZkMGE5N2Q0ZGNhYTM4MzgyYmY0ZmQ0MTI3NSIgPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIDwvYm9keT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgdmFyIG5vcnRoRWFzdCA9IEwubGF0TG5nKDkwLCAxODApOwogICAgICAgICAgICB2YXIgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMoc291dGhXZXN0LCBub3J0aEVhc3QpOwoKICAgICAgICAgICAgdmFyIG1hcF9mOWY2ODZkMGE5N2Q0ZGNhYTM4MzgyYmY0ZmQ0MTI3NSA9IEwubWFwKCdtYXBfZjlmNjg2ZDBhOTdkNGRjYWEzODM4MmJmNGZkNDEyNzUnLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6WzAuMCwtOC41OTIyOTc2MDc2OGUtMTddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOWFkZmQxODMxNDgzNGM4N2FmYzI1ZGM2YWYyMzcyYzkgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbTogMTgsCiAgICAgICAgICAgICAgICAgICAgbWluWm9vbTogMSwKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbjogJ01hcCBkYXRhIChjKSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycycsCiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0UmV0aW5hOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwX2Y5ZjY4NmQwYTk3ZDRkY2FhMzgzODJiZjRmZDQxMjc1KTsKCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGltYWdlX292ZXJsYXlfMGM5ZmQzMTY5ZjExNDc5OTg2Y2VhZmE0ZTJkNTViNjAgPSBMLmltYWdlT3ZlcmxheSgKICAgICAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKRUFBQUJKQ0FZQUFBQTl0Y1JoQUFBQlJFbEVRVlI0MnUzWE1Vb0RRUmlHNFRFRUJJMkZZSkRZYUd0allVcEJyQXdJMWhhZVFMQ3dFb3hnSWNURzFnTUlOdDdCM2tiSWxUNzVQWUNGSzBUaEdYZ0lTWFpuaHVWbGsyMnR0VUJITGdJaVFrU0lDRndBUklTSUVCR0lDQkVoSWtRRUlrSkVpQWdSZ1lnUUVTSkNSQ0FpUklTSUVCR0lDQkVoSWtRRUlrSkVpQWdSZ1lqNFpiM1d5ODh0ZmFPM0FQYXppUDIwK2NOTDVyUG5mTncvNWYxdWxyZmJxN3hPei9JNFBjckZ6VGpIMS92WnZUekk2SHlTNGVRMG0rT1RiTzBjWnJTeGwrRmdPK3ZMd3d6NmExbnByMzY5MXZ2NnZMNnY0K3I0T3EvT3IzbHF2cHEzNXE5MWFyMWF0OWF2ZmRqUC85dFBpMkYwSE81RTl0UDlUdVEzMzM0Ni95ZnlkSUZIZkVTRWlFQkVpQWdSSVNJUUVTSkNSSWdJUklTSUVCRWlBaEVoSWtTRWlFQkVpQWdSSVNJUUVTSkNSSWdJUklTSUVCRWlBaEVoSXY2Y1Q5MjYvc2dpMmdqWEFBQUFBRWxGVGtTdVFtQ0MnLAogICAgICAgICAgICAgICAgICAgIFtbLTkwLjAsIC0xODAuMF0sIFs5MC4wLCAxODAuMF1dLAogICAgICAgICAgICAgICAgICAgIHsib3BhY2l0eSI6IDAuMjV9CiAgICAgICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfZjlmNjg2ZDBhOTdkNGRjYWEzODM4MmJmNGZkNDEyNzUpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\">\n </iframe>\n </div></div>", | |
"text/plain": "<folium.folium.Map at 0x7fec93fcbdd0>" | |
}, | |
"metadata": {}, | |
"execution_count": 5 | |
} | |
] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "# Same as above but with cartopy" | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import cartopy.crs as ccrs\nfrom cartopy.img_transform import warp_array\n\nsource_extent = [lon.min(), lon.max(), lat.min(), lat.max()]\n\nnew_data = warp_array(colored_data,\n target_proj=ccrs.GOOGLE_MERCATOR,\n source_proj=ccrs.PlateCarree(),\n target_res=data.shape,\n source_extent=source_extent,\n target_extent=None,\n mask_extrapolated=False)\n\n\nmapa = folium.Map(location=[lat.mean(), lon.mean()], zoom_start=1)\nmapa.image_overlay(new_data[0],\n min_lat=lat.min(), max_lat=lat.max(),\n min_lon=lon.min(), max_lon=lon.max(),\n opacity=0.25)\n\nmapa", | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": "\n <div style=\"width:100%;\">\n <div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\">\n <iframe src=\"data:text/html;base64,CiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5jb20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvbGVhZmxldC5tYXJrZXJjbHVzdGVyLXNyYy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjEuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9sdm9vZ2R0L0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC9kZXZlbG9wL2Rpc3QvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5EZWZhdWx0LmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL01hcmtlckNsdXN0ZXIuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPgoKICAgICAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAjbWFwIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOjA7CiAgICAgICAgICAgICAgICBib3R0b206MDsKICAgICAgICAgICAgICAgIHJpZ2h0OjA7CiAgICAgICAgICAgICAgICBsZWZ0OjA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPiAjbWFwXzNjNWJjNjhjYzBlMDQ3ZDk5NDdhNjZkYzk0NzE3OWMxIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgIHRvcDogMC4wJTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF8zYzViYzY4Y2MwZTA0N2Q5OTQ3YTY2ZGM5NDcxNzljMSIgPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIDwvYm9keT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgdmFyIG5vcnRoRWFzdCA9IEwubGF0TG5nKDkwLCAxODApOwogICAgICAgICAgICB2YXIgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMoc291dGhXZXN0LCBub3J0aEVhc3QpOwoKICAgICAgICAgICAgdmFyIG1hcF8zYzViYzY4Y2MwZTA0N2Q5OTQ3YTY2ZGM5NDcxNzljMSA9IEwubWFwKCdtYXBfM2M1YmM2OGNjMGUwNDdkOTk0N2E2NmRjOTQ3MTc5YzEnLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6WzAuMCwtOC41OTIyOTc2MDc2OGUtMTddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZDVjNGVmM2I0YTA0NGQxZWIxZmE2ZDhmNTlmM2MzNWUgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbTogMTgsCiAgICAgICAgICAgICAgICAgICAgbWluWm9vbTogMSwKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbjogJ01hcCBkYXRhIChjKSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycycsCiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0UmV0aW5hOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzNjNWJjNjhjYzBlMDQ3ZDk5NDdhNjZkYzk0NzE3OWMxKTsKCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGltYWdlX292ZXJsYXlfYmE4YjVkZDEzYTRkNDE5N2E4MmE3NjMxYmZmNjYwMGQgPSBMLmltYWdlT3ZlcmxheSgKICAgICAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFa0FBQUNSQ0FZQUFBQ1BIcFdlQUFBRmVrbEVRVlI0MnUyZGIyaFZaUnpIejl4YTB6bEYzZDNjTlRNeklaQjBXcFRETldzVjZuS0RFSVFvb2dqQkN1cE54ZTYxaUVnUWV1T0xLSHFUVVc4aWpGNk1vaGNSc1RYYjFPWjBUZ0t4c2orMkpYTzd1M2R6N2wvZnp2ZTNuWFV6MnM3a01PemhlK0hIcytmM2ZIOWY1Y056emozMzNPYzgxL004RDRvWlF4QUVTWkFFU1pBRVNaQUVTU0ZJZ2lSSWdpUklnaVJJQ2tFU0pFRVNKRUg2ZjBhT2x3UEY5Q0ZJZ2lSSWN3Y3BMeWNQMDBWdVR1NVV6S1IxMVVlUUJFbVE1ZzdTZ3J4Q3pNK2QvNDhvbUZjd0Zmbno4cWNpTzM5MWpjcytnaVJJRVVGYWNtTU1qTVg1eXl3VzVTOUIwUTJMc1RDdnlBVEJQeGI4elR6SHFRdHFBZzlYZlFSSmtDS0NWTHBvTFN5SzFpQld1QXJGQzFaZ2FVSHB2NHl6RFRoT0hmV3NtL0p3MUVlUXdrQ0tyOXdDaS9obXhFczJvV3pwT2hOUXpLbEdneURZWjU3ajFGRnZkWUdIb3o2Q0pFZ1JRU3FwcUVYSlBUdFJXbDZEc3RzZlFueFZKZUt4Y2pzV1dSZ2N3MnpOeU05em5EcnFXY2Q2bDMwRUtReWs1WTl2USttak94QjdaQ2RpRDlTaGRGTU40cmRVb1d6WkhTZ3VYR2ttZkFjd003L1BQTWVwbzU1MXJIZlpSNURDUUxyLzVZMm9lUEZPckh1aEFpdWVlaERGTmJVMjFlSmxkNk5rNFdxYmtyd2laY3MrOHh5bmpucldzZDVsSDBFS0ErbXR4SDA0a0t6QTNtUTVxdnpFVFU5WEkxWmRoL2l0Vysxa1JoTit4bUZySnpjL3ozSHFxR2NkNjEzMjhVNjhlaEJIOTcyR2h2ckhzQzk1bDlFcjJWMkQ1ZXQzMkRVRGoxbWFzV1dmZVk1VFJ6M3JXTyt5anlDRmdkVCszbGwwdk4yTzAyOThqQy9xbjdScHR1YlpleEdycXJQamxOY1FuSkpzMldlZTQ5UlJ6enJXdSt6ak5SN0w0SnV2KzlIMjRYbDB2UDQrRGlXMjJja3F0dXRodTZnaVpaN1kyTExQUE1lcG81NTFySGZaUjVEQ1FEcmUxWWNqNS92UjFKekd5WGM3MFp4OENjOG5OMDVNVGY5c1g3YTIyajdrc1dWLzlkNnROazRkOWF4ai9XeDltQTk4VHIzVGNjMCtzLzMvVUQ5YkgrL0hnVDZjU2ZXaStZZCt0RFQwMkxINFFhSUcyK3MzVEZ4ZmJQT3ZQaXRycldXZmVZNVRSejNyV08reWp5Q0ZnZFF6bk1HdmwxTm8rNk1QamEwWm0vb3R5VmV3UDduWmp0SGJucXZFelh1cXJXV2ZlWTVUUnozcldPK3lqemN3T29TTFY5SkdyZW43TkZvL3ZZak9BdzM0S3ZFTTNreHN3WjdrQnV4T3JMZVdmZVk1VGgzMXJHTzl5ejRHaWJUT3BudlI4a3ZLVGxnbkRwMUQ1LzVQak96bjlVL2djUDB1YTlsbm51UFVVYzg2MXJ2czQ2VkhMMXVIeDU1TnpUTVpOSCtac3JmQTB3ZVBHRjBlcDliNmZlWTVUaDMxckdPOXl6NWU3OGlBVGF1ZkIxUG83T3RGNjIrK3NET0RwcVkwdnYzc0VvNGU3c0x4ank1WXl6N3pIS2VPZXRheDNtVWZRUW9EaVZPS0haN0plUnlldXVRYlhralpXeUNuWG1PN0gyMlRMYWVzbitjNGRkU3pqdlV1K3hna1J2ZWs0Ym5NeFBYRnlaNWVmTmZkaDJPLy94M3NNODl4NnFqdm5qUnkyY2RMalF6YWxBcklkdzMxbStnbi84VEZBbElOZ24zbU9VNWRRSnIxTHZ2WUpRRFA0SXlyalJuZFdSSGtzZzJDV3BkOXZLR3hZVEFHeDY1TUJRZXlJeEJuUjdZKzhIRFZ4eHNkSHdOamVIemttaVB3Y05YSEcvOXpISXJwdzROZU03NEVTWkFFU1pBRVNaQUVTWkQwK2c5SXVxSU9jY1d0ejI0aFBydnBMa0NJdXdDNm54VGlmcEx1VElhNE02bDczQ0h1Y2V2YmtoRGZsdWg3TjMwNUdRMGtyUVVJc1JaQXEwcENyQ3JSK3FRUTY1TzAwaTNFU2pldG1kVEMwbWdnYVIxM2lIWGNlaUpBajAxRUEwbFBLWVY0U2tuUHUrbWh3R2dnNlJuY0VNL2c2bWx1UGZJZURTVHRNS0Z0T0tLQnBGMXZ0RFZRTkpDMEU1ZTJLeE9rT1lPa2ZTYTFHV2Mwa0xUM3JUWUlGcVE1ZzZTZDNiWDl2U0ROR1NUOWJvbCszRVdRQk9sNmdxVGZiOU9QNEFtU0lGMVBrUFE3dC9xeFlFRVNKRUVTSkVFU0pJVWdDWklnQ1pJZ0NaSWdLUVJKa0FSSmtBUkprTnlOdndDU0kxU29CQW9oekFBQUFBQkpSVTVFcmtKZ2dnPT0nLAogICAgICAgICAgICAgICAgICAgIFtbLTkwLjAsIC0xODAuMF0sIFs5MC4wLCAxODAuMF1dLAogICAgICAgICAgICAgICAgICAgIHsib3BhY2l0eSI6IDAuMjV9CiAgICAgICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfM2M1YmM2OGNjMGUwNDdkOTk0N2E2NmRjOTQ3MTc5YzEpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\">\n </iframe>\n </div></div>", | |
"text/plain": "<folium.folium.Map at 0x7fec8c933350>" | |
}, | |
"metadata": {}, | |
"execution_count": 6 | |
} | |
] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "TODO: Try [rasterio](https://github.com/mapbox/rasterio/blob/ca75cf0a842943c1b3da4522e6ea3500215130fd/docs/reproject.rst). Rasterio can warp images and arrays." | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "# Compare to original" | |
}, | |
{ | |
"metadata": { | |
"collapsed": false, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "from IPython.display import IFrame\n\nIFrame(\"http://scitools.org.uk/cartopy/docs/latest/examples/waves.html\", width=900, height=750)", | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": "\n <iframe\n width=\"900\"\n height=\"750\"\n src=\"http://scitools.org.uk/cartopy/docs/latest/examples/waves.html\"\n frameborder=\"0\"\n allowfullscreen\n ></iframe>\n ", | |
"text/plain": "<IPython.lib.display.IFrame at 0x7fec94a6ec90>" | |
}, | |
"metadata": {}, | |
"execution_count": 7 | |
} | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"name": "iris_python2", | |
"display_name": "Iris (Python 2)", | |
"language": "python" | |
}, | |
"language_info": { | |
"mimetype": "text/x-python", | |
"nbconvert_exporter": "python", | |
"name": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.8", | |
"file_extension": ".py", | |
"codemirror_mode": { | |
"version": 2, | |
"name": "ipython" | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment