1{ 2 "cells": [ 3 { 4 "cell_type": "markdown", 5 "metadata": {}, 6 "source": [ 7 "### Circle and CircleMarker" 8 ] 9 }, 10 { 11 "cell_type": "code", 12 "execution_count": 1, 13 "metadata": {}, 14 "outputs": [ 15 { 16 "data": { 17 "text/html": [ 18 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfOGFmNzk5NTU0MWFlNDk3NzkxNjcyMzZmNWM4YmUxNjUgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9samFnaXMvbGVhZmxldC1tZWFzdXJlQDIuMS43L2Rpc3QvbGVhZmxldC1tZWFzdXJlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9samFnaXMvbGVhZmxldC1tZWFzdXJlQDIuMS43L2Rpc3QvbGVhZmxldC1tZWFzdXJlLm1pbi5jc3MiLz4KPC9oZWFkPgo8Ym9keT4gICAgCiAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF84YWY3OTk1NTQxYWU0OTc3OTE2NzIzNmY1YzhiZTE2NSIgPjwvZGl2PgogICAgICAgIAo8L2JvZHk+CjxzY3JpcHQ+ICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXBfOGFmNzk5NTU0MWFlNDk3NzkxNjcyMzZmNWM4YmUxNjUgPSBMLm1hcCgKICAgICAgICAgICAgICAgICJtYXBfOGFmNzk5NTU0MWFlNDk3NzkxNjcyMzZmNWM4YmUxNjUiLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNlbnRlcjogWy0yNy41NzE3LCAtNDguNjI1Nl0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiA5LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfYjZlZmZkOWQ1OTUxNGM0OWFmNmJmZTlmN2M4Njc1MzEgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzhhZjc5OTU1NDFhZTQ5Nzc5MTY3MjM2ZjVjOGJlMTY1KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWVhc3VyZV9jb250cm9sX2NhNGJhM2U2NjgyMjRkY2ZhMWYyNGMwZDNmNmEyN2NjID0gbmV3IEwuQ29udHJvbC5NZWFzdXJlKAogICAgICAgICAgICAgICAgeyJwb3NpdGlvbiI6ICJ0b3ByaWdodCIsICJwcmltYXJ5QXJlYVVuaXQiOiAic3FtZXRlcnMiLCAicHJpbWFyeUxlbmd0aFVuaXQiOiAibWV0ZXJzIiwgInNlY29uZGFyeUFyZWFVbml0IjogImFjcmVzIiwgInNlY29uZGFyeUxlbmd0aFVuaXQiOiAibWlsZXMifSk7CiAgICAgICAgICAgIG1hcF84YWY3OTk1NTQxYWU0OTc3OTE2NzIzNmY1YzhiZTE2NS5hZGRDb250cm9sKG1lYXN1cmVfY29udHJvbF9jYTRiYTNlNjY4MjI0ZGNmYTFmMjRjMGQzZjZhMjdjYyk7CgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Y3OTgyMDFlNDI5YzQ0ODA5Y2JmZTc4YmNmZTk2ZjU0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbLTI3LjU1LCAtNDguOF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiY29ybmZsb3dlcmJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiY29ybmZsb3dlcmJsdWUiLCAiZmlsbE9wYWNpdHkiOiAwLjYsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEsICJyYWRpdXMiOiA1MCwgInN0cm9rZSI6IGZhbHNlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGFmNzk5NTU0MWFlNDk3NzkxNjcyMzZmNWM4YmUxNjUpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2VjM2JmZTJjY2YyZDRmZGI4MWM4NDlmMDhiNGE1NGYxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85Y2M2NjVlYTE3NDY0NGVkYThjZTY3NzcxY2RjZDFiMiA9ICQoYDxkaXYgaWQ9Imh0bWxfOWNjNjY1ZWExNzQ2NDRlZGE4Y2U2Nzc3MWNkY2QxYjIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjUwIHBpeGVsczwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9lYzNiZmUyY2NmMmQ0ZmRiODFjODQ5ZjA4YjRhNTRmMS5zZXRDb250ZW50KGh0bWxfOWNjNjY1ZWExNzQ2NDRlZGE4Y2U2Nzc3MWNkY2QxYjIpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2Y3OTgyMDFlNDI5YzQ0ODA5Y2JmZTc4YmNmZTk2ZjU0LmJpbmRQb3B1cChwb3B1cF9lYzNiZmUyY2NmMmQ0ZmRiODFjODQ5ZjA4YjRhNTRmMSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mNzk4MjAxZTQyOWM0NDgwOWNiZmU3OGJjZmU5NmY1NC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICBJIGFtIGluIHBpeGVscwogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZTFhMjVlNTE0N2ExNDFmZjg2YmRjYmZmMzc2NTEwODkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFstMjcuMzUsIC00OC44XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibGFjayIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogZmFsc2UsICJmaWxsQ29sb3IiOiAiYmxhY2siLCAiZmlsbE9wYWNpdHkiOiAwLjYsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEsICJyYWRpdXMiOiAyNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF84YWY3OTk1NTQxYWU0OTc3OTE2NzIzNmY1YzhiZTE2NSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9lYmY0NWVjYmIyZDI0NjcyYjg1M2M4YjQ1YjViZTI3MSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0yNy41NTE2NjcsIC00OC40Nzg4ODldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsYWNrIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogImdyZWVuIiwgImZpbGxPcGFjaXR5IjogMC42LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLCAicmFkaXVzIjogMTAwMDAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogMX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGFmNzk5NTU0MWFlNDk3NzkxNjcyMzZmNWM4YmUxNjUpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzAwZjZhYzc2ODZmYjRkYWFiMTE1NTFmNjEzM2Y1MWY1ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85ODMyZjJlNjUxODE0ZmNmODg3M2MwZWU5MTBkOGFlYiA9ICQoYDxkaXYgaWQ9Imh0bWxfOTgzMmYyZTY1MTgxNGZjZjg4NzNjMGVlOTEwZDhhZWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjEwMDAwIG1ldGVyczwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8wMGY2YWM3Njg2ZmI0ZGFhYjExNTUxZjYxMzNmNTFmNS5zZXRDb250ZW50KGh0bWxfOTgzMmYyZTY1MTgxNGZjZjg4NzNjMGVlOTEwZDhhZWIpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfZWJmNDVlY2JiMmQyNDY3MmI4NTNjOGI0NWI1YmUyNzEuYmluZFBvcHVwKHBvcHVwXzAwZjZhYzc2ODZmYjRkYWFiMTE1NTFmNjEzM2Y1MWY1KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZWJmNDVlY2JiMmQyNDY3MmI4NTNjOGI0NWI1YmUyNzEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgSSBhbSBpbiBtZXRlcnMKICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAo8L3NjcmlwdD4= onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 19 ], 20 "text/plain": [ 21 "<folium.folium.Map at 0x7f68502b2130>" 22 ] 23 }, 24 "execution_count": 1, 25 "metadata": {}, 26 "output_type": "execute_result" 27 } 28 ], 29 "source": [ 30 "import folium\n", 31 "from folium.plugins.measure_control import MeasureControl\n", 32 "\n", 33 "m = folium.Map(location=[-27.5717, -48.6256], zoom_start=9)\n", 34 "\n", 35 "c = MeasureControl()\n", 36 "c.add_to(m)\n", 37 "\n", 38 "radius = 50\n", 39 "folium.CircleMarker(\n", 40 " location=[-27.55, -48.8],\n", 41 " radius=radius,\n", 42 " color=\"cornflowerblue\",\n", 43 " stroke=False,\n", 44 " fill=True,\n", 45 " fill_opacity=0.6,\n", 46 " opacity=1,\n", 47 " popup=\"{} pixels\".format(radius),\n", 48 " tooltip=\"I am in pixels\",\n", 49 ").add_to(m)\n", 50 "\n", 51 "radius = 25\n", 52 "folium.CircleMarker(\n", 53 " location=[-27.35, -48.8],\n", 54 " radius=radius,\n", 55 " color=\"black\",\n", 56 " weight=3,\n", 57 " fill=False,\n", 58 " fill_opacity=0.6,\n", 59 " opacity=1,\n", 60 ").add_to(m)\n", 61 "\n", 62 "radius = 10000\n", 63 "folium.Circle(\n", 64 " location=[-27.551667, -48.478889],\n", 65 " radius=radius,\n", 66 " color=\"black\",\n", 67 " weight=1,\n", 68 " fill_opacity=0.6,\n", 69 " opacity=1,\n", 70 " fill_color=\"green\",\n", 71 " fill=False, # gets overridden by fill_color\n", 72 " popup=\"{} meters\".format(radius),\n", 73 " tooltip=\"I am in meters\",\n", 74 ").add_to(m)\n", 75 "\n", 76 "m" 77 ] 78 }, 79 { 80 "cell_type": "markdown", 81 "metadata": {}, 82 "source": [ 83 "### PolyLine" 84 ] 85 }, 86 { 87 "cell_type": "code", 88 "execution_count": 2, 89 "metadata": {}, 90 "outputs": [ 91 { 92 "data": { 93 "text/html": [ 94 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfMTE3NzQzOWFiYWIyNDQ0NzhhZTYzYTk0M2U3MzhjYzQgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzExNzc0MzlhYmFiMjQ0NDc4YWU2M2E5NDNlNzM4Y2M0IiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF8xMTc3NDM5YWJhYjI0NDQ3OGFlNjNhOTQzZTczOGNjNCA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF8xMTc3NDM5YWJhYjI0NDQ3OGFlNjNhOTQzZTczOGNjNCIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbNDEuOSwgLTk3LjNdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogNCwKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzYyNDg5NmM5MDNiZTQ2ODM4OWZjMGZlYTIzOTE0N2NlID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xMTc3NDM5YWJhYjI0NDQ3OGFlNjNhOTQzZTczOGNjNCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlfbGluZV8yZjUzM2JiNmFkZTE0OGVjOGIxMzA3ZDkzNjYzODk5OSA9IEwucG9seWxpbmUoCiAgICAgICAgICAgICAgICBbWzQyLjM1ODEsIC03MS4wNjM2XSwgWzQyLjgyOTk1ODE1LCAtNzQuNzg5OTE0NDRdLCBbNDMuMTc5Mjk4MTksIC03OC41NjYwMzMwNl0sIFs0My40MDMyMDIxNiwgLTgyLjM3Nzc0NTE5XSwgWzQzLjQ5OTc1NDg5LCAtODYuMjA5NjU4NDVdLCBbNDMuNDY4MTE5NDEsIC05MC4wNDU2OTA4N10sIFs0My4zMDg1NzA3MSwgLTkzLjg2OTYxODE4XSwgWzQzLjAyMjQ4NDU2LCAtOTcuNjY1NjMyNjddLCBbNDIuNjEyMjgyNTksIC0xMDEuNDE4ODY4MzJdLCBbNDIuMDgxMzM4NjgsIC0xMDUuMTE1ODUxOThdLCBbNDEuNDMzODU0OSwgLTEwOC43NDQ4NTA2OV0sIFs0MC42NzQ3MTc0NywgLTExMi4yOTYwOTk1NF0sIFszOS44MDkzNDM0LCAtMTE1Ljc2MTkwODIxXSwgWzM4Ljg0MzUyNzc2LCAtMTE5LjEzNjY1Njc4XSwgWzM3Ljc4MzMsIC0xMjIuNDE2N11dLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNGRjAwMDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IGZhbHNlLCAiZmlsbENvbG9yIjogIiNGRjAwMDAiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogMS4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDV9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzExNzc0MzlhYmFiMjQ0NDc4YWU2M2E5NDNlNzM4Y2M0KTsKICAgICAgICAKICAgIAogICAgICAgICAgICBwb2x5X2xpbmVfMmY1MzNiYjZhZGUxNDhlYzhiMTMwN2Q5MzY2Mzg5OTkuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgRnJvbSBCb3N0b24gdG8gU2FuIEZyYW5jaXNjbwogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlfbGluZV84ZjczMzgwNmNmMDM0MDU4YjhiYjZjM2JkZjBjZGQ1OSA9IEwucG9seWxpbmUoCiAgICAgICAgICAgICAgICBbWzQyLjM1ODEsIC03MS4wNjM2XSwgWzQyLjgyOTk1ODE1LCAtNzQuNzg5OTE0NDRdLCBbNDMuMTc5Mjk4MTksIC03OC41NjYwMzMwNl0sIFs0My40MDMyMDIxNiwgLTgyLjM3Nzc0NTE5XSwgWzQzLjQ5OTc1NDg5LCAtODYuMjA5NjU4NDVdLCBbNDMuNDY4MTE5NDEsIC05MC4wNDU2OTA4N10sIFs0My4zMDg1NzA3MSwgLTkzLjg2OTYxODE4XSwgWzQzLjAyMjQ4NDU2LCAtOTcuNjY1NjMyNjddLCBbNDIuNjEyMjgyNTksIC0xMDEuNDE4ODY4MzJdLCBbNDIuMDgxMzM4NjgsIC0xMDUuMTE1ODUxOThdLCBbNDEuNDMzODU0OSwgLTEwOC43NDQ4NTA2OV0sIFs0MC42NzQ3MTc0NywgLTExMi4yOTYwOTk1NF0sIFszOS44MDkzNDM0LCAtMTE1Ljc2MTkwODIxXSwgWzM4Ljg0MzUyNzc2LCAtMTE5LjEzNjY1Njc4XSwgWzM3Ljc4MzMsIC0xMjIuNDE2N11dLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImdyZXkiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IGZhbHNlLCAiZmlsbENvbG9yIjogImdyZXkiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogNTAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogNX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMTE3NzQzOWFiYWIyNDQ0NzhhZTYzYTk0M2U3MzhjYzQpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHBvbHlfbGluZV84ZjczMzgwNmNmMDM0MDU4YjhiYjZjM2JkZjBjZGQ1OS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICBUb28gbXVjaCBzbW9vdGhpbmc/CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKPC9zY3JpcHQ+ onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 95 ], 96 "text/plain": [ 97 "<folium.folium.Map at 0x7f67f6b202b0>" 98 ] 99 }, 100 "execution_count": 2, 101 "metadata": {}, 102 "output_type": "execute_result" 103 } 104 ], 105 "source": [ 106 "# Coordinates are 15 points on the great circle from Boston to\n", 107 "# San Francisco.\n", 108 "# Reference: http://williams.best.vwh.net/avform.htm#Intermediate\n", 109 "coordinates = [\n", 110 " [42.3581, -71.0636],\n", 111 " [42.82995815, -74.78991444],\n", 112 " [43.17929819, -78.56603306],\n", 113 " [43.40320216, -82.37774519],\n", 114 " [43.49975489, -86.20965845],\n", 115 " [43.46811941, -90.04569087],\n", 116 " [43.30857071, -93.86961818],\n", 117 " [43.02248456, -97.66563267],\n", 118 " [42.61228259, -101.41886832],\n", 119 " [42.08133868, -105.11585198],\n", 120 " [41.4338549, -108.74485069],\n", 121 " [40.67471747, -112.29609954],\n", 122 " [39.8093434, -115.76190821],\n", 123 " [38.84352776, -119.13665678],\n", 124 " [37.7833, -122.4167],\n", 125 "]\n", 126 "\n", 127 "\n", 128 "# Create the map and add the line\n", 129 "m = folium.Map(location=[41.9, -97.3], zoom_start=4)\n", 130 "\n", 131 "folium.PolyLine(\n", 132 " locations=coordinates,\n", 133 " color=\"#FF0000\",\n", 134 " weight=5,\n", 135 " tooltip=\"From Boston to San Francisco\",\n", 136 ").add_to(m)\n", 137 "\n", 138 "folium.PolyLine(\n", 139 " smooth_factor=50,\n", 140 " locations=coordinates,\n", 141 " color=\"grey\",\n", 142 " tooltip=\"Too much smoothing?\",\n", 143 " weight=5,\n", 144 ").add_to(m)\n", 145 "\n", 146 "m" 147 ] 148 }, 149 { 150 "cell_type": "markdown", 151 "metadata": {}, 152 "source": [ 153 "### Dateline" 154 ] 155 }, 156 { 157 "cell_type": "code", 158 "execution_count": 3, 159 "metadata": {}, 160 "outputs": [ 161 { 162 "data": { 163 "text/html": [ 164 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfNGVkMmVlODExNDM0NDg5YmE4MzdjYzhiMDIxOTYwYzMgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzRlZDJlZTgxMTQzNDQ4OWJhODM3Y2M4YjAyMTk2MGMzIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF80ZWQyZWU4MTE0MzQ0ODliYTgzN2NjOGIwMjE5NjBjMyA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF80ZWQyZWU4MTE0MzQ0ODliYTgzN2NjOGIwMjE5NjBjMyIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbMC4wLCAwLjBdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzZkNzdkMzE3MDQ3MTRjMTBhZmE5ZmVmOGY0MGFmZWI0ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF80ZWQyZWU4MTE0MzQ0ODliYTgzN2NjOGIwMjE5NjBjMyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlfbGluZV9kNGY4Yzc5YmM3OTA0MzIyYTNkZjRlOTVlZDk5NzQ1MyA9IEwucG9seWxpbmUoCiAgICAgICAgICAgICAgICBbWzIuMCwgMTc5LjBdLCBbMi4wLCAtMTc5LjBdXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJyZWQiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IGZhbHNlLCAiZmlsbENvbG9yIjogInJlZCIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJub0NsaXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLjAsICJzbW9vdGhGYWN0b3IiOiAxLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogNn0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNGVkMmVlODExNDM0NDg5YmE4MzdjYzhiMDIxOTYwYzMpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHBvbHlfbGluZV9kNGY4Yzc5YmM3OTA0MzIyYTNkZjRlOTVlZDk5NzQ1My5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICBXcm9uZwogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlfbGluZV9mZjhkYWY5MWM4MTY0YWI5OWQzZGVhYzhkZGFiMmEwNSA9IEwucG9seWxpbmUoCiAgICAgICAgICAgICAgICBbWy0yLjAsIDE3OS4wXSwgWy0yLjAsIDE4MS4wXV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogZmFsc2UsICJmaWxsQ29sb3IiOiAiYmx1ZSIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJidXR0IiwgImxpbmVKb2luIjogInJvdW5kIiwgIm5vQ2xpcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEuMCwgInNtb290aEZhY3RvciI6IDEuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiA2fQogICAgICAgICAgICApLmFkZFRvKG1hcF80ZWQyZWU4MTE0MzQ0ODliYTgzN2NjOGIwMjE5NjBjMyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgcG9seV9saW5lX2ZmOGRhZjkxYzgxNjRhYjk5ZDNkZWFjOGRkYWIyYTA1LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIENvcnJlY3QKICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb2x5X2xpbmVfZjRiNjI3YzBlYzcyNGY2MGE3OGRhZjdjMDNjNjA0ZGYgPSBMLnBvbHlsaW5lKAogICAgICAgICAgICAgICAgW1stNi4wLCAtMTc5LjBdLCBbLTYuMCwgMTc5LjBdXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJncmVlbiIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogZmFsc2UsICJmaWxsQ29sb3IiOiAiZ3JlZW4iLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAic3F1YXJlIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm5vQ2xpcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEuMCwgInNtb290aEZhY3RvciI6IDEuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiA2fQogICAgICAgICAgICApLmFkZFRvKG1hcF80ZWQyZWU4MTE0MzQ0ODliYTgzN2NjOGIwMjE5NjBjMyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgcG9seV9saW5lX2Y0YjYyN2MwZWM3MjRmNjBhNzhkYWY3YzAzYzYwNGRmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIENvcnJlY3QKICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb2x5X2xpbmVfMjZiMjdjZmI2NTIxNDk5M2EyZDM2ZGUyMTUwYjcwM2IgPSBMLnBvbHlsaW5lKAogICAgICAgICAgICAgICAgW1sxMi4wLCAtMTc5LjBdLCBbMTIuMCwgMTkwLjBdXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJvcmFuZ2UiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IGZhbHNlLCAiZmlsbENvbG9yIjogIm9yYW5nZSIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJub0NsaXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLjAsICJzbW9vdGhGYWN0b3IiOiAxLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogNn0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNGVkMmVlODExNDM0NDg5YmE4MzdjYzhiMDIxOTYwYzMpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHBvbHlfbGluZV8yNmIyN2NmYjY1MjE0OTkzYTJkMzZkZTIxNTBiNzAzYi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICBBcnRpZmFjdD8KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAo8L3NjcmlwdD4= onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 165 ], 166 "text/plain": [ 167 "<folium.folium.Map at 0x7f67f6ad0f70>" 168 ] 169 }, 170 "execution_count": 3, 171 "metadata": {}, 172 "output_type": "execute_result" 173 } 174 ], 175 "source": [ 176 "lon = lat = 0\n", 177 "zoom_start = 1\n", 178 "\n", 179 "m = folium.Map(location=[lat, lon], zoom_start=zoom_start)\n", 180 "\n", 181 "kw = {\"opacity\": 1.0, \"weight\": 6}\n", 182 "folium.PolyLine(\n", 183 " locations=[(2, 179), (2, -179)],\n", 184 " tooltip=\"Wrong\",\n", 185 " color=\"red\",\n", 186 " line_cap=\"round\",\n", 187 " **kw,\n", 188 ").add_to(m)\n", 189 "\n", 190 "\n", 191 "folium.PolyLine(\n", 192 " locations=[(-2, 179), (-2, 181)],\n", 193 " tooltip=\"Correct\",\n", 194 " line_cap=\"butt\",\n", 195 " color=\"blue\",\n", 196 " **kw,\n", 197 ").add_to(m)\n", 198 "\n", 199 "\n", 200 "folium.PolyLine(\n", 201 " locations=[(-6, -179), (-6, 179)],\n", 202 " line_cap=\"square\",\n", 203 " color=\"green\",\n", 204 " tooltip=\"Correct\",\n", 205 " **kw,\n", 206 ").add_to(m)\n", 207 "\n", 208 "\n", 209 "folium.PolyLine(\n", 210 " locations=[(12, -179), (12, 190)],\n", 211 " color=\"orange\",\n", 212 " tooltip=\"Artifact?\",\n", 213 " **kw,\n", 214 ").add_to(m)\n", 215 "\n", 216 "m" 217 ] 218 }, 219 { 220 "cell_type": "markdown", 221 "metadata": {}, 222 "source": [ 223 "### MultiPolyline" 224 ] 225 }, 226 { 227 "cell_type": "code", 228 "execution_count": 4, 229 "metadata": {}, 230 "outputs": [ 231 { 232 "data": { 233 "text/html": [ 234 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfNTM2MGYzNzBkOWE1NDM3NWI4YTJiMzNjZGM3YmIyYWIgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzUzNjBmMzcwZDlhNTQzNzViOGEyYjMzY2RjN2JiMmFiIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF81MzYwZjM3MGQ5YTU0Mzc1YjhhMmIzM2NkYzdiYjJhYiA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF81MzYwZjM3MGQ5YTU0Mzc1YjhhMmIzM2NkYzdiYjJhYiIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbMzguODkzOTksIC03Ny4wMzY1OV0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzA3YjUzMjlmNDk2MDQxYzJhOTRkZTYwMmUwMzA2YWViID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzYwZjM3MGQ5YTU0Mzc1YjhhMmIzM2NkYzdiYjJhYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOWY4NDBiNWY1YzUwNDZmNTgxZjRjNzMzMjU3YjRmMGYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFszOC44OTQxNSwgLTc3LjAzNzM4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJyZWQiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAicmVkIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzYwZjM3MGQ5YTU0Mzc1YjhhMmIzM2NkYzdiYjJhYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNGEwZDMzY2MxNzVlNDVkZDg2ZmI5NjQ3ZDczNzE2OTkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFszOC44OTQxNSwgLTc3LjAzNTc4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJyZWQiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAicmVkIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzYwZjM3MGQ5YTU0Mzc1YjhhMmIzM2NkYzdiYjJhYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlfbGluZV80NzAzODUwYjUzN2I0N2M3YWE5ZDUzZWM2Y2QwMmVmZiA9IEwucG9seWxpbmUoCiAgICAgICAgICAgICAgICBbW1szOC44OTM1OTY0NDQzNTIxMzQsIC03Ny4wMzgxNDk4MzM2NzkyXSwgWzM4Ljg5MzM3OTMzMzcyMjA0LCAtNzcuMDM3OTI0NTI4MTIxOTVdXSwgW1szOC44OTMzNzkzMzM3MjIwNCwgLTc3LjAzNzkyNDUyODEyMTk1XSwgWzM4Ljg5MzE2MjIyMjQyODMxLCAtNzcuMDM3NjEzMzkxODc2MjJdXSwgW1szOC44OTMxNjIyMjI0MjgzMSwgLTc3LjAzNzYxMzM5MTg3NjIyXSwgWzM4Ljg5MzAyODYxNTE0ODQyNCwgLTc3LjAzNzMxMjk4NDQ2NjU1XV0sIFtbMzguODkzMDI4NjE1MTQ4NDI0LCAtNzcuMDM3MzEyOTg0NDY2NTVdLCBbMzguODkyOTIwMDU5MDQ4NDY0LCAtNzcuMDM2OTE2MDE3NTMyMzVdXSwgW1szOC44OTI5MjAwNTkwNDg0NjQsIC03Ny4wMzY5MTYwMTc1MzIzNV0sIFszOC44OTI5MDMzNTgwOTUyOTYsIC03Ny4wMzYzNzk1NzU3MjkzN11dLCBbWzM4Ljg5MjkwMzM1ODA5NTI5NiwgLTc3LjAzNjM3OTU3NTcyOTM3XSwgWzM4Ljg5MzAxMTkxNDIyMDc3LCAtNzcuMDM1OTI4OTY0NjE0ODddXSwgW1szOC44OTMwMTE5MTQyMjA3NywgLTc3LjAzNTkyODk2NDYxNDg3XSwgWzM4Ljg5MzE2MjIyMjQyODMxLCAtNzcuMDM1NDk5ODExMTcyNDldXSwgW1szOC44OTMxNjIyMjI0MjgzMSwgLTc3LjAzNTQ5OTgxMTE3MjQ5XSwgWzM4Ljg5MzQwNDM4NDk4MjQ4LCAtNzcuMDM1MTQ1NzU5NTgyNTJdXSwgW1szOC44OTM0MDQzODQ5ODI0OCwgLTc3LjAzNTE0NTc1OTU4MjUyXSwgWzM4Ljg5MzU5NjQ0NDM1MjEzNCwgLTc3LjAzNDk2MzM2OTM2OTVdXV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAib3JhbmdlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiBmYWxzZSwgImZpbGxDb2xvciI6ICJvcmFuZ2UiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInNtb290aEZhY3RvciI6IDAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogOH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTM2MGYzNzBkOWE1NDM3NWI4YTJiMzNjZGM3YmIyYWIpOwogICAgICAgIAo8L3NjcmlwdD4= onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 235 ], 236 "text/plain": [ 237 "<folium.folium.Map at 0x7f6850306550>" 238 ] 239 }, 240 "execution_count": 4, 241 "metadata": {}, 242 "output_type": "execute_result" 243 } 244 ], 245 "source": [ 246 "lat = +38.89399\n", 247 "lon = -77.03659\n", 248 "zoom_start = 17\n", 249 "\n", 250 "m = folium.Map(location=[lat, lon], zoom_start=zoom_start)\n", 251 "\n", 252 "kw = {\"color\": \"red\", \"fill\": True, \"radius\": 20}\n", 253 "\n", 254 "folium.CircleMarker([38.89415, -77.03738], **kw).add_to(m)\n", 255 "folium.CircleMarker([38.89415, -77.03578], **kw).add_to(m)\n", 256 "\n", 257 "\n", 258 "locations = [\n", 259 " [\n", 260 " (38.893596444352134, -77.03814983367920),\n", 261 " (38.893379333722040, -77.03792452812195),\n", 262 " ],\n", 263 " [\n", 264 " (38.893379333722040, -77.03792452812195),\n", 265 " (38.893162222428310, -77.03761339187622),\n", 266 " ],\n", 267 " [\n", 268 " (38.893162222428310, -77.03761339187622),\n", 269 " (38.893028615148424, -77.03731298446655),\n", 270 " ],\n", 271 " [\n", 272 " (38.893028615148424, -77.03731298446655),\n", 273 " (38.892920059048464, -77.03691601753235),\n", 274 " ],\n", 275 " [\n", 276 " (38.892920059048464, -77.03691601753235),\n", 277 " (38.892903358095296, -77.03637957572937),\n", 278 " ],\n", 279 " [\n", 280 " (38.892903358095296, -77.03637957572937),\n", 281 " (38.893011914220770, -77.03592896461487),\n", 282 " ],\n", 283 " [\n", 284 " (38.893011914220770, -77.03592896461487),\n", 285 " (38.893162222428310, -77.03549981117249),\n", 286 " ],\n", 287 " [\n", 288 " (38.893162222428310, -77.03549981117249),\n", 289 " (38.893404384982480, -77.03514575958252),\n", 290 " ],\n", 291 " [\n", 292 " (38.893404384982480, -77.03514575958252),\n", 293 " (38.893596444352134, -77.03496336936950),\n", 294 " ],\n", 295 "]\n", 296 "\n", 297 "folium.PolyLine(\n", 298 " locations=locations,\n", 299 " color=\"orange\",\n", 300 " weight=8,\n", 301 " opacity=1,\n", 302 " smooth_factor=0,\n", 303 ").add_to(m)\n", 304 "\n", 305 "m" 306 ] 307 }, 308 { 309 "cell_type": "markdown", 310 "metadata": {}, 311 "source": [ 312 "### Rectangle" 313 ] 314 }, 315 { 316 "cell_type": "code", 317 "execution_count": 5, 318 "metadata": {}, 319 "outputs": [ 320 { 321 "data": { 322 "text/html": [ 323 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfYjQyMjIxODlkYjllNDlhOTlmZTBkZTc1MTc4MWU5YzYgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwX2I0MjIyMTg5ZGI5ZTQ5YTk5ZmUwZGU3NTE3ODFlOWM2IiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF9iNDIyMjE4OWRiOWU0OWE5OWZlMGRlNzUxNzgxZTljNiA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF9iNDIyMjE4OWRiOWU0OWE5OWZlMGRlNzUxNzgxZTljNiIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbMzUuNjg1LCAxMzkuNzZdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTUsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl81N2QzN2ExY2U0MTg0ZGY3YTIyZTUwZjFmNTI0MGY0OSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYjQyMjIxODlkYjllNDlhOTlmZTBkZTc1MTc4MWU5YzYpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciByZWN0YW5nbGVfYzY5ZGI5MjNjNGUwNGZhM2FkZDBjNzkzMTY2NDMyZTYgPSBMLnJlY3RhbmdsZSgKICAgICAgICAgICAgICAgIFtbMzUuNjgxLCAxMzkuNzY2XSwgWzM1LjY5MSwgMTM5Ljc3Nl1dLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogIjUsIDUiLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICJyZWQiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogMS4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDV9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2I0MjIyMTg5ZGI5ZTQ5YTk5ZmUwZGU3NTE3ODFlOWM2KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8xY2RiYjFlYTQ0YmE0NTRlODg2MjNhMzFhMGQ1MmQ5MyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZDRiMjRiZmFhY2MwNDRkOGIzMjczNWQ0OTZkZTk2YjYgPSAkKGA8ZGl2IGlkPSJodG1sX2Q0YjI0YmZhYWNjMDQ0ZDhiMzI3MzVkNDk2ZGU5NmI2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMWNkYmIxZWE0NGJhNDU0ZTg4NjIzYTMxYTBkNTJkOTMuc2V0Q29udGVudChodG1sX2Q0YjI0YmZhYWNjMDQ0ZDhiMzI3MzVkNDk2ZGU5NmI2KTsKICAgICAgICAKCiAgICAgICAgcmVjdGFuZ2xlX2M2OWRiOTIzYzRlMDRmYTNhZGQwYzc5MzE2NjQzMmU2LmJpbmRQb3B1cChwb3B1cF8xY2RiYjFlYTQ0YmE0NTRlODg2MjNhMzFhMGQ1MmQ5MykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgcmVjdGFuZ2xlX2M2OWRiOTIzYzRlMDRmYTNhZGQwYzc5MzE2NjQzMmU2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+Q2xpY2sgbWUhPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcmVjdGFuZ2xlX2E2ZWE0Yzk4N2NmZDRmZWFhM2Q5OTllMTM3ODA2MWE0ID0gTC5yZWN0YW5nbGUoCiAgICAgICAgICAgICAgICBbWzM1LjY4MSwgMTM5Ljc1NF0sIFszNS42OTEsIDEzOS43NjRdXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6ICI1LCAxMCIsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogInJlZCIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJtaXR0ZXIiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogMS4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDV9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2I0MjIyMTg5ZGI5ZTQ5YTk5ZmUwZGU3NTE3ODFlOWM2KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8xZjk3YWExMjAzMDE0MGNmOTVmZTcxYzU0NzZmMDM3NyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfODY4ZTZjYzYxMDhhNDIxMmIzMzk0NWEyNDkxYTk5NDAgPSAkKGA8ZGl2IGlkPSJodG1sXzg2OGU2Y2M2MTA4YTQyMTJiMzM5NDVhMjQ5MWE5OTQwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMWY5N2FhMTIwMzAxNDBjZjk1ZmU3MWM1NDc2ZjAzNzcuc2V0Q29udGVudChodG1sXzg2OGU2Y2M2MTA4YTQyMTJiMzM5NDVhMjQ5MWE5OTQwKTsKICAgICAgICAKCiAgICAgICAgcmVjdGFuZ2xlX2E2ZWE0Yzk4N2NmZDRmZWFhM2Q5OTllMTM3ODA2MWE0LmJpbmRQb3B1cChwb3B1cF8xZjk3YWExMjAzMDE0MGNmOTVmZTcxYzU0NzZmMDM3NykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgcmVjdGFuZ2xlX2E2ZWE0Yzk4N2NmZDRmZWFhM2Q5OTllMTM3ODA2MWE0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+Q2xpY2sgbWUhPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcmVjdGFuZ2xlXzE1YTE4ODBlMmI0MzQxM2FiYTg3Y2M1OGZhMThiMWI5ID0gTC5yZWN0YW5nbGUoCiAgICAgICAgICAgICAgICBbWzM1LjY4MSwgMTM5Ljc0Ml0sIFszNS42OTEsIDEzOS43NTIyXV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiAiMTUsIDEwLCA1LCAxMCwgMTUiLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICJyZWQiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAiYmV2ZWwiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogMS4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDV9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2I0MjIyMTg5ZGI5ZTQ5YTk5ZmUwZGU3NTE3ODFlOWM2KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8yNTJlODg1MDU2NzI0Njg1OWI3OGY4ZmQ5YjhlMWE5YiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNmRlYzVlMjQyMmZhNGM3NGJkNmFkM2VlNTliOGNhYjkgPSAkKGA8ZGl2IGlkPSJodG1sXzZkZWM1ZTI0MjJmYTRjNzRiZDZhZDNlZTU5YjhjYWI5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMjUyZTg4NTA1NjcyNDY4NTliNzhmOGZkOWI4ZTFhOWIuc2V0Q29udGVudChodG1sXzZkZWM1ZTI0MjJmYTRjNzRiZDZhZDNlZTU5YjhjYWI5KTsKICAgICAgICAKCiAgICAgICAgcmVjdGFuZ2xlXzE1YTE4ODBlMmI0MzQxM2FiYTg3Y2M1OGZhMThiMWI5LmJpbmRQb3B1cChwb3B1cF8yNTJlODg1MDU2NzI0Njg1OWI3OGY4ZmQ5YjhlMWE5YikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgcmVjdGFuZ2xlXzE1YTE4ODBlMmI0MzQxM2FiYTg3Y2M1OGZhMThiMWI5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+Q2xpY2sgbWUhPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKPC9zY3JpcHQ+ onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 324 ], 325 "text/plain": [ 326 "<folium.folium.Map at 0x7f67f6abb610>" 327 ] 328 }, 329 "execution_count": 5, 330 "metadata": {}, 331 "output_type": "execute_result" 332 } 333 ], 334 "source": [ 335 "m = folium.Map(location=[35.685, 139.76], zoom_start=15)\n", 336 "\n", 337 "kw = {\n", 338 " \"color\": \"blue\",\n", 339 " \"line_cap\": \"round\",\n", 340 " \"fill\": True,\n", 341 " \"fill_color\": \"red\",\n", 342 " \"weight\": 5,\n", 343 " \"popup\": \"Tokyo, Japan\",\n", 344 " \"tooltip\": \"<strong>Click me!</strong>\",\n", 345 "}\n", 346 "\n", 347 "folium.Rectangle(\n", 348 " bounds=[[35.681, 139.766], [35.691, 139.776]],\n", 349 " line_join=\"round\",\n", 350 " dash_array=\"5, 5\",\n", 351 " **kw,\n", 352 ").add_to(m)\n", 353 "\n", 354 "dx = 0.012\n", 355 "folium.Rectangle(\n", 356 " bounds=[[35.681, 139.766 - dx], [35.691, 139.776 - dx]],\n", 357 " line_join=\"mitter\",\n", 358 " dash_array=\"5, 10\",\n", 359 " **kw,\n", 360 ").add_to(m)\n", 361 "\n", 362 "\n", 363 "folium.Rectangle(\n", 364 " bounds=[[35.681, 139.766 - 2 * dx], [35.691, 139.7762 - 2 * dx]],\n", 365 " line_join=\"bevel\",\n", 366 " dash_array=\"15, 10, 5, 10, 15\",\n", 367 " **kw,\n", 368 ").add_to(m)\n", 369 "\n", 370 "m" 371 ] 372 }, 373 { 374 "cell_type": "markdown", 375 "metadata": {}, 376 "source": [ 377 "### Polygon" 378 ] 379 }, 380 { 381 "cell_type": "code", 382 "execution_count": 6, 383 "metadata": {}, 384 "outputs": [ 385 { 386 "data": { 387 "text/html": [ 388 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfY2YzYjQwNzM5YWIxNGJmMWJlODgwNzg4NzBhOWRiYjUgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwX2NmM2I0MDczOWFiMTRiZjFiZTg4MDc4ODcwYTlkYmI1IiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF9jZjNiNDA3MzlhYjE0YmYxYmU4ODA3ODg3MGE5ZGJiNSA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF9jZjNiNDA3MzlhYjE0YmYxYmU4ODA3ODg3MGE5ZGJiNSIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbMzUuNjcsIDEzOS43OF0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxMywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzU0YzI5ZmZjMzQ5NTQ2Zjc4NjkwMTNlNDBhY2Y4ZmM3ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZjNiNDA3MzlhYjE0YmYxYmU4ODA3ODg3MGE5ZGJiNSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlnb25fM2JiMmJkNjkxOWJjNGU3YzhkZTUyM2NlZjY4YjViZmUgPSBMLnBvbHlnb24oCiAgICAgICAgICAgICAgICBbWzM1LjY3NjIsIDEzOS43Nzk1XSwgWzM1LjY3MTgsIDEzOS43ODMxXSwgWzM1LjY3NjcsIDEzOS43ODY4XSwgWzM1LjY3OTUsIDEzOS43ODI0XSwgWzM1LjY3ODcsIDEzOS43NzkxXV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICJyZWQiLCAiZmlsbE9wYWNpdHkiOiAwLjUsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogZmFsc2UsICJvcGFjaXR5IjogMS4wLCAic21vb3RoRmFjdG9yIjogMS4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDZ9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NmM2I0MDczOWFiMTRiZjFiZTg4MDc4ODcwYTlkYmI1KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9mZDBhOWQxZWJlZWY0MmQ3OTg5ODE0Y2NjZTU4YTUwMSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzM2ZmYxNjcyODE0NDI3NWFiOTJjNTY5YWEyZmUzOGMgPSAkKGA8ZGl2IGlkPSJodG1sX2MzNmZmMTY3MjgxNDQyNzVhYjkyYzU2OWFhMmZlMzhjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZmQwYTlkMWViZWVmNDJkNzk4OTgxNGNjY2U1OGE1MDEuc2V0Q29udGVudChodG1sX2MzNmZmMTY3MjgxNDQyNzVhYjkyYzU2OWFhMmZlMzhjKTsKICAgICAgICAKCiAgICAgICAgcG9seWdvbl8zYmIyYmQ2OTE5YmM0ZTdjOGRlNTIzY2VmNjhiNWJmZS5iaW5kUG9wdXAocG9wdXBfZmQwYTlkMWViZWVmNDJkNzk4OTgxNGNjY2U1OGE1MDEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHBvbHlnb25fM2JiMmJkNjkxOWJjNGU3YzhkZTUyM2NlZjY4YjViZmUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgQ2xpY2sgbWUhCiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKPC9zY3JpcHQ+ onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 389 ], 390 "text/plain": [ 391 "<folium.folium.Map at 0x7f67f6b11b20>" 392 ] 393 }, 394 "execution_count": 6, 395 "metadata": {}, 396 "output_type": "execute_result" 397 } 398 ], 399 "source": [ 400 "m = folium.Map(location=[35.67, 139.78], zoom_start=13)\n", 401 "\n", 402 "locations = [\n", 403 " [35.6762, 139.7795],\n", 404 " [35.6718, 139.7831],\n", 405 " [35.6767, 139.7868],\n", 406 " [35.6795, 139.7824],\n", 407 " [35.6787, 139.7791],\n", 408 "]\n", 409 "\n", 410 "folium.Polygon(\n", 411 " locations=locations,\n", 412 " color=\"blue\",\n", 413 " weight=6,\n", 414 " fill_color=\"red\",\n", 415 " fill_opacity=0.5,\n", 416 " fill=True,\n", 417 " popup=\"Tokyo, Japan\",\n", 418 " tooltip=\"Click me!\",\n", 419 ").add_to(m)\n", 420 "\n", 421 "m" 422 ] 423 }, 424 { 425 "cell_type": "code", 426 "execution_count": 7, 427 "metadata": {}, 428 "outputs": [ 429 { 430 "data": { 431 "text/html": [ 432 "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS42LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUubWluLmNzcyIvPgogICAgCiAgICAgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsCiAgICAgICAgICAgICAgICBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9bm8iIC8+CiAgICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICAgICNtYXBfNDY4ODEwMjQzY2Y2NGViMzk5YTBjNDAyOWE1MWI1OGUgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzQ2ODgxMDI0M2NmNjRlYjM5OWEwYzQwMjlhNTFiNThlIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF80Njg4MTAyNDNjZjY0ZWIzOTlhMGM0MDI5YTUxYjU4ZSA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF80Njg4MTAyNDNjZjY0ZWIzOTlhMGM0MDI5YTUxYjU4ZSIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbNy41Nzc3OTgxMTM5OTE4MzIsIDguOTk3MzExMTA0NTIzOTNdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTYsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl82YzYyYzkzNWQxNmY0MGExYjg1OGVhZWRhYjMyNWMwNSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNDY4ODEwMjQzY2Y2NGViMzk5YTBjNDAyOWE1MWI1OGUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb2x5Z29uXzVmZWI1YjIxZDlmYTRmZDliZjg5ZmQzZDRhNmRlMTM0ID0gTC5wb2x5Z29uKAogICAgICAgICAgICAgICAgW1tbNy41Nzc3OTQzMjY5NDY2NzMsIDguOTk4NTAzOTAxNDMzOTM1XSwgWzcuNTc3ODUxNDM0Nzk1OTQ1LCA4Ljk5ODU3MjQzMDY3MzE2NF0sIFs3LjU3Nzk4ODQ5MTQ3NTc2NCwgOC45OTg2NTIzODA0MDMwODddLCBbNy41NzgxMDU1NjA3MjMwODgsIDguOTk4NDI2ODA3MDUxNTQ0XSwgWzcuNTc3ODkxNDA5NjYwODc4LCA4Ljk5ODI4OTc1MDM3MTcyNV0sIFs3LjU3Nzc5NDMyNjk0NjY3MywgOC45OTg1MDM5MDE0MzM5MzVdXSwgW1s3LjU3ODEzOTgyNDg5MzA3MSwgOC45OTkyOTE5NzkxNDE1Nl0sIFs3LjU3ODM1OTY4NzU0OTYwNywgOC45OTk0MTQ3NTkwODM4OV0sIFs3LjU3ODQ1Njc2OTM2NDQzNSwgOC45OTkyNjYyODEwMTQxMTZdLCBbNy41Nzg0NzEwNDYxMDE5MjUsIDguOTk5MTk3MTgxNjA0N10sIFs3LjU3ODI0NzMzMTY0OTA5NSwgOC45OTkwOTQ4ODM3MjE5NjRdLCBbNy41NzgxMzk4MjQ4OTMwNzEsIDguOTk5MjkxOTc5MTQxNTZdXSwgW1s3LjU3Nzg1MTczMDY3Mjg3NiwgOC45OTc4MTEyNjg3NzUwOF0sIFs3LjU3ODAxMjU3OTgxNjc0MywgOC45OTc0NjA0NjQ4Mjg2MzNdLCBbNy41Nzc3OTgxMTM5OTE4MzIsIDguOTk3MzExMTA0NTIzOTNdLCBbNy41Nzc2Njc5MDI5NTE0MTgsIDguOTk3NjYzNDQwOTE1MTE5XSwgWzcuNTc3ODUxNzMwNjcyODc2LCA4Ljk5NzgxMTI2ODc3NTA4XV0sIFtbNy41Nzg1NjI0MTcyMjE4MDMsIDguOTk5NTUxODE2NjYzMDI5XSwgWzcuNTc4Njg4MDUyNTExNjY2LCA4Ljk5OTY1NDYwOTE3MjkyMV0sIFs3LjU3ODgxMzY4ODcwMDg0OSwgOC45OTk0NDMzMTM0NTgxODVdLCBbNy41Nzg2NzA5MjA0MjY3MDMsIDguOTk5MzY5MDczNTIzOTVdLCBbNy41Nzg1NjI0MTcyMjE4MDMsIDguOTk5NTUxODE2NjYzMDI5XV0sIFtbNy41Nzc4NjU3MTE1MzM0MzMsIDguOTk4MjUyMDU5Nzg0NzYxXSwgWzcuNTc3OTg5NjAxMjM5MTUyLCA4Ljk5ODAwMjc1NjAyMjQwMl0sIFs3LjU3NzY0ODc1NDU4NjM5MSwgOC45OTc3ODQ0NjA4ODQxOV0sIFs3LjU3NzU0NTkxMTcxNDQ4MSwgOC45OTgwNjkzMTY2NDU2ODNdLCBbNy41Nzc4NjU3MTE1MzM0MzMsIDguOTk4MjUyMDU5Nzg0NzYxXV1dLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImNyaW1zb24iLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IGZhbHNlLCAiZmlsbENvbG9yIjogImNyaW1zb24iLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAibm9DbGlwIjogdHJ1ZSwgIm9wYWNpdHkiOiAxLjAsICJzbW9vdGhGYWN0b3IiOiAyLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzQ2ODgxMDI0M2NmNjRlYjM5OWEwYzQwMjlhNTFiNThlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBwb2x5Z29uXzVmZWI1YjIxZDlmYTRmZDliZjg5ZmQzZDRhNmRlMTM0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIEhpIHRoZXJlIQogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCjwvc2NyaXB0Pg== onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>" 433 ], 434 "text/plain": [ 435 "<folium.folium.Map at 0x7f67f6b203d0>" 436 ] 437 }, 438 "execution_count": 7, 439 "metadata": {}, 440 "output_type": "execute_result" 441 } 442 ], 443 "source": [ 444 "locations = [\n", 445 " [\n", 446 " [7.577794326946673, 8.998503901433935],\n", 447 " [7.577851434795945, 8.998572430673164],\n", 448 " [7.577988491475764, 8.998652380403087],\n", 449 " [7.578105560723088, 8.998426807051544],\n", 450 " [7.577891409660878, 8.998289750371725],\n", 451 " [7.577794326946673, 8.998503901433935],\n", 452 " ],\n", 453 " [\n", 454 " [7.578139824893071, 8.999291979141560],\n", 455 " [7.578359687549607, 8.999414759083890],\n", 456 " [7.578456769364435, 8.999266281014116],\n", 457 " [7.578471046101925, 8.999197181604700],\n", 458 " [7.578247331649095, 8.999094883721964],\n", 459 " [7.578139824893071, 8.99929197914156],\n", 460 " ],\n", 461 " [\n", 462 " [7.577851730672876, 8.997811268775080],\n", 463 " [7.578012579816743, 8.997460464828633],\n", 464 " [7.577798113991832, 8.997311104523930],\n", 465 " [7.577667902951418, 8.997663440915119],\n", 466 " [7.577851730672876, 8.997811268775080],\n", 467 " ],\n", 468 " [\n", 469 " [7.578562417221803, 8.999551816663029],\n", 470 " [7.578688052511666, 8.999654609172921],\n", 471 " [7.578813688700849, 8.999443313458185],\n", 472 " [7.578670920426703, 8.999369073523950],\n", 473 " [7.578562417221803, 8.999551816663029],\n", 474 " ],\n", 475 " [\n", 476 " [7.577865711533433, 8.998252059784761],\n", 477 " [7.577989601239152, 8.998002756022402],\n", 478 " [7.577648754586391, 8.997784460884190],\n", 479 " [7.577545911714481, 8.998069316645683],\n", 480 " [7.577865711533433, 8.998252059784761],\n", 481 " ],\n", 482 "]\n", 483 "\n", 484 "m = folium.Map(location=[7.577798113991832, 8.997311104523930], zoom_start=16)\n", 485 "\n", 486 "folium.Polygon(\n", 487 " locations=locations,\n", 488 " smooth_factor=2,\n", 489 " color=\"crimson\",\n", 490 " no_clip=True,\n", 491 " tooltip=\"Hi there!\",\n", 492 ").add_to(m)\n", 493 "\n", 494 "m" 495 ] 496 } 497 ], 498 "metadata": { 499 "kernelspec": { 500 "display_name": "Python 3", 501 "language": "python", 502 "name": "python3" 503 }, 504 "language_info": { 505 "codemirror_mode": { 506 "name": "ipython", 507 "version": 3 508 }, 509 "file_extension": ".py", 510 "mimetype": "text/x-python", 511 "name": "python", 512 "nbconvert_exporter": "python", 513 "pygments_lexer": "ipython3", 514 "version": "3.9.0" 515 } 516 }, 517 "nbformat": 4, 518 "nbformat_minor": 1 519} 520