{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "\n", "\n", "\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Ruby-Throated Hummingbird Migration into North America\n", "\n", "\n", "### by Renee Marie Parilak Teate\n", "Data from http://ebird.org/content/ebird/\n", "\n", "*eBird Basic Dataset. Version: EBD_relAug-2015. Cornell Lab of Ornithology, Ithaca, New York. Aug 2015.*\n", "\n", "Python 3.5.1 with pandas 0.17.1, numpy 1.10.4, seaborn 0.7.0\n", "\n", "File with code visible" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Questions to be answered: *\n", "- *When can we expect the first Ruby-Throated Hummingbirds to reach X location in their northward migration?*\n", "- *What is the range of the Ruby-Throated Hummingbird by Y date?*" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#import libraries needed for this analysis\n", "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import datetime\n", "from bokeh.plotting import *\n", "from bokeh.models import Range1d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### This dataset contains over 367,000 Ruby-throated hummingbird sightings from January 2013 to August 2015, capturing 3 years of south-to-north migration" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# read in text file\n", "df = pd.read_csv('ebird_rubythroated_Jan2013_Aug2015.txt', sep='\\t', index_col='GLOBAL UNIQUE IDENTIFIER', \n", " error_bad_lines=False, warn_bad_lines=False, low_memory=False)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Here is an example of all fields in one row of the dataset" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TAXONOMIC ORDER 8896\n", "CATEGORY species\n", "COMMON NAME Ruby-throated Hummingbird\n", "SCIENTIFIC NAME Archilochus colubris\n", "SUBSPECIES COMMON NAME NaN\n", "SUBSPECIES SCIENTIFIC NAME NaN\n", "OBSERVATION COUNT 1\n", "BREEDING BIRD ATLAS CODE NaN\n", "AGE/SEX NaN\n", "COUNTRY Canada\n", "COUNTRY_CODE CA\n", "STATE_PROVINCE New Brunswick\n", "SUBNATIONAL1_CODE CA-NB\n", "COUNTY Charlotte\n", "SUBNATIONAL2_CODE CA-NB-CH\n", "IBA CODE CA-NB_011\n", "BCR CODE 14\n", "ATLAS BLOCK NaN\n", "LOCALITY Castalia Marsh\n", "LOCALITY ID L164896\n", "LOCALITY TYPE H\n", "LATITUDE 44.7242\n", "LONGITUDE -66.7543\n", "OBSERVATION DATE 2013-07-18\n", "TIME OBSERVATIONS STARTED 19:15:00\n", "TRIP COMMENTS Viewed from cabin at Castalia Marsh.\n", "SPECIES COMMENTS NaN\n", "OBSERVER ID obsr298478\n", "FIRST NAME Kris\n", "LAST NAME Ito\n", "SAMPLING EVENT IDENTIFIER S14810638\n", "PROTOCOL TYPE eBird - Stationary Count\n", "PROJECT CODE EBIRD_CAN\n", "DURATION MINUTES 45\n", "EFFORT DISTANCE KM NaN\n", "EFFORT AREA HA NaN\n", "NUMBER OBSERVERS 1\n", "ALL SPECIES REPORTED 1\n", "GROUP IDENTIFIER NaN\n", "APPROVED 1\n", "REVIEWED 0\n", "REASON NaN\n", "Unnamed: 43 NaN\n", "Name: URN:CornellLabOfOrnithology:EBIRD:OBS206154144, dtype: object\n" ] } ], "source": [ "print(df.iloc[2000,:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### We're going to narrow down the data to just location information and observation dates. \n", "#### For this analysis, we only care about the month and year since we're looking for earliest sightings by locality over a 3-year period (not comparing year over year), so we'll create a column that treats all observations as if they happened during one year." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# narrow dataset down to just columns we need\n", "df_loc_date = df.loc[:,('COUNTRY','STATE_PROVINCE','LOCALITY','COUNTY','LATITUDE','LONGITUDE','OBSERVATION DATE')]\n", "# put the month, year, and date into their own columns\n", "df_loc_date['OBS MONTH'] = df_loc_date['OBSERVATION DATE'].str[5:7].astype(int)\n", "df_loc_date['OBS DAY'] = df_loc_date['OBSERVATION DATE'].str[8:10].astype(int)\n", "df_loc_date['OBS YEAR'] = df_loc_date['OBSERVATION DATE'].str[0:4].astype(int)\n", "# pretend they're all in the same year so we can get earliest month and day and treat like a date\n", "df_loc_date['OBS MONTHDAY'] = '2014-' + df_loc_date['OBSERVATION DATE'].str[5:10].astype(str) \n", "df_loc_date['OBS MONTHDAY'] = pd.to_datetime(df_loc_date['OBS MONTHDAY'])\n", "# add columns for rounded latitude and longitude to make it less granular\n", "df_loc_date['SHORT LAT'] = df_loc_date['LATITUDE'].round(0)\n", "df_loc_date['SHORT LONG'] = df_loc_date['LONGITUDE'].round(0)\n", "\n", "# get the earliest sighting in any year by short long and short lat group\n", "df_first_seen = df_loc_date.loc[:,('SHORT LAT','SHORT LONG','OBS MONTHDAY')].groupby(['SHORT LAT','SHORT LONG']).min()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### We made the latitude and longitude data less granular by rounding to the nearest whole-number latitude and longitude.\n", "\n", "#### This gives us fewer points, but we have more data points per 'location\" to calculate minimum date seen. (We don't need to know at the neighborhood level, city/county/region is good enough. Then we'll have more data points per location.)\n", "\n", "### Let's visualize the change of granularity to make sure the result will still be meaningful. \n", "\n", "#### This Seaborn chart shows Latitude 36-39, approximately covering the \"height\" of the state of Virginia.\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#show the plot here instead of in pop-up\n", "%matplotlib inline\n", "# seaborn joint plot with latitude and longitude\n", "sns.jointplot(\"LONGITUDE\", \"LATITUDE\", data=df_loc_date.where((df_loc_date['LATITUDE'] > 36) & (df_loc_date['LATITUDE'] < 39 )))\n", "sns.plt.show()\n", "# seaborn joint plot with less-granular latitude and longitude\n", "sns.jointplot(\"SHORT LONG\", \"SHORT LAT\", data=df_loc_date.where((df_loc_date['LATITUDE'] > 36) & (df_loc_date['LATITUDE'] < 39 )))\n", "sns.plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Now let's look at the new \"rounded\" data points on an actual Google map to see if our coverage is good." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "\n", " \n", "\n", "
\n", " \n", " BokehJS successfully loaded.\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Google Map bokeh code from http://bokeh.pydata.org/en/latest/docs/user_guide/geo.html\n", "from bokeh.models import (\n", " GMapPlot, GMapOptions, ColumnDataSource, Circle, DataRange1d, PanTool, WheelZoomTool, BoxSelectTool, BoxZoomTool\n", ")\n", "map_options = GMapOptions(lat=35, lng=-90, map_type=\"roadmap\", zoom=3)\n", "plot = GMapPlot(\n", " x_range=DataRange1d(), y_range=DataRange1d(), map_options=map_options, title=\"Google Map\"\n", ")\n", "#get the grouped data, but reset index so can refer to the columns normally. plot all rounded lat-long data points\n", "plotdata = df_first_seen \n", "plotdata = plotdata.reset_index()\n", "source = ColumnDataSource(\n", " data=dict(\n", " lat= plotdata['SHORT LAT'],\n", " lon= plotdata['SHORT LONG']\n", " )\n", ")\n", "circle = Circle(x=\"lon\", y=\"lat\", size=8, fill_color=\"blue\", fill_alpha=0.8, line_color=None)\n", "plot.add_glyph(source, circle)\n", "plot.add_tools(PanTool(), WheelZoomTool(), BoxSelectTool(), BoxZoomTool())\n", "\n", "#set plots to show up inline\n", "output_notebook()\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Here is an example of an \"earliest seen\" date for a location - the minimum date of an observation at a lat-long point in the grouped data" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OBS MONTHDAY datetime64[ns]\n", "dtype: object\n", "OBS MONTHDAY 2014-01-12\n", "Name: (9.0, -84.0), dtype: datetime64[ns]\n", "\n", "Number of values: 879\n" ] } ], "source": [ "# access the earliest seen date value by short lat&long index\n", "print(df_first_seen.dtypes)\n", "print(df_first_seen.ix[9,-84])\n", "#show the number of points\n", "print(\"\\nNumber of values:\",df_first_seen.shape[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's see how the week-number of first observations are distributed " ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAERCAYAAACXT3dwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmUW+d53/EvLrYBMBjMhlm4b+IrkpJILZREWRZlRbRi\nW3bsHKeuT+LUcpW4qlO3SdqeKI6StllOWydK0rq2T6NYttOmXhTLmxxZiizLJi3Rkihx5zskhzPk\n7PsAA2AGwOD2jwuQ4KzADGYADJ7POTwkcO8FHoAzP7x473vf12aaJkIIISqDUewChBBCrB4JfSGE\nqCAS+kIIUUEk9IUQooJI6AshRAWR0BdCiAriWGwHpZQN+DywF5gEHtVat8/Yxwu8AHxCa92mlHIA\nXwK2AC7gT7XW3ytw7UIIIfKUS0v/g4Bba30P8DjwZPZGpdTtwCvAtqy7fw0Y0lrfB7wH+FxhyhVC\nCLEcuYT+vcDzAFrro8AdM7a7sD4YzmXd9w3giaznSCyvTCGEEIWwaPcOUAOMZ91OKqUMrXUKQGv9\nKlztBiJ9XzR9nx/4JvCZglUshBBiyXJp6YcAf/YxmcBfiFJqI/Aj4Cta668vsT4hhBAFlEtL/wjw\nMPCMUupu4ORiByilmoEfAp/SWr+cSyGmaZo2m23xHYUQQmTLKzhzCf1ngUNKqSPp248opT4K+LTW\nT2Xtlz1z2+NALfCEUuoP09veo7Wemrdqm43BwXA+tZeUYNBftvWXc+0g9Reb1F9cwaB/8Z2y2Epo\nlk2z3N/4cq2/nGsHqb/YpP7iCgb9ebX05eIsIYSoIBL6QghRQST0hRCigkjoCyFEBZHQF0KICiKh\nL4QQFURCXwghKoiEvhBCVJBcrsgVomBM0yQcDs273e+vQabjEGLlSOiLVRUOh3jx6AU8Xt+sbbFo\nhEN37aCmJlCEyoSoDBL6YtV5vD68vvzmCxFCFIb06QshRAWR0BdCiAoioS+EEBVEQl8IISqIhL4Q\nQlQQCX0hhKggEvpCCFFBJPSFEKKCSOgLIUQFkdAXQogKIqEvhBAVREJfCCEqiIS+EEJUEAl9IYSo\nIBL6QghRQST0hRCigkjoCyFEBZHQF0KICrLocolKKRvweWAvMAk8qrVun7GPF3gB+ITWui2XY4QQ\nQqy+XFr6HwTcWut7gMeBJ7M3KqVuB14BtuV6jBBCiOLIJfTvBZ4H0FofBe6Ysd2FFfLn8jhGCCFE\nEeQS+jXAeNbtpFLq6nFa61e11t2ALddjhBBCFEcuQRwC/NnHaK1TK3CMEEKIFbboiVzgCPAw8IxS\n6m7g5AodQzDoX3ynElbO9a9W7S5XimrfCL7qqlnbDOI0NvoJBPKvpZzfe5D6i63c689HLqH/LHBI\nKXUkffsRpdRHAZ/W+qms/cyFjsmlmMHBcC67laRg0F+29a9m7aFQmInIFCkmZ22LRqYYGgoTj+fX\nE1jO7z1I/cW2FurPx6Khr7U2gcdm3N02x34PLHKMEEKIIpOTq0IIUUEk9IUQooJI6AshRAWR0BdC\niAoioS+EEBVEQl8IISqIhL4QQlQQCX0hhKggEvpCCFFBJPSFEKKCSOgLIUQFkdAXQogKIqEvhBAV\nREJfCCEqiIS+EEJUEAl9IYSoIBL6QghRQST0hRCigkjoCyFEBZHQF0KICiKhL0rK4Ngk3YMTmKZZ\n7FKEWJMcxS5AiIxYfJrPfuMs8WQKv9fJL9y2gQ/cu7XYZQmxpkhLX5SMtq4J4skUOzcEME349uFL\nDIxGi12WEGuKhL4oCZPxJO29UQI+J7/7z2/lIw/sAOC1M/1FrkyItUVCX5SEsx2jTKdMHri1BafD\n4LadQZwOg9dO90v/vhAFJKEvii6emObc5THcToMDuxoB8Lgd7N3RSN9IlMv9E0WuUIi1Q0JfFF33\nUIREMsX2Vh8u57UfyQO7mwF47UxfsUoTYs2R0BdF1ztsnaxtqXdfd/9N2xrwuh0cPdNPKiVdPEIU\ngoS+KCrTNOkZiuByGtRVO6/blunbH5uIc3kgXKQKhVhbJPRFUYUiCaKTSVobfNhstlnbt6+vAZB+\nfSEKZNGLs5RSNuDzwF5gEnhUa92etf39wBNAAnhaa/2UUsoBfAXYAiSB39BatxW+fFHueoYjAKxr\n8M65fVOzH4DOfmnpC1EIuVyR+0HArbW+Ryl1F/Bk+j7S4f4kcDsQA44opb4DHADsWut3KKUeBP4M\n+PBKvABRHKZpEg6H5t3u99fM2XKfqXfICv3WRh+kJmdt3xD0YdhsXO6T0BeiEHIJ/XuB5wG01keV\nUndkbdsFnNdahwCUUoeB+4DTgCP9LSEAxAtatSi6cDjEi0cv4PH6Zm2LRSMcumsHNTWBBR8jlTLp\nG4ni9zqp9jiJRmaHvtNhZ12jjyuDE6RSJoax+AeJEGJ+uYR+DTCedTuplDK01qk5toWxQn4C2Aqc\nAxqAhwtTbmk6fuocoSmT8MTs0KrzGRy4Y28Rqlp5Hq8Pr8+/5OMHx2Ikp03WNc7+4Mi2ubmarsEJ\n+kaii+4rhFhYLqEfArJ/szOBn9lWk7XND4wBvw08r7X+jFJqPfCyUuomrfWCLf5gcOkBUkw1tT6S\nk168czRsPbZQWbyufGt0uVJU+0bwVVfN2mYQp7HRTyAw+zGzjzt32WovbFtfi7+6at7jdm9v5Mip\nPkajCfbOU2c5vMcLkfqLq9zrz0cuoX8Eq6X+jFLqbuBk1razwA6lVC0QBd4JfBbYzbUunbH089gX\ne6LBwfLstx0bi0KVd86WfiI1WfKvKxj0511jKBRmIjJFitmvORqZYmgoTDw+e3BY9nHd6WGY1VV2\nwhOT8x7XUO0C4NSFQfZsqi1I/aVE6i+utVB/PnIJ/WeBQ0qpI+nbjyilPgr40iN1fgd4AbABf6u1\n7lVK/SXwJaXUTwAn8LjWOpZXZWJNM02TwbEYfq8Tj3vhH8ONTdWADNsUohAWDX2ttQk8NuPutqzt\nzwHPzTgmAnykEAWKtWk8EieeTLEhHegL8bgdNNd56OwLY5pmTqOChBBzk4uzRFEMjlpf/IK1npz2\n39TsJzqVZHh8dneSECJ3EvqiKAbGrNBvqpt9Ingum5qtbwSd0sUjxLLIcomiKAbHJnHaDQLV1yZZ\nW+iCr8xQzb6RCBBcjRKFWJMk9MWqm0qkCEXitDZ4MbL652PRCK8cG6G2vuG6/WPRCDffsB6A/lEZ\nDyDEckjoi1U3ErZG887Vn1/l8c55wVdjwI3NBgMjsmauEMshffpi1Q2H5g/9+TjsBg01VdLSF2KZ\nJPTFqrsW+rmdxM1orvMwHokTm0quRFlCVAQJfbGqpqdNRsIJaqtduJyLXqR9naZ6a/rlAWntC7Fk\nEvpiVfUMR5lOmXl17WQ011mh3z8q/fpCLJWEvlhVl/qs+fOb6pYS+tYx0q8vxNJJ6ItV1ZG+uGpJ\nLf1M946M4BFiyST0xaq61BfB5TDwe52L7zxDY6AKw2aTlr4QyyChL1bNaHiK0XCchhrnkiZNc9gN\nGgNV0qcvxDJI6ItVc7HbWjSloca15MdoqvcQjiaITsqwTSGWQkJfrJoLBQh9GcEjxPJI6ItVc75r\nHMOAuur8+/MzMiN4ZKy+EEsjoS9WRWwqSWdfmE1BHw770n/sMiN4pKUvxNJI6ItVoa+MkTJNbtiw\nvAWom9JDPQelpS/Ekkjoi1VxrnMUgJ0bapb1OA2BKmzAoKygJcSSSOiLVXG2cxSH3WBLs29Zj+Ow\nG9TVuBkal5a+EEshoS9WXCga58rABDdsCOB0LP9HrjHgYTQ0RSKZKkB1QlQWCX2x4vTlMQB2ba4r\nyOMFA1WYwEhIuniEyJeEvlhxZ9P9+YUK/cbMyVzp4hEibxL6YsWd7RihymVnS+vyRu5kNAasxVeG\nxqSlL0S+JPTFihoYjdI/GuPGTXXYjcL8uAWlpS/EkknoixX11vkhAPbd0Fiwx8yEvrT0hcifhL5Y\nUW+dH8IG7N1RuNAPVLtw2A0ZtinEEkjoixUTjsY53zXG9vUBAr6lT7I2k2Gz0RCoYlBa+kLkTUJf\nrJjjF4YxTbh1Z+Fa+RnBQBUTsQSxKZliWYh8OBbbQSllAz4P7AUmgUe11u1Z298PPAEkgKe11k+l\n7/894AOAE/i81vrpwpcvStlb5wcBuPWGYMEfOzNsc2h8kk0bCv7wQqxZubT0Pwi4tdb3AI8DT2Y2\nKKUc6dsPAvcDv6mUCiqlDgIH0sfcD2wscN2ixMUTKU5fGqG1wUtLembMQgpeHbYp/fpC5COX0L8X\neB5Aa30UuCNr2y7gvNY6pLVOAD8FDgIPAaeUUt8Gvgt8v6BVi5J35vI48WSK23YWvpUP2RdoSb++\nEPnIJfRrgPGs20mllDHPton0fY3A7cCHgceAv19+qaKcvK6HAbhrd/OKPH6jtPSFWJJF+/SBEJB9\nKaWhtU5lbcueK9cPjAHDwFmtdRJoU0pNKqUatdZDCz1RMFiYKzZXW22tl5FJ8FdXzdrmscXL4nXl\nW6PLlaLaN4Jvjtc8NRXj3OUQ2zcEuHV3a87HxSIuDMM56320mVM4nSlcrmsTrK1vcgMwHI5hmmZZ\nvMcLkfqLq9zrz0cuoX8EeBh4Ril1N3Aya9tZYIdSqhaIAu8EPgtMAZ8G/lIptQ7wYn0QLGhwMJxf\n9SVibCwKVV7CE7O7GhKpyZJ/XcGgP+8aQ6EwE5EpUsx+zec6x5hOmdypmmY97kLHRSJxDGMat+f6\nbUODIzzb1UttfcPV+0zTxGG3cf7yKKFQiHi8fAeiLeX9LyVSf3Hl+4GVS+g/CxxSSh1J335EKfVR\nwKe1fkop9TvAC4AN+FutdS/wnFLqnUqpn6fv/9daazOvykTZujwQw7AVtmunyuPF67v+h9vvHSEU\niWOa8qMlRK4WDf10WD824+62rO3PAc/NcdzvLbs6UXbGwlOMTiTYszlATQEvyJpLtcfJaHiKUDSB\nx2lf0ecSYq0o3+/EoiRd7AkBsF81LLLn8lV7nAAMjsoIHiFyJaEvCiZlmlzqCeG029izJbDiz1ft\nTYe+jOARImcS+qJg+oajRKeSbAh6CrIs4mL8mZa+zMEjRM4k9EXBtKe7djY3eVbl+a619CX0hciV\nhL4oiEQyxeX+MNUeJw01K3sCNyPTpz8wKt07QuRKQl8UxOX+MMlpk+3ra7DZbKvynA67gdtpSEtf\niDxI6IuCyHTtbFtXs8ieheWrsjM8PkUqJWP1hciFhL5YtthUkr7hKI2BKvze1enayfBVOZhOmYyE\npbUvRC4k9MWydfSGMYGtravbygerpQ+yXq4QuZLQF8t2qTeEDdjSuvqTVmVCf1DWyxUiJxL6YlnC\n0ThD45O0NHjxuHOZyqmwvOnnlJa+ELmR0BfLcqnXmp2wGF07ANUeaekLkQ8JfbEsHb0hDJuNTc3V\nRXl+j9uOYZOWvhC5ktAXSzYRSzI2EWddoxdXkWa5NGw2GgJV0tIXIkcS+mLJeoat1vXGIrXyM4K1\nVYxPxIknpotahxDlQEJfLFl3OvQ3BIsf+gDDIeniEWIxEvpiScLRBMOhOE11nqKM2smWCX2ZjkGI\nxUnoiyU53TEOwMam4rbyAYJ11qyeQ9KvL8SiittEE2XrxKUxgKKN2skwTROv0+rL7+4fJxSasY6u\nf/UmgBOiHEjoi7xNxadp6wpR43Ws+lw7M8WiEU62WdcKtHWNc/ik/bpth+7aQU3Nyq/iJUS5kNAX\neTt3eZTktElrfVWxSwGgtqYauxEhljDx+lZ/Kgghyon06Yu8nWofAaClzl3kSiw2m41qj5OJaKLY\npQhR8iT0Rd5OXhrG7TRWbYWsXFR7ncSTKRmrL8QiJPRFXvpHowyMxlAbajCM0jlBmlk6MRyT1r4Q\nC5HQF3nJdO3cuKk4E6zNJxP60sUjxMIk9EVeTrYPA6UX+n5vOvSlpS/EgiT0Rc4SyWnOXR6ltcFL\nvb80TuJmXG3pS+gLsSAJfZGz813jxBMpbt7WUOxSZpHuHSFyI6Evcna2cxSA3VvqilzJbC6nHZfT\nkJa+EItY9OIspZQN+DywF5gEHtVat2dtfz/wBJAAntZaP5W1rQl4A3hQa91W4NrFKjvbOYrdsLFz\nYy3xyUixy5ml2uNkfCKOaZoy9YIQ88ilpf9BwK21vgd4HHgys0Ep5UjffhC4H/hNpVQwa9sXgWiB\naxZFEJ1Mcqk3xNZ1NVS5SvNC7mqPk+mUSWxKxuoLMZ9cQv9e4HkArfVR4I6sbbuA81rrkNY6ARwG\n7ktv+3PgC0BP4coVxdJ2ZQzThF2bFu/aMU2TcDhEKDQ+6084HAJzZWrMzAMUjsZX5gmEWANyabLV\nAONZt5NKKUNrnZpjWxgIKKX+BTCgtX5RKfX7hStXFMuZTmt8fi79+bFohFeOjVBbP/uE78hQP15f\nDd7qws+RE/BZoT8eidNc7y344wuxFuQS+iEg+zc0E/iZbdkDtv3AGPBpwFRKHQL2AV9VSn1Aaz2w\n0BMFg+U5WVZtrZeRSfBXz56AzGOLl8XrWqzGC90hXE47d+1dj9Nhx+VKUe0bwTfHa45FXPj9PhqD\nwVnbbMQxDOec71Us4ppz23z3Z7aB9d63Bq1unVg8hb+6CoM4jY1+AoHyf/9LndRfPnIJ/SPAw8Az\nSqm7gZNZ284CO5RStVh99/cBn9Vafyuzg1LqZeCTiwU+wOBgOJ/aS8bYWBSqvIQnZq/clEhNlvzr\nCgb9C9YYisTp6A2xZ0sdY6PWKZpQKMxEZIoUs19zJBLHMKZxewqzbbFj/H4n4YlJHOlzt0NjUcIT\nk0QjUwwNhYnHS3uQ2mLvf6mT+osr3w+sXEL/WeCQUupI+vYjSqmPAj6t9VNKqd8BXgBswFNa694Z\nx69QD65YLecuW0M1b9xcekM1s7lddqpcdkIR6dMXYj6Lhr7W2gQem3F3W9b254DnFjj+gSVXJ0rC\nmY7M+Pz6IleyuBqfi8HRGNOp1OI7C1GBSvt7rygJ5zpH8bgdbG4u/X7PGp8LEwhH5CItIeYioS8W\nNDQeY2Asxo2baktqKuX5ZI/gEULMJqEvFpSZemFXiffnZ0joC7EwCX2xoLIL/Wor9OVkrhBzk9AX\n8zJNk7Mdo9T4XKxr9BW7nJz4PE4Mm01a+kLMQ0JfzKt3OMp4JM6uzXVlM4GZYbNR43MSSk+8JoS4\nnoS+mFe5de1k1PhcJKZTTMZl2KYQM0noi3mVa+hnTuaGY8kiVyJE6ZHQL6DUGupOSKVMznWO0hio\nIljrKXY5ebl6MjcqoS/ETBL6BWCaJoeP9/D1ly7QM1R6i4ssxeWBMNGpZEmukrWYuvT6veNygZYQ\ns0joL5Npmrxyapzj5wdJJFP85O0exifKf+TI2Y7ymG9nLjU+N4bNxtiEhL4QM0noL9N3Dl/iZGeE\nhkAV+29sIp5M8aNjXUzFy2P1JtM0GR+fvdjJiYuDANyYw6IppcZu2AhUuxiPJphOrZ0uNyEKoTTX\nvSsTqZTJj45143EZ/NJ920kmksSmkpy6NMKZjhFu3Tl7PvlSEw6H+OGrV0iZ134UUimTC91hqqsM\njNQk4C5egUtUX+NmNDzF4NgkdbXFrkaI0iEt/WVouzLGRCzB9lYPHrcVmrfsaMBht3GpN1w248S9\nXh9en//qn0jCwXTKpKW+vE7gZsv063cPx4pciRClRUJ/Gd5ss7pAtrdcW9HJYTfY2FTNRCzB0Pjs\nRT/KQe+wtVBKU62ryJUsXb3f+j/pGYoWuRIhSouE/hKlTJNjbYN43Q7WN1zf/bF1nbWC5KXeUDFK\nW7a+kSg2oDFQft06GXU16Zb+kLT0hcgmob9EHb1hRsNT7LuhEfuMKYfXNfhwO+109IZJldmJxHhy\nmsGxGA2BKlyO8v3xcDvteN12eoalpS9EtvL9rS6yN9NL/t6uZp+sNQwbm1v8TMan6Rktr+GbfcNR\nTJOymWBtIQGfg1A0KZOvCZFFQn+Jjp0fwu20s2eeJQS3tlqrTF3sK6/uhczFZesavZimSTgcmjWc\nMxQaJxwOlfzqx7U+JwBXBsp30WshCk2GbC5BKBKnfyTKzdsacDntc+7TVOfB7bTTNTSFaZplMUul\naZr0DEVxOgwaAx5Ghvp45dgItfUNs/YdGerH66vBW126SygGqtOh3z/BTVtnvwYhKpGE/hK091gn\naLevr5l3H5vNRmuDl46+MD3DUdaXQXdJOJpgIpZgU3P11aURqzxevL7ZwR6NTKx2eXmrS4d+uZ5Q\nF2IlSPfOElzsGQdg+7rAgvtl+sVPtw+veE2FcK1rp/Q/oHLhddup8Tq40D1eNtdMCLHSJPSXINPS\nz/Tbz2ddoxeAUx0jK15TIVwN/Ya1Efo2m40tLdWMTcQZDpXnNRNCFJqEfp5SKZP23hCtDV68Vc4F\n9/VWOanzOWi7PEYiWdpz8UynTPpGotR4nVR7F35d5WRrSzUAF7rGi1yJEKVBQj9PPcMRpuLTi3bt\nZGxodBNPpmgr8dDpG46SnDZZH6wudikFtbXF+tZyobu0338hVouEfp4yXTvbFjiJm21D+mrd05dK\nu4una9A6MbuxaW2F/oagF4fdkJa+EGkS+nm6mG4xbmvNLfRb61w47Aan2ks39E3T5MrABC6nQVNd\n+U6yNheH3WBrq58rgxPEpmQlLSEk9PPU3hPC7bSzPpjbyU6H3YbaGKBrcIKxiakVrm5phkNxopNJ\nNgSvDdVcS3asD2CaMnRTCJDQz0tsKknPUIStrX7sRu5v3Z70hUFnSnQUz5UBa36atda1k7Fjg3X+\nRbp4hMjh4iyllA34PLAXmAQe1Vq3Z21/P/AEkACe1lo/pZRyAF8CtgAu4E+11t8rfPmrq7MvjAls\nybFrJ+OmrfV842U4dWmEe25qXZniluHyQBTDZlsz4/Nn2r7eCv3zXWNFrkSI4sulufpBwK21vgd4\nHHgysyEd7k8CDwL3A7+plAoCvwYMaa3vA94DfK7AdRdFZ781h8uWlvymHlgf9BHwuThzaYRUiV0k\nNByaYjQcp6XBi7OMZ9VcSI3Xxfqgj7auceKJ0h46K8RKy+W3/F7geQCt9VHgjqxtu4DzWuuQ1joB\nHAbuA76B1frPPMeaWKE6E/qbm/MLfZvNxp6t9YSiCboGSmv6grcuWAugb2pem107GTdvbSCRTKGv\nSGtfVLZcQr8GyO4MTSqljHm2hYGA1jqqtY4opfzAN4HPFKTaIuvsC+Nx2wkuYYTLTVut2ThPldjQ\nzTfbhjFssDnPby/l5uZt1vt/skymxBBipeQS+iEgOxEMrXUqa1t2B7cfGANQSm0EfgR8RWv99QLU\nWlST8SR9w1E2NfkxljBj5u70FMylNF7/ysAEvSOTbGjy4p5nttC14oaNtbiddk6W8NBZIVZDLrNs\nHgEeBp5RSt0NnMzadhbYoZSqBaJYXTufVUo1Az8EPqW1fjnXYoLB0m1tnrk0jAncuLVhVp21tV5G\nJsFfXTXrOI8tTjDoJxiE7RsCnO8ax+evWnQKh9Xw/dcuA7C9tXrO2mMRF4bhLPq2xY6Bud97gziN\njX4CAev/a9/OIEdP9zFtGLSU2PxCpfyznwupv3zkEvrPAoeUUkfStx9RSn0U8KVH6vwO8AJgA57S\nWvcqpf4KqAWeUEr9IdZyG+/RWi84UH1wsHQXu3j7XD8ATQH3rDrHxqJQ5SU8MXtSr0Rq8ur+ezbX\ncbFrnB8d7eSu3c0rX/QCUimTl9+8QpXLzvqgZ87aI5E4hjGN21PcbYsd4/c756w/GpliaChMPG59\nod25IcDR0338+PXL/MLtG2btXyzBoL+kf/YXI/UXV74fWIuGvtbaBB6bcXdb1vbngOdmHPPvgH+X\nVyUl7nLf0k7iZtt/YxPfPdLBG+cGih76+soYo+Ep7t7ViMNukFr8kLJ3c+a8SvtwSYW+EKtpbY7R\nWwGd/WFcToOWeu+SH2Ndo4/WBi8n2oeZjBd3SoCX3+oGYL+ae7nHtaix1kNrg5eznaNMxWXopqhM\nEvo5iCem6RlKn8RdxjQFNpuNO1QTiWSKExeLN4pkaCzGm3qATU3VbGtd20M1Z7pDNRFPpnjr/GCx\nSxGiKCT0c3BlcIKUaRZkWOP+G5sAeEMXL3T+6c0uTBMO7d9YFmv3FtLde6xutdfO9Be5EiGKQ0I/\nBx29y+/Pz1gf9NFc7+XExSGminB1aGwqyU9P9BDwuYp+XqEYWht8bG7xc6p9hFAkXuxyhFh1Evo5\nuDqH/rr85tyZi81mY/+NTcQTKX5+dvVbm4dP9BKbmuaB29bjsFfmf/+B3c2kTJPXzw0UuxQhVl1l\n/tbnqb03hMftoKVh6Sdxs92/bx12w8YLP7+yqgt2RyeTfP/VDtxOOwdvXb9qz1tq7tzdjM0Gr53u\nK3YpQqw6Cf1FRCYT9I9E2dq6tCtx51JfU8Wdu5roHorkfYWoaZqEQuPz/lnoQ+S7Ry4RjiZ434HN\n1Hhdy30ZZau22s3uzXVc7AnROxwpdjlCrKpcLs6qaJmFNwrRtZPtoTs38erpfp4/2skt2xtyPi4c\nDvHi0Qt4vLOvKI1FIxy6awc1NbPX7+0djvDSm100Bqp46M6Ny6p9Lbhv33pOd4zy4htd/PpDqtjl\nCLFqpKW/iEx//tY859BfzKZmP3u21HHu8ljeKzp5vD68Pv+sP3N9EIB19e3/fbGN6ZTJRx64Aadj\nbc+zk4vbdjbSGKjiyMleQlE5oSsqh4T+Iq6dxJ3del4O0zQ5eEsjAF967jQjo6M5d9Pk61s/aedM\nxyi3bG/gtp2NBXvccmY3DA7t30gimeLHx7qLXY4Qq0ZCfwGmadLeE6KhpoqAr7B94OFwiM7uAbY0\ne+keivG/v9/G4ZO9HD7Zy4tHLxAOF2Y919dO9/GD1zpprvPwG+/fXXHj8hfyzlta8bodvHSsSxZX\nERVD+vQXMDQ+yUQswa7NdSvy+B6vjwM3+xgOd9DWHWFjSy3rg4W5QtY0TV453sPfv9iGx23n0x++\nBV8JzOy5mkzTnPfDM/NN6p49jfzTsT6ef+0i9++9dt2C318jH5BiTZLQX8BK9ednczoM3rl3Hc+/\n1smPjnXspiHVAAATE0lEQVRzh2piU+Py+txDkTjP/Pgih0/2Uu1x8qkP3URriU0lvBpi0QivHBuh\ntn72ifKRoX4Mw4Gnuhan3cZzr3UznUzgdtkXPCFeKhb6QAP50BLzk9BfwIUua1Gw7etXLvQBGgNV\nPHjHRn5yvIfXzw3QWevG7/Vw4JbqnE+6xqaS9AxP8rWXO3mjbYTkdIrNLX4+9aGbaAzkv9LXWlHl\n8eL1zb6SOhqZwDDs1NXVsu8G60Ktc92THLippQhV5m+po7iEkNBfwOmOEdxO+4q29DNaGrw8fM8W\nDp/opW8kypdfaOerL16izu+ittp9daK36elpxiNxbLYRplMmiWSKyXiS5PS1E79NtR4O7d/IfXtb\nZaRODtSmWs53jXG+a5ydG2vxrOJvhWmajI+PEwrNPZ/7Qi32zCguIfIhoT+PkdAkfSNR9m5vWLXp\nCrxVDt5950Z6B0ZImQadg5MMj09yqTeMybVQN00wDBt2w4bTYVDjc+GtchLw2Di4t4XbbtywrNlA\nK41h2Ni/q4kXX+/i8Ile3rV39aabDodD/PDVK6TM2b+K0mIXK0FCfx6ZtWx3b139+eYDPif33tw6\n5y97KDTO4ZO983RZhNm5oUYCfwlaG3zs2lzH2c5R3mgb4+Dedav23F6vjxRzjw6LJ1Kcah+mvTdE\n73CU5HQKTPC5bYxHJmkNOmgIVGGX/3ORIwn9eZzusEJ/z5a1scjIfCf+wuHQdd8iKtntKshwaJKu\noRgvv93PBw/WFq2WiViCk+3jfP9oH5Px+dc1O94ewmG30VzvZUuLn41NlbU+gsifhP4cUqbJmY5R\n6vxuWgs0yVo+FhqZEQ6HWEpGz3fib2Son2BTE26PeymlrimGYeO+vev4/s8u8d1Xu/F5vRzav7pT\nVqRSJmc6Rjh+YZjplInLDjs3+GiscRPwOXAYNkygr3+QaZuH6LSTvuEo3YMRugcj2A0bG4MeNjfX\nsEe6hcQcJPTncLk/zEQswb03ty5r2JtpmkQiE4RC47O2LRTeiw019Ppq8FbnfwJvrhN/0chE3o+z\nlnmrHNx3cwOvnR3j/710nnhymvfevXlVhj+GInFeebuH0fAUVS47u1ucbGisItg0e92DVCKGYdip\nb2y6emxHX5gLXeN09Ef5i2fOsWdLPx+4dys3bCjeNxZReiT055Dpz9+zzP78WHQCfXGYKaN31rbF\nwnuhoYZiZdV4nfybD+3kC9+7wD+80s6VgQk+/p4bqXKt3K9L92CEnx7vIZ5MsX19DXeoJsJjAzmf\nn6nxubhlewM3b6vnUtcQ/WMJTneMcrpjlH07GvnIAztoXsb6zmLtkNCfw/ELw9iAXVuWfyWuu8oj\n4V2GgoEqPvOxO/jCt0/x87MDXBmY4NGHdxd8+K5pmpxoH+NY2yiGYeOem1rYscHqlpl7EOfCbDYb\nLfVVfPjgVvrGTb71k3bevjDEyfZhHrpzI/ff0oDLMfdoNLmgqzJI6M/QPRThQvc4e7bWl92c8ytx\nLqASZd5Hvx8ee3g7332ti1eOD/AnX32Dg7c08Z7963C7Zl//kG9oTsWn+coLl3j74ihet4P7b1tX\nkAvpMvW3BGp47OFtnGgf49s/6+IHr13mlbe62K/qaAxcfw5HhodWDgn9GX56vAdgVYfsFcpKnQuo\nNDPfx2CN1c//5vkxfnx8gKNnB7lT1ROsdV93TD6hOTAW43P/cIKuwQhNdW4O7tuAx12YX8e5fg4O\n3lzPG2f76RpN8eMTw6hNtdy2M4hznla/WLsk9LMkkil+dqoPv9fJvhvKcwpiORdQGDPfxy0+Pxta\n6nn1eCeXBuK8cnKYHesD3LqzMe+wPnFxmL/53mkik0nuvSnI1nU+bEZhfxXn+jm4ZWuUzc0mp65M\noS+P0TUwwd17WlgfrLx5mSqZhH6WY22DTMQS/OJdmyp20XAxP4fdYNeGKtbVuznTHedC9zid/WFu\n3lbPpsbFf5Uikwm+/tIFDp/sxWG38fH33Mi+rT7ebh9h/pH4hVVX7eDhd7Rw4sIwpy6N8NKbXexY\nH2D3psqdn6nSSOhneeVtazGN+8qwa0esnrpqB+870ErblTHevjDEsbYhTrUbxOI23rHXzvpG33V9\n+yOhSV5+q5sfv9VNZDLJpuZqPvHeXWxq9s85nHel2Q2DW3cG2dTi52cn+7jQPU7XYJimOh/33CJ9\n+mudhH7aG+cGOHd5jD1b6miRoW1iEYZh48bNdWxdV8O5zlHOdIzwwzd6+eEbvdT53dT73bhddnqH\no4yGpwCo9jj58P3beff+jSXxTbKhpor3HdjMqUsjHL8wxFM/uMib58f5yAM7aKqT34G1SkIf65L3\n//NiG06Hwa++WxbJFrlzO+3s3dHIlqCTGp+Hs10Rzl8Zo6MvzHTKpLbaxc3brGUqD+xpweUsrVlP\nDcPGLdsbCPptXOiJ8tZ5a3jnwb3reejOjTTWLtzts5xZQkVxLBr6Sikb8HlgLzAJPKq1bs/a/n7g\nCSABPK21fmqxY0rN1146TygS51fu3y6tfLEkTofB7TvredcdWwErDOPJFO4SC/n5BHxOPv0hhe6Z\n4pkfX+SlY128/FY3t97QyP5dTezd3jjnMFWZJbT85NLS/yDg1lrfo5S6C3gyfR9KKUf69u1ADDii\nlPoOcO98x5SS5HSKr790gZ+d6mNzi59337m686yItctms10N/MWunyiVCe9sNht37mrmtp1BXj87\nwD8evcybbYO82TaI3bCxrtHHhmA1gWoXvioHhmEjFpukZySBaaasV2Far8Y0IZlM8eqZIdY1JWmp\n99IQqMKQVn/R5RL69wLPA2itjyql7sjatgs4r7UOASilfgocBA4scExJuDIwwddeOs/ZzlHWB318\n6kM3YTeK388qytNiwf7a6QE8vtlDI0txwjuH3eDATS3cvaeZrsEIPz/bz6n2IXqGI1wZyG/o75nO\nMNAJgNNho7nOQ0tdFS31Hrauq2d90EdjwLOi04EvtrRkY2NlzUyaS+jXANlDDJJKKUNrnZpj2wQQ\nAPwLHFNUXYMTPP2Ds1zqtfogb72hkUcf3l2wC2NEZcrpwrgyu37CZrOxsamaQNU0xMe4/YYWopPT\nTCVSxJPWr3I4NEZtbQCX25c+Jn0sNkZHh4nE4uDwEI4mCUUT9AxF6RqMpp/BGi3ndBi01ntZF/TR\n2uAj4HPhcTvwuh143A5cTgPDZsNms85BXP23zUYqZZJMmSSnU0xPp/9OmSSmU8QT0ySSKcZDE5y4\n0I/hcDGdMpmeNq2/UybxeIKNrZcxbHYcdgOnw/rjchi4nXZcTjtupx23y371vsy/s89VmEAiOU1s\nMklDoKqkT4TnknQhrBDPyA7vEFbwZ/iB0UWOKapLPSE6+sLcsr2Bg3vXsfeGxmV/5TQwmRgfIDox\ned390cgEU7Ew0cjsk1yTsQiG4Sj6tslYBIcDplOz34NSqnGhY0qh/sz985mMRYte/0LHxKKRhafw\nwArZao+D6qxzu+6UjWrPNC737F/vpHOKgNtBbf21KDBNk8jkNEOjE9T6PYxFTfpGJ+kdiXA5z28R\n+Zuc897ukcGCPkud381ffOodBX3MQsol9I8ADwPPKKXuBk5mbTsL7FBK1QJR4J3AZ9Pb5jtmPrZg\ncOWnCPjlBxW//GBhR+g8+K79BX08IUrNvn27i12CKBCbaS58EilrJM4t6bsewTpx60uP1Hkf8EeA\nDfhbrfUX5zpGa922Ei9ACCFE7hYNfSGEEGuHDFcRQogKIqEvhBAVREJfCCEqiIS+EEJUkJK4Ikkp\n9SHgw1rrX03fvgv4a6z5fF7UWv+XYtY3n3KbYyhb+j3+r1rrdymltgNfBlLAKa31p4pa3ALSU398\nCdgCuIA/Bc5QPvUbwN8ACqvefwVMUSb1AyilmoA3gAeBacqodgCl1Jtcu3j0EvBnlMlrUEr9HvAB\nwImVPT8hz9qL3tJXSv0V1i9u9tUpXwT+udb6ncBdSqm9RSlucVfnJQIex5pjqOQppf4DVvBkrv1/\nEvh9rfVBwFBK/VLRilvcrwFDWuv7gF8EPkd51f9+wNRa34s1UeGfUUb1pz90v4h1XQ6UUe0ASik3\ngNb6gfSff0mZvAal1EHgQDpv7gc2sYTaix76WBd/PZa5oZTyAy6tdUf6rh9itShK0XXzEgElN8fQ\nPC4AH8q6fbvW+qfpf/8jpft+A3wDKywB7EASuK1c6tdafwf4zfTNzVhXsJdN/cCfA18AerAaauVU\nO1jfyn1KqR8qpf4p/Y23XF7DQ8AppdS3ge8C32cJta9a6CulPqGUOqmUOpH19+1a62/O2LUGaxqH\njDDWfD6laM55iYpVTK601s9ihWVG9resUn6/0VpHtdaRdOPgm8BnKKP6AbTWKaXUl4H/Afw9ZVK/\nUurjwIDW+kWu1Zz9816ytWeJAp/VWj+E1dj8v5TJ+w80Yl0Y+2Gu1Z73+79qffpa6y9h9cUuZq75\nfMZWpKjlK9k5hvKUXXMpv98AKKU2At8CPqe1/ppS6r9nbS75+gG01h9P942/DmSvVFLK9T8CpJRS\nh7BazF8FglnbS7n2jDasb7porc8rpYaB27K2l/JrGAbOaq2TQJtSahLYkLU9p9pLrlWqtQ4DU0qp\nrekTpQ8BP13ksGI5ArwXII85hkrRMaXUfel/v4fSfb9RSjVjdfn9R631V9J3v1VG9f9a+mQcWCf/\np4E30v21UML1a60Paq3fpbV+F/A28DHgH8vlvU/7BPAXAEqpdVgNzBfK4f0HDmOdx8rU7gNeyrf2\nkhi9M4d/hfW11wBe0Fq/XuR65vMscEgpdSR9+5FiFrMM/x74G6WUE2sSvWeKXM9CHgdqgSeUUn+I\nNavtvwX+Z5nU/y3gaaXUK1i/f58GzgFPlUn9M5XTzw7A32K9/z/F+ob7cawWdMm//1rr55RS71RK\n/RyrS+oxoIM8a5e5d4QQooKUXPeOEEKIlSOhL4QQFURCXwghKoiEvhBCVBAJfSGEqCAS+kIIUUFK\ndZy+WOOUUj7gv2FdfDeBdXXzf9Za/yi9/WWsqw3DWD+no8AntNYX09s/BTyKNV45Bfyl1vrv5nie\nDiCmtd6VdZ8d6AO+p7X+RPq+h4D/jHVVYwp4AfgDrXVMKbUZazbGQ1rrl7Ie5xJwEPiPwDuwZv3c\nAZxO7/LX6b/v11o/knXcQeA/pWc4/SOs61J6sRphTuDLWuvPzngdfw78OrBea51I3/c/gRat9a9k\n7fdu0jO/aq0jc775oqJJS18Uy/ewphTepbW+FesCq7/LuroTrJC/TWt9C9ZFTX8KoJS6E/iXwF1a\n631YHxx/rJS6eY7nMQGvUmpP1n2/gHUlLOnH+wWsScQ+qbXeA9yKFeDfyTomgXURkm/GY6O1/q30\na3gv0J2u+basK4bnuhgm+74vpPffB9wHfEwplf0hYQd+BesK8F/JOu73gNuUUu9L7+fFCvxHJPDF\nfCT0xapLt3Q3aa1/Nz2PCFrrt4E/4doMmnD9z2cA6E//uyX9d3X62EGsSagG53nKf+D6sPwI11+5\n+AfAH2mtj6cfLwn8NrBbKfWO9D49wItcP3129kRd+Zj3OK31MPDHwG9l3f1e4CLWXDefzNo3gjVj\n5/9KB/4fA9/OmnVRiFkk9EUx7MdahGOmn6S3ZfyNUupYuhvlt7k2Yd8/Ap1Ar1Lqx+kukhGtdd8c\nj2lizcb5ywDpy9X3AT+fUc91U32kg//VrHpM4HeBh9LfDPLxS+nXcUwp9RbWWgYLOYW1yErGI8DX\nsV73XqXUjVl1voQ1F9HTWNPqfibP2kSFkdAXxWAy9/kk14zbj6a7PbZiLZ7yT0opn9Y6obX+ELAL\n+BrWdLPH090+c+kGxpRSO4F3Y4Vkdms7p3q01hPAb2B9GFUv+Aqv952sLp9bsc5FLMQEYgBKqSBW\n99UzWutJrDnUPzlj/3+P9bp+S2s9lUddogJJ6ItiOArcke6rznYPM1rcGVrr57AWTVFKqY8ppR7Q\nWrdrrb+otf4A1knTjy3wnN8E/ln6z9dnbHsNOJB9h1LKhTXlbvY3AtJzyb+INVPjSk1ctRdrCUiw\nPuwAXldKtWOdj/j1zApQ6ZrCWCe6O1eoHrGGSOiLVae1Pow1wuWv0svvoZS6Hfh9YM71kNPbHYDG\nCv8/U0o1pLc5gJ3AW3McmmnRP4MV+Ddm+u6z/CfgD5RS+9KP58T6EDmjtf7ZjMcBq2X9ELBugefL\nx9VjlFKtWDOJfi5918eBf6G13qa13pZ+zhGs8xLLfV5RgWTIpiiWX8ZaH/aUUiqJFWS/OuMk5FNK\nqQmsxokBfDR98vLL6cA/opTKjML5WnqhnpkyI2x6lVKjwMszd9BaH1FK/TrwP5RSdVjDJn+AtQby\ndY+T3j+slPoN0ktlzvV8efrkjLVNv6i1/qZS6jas1ZKezXpuUyn111jDPL+6zOcVFUimVhZCiAoi\n3TtCCFFBJPSFEKKCSOgLIUQFkdAXQogKIqEvhBAVREJfCCEqiIS+EEJUEAl9IYSoIP8f6px5JVrw\nFrQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#seaborn histogram (distribution plot) of week of year of min sighting date per location\n", "sns.distplot(df_first_seen['OBS MONTHDAY'].apply(lambda x: int((x.timetuple().tm_yday/7))))\n", "sns.plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#import packages needed for bokeh plots on date-related data\n", "from bokeh.palettes import Spectral6\n", "\n", "#create labels for \"map\" plot\n", "p = figure(title = \"Ruby-Throated Hummingbird Migration Map (colors tied to week of 1st observation)\")\n", "p.xaxis.axis_label = 'Longitude'\n", "p.yaxis.axis_label = 'Latitude'\n", "p.title_text_font_size = '8'\n", "\n", "#determine the range or values for which to set colors\n", "high = plotdata['OBS MONTHDAY'].max().timetuple().tm_yday/7 #highest year day in resulting set\n", "low = plotdata['OBS MONTHDAY'].min().timetuple().tm_yday/7 #lowest year day in resulting set\n", "#print(int(low),int(high)) #weeks 1 to 52\n", "matrix = [ ([i*85] * 13) for i in range(4) ]\n", "#add week of year value to each row\n", "plotdata['WOY'] = plotdata['OBS MONTHDAY'].apply(lambda x: int((x.timetuple().tm_yday/7/((high-low)/52))))\n", "r = [x for row in reversed(matrix) for x in row]# [x*4.4 for x in range(0,53)]\n", "g = [x*4.4 for x in range(0,53)]\n", "b = [x for row in matrix for x in row] #need one more value\n", "b.append(255)\n", "r.append(0)\n", "#convert numeric values to hex values\n", "colors = [\n", " \"#%02x%02x%02x\" % (int(r), 50, int(b)) for r,g,b in zip(r,g,b)\n", " ]\n", "color_dict = {}\n", "#assign a hex color to each value for first sighting 0-52 weeks\n", "color_dict = dict(zip(range(0,53),colors))\n", "#print(color_dict)\n", "#assign colors to values in table to be plotted\n", "colors = [color_dict[x*2] if x < 26 else color_dict[52] for x in plotdata['WOY']] #added *2 to skip though these colors faster, until > 26, then stay at max\n", "\n", "#create and display the \"map\"\n", "#p.circle(plotdata['SHORT LONG'], plotdata['SHORT LAT'],fill_color=colors, line_color = None, fill_alpha = 0.8 )\n", "#show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Below we create a \"map\" that shows the hummingbird range by plotting the location points colorized by the week of first sighting. The user can choose the location in human-readable form" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# get the earliest sighting in any year by short long and short lat group\n", "df_first_city_state = df_loc_date.loc[:,('SHORT LAT','SHORT LONG','COUNTRY','STATE_PROVINCE','COUNTY','LOCALITY','OBS MONTHDAY')].groupby(['COUNTRY','STATE_PROVINCE','COUNTY'])\n", "df_first_city_state = df_first_city_state.agg({'OBS MONTHDAY' : np.min, 'SHORT LAT': np.mean, 'SHORT LONG': np.mean})\n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#allow the user to enter input from available countries, states, and cities\n", "from ipywidgets import *\n", "from IPython.display import display\n", "\n", "#the locations with nan counties won't show up right on the map, so for now just filter them out of the dropdown choices\n", "df_select_locs = df_loc_date[pd.notnull(df_loc_date['COUNTY'])]\n", "\n", "#countries\n", "countryselect = widgets.Dropdown(\n", " options=df_select_locs['COUNTRY'].unique().tolist(),\n", " value = 'United States',\n", " description='Country:',\n", ")\n", "#states\n", "stateselect = widgets.Dropdown(\n", " options=df_select_locs['STATE_PROVINCE'][df_loc_date['COUNTRY']==countryselect.value].unique().tolist(),\n", " value = 'Virginia',\n", " description='State/Province:',\n", ")\n", "#counties\n", "coselect = widgets.Dropdown(\n", " options=df_select_locs['COUNTY'][df_loc_date['STATE_PROVINCE']==stateselect.value].unique().tolist(),\n", " value = 'Harrisonburg',\n", " description='County:',\n", ")\n", "\n", "def mapMigrationByCity(country, state, co):\n", " #this triggers on-change, so also reset dropdown selection values\n", " stateselect.options = df_loc_date['STATE_PROVINCE'][df_loc_date['COUNTRY']==countryselect.value].unique().tolist()\n", " coselect.options = df_loc_date['COUNTY'][df_loc_date['STATE_PROVINCE']==stateselect.value].unique().tolist()\n", " \n", " #when a location is selected, try to find a data point for the entered combination\n", " idx = pd.IndexSlice\n", " try:\n", " df_city_state_co_summary = df_first_city_state.loc[idx[country,state,co],:]\n", " except:\n", " df_city_state_co_summary = []\n", " print(\"Combination of country=\",country,\", state=\", state, \" and county=\", co, \"not found.\") \n", " \n", " if len(df_city_state_co_summary) > 0:\n", " #show the latitude and longitude and earliest sighting for the location selected\n", " print('AVG LATITUDE:',df_city_state_co_summary['SHORT LAT'])\n", " print('AVG LONGITUDE:',df_city_state_co_summary['SHORT LONG'])\n", " obs_mon = df_city_state_co_summary['OBS MONTHDAY'].timetuple().tm_mon\n", " obs_day = df_city_state_co_summary['OBS MONTHDAY'].timetuple().tm_mday\n", " print('EARLIEST SIGHTING:',str(obs_mon)+'/'+str(obs_day))\n", "\n", " #display the points on the map for first-observations by this date\n", " max_date = pd.to_datetime('2014-' + str(obs_mon).zfill(2) + '-' + str(obs_day).zfill(2))\n", " plotdata_date = plotdata[plotdata['OBS MONTHDAY'] <= max_date]\n", "\n", " #create labels for \"map\" plot (not using google map this time)\n", " p2 = figure(title = \"Ruby-Throated Hummingbird Migration Through \" + str(obs_mon)+'/'+str(obs_day))\n", " p2.xaxis.axis_label = 'Longitude'\n", " p2.yaxis.axis_label = 'Latitude'\n", " p2.xaxis.bounds = [-130,-50]\n", " p2.yaxis.bounds = [5,60]\n", " p2.x_range = Range1d(-130,-50)\n", " p2.y_range = Range1d(5,60)\n", " p2.title_text_font_size = '8'\n", " colors = [color_dict[x*2] if x < 26 else color_dict[52] for x in plotdata_date['WOY']] \n", " p2.circle(plotdata_date['SHORT LONG'], plotdata_date['SHORT LAT'],fill_color=colors, line_color = None, fill_alpha = 0.8 )\n", " #get the actual color of the small dot representing the location we want to show as a bigger dot\n", " plotdata_loc = plotdata_date.loc[(plotdata_date['SHORT LONG'] == df_city_state_co_summary['SHORT LONG'].round(0)) & \n", " (plotdata_date['SHORT LAT'] == df_city_state_co_summary['SHORT LAT'].round(0) )]\n", " color2 = [color_dict[x*2] if x < 26 else color_dict[52] for x in plotdata_loc['WOY']]\n", " #larger point to indicate selected location on map\n", " p2.circle_x(plotdata_loc['SHORT LONG'], plotdata_loc['SHORT LAT'],fill_color=color2, line_color = \"black\", fill_alpha = 0.8, size=15 )\n", " show(p2)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Q: When can we expect the first Ruby-Throated Hummingbirds to reach X location in their northward migration?*\n", "\n", "## A: Select a Country, State, and County from the Dropdowns. The date of first arrival is shown in the map title, and the selected location is highlighted on the map, showing the range as of that date." ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AVG LATITUDE: 38.0\n", "AVG LONGITUDE: -79.0\n", "EARLIEST SIGHTING: 5/2\n" ] }, { "data": { "text/html": [ "\n", "
\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interact(mapMigrationByCity,country=countryselect, state=stateselect, co=coselect)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Now we'll show an interactive map \"animating\" the range by day of year" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#show map with distribution by this date\n", "#mon_day = '0501'\n", "myslider = IntSlider(min=1,max=365,description=\"Day of Year\")\n", "myslider.value = 60\n", "#display(myslider)\n", "\n", "\n", "def mapMigrationByDate(md):\n", " max_date = datetime.datetime(2014, 1, 1) + datetime.timedelta(md - 1)\n", " plotdata_date = plotdata[plotdata['OBS MONTHDAY'] <= max_date]\n", " #print(plotdata_date)\n", " obs_mon2 = max_date.timetuple().tm_mon\n", " obs_day2 = max_date.timetuple().tm_mday\n", " \n", " #create new map plot\n", " #create labels for \"map\" plot\n", " p3 = figure(title = \"Ruby-Throated Hummingbird Migration Through \" + str(obs_mon2)+'/'+str(obs_day2))\n", " p3.xaxis.axis_label = 'Longitude'\n", " p3.yaxis.axis_label = 'Latitude'\n", " # fixed axes on this one for visual effect\n", " p3.xaxis.bounds = [-130,-50]\n", " p3.yaxis.bounds = [5,60]\n", " p3.x_range = Range1d(-130,-50)\n", " p3.y_range = Range1d(5,60)\n", " p3.title_text_font_size = '8'\n", " colors = [color_dict[x*2] if x < 26 else color_dict[52] for x in plotdata_date['WOY']] #added *2 to skip though these colors faster, until > 26, then stay at max\n", " #map points\n", " p3.circle(plotdata_date['SHORT LONG'], plotdata_date['SHORT LAT'],fill_color=colors, line_color = None, fill_alpha = 0.8 )\n", " show(p3)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Q: What is the range of the Ruby-Throated Hummingbird by Y date?*\n", "\n", "## A: Use the slider to change the day of the year. The date is shown in the map title, and the points for the locations where hummingbirds have been observed by that date are shown." ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "interact(mapMigrationByDate,md=myslider)\n", "mapMigrationByDate(60)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }