Created
January 13, 2016 21:33
-
-
Save lukecampbell/cf7b9313f9b29d9b35f9 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": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import json\n", | |
"import requests\n", | |
"import numpy as np\n", | |
"\n", | |
"geometry_url = 'http://data.ioos.us/gliders/status/api/track/drudnick/sp065-20151001T1507'\n", | |
"\n", | |
"response = requests.get(geometry_url)\n", | |
"geometry = response.json()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"from IPython.display import HTML\n", | |
"import folium\n", | |
"from netCDF4 import Dataset\n", | |
"def inline_map(map):\n", | |
" \"\"\"\n", | |
" Embeds the HTML source of the map directly into the IPython notebook.\n", | |
" \n", | |
" This method will not work if the map depends on any files (json data). Also this uses\n", | |
" the HTML5 srcdoc attribute, which may not be supported in all browsers.\n", | |
" \"\"\"\n", | |
" map._build_map()\n", | |
" return HTML('<iframe srcdoc=\"{srcdoc}\" style=\"width: 100%; height: 510px; border: none\"></iframe>'.format(srcdoc=map.HTML.replace('\"', '"')))\n", | |
"\n", | |
"def embed_map(map, path=\"map.html\"):\n", | |
" \"\"\"\n", | |
" Embeds a linked iframe to the map into the IPython notebook.\n", | |
" \n", | |
" Note: this method will not capture the source of the map into the notebook.\n", | |
" This method should work for all maps (as long as they use relative urls).\n", | |
" \"\"\"\n", | |
" map.create_map(path=path)\n", | |
" return HTML('<iframe src=\"files/{path}\" style=\"width: 100%; height: 510px; border: none\"></iframe>'.format(path=path))\n", | |
"def get_coordinates(bounding_box):\n", | |
" \"\"\"Create bounding box coordinates for the map.\"\"\"\n", | |
" coordinates = []\n", | |
" coordinates.append([bounding_box[1], bounding_box[0]])\n", | |
" coordinates.append([bounding_box[1], bounding_box[2]])\n", | |
" coordinates.append([bounding_box[3], bounding_box[2]])\n", | |
" coordinates.append([bounding_box[3], bounding_box[0]])\n", | |
" coordinates.append([bounding_box[1], bounding_box[0]])\n", | |
" return coordinates" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 43, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"coords = np.array(geometry['coordinates'])\n", | |
"lon = coords[:,0]\n", | |
"lat = coords[:,1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 45, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe srcdoc=\"<!DOCTYPE html>\n", | |
"<head>\n", | |
" <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.css" />\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js"></script>\n", | |
"\n", | |
" <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>\n", | |
"\n", | |
" <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">\n", | |
" <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">\n", | |
" <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>\n", | |
"\n", | |
" <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">\n", | |
"\n", | |
" <link rel="stylesheet" href="//rawgit.com/lvoogdt/Leaflet.awesome-markers/2.0/develop/dist/leaflet.awesome-markers.css">\n", | |
" <script src="//rawgithub.com/lvoogdt/Leaflet.awesome-markers/2.0/develop/dist/leaflet.awesome-markers.js"></script>\n", | |
"\n", | |
"\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/MarkerCluster.Default.css">\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/MarkerCluster.css">\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/leaflet.markercluster-src.js"></script>\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/leaflet.markercluster.js"></script>\n", | |
"\n", | |
" <link rel="stylesheet" href="//birdage.github.io/Leaflet.awesome-markers/dist/leaflet.awesome.rotate.css">\n", | |
"\n", | |
" \n", | |
" \n", | |
" \n", | |
" \n", | |
"\n", | |
" <style>\n", | |
"\n", | |
" html, body {\n", | |
" width: 100%;\n", | |
" height: 100%;\n", | |
" margin: 0;\n", | |
" padding: 0;\n", | |
" }\n", | |
"\n", | |
" #map {\n", | |
" position:absolute;\n", | |
" top:0;\n", | |
" bottom:0;\n", | |
" right:0;\n", | |
" left:0;\n", | |
" }\n", | |
"\n", | |
" </style>\n", | |
"</head>\n", | |
"\n", | |
"<body>\n", | |
"\n", | |
" <div class="folium-map" id="folium_f394f24f539e4177bcccab7794ae882e" style="width: 960px; height: 500px"></div>\n", | |
"\n", | |
" <script>\n", | |
"\n", | |
" \n", | |
"\n", | |
" var base_tile = L.tileLayer('http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}.jpg', {\n", | |
" maxZoom: 18,\n", | |
" minZoom: 1,\n", | |
" attribution: 'Sources: Esri, GEBCO, NOAA, National Geographic, DeLorme, HERE, Geonames.org, and other contributors'\n", | |
" });\n", | |
"\n", | |
" var baseLayer = {\n", | |
" "Base Layer": base_tile\n", | |
" };\n", | |
"\n", | |
" /*\n", | |
" addition of the wms layers\n", | |
" */\n", | |
"\n", | |
" \n", | |
"\n", | |
" /*\n", | |
" addition of the tile layers\n", | |
" */\n", | |
" \n", | |
"\n", | |
" /*\n", | |
" list of layers to be added\n", | |
" */\n", | |
" var layer_list = {\n", | |
" \n", | |
" };\n", | |
"\n", | |
" /*\n", | |
" Bounding box.\n", | |
" */\n", | |
" var southWest = L.latLng(-90, -180),\n", | |
" northEast = L.latLng(90, 180),\n", | |
" bounds = L.latLngBounds(southWest, northEast);\n", | |
"\n", | |
" /*\n", | |
" Creates the map and adds the selected layers\n", | |
" */\n", | |
" var map = L.map('folium_f394f24f539e4177bcccab7794ae882e', {\n", | |
" center:[37.0600209838, -72.8658548611],\n", | |
" zoom: 5,\n", | |
" maxBounds: bounds,\n", | |
" layers: [base_tile]\n", | |
" });\n", | |
"\n", | |
" L.control.layers(baseLayer, layer_list).addTo(map);\n", | |
"\n", | |
" //cluster group\n", | |
" var clusteredmarkers = L.markerClusterGroup();\n", | |
" //section for adding clustered markers\n", | |
" \n", | |
" //add the clustered markers to the group anyway\n", | |
" map.addLayer(clusteredmarkers);\n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
" var latLngs = [ [25.77215, -79.99772], [25.7838, -79.98765], [25.79838, -79.97557], [25.81643, -79.9589], [25.84132, -79.93788], [25.86715, -79.91767], [25.89733, -79.8983], [25.9299, -79.87835], [25.96928, -79.8558], [26.0171, -79.82795], [26.08268, -79.79217], [26.1615, -79.75405], [26.24253, -79.71937], [26.3261, -79.68775], [26.41798, -79.6556], [26.5155, -79.67582], [26.61153, -79.70732], [26.70188, -79.73215], [26.7785, -79.7536], [26.84678, -79.77355], [26.90118, -79.79297], [26.94475, -79.81075], [26.99157, -79.8159], [27.03988, -79.81605], [27.08835, -79.81437], [27.12283, -79.82417], [27.14928, -79.83828], [27.17428, -79.85152], [27.19978, -79.83987], [27.23015, -79.8191], [27.26745, -79.7978], [27.31223, -79.77632], [27.36195, -79.75567], [27.41665, -79.73217], [27.47915, -79.70628], [27.55078, -79.67705], [27.6376, -79.6433], [27.74285, -79.60262], [27.85795, -79.55497], [27.97865, -79.50425], [28.09543, -79.45302], [28.19818, -79.40217], [28.28898, -79.3512], [28.37648, -79.29865], [28.45923, -79.2393], [28.53158, -79.1771], [28.58447, -79.11155], [28.6103, -79.0451], [28.61268, -78.98857], [28.60052, -78.9485], [28.61193, -78.91577], [28.61598, -78.8879], [28.62255, -78.94155], [28.64413, -79.02532], [28.6876, -79.11322], [28.75418, -79.19592], [28.83868, -79.266], [28.94283, -79.32695], [29.05108, -79.38152], [29.16958, -79.4372], [29.2853, -79.51087], [29.38108, -79.59155], [29.4614, -79.66897], [29.5247, -79.75085], [29.56535, -79.8243], [29.57245, -79.89035], [29.55398, -79.93652], [29.52353, -79.95255], [29.50523, -79.97683], [29.48888, -80.0034], [29.4753, -79.9861], [29.46428, -79.95272], [29.4594, -79.91015], [29.4714, -79.84797], [29.51515, -79.78312], [29.58678, -79.7157], [29.67203, -79.64277], [29.77018, -79.58017], [29.87785, -79.52642], [29.98923, -79.47502], [30.09515, -79.4251], [30.19758, -79.3677], [30.28905, -79.30095], [30.3642, -79.23137], [30.4164, -79.16155], [30.44348, -79.09467], [30.4466, -79.0456], [30.4501, -79.00455], [30.43605, -78.981], [30.41885, -78.97035], [30.40508, -78.95865], [30.39758, -78.94695], [30.39485, -78.93665], [30.42375, -78.98137], [30.46725, -79.04702], [30.5211, -79.11177], [30.58873, -79.17055], [30.67125, -79.22977], [30.7525, -79.28545], [30.84105, -79.33167], [30.9343, -79.37708], [31.03148, -79.41635], [31.12163, -79.4415], [31.2107, -79.45512], [31.30042, -79.45817], [31.38333, -79.44982], [31.46368, -79.42902], [31.54195, -79.39902], [31.6166, -79.36947], [31.67705, -79.34442], [31.72235, -79.3241], [31.76028, -79.30173], [31.79558, -79.27702], [31.82578, -79.25652], [31.85343, -79.24022], [31.87918, -79.22965], [31.90085, -79.22545], [31.91755, -79.22435], [31.9248, -79.20805], [31.93078, -79.17965], [31.9348, -79.14152], [31.93933, -79.08715], [31.95023, -79.02082], [31.9638, -78.9533], [31.97205, -78.8824], [31.97175, -78.8114], [31.96278, -78.73742], [31.94738, -78.6644], [31.92448, -78.5889], [31.89158, -78.5132], [31.85533, -78.4178], [31.81578, -78.29895], [31.78245, -78.17967], [31.76308, -78.07935], [31.73557, -77.96692], [31.7004, -77.85307], [31.6648, -77.7539], [31.63003, -77.6628], [31.5951, -77.57487], [31.5612, -77.49812], [31.52033, -77.43945], [31.47218, -77.39302], [31.41885, -77.37047], [31.36728, -77.35878], [31.32375, -77.3604], [31.30468, -77.39395], [31.29378, -77.43367], [31.28973, -77.47292], [31.28748, -77.50428], [31.28795, -77.53497], [31.31423, -77.56683], [31.34888, -77.5939], [31.40383, -77.61563], [31.4719, -77.62185], [31.541, -77.62197], [31.6073, -77.62085], [31.66893, -77.60822], [31.73315, -77.5862], [31.8012, -77.5624], [31.87098, -77.53735], [31.94543, -77.51172], [32.01948, -77.48973], [32.10123, -77.46607], [32.18553, -77.4434], [32.27197, -77.42285], [32.35908, -77.39725], [32.44295, -77.37105], [32.52955, -77.3435], [32.61477, -77.31192], [32.6924, -77.27302], [32.76378, -77.23453], [32.83078, -77.2034], [32.8919, -77.17973], [32.94668, -77.15702], [32.99723, -77.12775], [33.04563, -77.09515], [33.0902, -77.0683], [33.12873, -77.0482], [33.16495, -77.03258], [33.19893, -77.01787], [33.2314, -77.00032], [33.26292, -76.9801], [33.29303, -76.96103], [33.3197, -76.94692], [33.34318, -76.93803], [33.3642, -76.93385], [33.38403, -76.9316], [33.40233, -76.93015], [33.4196, -76.9271], [33.4356, -76.92472], [33.44878, -76.9246], [33.45993, -76.9262], [33.46945, -76.92837], [33.47283, -76.91948], [33.47558, -76.90592], [33.47912, -76.89253], [33.48435, -76.8764], [33.49115, -76.85798], [33.49848, -76.83505], [33.50693, -76.80685], [33.51648, -76.77207], [33.52588, -76.7321], [33.53548, -76.69043], [33.54745, -76.6441], [33.56125, -76.59447], [33.57985, -76.53495], [33.59923, -76.46895], [33.6199, -76.39388], [33.6425, -76.3107], [33.6661, -76.22402], [33.69203, -76.12793], [33.71643, -76.02277], [33.7233, -75.90535], [33.72035, -75.78463], [33.72695, -75.65992], [33.74415, -75.5322], [33.78248, -75.39428], [33.8373, -75.24732], [33.89113, -75.09897], [33.92768, -74.9612], [33.94, -74.84158], [33.92443, -74.74677], [33.88153, -74.68172], [33.82768, -74.65533], [33.7836, -74.6604], [33.75482, -74.67337], [33.74535, -74.7398], [33.80613, -74.82515], [33.89782, -74.89808], [34.00603, -74.95772], [34.13235, -74.99542], [34.2513, -75.01457], [34.38002, -75.01413], [34.51373, -75.00815], [34.64553, -74.99507], [34.7782, -74.96345], [34.91693, -74.9084], [35.06328, -74.84485], [35.20575, -74.77975], [35.3376, -74.71367], [35.44885, -74.6724], [35.53155, -74.66077], [35.59053, -74.6756], [35.64928, -74.66765], [35.69905, -74.6476], [35.7417, -74.63323], [35.77693, -74.61405], [35.80317, -74.58885], [35.8278, -74.5704], [35.8452, -74.5549], [35.86385, -74.53903], [35.88295, -74.52625], [35.90608, -74.51843], [35.93163, -74.51395], [35.9552, -74.51535], [35.98028, -74.51935], [36.0066, -74.52505], [36.03678, -74.5248], [36.07003, -74.51853], [36.10483, -74.51357], [36.14273, -74.50577], [36.17705, -74.49592], [36.2131, -74.49677], [36.25055, -74.50227], [36.21245, -74.5262], [36.14795, -74.54427], [36.08223, -74.55], [36.01948, -74.54997], [35.95645, -74.5579], [35.8957, -74.56672], [35.83718, -74.57155], [35.7768, -74.57888], [35.72105, -74.5861], [35.68025, -74.5847], [35.65757, -74.56678], [35.65585, -74.49855], [35.67155, -74.39822], [35.6994, -74.28237], [35.74125, -74.1432], [35.79383, -73.98797], [35.85645, -73.81827], [35.92228, -73.6443], [35.99108, -73.46392], [36.05515, -73.28287], [36.1071, -73.1215], [36.15178, -72.97485], [36.187, -72.84377], [36.21465, -72.73097], [36.23772, -72.6339], [36.2552, -72.5475], [36.2653, -72.4695], [36.273, -72.40142], [36.29003, -72.33345], [36.31735, -72.25932], [36.3516, -72.17985], [36.38853, -72.09592], [36.4283, -72.00947], [36.46698, -71.9277], [36.5079, -71.84995], [36.55313, -71.76745], [36.59135, -71.68115], [36.6324, -71.5967], [36.6681, -71.51747], [36.7016, -71.43292], [36.72123, -71.3511], [36.7294, -71.26755], [36.72253, -71.18737], [36.70795, -71.11335], [36.69108, -71.03755], [36.66727, -70.96385], [36.6398, -70.89055], [36.60295, -70.8348], [36.56483, -70.7872], [36.52553, -70.75295], [36.4887, -70.75065], [36.4562, -70.76172], [36.43633, -70.80717], [36.42467, -70.86757], [36.41523, -70.93172], [36.40547, -70.99857], [36.4004, -71.07092], [36.40003, -71.14062], [36.39688, -71.20747], [36.38743, -71.27875], [36.37873, -71.35702], [36.36553, -71.43227], [36.3506, -71.50837], [36.33238, -71.59175], [36.31513, -71.67845], [36.29703, -71.76663], [36.2769, -71.8523], [36.2512, -71.94285], [36.22485, -72.02965], [36.19277, -72.11322], [36.18218, -72.20832], [36.1947, -72.29635], [36.2117, -72.37442], [36.24542, -72.43465], [36.29685, -72.47652], [36.3703, -72.5002], [36.46558, -72.503], [36.58505, -72.48662], [36.72012, -72.45812], [36.86233, -72.41855], [37.01193, -72.3689], [37.16452, -72.3042], [37.31278, -72.23503], [37.4461, -72.169], [37.56005, -72.1228], [37.6517, -72.09622], [37.72527, -72.08895], [37.78383, -72.10833], [37.83423, -72.13947], [37.87505, -72.1822], [37.91485, -72.23277], [37.9467, -72.28797], [37.9722, -72.35002], [37.99627, -72.41292], [38.01438, -72.4725], [37.98893, -72.44447], [37.95167, -72.38685], [37.92307, -72.34427], [37.9011, -72.28792], [37.8809, -72.21605], [37.86278, -72.14572], [37.8519, -72.0737], [37.83728, -71.99202], [37.80273, -71.93543], [37.77205, -71.86635], [37.74718, -71.7788], [37.73478, -71.66877], [37.74282, -71.52012], [37.75802, -71.3373], [37.7733, -71.13587], [37.78898, -70.91717], [37.80057, -70.67937], [37.80795, -70.43492], [37.8072, -70.1974], [37.79265, -69.96005], [37.83173, -69.76005], [37.8844, -69.57785], [37.92367, -69.39455], [37.94743, -69.21627], [37.96133, -69.0439], [37.95785, -68.87623], [37.94323, -68.72227], [37.91693, -68.57605], [37.87395, -68.4374], [37.8144, -68.3035], [37.74905, -68.17175], [37.67248, -68.03657], [37.58895, -67.89863], [37.50633, -67.733], [37.44018, -67.54665], [37.41693, -67.3376], [37.45608, -67.12867], [37.54683, -66.9552], [37.65985, -66.84463], [37.77758, -66.77827], [37.88723, -66.74325], [38.00275, -66.7379], [38.10265, -66.7493], [38.18327, -66.7876], [38.2541, -66.8455], [38.31682, -66.9116], [38.37133, -66.98592], [38.41405, -67.06385], [38.46125, -67.13172], [38.49428, -67.1987], [38.5363, -67.25582], [38.58408, -67.28957], [38.63853, -67.31667], [38.68493, -67.34927], [38.74263, -67.38037], [38.79553, -67.40515], [38.84873, -67.4296], [38.89755, -67.4505], [38.9479, -67.46797], [38.99007, -67.4848], [39.03565, -67.50367], [39.07788, -67.52145], [39.1227, -67.54157], [39.1693, -67.5724], [39.21838, -67.60705], [39.24103, -67.67845], [39.26755, -67.74837], [39.29048, -67.8212], [39.3156, -67.88947], [39.3379, -67.95373], [39.36203, -68.0191], [39.38373, -68.08365], [39.4101, -68.14423], [39.43838, -68.20295], [39.46457, -68.26243], [39.48665, -68.32347], [39.51348, -68.38217], [39.53692, -68.43927], [39.56027, -68.49398], [39.5774, -68.54805], [39.5982, -68.5945], [39.61535, -68.63778], [39.63738, -68.68025], [39.65658, -68.728], [39.67705, -68.77797], [39.6946, -68.8184], [39.71095, -68.8616], [39.7405, -68.8767], [39.77213, -68.88427], [39.80978, -68.9011], [39.85415, -68.91532], [39.89918, -68.92395], [39.9511, -68.93355], [39.95278, -68.9918], [39.9292, -69.0563], [39.91073, -69.12382], [39.89988, -69.18765], [39.8806, -69.25733], [39.85773, -69.33975], [39.82153, -69.4207], [39.79323, -69.49727], [39.7892, -69.5687], [39.79563, -69.63832], [39.79703, -69.70722], [39.79493, -69.78582], [39.79417, -69.86497], [39.7917, -69.94885], [39.79045, -70.03033], [39.78848, -70.11457], [39.78093, -70.19557], [39.77295, -70.28082], [39.76555, -70.37735], [39.7589, -70.47792], [39.75278, -70.5823], [39.75083, -70.69223], [39.78073, -70.725], [39.8132, -70.71892], [39.84902, -70.71485], [39.881, -70.7063], [39.90793, -70.69752], [39.92878, -70.69447], [39.94478, -70.69655], [39.95953, -70.69785], [39.97388, -70.6978], [39.98815, -70.69982], [40.0002, -70.7027], [40.00883, -70.70405], [40.01533, -70.70505], [40.02012, -70.70304], [40.02428, -70.7002], [40.03051, -70.69843], [40.03631, -70.69742], [40.04152, -70.69652], [40.04451, -70.6966], [40.04759, -70.69646], [40.05049, -70.69633], [40.0513, -70.69887], [40.05302, -70.70182], [40.05439, -70.70418], [40.0539, -70.70752], [40.05335, -70.70921], [40.05283, -70.71081], [40.05401, -70.71169], [40.05561, -70.71128], [40.05713, -70.71089], [40.06313, -70.71331], [40.0705, -70.71539], [40.07787, -70.71748], [40.08676, -70.72067], [40.09541, -70.72313], [40.10352, -70.72544], [40.11152, -70.72768], [40.11853, -70.72883], [40.12517, -70.72993], [40.13111, -70.72941], [40.13633, -70.72863], [40.14128, -70.72788], [40.14539, -70.72761], [40.14962, -70.72712], [40.15392, -70.72662], [40.15823, -70.72612], [40.1626, -70.72721], [40.16754, -70.72748], [40.17232, -70.72774], [40.17659, -70.72805], [40.18099, -70.72718], [40.18532, -70.72632], [40.18948, -70.7255], [40.1927, -70.72639], [40.19599, -70.72665], [40.19927, -70.7269], [40.20242, -70.72714], [40.20548, -70.72988], [40.20882, -70.73248], [40.21218, -70.7351], [40.21548, -70.73766], [40.21969, -70.7413], [40.22423, -70.74402], [40.22885, -70.74679], [40.23315, -70.74937], [40.23623, -70.75089], [40.23987, -70.75114], [40.24351, -70.75139], [40.24711, -70.75164], [40.24955, -70.75162], [40.25254, -70.7511], [40.25545, -70.75061], [40.25829, -70.75012], [40.26012, -70.75127], [40.26254, -70.75224], [40.26505, -70.75324], [40.26757, -70.75425], [40.27004, -70.75747], [40.27361, -70.76024], [40.27716, -70.76299], [40.28048, -70.76557], [40.28463, -70.76924], [40.28913, -70.77199], [40.29377, -70.77482], [40.29821, -70.77753], [40.30294, -70.78042], [40.30731, -70.78247], [40.31149, -70.78444], [40.31536, -70.78626], [40.31841, -70.78803], [40.32149, -70.78924], [40.32484, -70.79056], [40.3278, -70.79172], [40.32955, -70.79257], [40.33126, -70.79362], [40.33296, -70.79467], [40.33445, -70.79558], [40.33596, -70.79723], [40.3385, -70.799], [40.34098, -70.80073], [40.34325, -70.80232], [40.3457, -70.80363], [40.34941, -70.8043], [40.35319, -70.80498], [40.3568, -70.80564], [40.36021, -70.80563], [40.36441, -70.80467], [40.36839, -70.80376], [40.37209, -70.80291], [40.37534, -70.80149], [40.37874, -70.79921], [40.38202, -70.79699], [40.38495, -70.79502], [40.38794, -70.79301], [40.3899, -70.7923], [40.3922, -70.79108], [40.39439, -70.78991], [40.39647, -70.7888], [40.39872, -70.78761], [40.40055, -70.78756], [40.40253, -70.78725], [40.40478, -70.7869], [40.40691, -70.78657], [40.40883, -70.78627], [40.41079, -70.7857], [40.41287, -70.78425], [40.41498, -70.78279], [40.41693, -70.78144], [40.41883, -70.78013], [40.42087, -70.77871], [40.42311, -70.77686], [40.42521, -70.77512], [40.42748, -70.77325], [40.42967, -70.77144], [40.43167, -70.77054], [40.4338, -70.76987], [40.43593, -70.7692], [40.4381, -70.76852], [40.44019, -70.76786], [40.44206, -70.76799], [40.44418, -70.76824], [40.44614, -70.76848], [40.448, -70.7687], [40.44999, -70.76894], [40.45238, -70.76909], [40.45496, -70.76895], [40.45753, -70.7688], [40.45989, -70.76867], [40.46221, -70.76853], [40.46549, -70.7676], [40.4692, -70.76609], [40.47255, -70.76473], [40.47604, -70.76331], [40.47924, -70.76201], [40.4829, -70.75862], [40.48643, -70.75471], [40.48993, -70.75085], [40.49317, -70.74726], [40.49639, -70.7437], [40.49937, -70.74054], [40.50237, -70.73824], [40.50519, -70.73607], [40.5082, -70.73376], [40.51109, -70.73154], [40.51318, -70.73031], [40.51519, -70.73004], [40.51701, -70.72979], [40.51889, -70.72953], [40.52082, -70.72927], [40.52959, -70.72851], [40.53236, -70.72738], [40.53555, -70.72653], [40.53814, -70.72585], [40.54059, -70.7252], [40.5433, -70.72448], [40.54645, -70.72196], [40.54931, -70.71965], [40.5526, -70.71699], [40.55597, -70.71426], [40.5592, -70.71164], [40.56112, -70.70837], [40.56306, -70.70589], [40.56484, -70.70363], [40.5671, -70.70075], [40.56928, -70.69797], [40.57041, -70.69579], [40.57181, -70.69464], [40.57315, -70.69354], [40.57469, -70.69228], [40.57577, -70.69139], [40.57669, -70.69156], [40.57808, -70.69263], [40.57943, -70.69367], [40.58075, -70.69468], [40.58192, -70.69558], [40.58353, -70.69508], [40.58583, -70.69452], [40.58826, -70.69393], [40.59056, -70.69337], [40.59276, -70.69283], [40.59535, -70.69128], [40.59825, -70.68984], [40.6011, -70.68842], [40.60414, -70.68691], [40.60732, -70.68533], [40.61028, -70.68386], [40.61377, -70.6808], [40.61719, -70.67786], [40.6202, -70.67528], [40.62292, -70.67294], [40.6254, -70.67082], [40.62643, -70.66954], [40.62736, -70.66921], [40.62832, -70.66887], [40.62926, -70.66853], [40.63019, -70.6682], [40.63108, -70.66788], [40.63073, -70.66923], [40.63062, -70.67157], [40.63052, -70.67364], [40.63041, -70.67584], [40.63032, -70.67782], [40.63022, -70.67972], [40.63061, -70.68207], [40.63181, -70.68387], [40.63314, -70.68587], [40.63431, -70.68762], [40.63538, -70.68922], [40.63644, -70.6908], [40.64604, -70.69486], [40.64698, -70.69561], [40.64869, -70.69534], [40.65024, -70.69509], [40.6518, -70.69484], [40.65367, -70.69454], [40.65539, -70.69427], [40.65567, -70.69471], [40.6563, -70.69473], [40.65694, -70.69475], [40.65757, -70.69476], [40.6582, -70.69478], [40.65884, -70.6948], [40.6583, -70.69698], [40.65845, -70.69906], [40.65859, -70.70115], [40.65872, -70.70301], [40.65885, -70.7048], [40.65897, -70.70656], [40.65884, -70.71001], [40.65982, -70.71235], [40.66097, -70.71508], [40.6622, -70.71801], [40.66331, -70.72067], [40.66427, -70.72295], [40.6655, -70.72622], [40.66793, -70.72869], [40.67059, -70.73138], [40.6729, -70.73373], [40.67524, -70.7361], [40.67731, -70.7382], [40.67906, -70.74111], [40.6815, -70.74238], [40.68393, -70.74364], [40.68582, -70.74461], [40.68805, -70.74577], [40.69041, -70.747], [40.69159, -70.74917], [40.6928, -70.75024], [40.69415, -70.75144], [40.69551, -70.75264], [40.69688, -70.75386], [40.69818, -70.75502], [40.69864, -70.762], [40.70004, -70.76814], [40.70153, -70.77469], [40.70297, -70.78102], [40.70455, -70.78793], [40.70589, -70.79383], [40.70716, -70.80131], [40.70912, -70.80779], [40.7113, -70.81497], [40.71362, -70.82267], [40.71588, -70.83014], [40.71798, -70.83709], [40.72095, -70.84525], [40.72414, -70.85133], [40.72729, -70.85732], [40.73024, -70.86293], [40.7333, -70.86877], [40.73642, -70.87471], [40.73937, -70.87943], [40.74248, -70.88221], [40.74522, -70.88466], [40.74795, -70.8871], [40.75056, -70.88943], [40.75276, -70.89155], [40.75516, -70.89286], [40.75722, -70.89399], [40.75948, -70.89522], [40.76201, -70.8966], [40.76381, -70.89759], [40.7649, -70.89918], [40.76673, -70.90118], [40.7686, -70.90322], [40.77055, -70.90535], [40.77258, -70.90756], [40.77452, -70.90968], [40.77639, -70.91213], [40.77875, -70.91413], [40.78135, -70.91631], [40.78395, -70.9185], [40.78646, -70.92061], [40.78875, -70.92253], [40.79199, -70.9238], [40.79542, -70.9242], [40.79891, -70.92462], [40.80274, -70.92508], [40.80624, -70.92549], [40.80965, -70.9259], [40.81329, -70.92503], [40.81659, -70.92354], [40.82004, -70.92198], [40.82255, -70.92084], [40.82554, -70.91949], [40.82871, -70.91806], [40.83089, -70.91573], [40.83281, -70.91321], [40.83456, -70.91091], [40.8364, -70.90848], [40.83823, -70.90608], [40.8403, -70.90335], [40.84224, -70.90081], [40.84711, -70.89346], [40.84774, -70.89457], [40.84912, -70.89625], [40.85034, -70.89773], [40.85164, -70.89932], [40.85296, -70.90092], [40.85419, -70.90243], [40.85606, -70.90404], [40.85854, -70.90551], [40.86126, -70.90712], [40.86377, -70.90861], [40.86638, -70.91015], [40.86889, -70.91164], [40.87188, -70.9124], [40.8746, -70.91265], [40.87767, -70.91292], [40.88076, -70.91321], [40.88361, -70.91346], [40.88655, -70.91373], [40.88895, -70.91251], [40.89119, -70.91116], [40.8935, -70.90978], [40.8954, -70.90864], [40.89756, -70.90734], [40.89976, -70.90602], [40.90154, -70.90431], [40.90328, -70.9034], [40.90483, -70.90259], [40.90637, -70.90179], [40.90806, -70.90091], [40.90977, -70.90002], [40.91153, -70.89929], [40.91352, -70.89903], [40.91544, -70.89877], [40.91725, -70.89853], [40.91905, -70.89829], [40.92078, -70.89806], [40.92321, -70.89751], [40.92581, -70.89718], [40.92846, -70.89684], [40.9308, -70.89654], [40.93329, -70.89621], [40.93586, -70.89588], [40.93884, -70.89437], [40.94201, -70.89269], [40.94547, -70.89086], [40.94888, -70.88906], [40.95215, -70.88733], [40.95524, -70.8857], [40.95845, -70.88205], [40.96161, -70.87816], [40.96483, -70.87418], [40.96798, -70.8703], [40.9701, -70.86769], [40.97276, -70.86441], [40.97486, -70.85897], [40.97634, -70.85474], [40.97715, -70.84925], ];\n", | |
"var line_1 = L.polyline(latLngs,{\n", | |
"\n", | |
"\n", | |
"\n", | |
"});\n", | |
" map.addLayer(line_1);\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" </script>\n", | |
"\n", | |
"</body>\" style=\"width: 100%; height: 510px; border: none\"></iframe>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"execution_count": 45, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"\n", | |
"tileset = r'http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}.jpg'\n", | |
"map = folium.Map(location=[np.mean(lat), np.mean(lon)], tiles=tileset, attr='Sources: Esri, GEBCO, NOAA, National Geographic, DeLorme, HERE, Geonames.org, and other contributors', zoom_start=5)\n", | |
"map.line(locations=np.column_stack((lat,lon)))\n", | |
"inline_map(map)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 46, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"864" | |
] | |
}, | |
"execution_count": 46, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"len(coords)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from shapely.geometry import LineString\n", | |
"\n", | |
"trajectory = LineString(coords)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"s = trajectory.simplify(0.05, preserve_topology=False)\n", | |
"s = np.array(s.coords)\n", | |
"lon = s[:,0]\n", | |
"lat = s[:,1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 52, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe srcdoc=\"<!DOCTYPE html>\n", | |
"<head>\n", | |
" <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.css" />\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js"></script>\n", | |
"\n", | |
" <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>\n", | |
"\n", | |
" <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">\n", | |
" <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">\n", | |
" <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>\n", | |
"\n", | |
" <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">\n", | |
"\n", | |
" <link rel="stylesheet" href="//rawgit.com/lvoogdt/Leaflet.awesome-markers/2.0/develop/dist/leaflet.awesome-markers.css">\n", | |
" <script src="//rawgithub.com/lvoogdt/Leaflet.awesome-markers/2.0/develop/dist/leaflet.awesome-markers.js"></script>\n", | |
"\n", | |
"\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/MarkerCluster.Default.css">\n", | |
" <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/MarkerCluster.css">\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/leaflet.markercluster-src.js"></script>\n", | |
" <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/leaflet.markercluster.js"></script>\n", | |
"\n", | |
" <link rel="stylesheet" href="//birdage.github.io/Leaflet.awesome-markers/dist/leaflet.awesome.rotate.css">\n", | |
"\n", | |
" \n", | |
" \n", | |
" \n", | |
" \n", | |
"\n", | |
" <style>\n", | |
"\n", | |
" html, body {\n", | |
" width: 100%;\n", | |
" height: 100%;\n", | |
" margin: 0;\n", | |
" padding: 0;\n", | |
" }\n", | |
"\n", | |
" #map {\n", | |
" position:absolute;\n", | |
" top:0;\n", | |
" bottom:0;\n", | |
" right:0;\n", | |
" left:0;\n", | |
" }\n", | |
"\n", | |
" </style>\n", | |
"</head>\n", | |
"\n", | |
"<body>\n", | |
"\n", | |
" <div class="folium-map" id="folium_be42f703dc1b4549b880db59bda450d8" style="width: 960px; height: 500px"></div>\n", | |
"\n", | |
" <script>\n", | |
"\n", | |
" \n", | |
"\n", | |
" var base_tile = L.tileLayer('http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}.jpg', {\n", | |
" maxZoom: 18,\n", | |
" minZoom: 1,\n", | |
" attribution: 'Sources: Esri, GEBCO, NOAA, National Geographic, DeLorme, HERE, Geonames.org, and other contributors'\n", | |
" });\n", | |
"\n", | |
" var baseLayer = {\n", | |
" "Base Layer": base_tile\n", | |
" };\n", | |
"\n", | |
" /*\n", | |
" addition of the wms layers\n", | |
" */\n", | |
"\n", | |
" \n", | |
"\n", | |
" /*\n", | |
" addition of the tile layers\n", | |
" */\n", | |
" \n", | |
"\n", | |
" /*\n", | |
" list of layers to be added\n", | |
" */\n", | |
" var layer_list = {\n", | |
" \n", | |
" };\n", | |
"\n", | |
" /*\n", | |
" Bounding box.\n", | |
" */\n", | |
" var southWest = L.latLng(-90, -180),\n", | |
" northEast = L.latLng(90, 180),\n", | |
" bounds = L.latLngBounds(southWest, northEast);\n", | |
"\n", | |
" /*\n", | |
" Creates the map and adds the selected layers\n", | |
" */\n", | |
" var map = L.map('folium_be42f703dc1b4549b880db59bda450d8', {\n", | |
" center:[34.599281831, -74.108234507],\n", | |
" zoom: 5,\n", | |
" maxBounds: bounds,\n", | |
" layers: [base_tile]\n", | |
" });\n", | |
"\n", | |
" L.control.layers(baseLayer, layer_list).addTo(map);\n", | |
"\n", | |
" //cluster group\n", | |
" var clusteredmarkers = L.markerClusterGroup();\n", | |
" //section for adding clustered markers\n", | |
" \n", | |
" //add the clustered markers to the group anyway\n", | |
" map.addLayer(clusteredmarkers);\n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
" var latLngs = [ [25.77215, -79.99772], [26.41798, -79.6556], [27.17428, -79.85152], [28.37648, -79.29865], [28.58447, -79.11155], [28.61598, -78.8879], [28.75418, -79.19592], [29.4614, -79.66897], [29.57245, -79.89035], [29.48888, -80.0034], [29.4714, -79.84797], [29.58678, -79.7157], [30.3642, -79.23137], [30.44348, -79.09467], [30.39485, -78.93665], [30.67125, -79.22977], [31.12163, -79.4415], [31.46368, -79.42902], [31.91755, -79.22435], [31.96278, -78.73742], [31.7004, -77.85307], [31.52033, -77.43945], [31.30468, -77.39395], [31.34888, -77.5939], [31.66893, -77.60822], [32.61477, -77.31192], [33.46945, -76.92837], [33.92768, -74.9612], [33.92443, -74.74677], [33.75482, -74.67337], [33.80613, -74.82515], [34.00603, -74.95772], [34.51373, -75.00815], [35.44885, -74.6724], [35.64928, -74.66765], [35.90608, -74.51843], [36.25055, -74.50227], [35.65757, -74.56678], [36.29003, -72.33345], [36.72123, -71.3511], [36.6398, -70.89055], [36.4562, -70.76172], [36.19277, -72.11322], [36.24542, -72.43465], [36.3703, -72.5002], [36.72012, -72.45812], [37.72527, -72.08895], [37.91485, -72.23277], [38.01438, -72.4725], [37.73478, -71.66877], [37.79265, -69.96005], [37.94743, -69.21627], [37.94323, -68.72227], [37.87395, -68.4374], [37.50633, -67.733], [37.41693, -67.3376], [37.45608, -67.12867], [37.65985, -66.84463], [37.88723, -66.74325], [38.18327, -66.7876], [38.5363, -67.25582], [39.21838, -67.60705], [39.71095, -68.8616], [39.9511, -68.93355], [39.79323, -69.49727], [39.75083, -70.69223], [40.05049, -70.69633], [40.36021, -70.80563], [40.63108, -70.66788], [40.78875, -70.92253], [40.97715, -70.84925], ];\n", | |
"var line_1 = L.polyline(latLngs,{\n", | |
"\n", | |
"\n", | |
"\n", | |
"});\n", | |
" map.addLayer(line_1);\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" \n", | |
"\n", | |
" </script>\n", | |
"\n", | |
"</body>\" style=\"width: 100%; height: 510px; border: none\"></iframe>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"execution_count": 52, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"tileset = r'http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}.jpg'\n", | |
"map = folium.Map(location=[np.mean(lat), np.mean(lon)], tiles=tileset, attr='Sources: Esri, GEBCO, NOAA, National Geographic, DeLorme, HERE, Geonames.org, and other contributors', zoom_start=5)\n", | |
"map.line(locations=np.column_stack((lat,lon)))\n", | |
"inline_map(map)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 53, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"71" | |
] | |
}, | |
"execution_count": 53, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"len(s)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.10" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment