Skip to content

Instantly share code, notes, and snippets.

@FrieseWoudloper
Created March 1, 2020 09:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FrieseWoudloper/9c71a22865403f89b4fad8c8cba86cbd to your computer and use it in GitHub Desktop.
Save FrieseWoudloper/9c71a22865403f89b4fad8c8cba86cbd to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"import geopandas\n",
"import pandas as pd\n",
"import movingpandas as mpd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Documentation: \n",
"https://www.historicalclimatology.com/cliwoc.html \n",
"https://stvno.github.io/page/cliwoc/ \n",
"\n",
"Download URL for the geopackage: \n",
"https://www.historicalclimatology.com/uploads/4/5/1/4/4514421/cliwoc21.gpkg"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Finished reading 282322\n"
]
}
],
"source": [
"df = geopandas.read_file(\"cliwoc21.gpkg\", layer = 'CLIWOC21')\n",
"print(\"Finished reading {}\".format(len(df)))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'init': 'epsg:4326'}"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.crs"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"YR\n",
"MO\n",
"DY\n",
"HR\n",
"LAT\n",
"LON\n",
"latitude\n",
"longitude\n",
"IM\n",
"ATTC\n",
"TI\n",
"LI\n",
"DS\n",
"VS\n",
"NID\n",
"II\n",
"ID\n",
"C1\n",
"DI\n",
"D\n",
"WI\n",
"W\n",
"VI\n",
"VV\n",
"WW\n",
"W1\n",
"SLP\n",
"A\n",
"PPP\n",
"IT\n",
"AT\n",
"WBTI\n",
"WBT\n",
"DPTI\n",
"DPT\n",
"SI\n",
"SST\n",
"N\n",
"NH\n",
"CL\n",
"HI\n",
"H\n",
"CM\n",
"CH\n",
"WD\n",
"WP\n",
"WH\n",
"SD\n",
"SP\n",
"SH\n",
"ATTI\n",
"ATTL\n",
"ATTE\n",
"InstAbbr\n",
"InstName\n",
"InstPlace\n",
"InstLand\n",
"NumberEntry\n",
"NameArchiveSet\n",
"ArchivePart\n",
"Specification\n",
"LogbookIdent\n",
"LogbookLanguage\n",
"ImageNumber\n",
"Illustr\n",
"drLatDeg\n",
"drLatMin\n",
"drLatSec\n",
"drLatHem\n",
"drLongDeg\n",
"drLongMin\n",
"drLongSec\n",
"drLongHem\n",
"LatDeg\n",
"LatMin\n",
"LatSec\n",
"LatHem\n",
"LongDeg\n",
"LongMin\n",
"LongSec\n",
"LongHem\n",
"LatInd\n",
"LonInd\n",
"ZeroMeridian\n",
"LMname1\n",
"LMdirection1\n",
"LMdistance1\n",
"LMname2\n",
"LMdirection2\n",
"LMdistance2\n",
"LMname3\n",
"LMdirection3\n",
"LMdistance3\n",
"PosCoastal\n",
"Calendar\n",
"Year\n",
"Month\n",
"Day\n",
"TimeOB\n",
"DayOfTheWeek\n",
"PartDay\n",
"Watch\n",
"Glasses\n",
"StartDay\n",
"ShipName\n",
"Nationality\n",
"ShipType\n",
"Company\n",
"OtherShipInformation\n",
"Name1\n",
"Rank1\n",
"Name2\n",
"Rank2\n",
"Name3\n",
"Rank3\n",
"LifeOnBoard\n",
"VoyageFrom\n",
"VoyageTo\n",
"Anchored\n",
"AnchorPlace\n",
"DASnumber\n",
"VoyageIni\n",
"CMG\n",
"ShipSpeed\n",
"Distance\n",
"EncName\n",
"EncNat\n",
"EncRem\n",
"CargoMemo\n",
"ShipAndRigMemo\n",
"BiologyMemo\n",
"WarsAndFightsMemo\n",
"OtherRem\n",
"AirThermReadingUnits\n",
"SSTReadingUnits\n",
"AirPressureReadingUnits\n",
"BarTempReadingUnits\n",
"RefenceCourse\n",
"ReferenceWindDirection\n",
"Decl\n",
"DistUnits\n",
"DistToLandmarkUnits\n",
"DistTravelledUnits\n",
"LongitudeUnits\n",
"UnitsOfMeasurement\n",
"HumidityUnits\n",
"WaterAtThePumpUnits\n",
"WindScale\n",
"BarometerType\n",
"BarometerBrand\n",
"BarometerIndex\n",
"HumidityMethod\n",
"EstError\n",
"ApplError\n",
"TairReading\n",
"SSTReading\n",
"BaroReading\n",
"AllWindDirections\n",
"CurrentDir\n",
"CurrentSpeed\n",
"BarTempReading\n",
"PumpWater\n",
"HumReading\n",
"AllWindForces\n",
"Weather\n",
"PrecipitationDescriptor\n",
"StateSea\n",
"ShapeClouds\n",
"DirClouds\n",
"Clearness\n",
"CloudFrac\n",
"Gusts\n",
"Rain\n",
"Fog\n",
"Snow\n",
"Thunder\n",
"Hail\n",
"SeaIce\n",
"TrivialCorrection\n",
"Release\n",
"geometry\n"
]
}
],
"source": [
"for col in df.columns: \n",
" print(col) "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"df = df.loc[:, ['ID', 'YR', 'MO', 'DY', 'latitude', 'longitude', 'ShipName', 'C1', 'ShipType', 'VoyageFrom', 'VoyageTo', 'geometry']]"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>281517</td>\n",
" <td>2000</td>\n",
" <td>1789</td>\n",
" <td>4</td>\n",
" <td>14</td>\n",
" <td>49.93</td>\n",
" <td>-5.15</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>SNAUW</td>\n",
" <td>AMSTERDAM</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (-5.150 49.930)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>281518</td>\n",
" <td>2000</td>\n",
" <td>1789</td>\n",
" <td>4</td>\n",
" <td>15</td>\n",
" <td>49.22</td>\n",
" <td>-6.72</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>SNAUW</td>\n",
" <td>AMSTERDAM</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (-6.720 49.220)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>281519</td>\n",
" <td>2000</td>\n",
" <td>1789</td>\n",
" <td>4</td>\n",
" <td>27</td>\n",
" <td>34.90</td>\n",
" <td>-15.40</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>SNAUW</td>\n",
" <td>AMSTERDAM</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (-15.400 34.900)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>281520</td>\n",
" <td>2000</td>\n",
" <td>1789</td>\n",
" <td>4</td>\n",
" <td>28</td>\n",
" <td>33.23</td>\n",
" <td>-16.12</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>SNAUW</td>\n",
" <td>AMSTERDAM</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (-16.120 33.230)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>281521</td>\n",
" <td>2000</td>\n",
" <td>1789</td>\n",
" <td>4</td>\n",
" <td>29</td>\n",
" <td>31.00</td>\n",
" <td>-16.50</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>SNAUW</td>\n",
" <td>AMSTERDAM</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (-16.500 31.000)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282317</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>25</td>\n",
" <td>-9.63</td>\n",
" <td>105.18</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.180 -9.630)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282318</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>26</td>\n",
" <td>-8.05</td>\n",
" <td>105.15</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.150 -8.050)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282319</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>27</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (nan nan)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282320</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>28</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (nan nan)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282321</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>29</td>\n",
" <td>-6.10</td>\n",
" <td>106.86</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (106.860 -6.100)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>805 rows × 12 columns</p>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType \\\n",
"281517 2000 1789 4 14 49.93 -5.15 ZWALUW NL SNAUW \n",
"281518 2000 1789 4 15 49.22 -6.72 ZWALUW NL SNAUW \n",
"281519 2000 1789 4 27 34.90 -15.40 ZWALUW NL SNAUW \n",
"281520 2000 1789 4 28 33.23 -16.12 ZWALUW NL SNAUW \n",
"281521 2000 1789 4 29 31.00 -16.50 ZWALUW NL SNAUW \n",
"... ... ... .. .. ... ... ... .. ... \n",
"282317 2007 1842 4 25 -9.63 105.18 ZWALUW NL BRIK \n",
"282318 2007 1842 4 26 -8.05 105.15 ZWALUW NL BRIK \n",
"282319 2007 1842 4 27 NaN NaN ZWALUW NL BRIK \n",
"282320 2007 1842 4 28 NaN NaN ZWALUW NL BRIK \n",
"282321 2007 1842 4 29 -6.10 106.86 ZWALUW NL BRIK \n",
"\n",
" VoyageFrom VoyageTo geometry \n",
"281517 AMSTERDAM BATAVIA POINT (-5.150 49.930) \n",
"281518 AMSTERDAM BATAVIA POINT (-6.720 49.220) \n",
"281519 AMSTERDAM BATAVIA POINT (-15.400 34.900) \n",
"281520 AMSTERDAM BATAVIA POINT (-16.120 33.230) \n",
"281521 AMSTERDAM BATAVIA POINT (-16.500 31.000) \n",
"... ... ... ... \n",
"282317 TEXEL BATAVIA POINT (105.180 -9.630) \n",
"282318 TEXEL BATAVIA POINT (105.150 -8.050) \n",
"282319 TEXEL BATAVIA POINT (nan nan) \n",
"282320 TEXEL BATAVIA POINT (nan nan) \n",
"282321 TEXEL BATAVIA POINT (106.860 -6.100) \n",
"\n",
"[805 rows x 12 columns]"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df['ShipName'] == 'ZWALUW']"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>282317</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>25</td>\n",
" <td>-9.63</td>\n",
" <td>105.18</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.180 -9.630)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282318</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>26</td>\n",
" <td>-8.05</td>\n",
" <td>105.15</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.150 -8.050)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282319</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>27</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (nan nan)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282320</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>28</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (nan nan)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282321</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>29</td>\n",
" <td>-6.10</td>\n",
" <td>106.86</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (106.860 -6.100)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType \\\n",
"282317 2007 1842 4 25 -9.63 105.18 ZWALUW NL BRIK \n",
"282318 2007 1842 4 26 -8.05 105.15 ZWALUW NL BRIK \n",
"282319 2007 1842 4 27 NaN NaN ZWALUW NL BRIK \n",
"282320 2007 1842 4 28 NaN NaN ZWALUW NL BRIK \n",
"282321 2007 1842 4 29 -6.10 106.86 ZWALUW NL BRIK \n",
"\n",
" VoyageFrom VoyageTo geometry \n",
"282317 TEXEL BATAVIA POINT (105.180 -9.630) \n",
"282318 TEXEL BATAVIA POINT (105.150 -8.050) \n",
"282319 TEXEL BATAVIA POINT (nan nan) \n",
"282320 TEXEL BATAVIA POINT (nan nan) \n",
"282321 TEXEL BATAVIA POINT (106.860 -6.100) "
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"282317 True\n",
"282318 True\n",
"282319 False\n",
"282320 False\n",
"282321 True\n",
"dtype: bool"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.geometry.is_valid.tail()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>282315</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>23</td>\n",
" <td>-11.12</td>\n",
" <td>105.50</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.50000 -11.12000)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282316</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>24</td>\n",
" <td>-10.55</td>\n",
" <td>105.63</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.63000 -10.55000)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282317</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>25</td>\n",
" <td>-9.63</td>\n",
" <td>105.18</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.18000 -9.63000)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282318</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>26</td>\n",
" <td>-8.05</td>\n",
" <td>105.15</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (105.15000 -8.05000)</td>\n",
" </tr>\n",
" <tr>\n",
" <td>282321</td>\n",
" <td>2007</td>\n",
" <td>1842</td>\n",
" <td>4</td>\n",
" <td>29</td>\n",
" <td>-6.10</td>\n",
" <td>106.86</td>\n",
" <td>ZWALUW</td>\n",
" <td>NL</td>\n",
" <td>BRIK</td>\n",
" <td>TEXEL</td>\n",
" <td>BATAVIA</td>\n",
" <td>POINT (106.86000 -6.10000)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType \\\n",
"282315 2007 1842 4 23 -11.12 105.50 ZWALUW NL BRIK \n",
"282316 2007 1842 4 24 -10.55 105.63 ZWALUW NL BRIK \n",
"282317 2007 1842 4 25 -9.63 105.18 ZWALUW NL BRIK \n",
"282318 2007 1842 4 26 -8.05 105.15 ZWALUW NL BRIK \n",
"282321 2007 1842 4 29 -6.10 106.86 ZWALUW NL BRIK \n",
"\n",
" VoyageFrom VoyageTo geometry \n",
"282315 TEXEL BATAVIA POINT (105.50000 -11.12000) \n",
"282316 TEXEL BATAVIA POINT (105.63000 -10.55000) \n",
"282317 TEXEL BATAVIA POINT (105.18000 -9.63000) \n",
"282318 TEXEL BATAVIA POINT (105.15000 -8.05000) \n",
"282321 TEXEL BATAVIA POINT (106.86000 -6.10000) "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df.geometry.is_valid].tail()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"df = df[df.geometry.is_valid]"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x6788d311c8>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.tail(n=25).plot()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1662"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"min(df['YR'])"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"260639"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"260324"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[df['YR'] > 1677])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"See https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timestamp-limitations"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"260324"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df[df['YR'] > 1677]\n",
"len(df)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" <td>-6.92</td>\n",
" <td>103.10</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (103.10000 -6.92000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>17</td>\n",
" <td>-8.27</td>\n",
" <td>100.47</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (100.47000 -8.27000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>18</td>\n",
" <td>-9.43</td>\n",
" <td>97.72</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (97.72000 -9.43000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>19</td>\n",
" <td>-10.77</td>\n",
" <td>95.02</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (95.02000 -10.77000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>20</td>\n",
" <td>-12.07</td>\n",
" <td>92.83</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (92.83000 -12.07000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>20</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType VoyageFrom \\\n",
"0 1 1827 8 16 -6.92 103.10 ABEL TASMAN NL None BATAVIA \n",
"1 1 1827 8 17 -8.27 100.47 ABEL TASMAN NL None BATAVIA \n",
"2 1 1827 8 18 -9.43 97.72 ABEL TASMAN NL None BATAVIA \n",
"3 1 1827 8 19 -10.77 95.02 ABEL TASMAN NL None BATAVIA \n",
"4 1 1827 8 20 -12.07 92.83 ABEL TASMAN NL None BATAVIA \n",
"\n",
" VoyageTo geometry year month day \n",
"0 NEDERLAND POINT (103.10000 -6.92000) 1827 8 16 \n",
"1 NEDERLAND POINT (100.47000 -8.27000) 1827 8 17 \n",
"2 NEDERLAND POINT (97.72000 -9.43000) 1827 8 18 \n",
"3 NEDERLAND POINT (95.02000 -10.77000) 1827 8 19 \n",
"4 NEDERLAND POINT (92.83000 -12.07000) 1827 8 20 "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['year'] = df['YR']\n",
"df['month'] = df['MO']\n",
"df['day'] = df['DY']\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"df['t'] = pd.to_datetime(df[['year','month','day']])\n",
"df = df.set_index('t')"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\Anaconda3\\lib\\site-packages\\movingpandas\\trajectory.py:44: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame\n",
"\n",
"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" df.sort_index(inplace=True)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Finished creating 1971 trajectories\n",
"Wall time: 35.2 s\n"
]
}
],
"source": [
"%%time\n",
"traj_collection = mpd.TrajectoryCollection(df, 'ID')\n",
"print(\"Finished creating {} trajectories\".format(len(traj_collection)))"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" </tr>\n",
" <tr>\n",
" <th>t</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>1827-08-16</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" <td>-6.92</td>\n",
" <td>103.10</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (103.10000 -6.92000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-08-17</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>17</td>\n",
" <td>-8.27</td>\n",
" <td>100.47</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (100.47000 -8.27000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-08-18</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>18</td>\n",
" <td>-9.43</td>\n",
" <td>97.72</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (97.72000 -9.43000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-08-19</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>19</td>\n",
" <td>-10.77</td>\n",
" <td>95.02</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (95.02000 -10.77000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-08-20</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>20</td>\n",
" <td>-12.07</td>\n",
" <td>92.83</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (92.83000 -12.07000)</td>\n",
" <td>1827</td>\n",
" <td>8</td>\n",
" <td>20</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType \\\n",
"t \n",
"1827-08-16 1 1827 8 16 -6.92 103.10 ABEL TASMAN NL None \n",
"1827-08-17 1 1827 8 17 -8.27 100.47 ABEL TASMAN NL None \n",
"1827-08-18 1 1827 8 18 -9.43 97.72 ABEL TASMAN NL None \n",
"1827-08-19 1 1827 8 19 -10.77 95.02 ABEL TASMAN NL None \n",
"1827-08-20 1 1827 8 20 -12.07 92.83 ABEL TASMAN NL None \n",
"\n",
" VoyageFrom VoyageTo geometry year month day \n",
"t \n",
"1827-08-16 BATAVIA NEDERLAND POINT (103.10000 -6.92000) 1827 8 16 \n",
"1827-08-17 BATAVIA NEDERLAND POINT (100.47000 -8.27000) 1827 8 17 \n",
"1827-08-18 BATAVIA NEDERLAND POINT (97.72000 -9.43000) 1827 8 18 \n",
"1827-08-19 BATAVIA NEDERLAND POINT (95.02000 -10.77000) 1827 8 19 \n",
"1827-08-20 BATAVIA NEDERLAND POINT (92.83000 -12.07000) 1827 8 20 "
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trajectories = traj_collection.trajectories\n",
"my_traj = trajectories[0]\n",
"my_traj.df.head()"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ID</th>\n",
" <th>YR</th>\n",
" <th>MO</th>\n",
" <th>DY</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>ShipName</th>\n",
" <th>C1</th>\n",
" <th>ShipType</th>\n",
" <th>VoyageFrom</th>\n",
" <th>VoyageTo</th>\n",
" <th>geometry</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" </tr>\n",
" <tr>\n",
" <th>t</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>1827-11-09</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>9</td>\n",
" <td>46.65</td>\n",
" <td>-22.57</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (-22.57000 46.65000)</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-11-10</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>10</td>\n",
" <td>47.40</td>\n",
" <td>-19.62</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (-19.62000 47.40000)</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-11-11</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>47.40</td>\n",
" <td>-19.33</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (-19.33000 47.40000)</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-11-12</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>12</td>\n",
" <td>47.83</td>\n",
" <td>-18.00</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (-18.00000 47.83000)</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1827-11-13</td>\n",
" <td>1</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>13</td>\n",
" <td>48.27</td>\n",
" <td>-16.07</td>\n",
" <td>ABEL TASMAN</td>\n",
" <td>NL</td>\n",
" <td>None</td>\n",
" <td>BATAVIA</td>\n",
" <td>NEDERLAND</td>\n",
" <td>POINT (-16.07000 48.27000)</td>\n",
" <td>1827</td>\n",
" <td>11</td>\n",
" <td>13</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ID YR MO DY latitude longitude ShipName C1 ShipType \\\n",
"t \n",
"1827-11-09 1 1827 11 9 46.65 -22.57 ABEL TASMAN NL None \n",
"1827-11-10 1 1827 11 10 47.40 -19.62 ABEL TASMAN NL None \n",
"1827-11-11 1 1827 11 11 47.40 -19.33 ABEL TASMAN NL None \n",
"1827-11-12 1 1827 11 12 47.83 -18.00 ABEL TASMAN NL None \n",
"1827-11-13 1 1827 11 13 48.27 -16.07 ABEL TASMAN NL None \n",
"\n",
" VoyageFrom VoyageTo geometry year month day \n",
"t \n",
"1827-11-09 BATAVIA NEDERLAND POINT (-22.57000 46.65000) 1827 11 9 \n",
"1827-11-10 BATAVIA NEDERLAND POINT (-19.62000 47.40000) 1827 11 10 \n",
"1827-11-11 BATAVIA NEDERLAND POINT (-19.33000 47.40000) 1827 11 11 \n",
"1827-11-12 BATAVIA NEDERLAND POINT (-18.00000 47.83000) 1827 11 12 \n",
"1827-11-13 BATAVIA NEDERLAND POINT (-16.07000 48.27000) 1827 11 13 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"my_traj.df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x67890c2888>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"my_traj.plot()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "The truth value of a GeoDataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\IPython\\core\\formatters.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, obj, include, exclude)\u001b[0m\n\u001b[0;32m 968\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 969\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmethod\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 970\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minclude\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minclude\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexclude\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mexclude\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 971\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 972\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\core\\dimension.py\u001b[0m in \u001b[0;36m_repr_mimebundle_\u001b[1;34m(self, include, exclude)\u001b[0m\n\u001b[0;32m 1292\u001b[0m \u001b[0mcombined\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mreturned\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1293\u001b[0m \"\"\"\n\u001b[1;32m-> 1294\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mStore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrender\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1295\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1296\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\core\\options.py\u001b[0m in \u001b[0;36mrender\u001b[1;34m(cls, obj)\u001b[0m\n\u001b[0;32m 1366\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1367\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mhook\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mhooks\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1368\u001b[1;33m \u001b[0mret\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mhook\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1369\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mret\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1370\u001b[0m \u001b[1;32mcontinue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\ipython\\display_hooks.py\u001b[0m in \u001b[0;36mpprint_display\u001b[1;34m(obj)\u001b[0m\n\u001b[0;32m 279\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mip\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdisplay_formatter\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformatters\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'text/plain'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpprint\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 280\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 281\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mraw_output\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 282\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 283\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\ipython\\display_hooks.py\u001b[0m in \u001b[0;36mdisplay\u001b[1;34m(obj, raw_output, **kwargs)\u001b[0m\n\u001b[0;32m 249\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mCompositeOverlay\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mViewableElement\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 250\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0moption_state\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 251\u001b[1;33m \u001b[0moutput\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0melement_display\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 252\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mLayout\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mNdLayout\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAdjointLayout\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 253\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0moption_state\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\ipython\\display_hooks.py\u001b[0m in \u001b[0;36mwrapped\u001b[1;34m(element)\u001b[0m\n\u001b[0;32m 144\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 145\u001b[0m \u001b[0mmax_frames\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mOutputSettings\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'max_frames'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 146\u001b[1;33m \u001b[0mmimebundle\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0melement\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmax_frames\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmax_frames\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 147\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmimebundle\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 148\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\ipython\\display_hooks.py\u001b[0m in \u001b[0;36melement_display\u001b[1;34m(element, max_frames)\u001b[0m\n\u001b[0;32m 190\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 191\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 192\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mrender\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0melement\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 193\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 194\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\ipython\\display_hooks.py\u001b[0m in \u001b[0;36mrender\u001b[1;34m(obj, **kwargs)\u001b[0m\n\u001b[0;32m 66\u001b[0m \u001b[0mrenderer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'png'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 68\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcomponents\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 69\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 70\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\bokeh\\renderer.py\u001b[0m in \u001b[0;36mcomponents\u001b[1;34m(self, obj, fmt, comm, **kwargs)\u001b[0m\n\u001b[0;32m 248\u001b[0m \u001b[1;31m# Bokeh has to handle comms directly in <0.12.15\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 249\u001b[0m \u001b[0mcomm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mbokeh_version\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;34m'0.12.15'\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mcomm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 250\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mBokehRenderer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcomponents\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mfmt\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcomm\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 251\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 252\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\renderer.py\u001b[0m in \u001b[0;36mcomponents\u001b[1;34m(self, obj, fmt, comm, **kwargs)\u001b[0m\n\u001b[0;32m 319\u001b[0m \u001b[0mplot\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 320\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 321\u001b[1;33m \u001b[0mplot\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_validate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 322\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 323\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmetadata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\renderer.py\u001b[0m in \u001b[0;36m_validate\u001b[1;34m(self, obj, fmt, **kwargs)\u001b[0m\n\u001b[0;32m 218\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwidgets\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 219\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'html'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 220\u001b[1;33m \u001b[0mplot\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 221\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 222\u001b[0m \u001b[0mfig_formats\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmode_formats\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'fig'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmode\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\bokeh\\renderer.py\u001b[0m in \u001b[0;36mget_plot\u001b[1;34m(self_or_cls, obj, doc, renderer, **kwargs)\u001b[0m\n\u001b[0;32m 133\u001b[0m \u001b[0mcurdoc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtheme\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself_or_cls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtheme\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 134\u001b[0m \u001b[0mdoc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtheme\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself_or_cls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtheme\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 135\u001b[1;33m \u001b[0mplot\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mBokehRenderer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself_or_cls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrenderer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 136\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdocument\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdoc\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 137\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\renderer.py\u001b[0m in \u001b[0;36mget_plot\u001b[1;34m(self_or_cls, obj, renderer, **kwargs)\u001b[0m\n\u001b[0;32m 205\u001b[0m init_key = tuple(v if d is None else d for v, d in\n\u001b[0;32m 206\u001b[0m zip(plot.keys[0], defaults))\n\u001b[1;32m--> 207\u001b[1;33m \u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minit_key\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 208\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 209\u001b[0m \u001b[0mplot\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\plot.py\u001b[0m in \u001b[0;36mupdate\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 612\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 613\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m1\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdrawn\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 614\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minitialize_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 615\u001b[0m \u001b[0mitem\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__getitem__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 616\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtraverse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0msetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'_updated'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\geoviews\\plotting\\bokeh\\plot.py\u001b[0m in \u001b[0;36minitialize_plot\u001b[1;34m(self, ranges, plot, plots, source)\u001b[0m\n\u001b[0;32m 86\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0minitialize_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mplots\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[0mopts\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mHvOverlayPlot\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'source'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 88\u001b[1;33m \u001b[0mfig\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mGeoPlot\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minitialize_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mranges\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mplots\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mopts\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 89\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgeographic\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow_bounds\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0moverlaid\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mGeoShapePlot\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\bokeh\\element.py\u001b[0m in \u001b[0;36minitialize_plot\u001b[1;34m(self, ranges, plot, plots)\u001b[0m\n\u001b[0;32m 2095\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mSkipRendering\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'All Overlays empty, cannot initialize plot.'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2096\u001b[0m \u001b[0mdkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0melement\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnonempty\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2097\u001b[1;33m \u001b[0mranges\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcompute_ranges\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhmap\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2098\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mplot\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtabs\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbatched\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2099\u001b[0m \u001b[0mplot\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_init_plot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0melement\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mranges\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mplots\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mplots\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\plot.py\u001b[0m in \u001b[0;36mcompute_ranges\u001b[1;34m(self, obj, key, ranges)\u001b[0m\n\u001b[0;32m 392\u001b[0m if (not (axiswise and not isinstance(obj, HoloMap)) or\n\u001b[0;32m 393\u001b[0m (not framewise and isinstance(obj, HoloMap))):\n\u001b[1;32m--> 394\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_compute_group_range\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mgroup\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0melements\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 395\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mranges\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mranges\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 396\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mranges\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\plotting\\plot.py\u001b[0m in \u001b[0;36m_compute_group_range\u001b[1;34m(cls, group, elements, ranges)\u001b[0m\n\u001b[0;32m 492\u001b[0m \u001b[0mdtype\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlevel\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtype\u001b[0m \u001b[1;31m# Remove when deprecating level\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 493\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 494\u001b[1;33m \u001b[0mdtype\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minterface\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mel_dim\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 495\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 496\u001b[0m \u001b[0mdtype\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\holoviews\\core\\data\\multipath.py\u001b[0m in \u001b[0;36mdtype\u001b[1;34m(cls, dataset, dimension)\u001b[0m\n\u001b[0;32m 261\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mclassmethod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 262\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdataset\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdimension\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 263\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mdataset\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 264\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'float'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 265\u001b[0m \u001b[0mds\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_inner_dataset_template\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdataset\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m__nonzero__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 1553\u001b[0m \u001b[1;34m\"The truth value of a {0} is ambiguous. \"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1554\u001b[0m \"Use a.empty, a.bool(), a.item(), a.any() or a.all().\".format(\n\u001b[1;32m-> 1555\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1556\u001b[0m )\n\u001b[0;32m 1557\u001b[0m )\n",
"\u001b[1;31mValueError\u001b[0m: The truth value of a GeoDataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()."
]
},
{
"data": {
"text/plain": [
":Overlay\n",
" .Tiles.I :Tiles [x,y]\n",
" .Path.I :Path [Longitude,Latitude]"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"my_traj.hvplot() "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment