{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import rdp\n", "import gpxpy\n", "import mplleaflet\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['axes.xmargin'] = 0.1\n", "plt.rcParams['axes.ymargin'] = 0.1\n", "%matplotlib inline\n", "\n", "import seaborn as sns\n", "sns.set_style(\"whitegrid\")\n", "sns.set_context(\"talk\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lets start with a simple track" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "traverse = np.array([[0., 1.], [0.3, 0.6], [2., 0.], [3.8, 0.65], [5.6, 0.9], [6.3, 0.86], [7.1, 0.61], [10., 0.95]])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtkAAAHuCAYAAABK2hAWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl81NWh/vHPzCQzScgCJOwQIERWkT1sYVFQWaxKgWLF\n7d7Wn2JtLV2u1d4K2Fdr9V7Btt5qq7a1lW5qi1ZBUUS2BELYZQ+BEAhL9o3JTGb5/ZGlULYkM8l3\nluf9V5mZZB7PTJMnZ873HJPX6/UiIiIiIiJ+YzY6gIiIiIhIqFHJFhERERHxM5VsERERERE/U8kW\nEREREfEzlWwRERERET9TyRYRERER8TO/ley9e/cyadKkq97/t7/9jdtvv53Ro0czf/58srOz/fXU\nIiIiIiIBxS8l+5133uFrX/saLpfrivdv27aNFStW8Itf/ILs7GwWLlzIokWLKC8v98fTi4iIiIgE\nFJ9L9quvvspbb73FokWLrvqYs2fP8vWvf50BAwYAcPfdd2M2mzl69KivTy8iIiIiEnAifP0G8+bN\n49FHHyUrK+uqj7nrrrsu+feOHTu4cOECqampvj69iIiIiEjA8XkmOykpqVmPz8nJ4YknnuCJJ56g\nffv2vj69iIiIiEjAadPdRTZv3sy9997L/fffz9e//vW2fGoRERERkTbj83KRpnr33Xd57rnnePbZ\nZ5k1a1azv37Hjh2tkEpERERE5NpGjRrV7K9pk5KdmZnJs88+y29/+9sWhWyQmpqKzWbzYzJpCofD\nQU5OjsbfIBp/Y2n8jaXxN5bG33h6DYzVMP4t0Wole8mSJZhMJpYuXcrrr7+Oy+Xi4YcfBsDr9WIy\nmfjFL35Benp6k7+nzWYjKiqqtSLLdWj8jaXxN5bG31gaf2Np/I2n1yD4+K1kp6WlkZmZ2fjvZcuW\nNf7vN954w19PIyIiIiIS8HSsuoiIiIiIn6lki4iIiIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiI\niJ+pZIuIiIiI+JlKtoiIiIiIn6lki4iIiIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuI\niIiI+JlKtoiIiIiIn6lki4iIiIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlK\ntoiIiIiIn6lki4iIiIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiI\nn6lki4iIiIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiIn6lki4iI\niIj4mUq2iIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiIn6lki4iIiIj4mUq2\niIiIiIifqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiIn6lki4iIiIj4mUq2iIiIiIif\nqWSLiIiIiPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiIn6lki4iIiIj4mUq2iIiIiIifqWSLiIiI\niPiZSraIiIiIiJ+pZIuIiIiI+JlKtoiIiIiIn/mtZO/du5dJkyZd9f4PPviA6dOnM2LECB599FGK\ni4v99dTSBmo9LqMjiIiIiAQNv5Tsd955h6997Wu4XFcuYocOHWLp0qWsWLGCbdu2kZSUxFNPPeWP\np5ZWVOWs5q09/+Aba37E8tzf8401P+KtPf+gylltdDQRERGRgOZzyX711Vd56623WLRo0VUf0zCL\nPXToUKxWK9/73vfYtGkTJSUlvj69tJIqZzVL1r3I+4fWUumsAqDSWcX7h9ayZN2LKtoiIiIi1+Bz\nyZ43bx6rVq3ixhtvvOpjcnNz6devX+O/27dvT0JCArm5ub4+vbSSVQfXkl9x5or35Vec4b2Da9s4\nkYiIiEjwiPD1GyQlJV33MXa7nejo6Etui46OpqamplnP5XA4mvV4abn1uVuuef9nuRnMHTCzjdKE\nt4b3vd7/xtD4G0vjbyyNv/H0GhjLl3H3uWQ3RVRU1GWF2m63ExMT06zvk5OT489YchW1HheV11kO\nUumsYs++PUSY2+QtJOj9bzSNv7E0/sbS+BtPr0HwaZOG1K9fP44fP97475KSEioqKi5ZQtIUqamp\n2Gw2f8eTK4g71e6aRTvOGsuwocPaMFH4cjgc5OTk6P1vEI2/sTT+xtL4G0+vgbEaxr8l2qRk33HH\nHdx///3MnTuXIUOGsHz5ciZPnkxCQkKzvo/NZiMqKqqVUsrFbk6ZyPuHrr7u+paUCXot2pje/8bS\n+BtL428sjb/x9BoEn1Y7jGbJkiUsXboUgIEDB/LjH/+Yp556iokTJ1JUVMRPf/rT1npq8YO7B91G\nr/huV7yvV3w37hp0WxsnEhEREQkefpvJTktLIzMzs/Hfy5Ytu+T+GTNmMGPGDH89nbSyWGs7lk37\nLu8dXMuHBzfiMtUQ4Y1i9qDJ3DXoNmKt7YyOKCIiIhKwdNWaXFWstR0Lh82hOjeFf245xpA+SSwc\nNtnoWCIiIiIBr9WWi0joSEyIAq+F4gptHyQiIiLSFCrZcl2J8XVXMxeX1+D1eg1OIyIiIhL4VLLl\nuhIT6q5mrnV5qKh2GpxGREREJPCpZMt1NZRsgKIyu4FJRERERIKDSrZcV0KsDbOp7n8Xl9dc+8Ei\nIiIiopIt12cxm4iLtgBQqJlsERERketSyZYmiW9XV7KLy1WyRURE2lKtx2V0BGkB7ZMtTRKvmWwR\nEZE2U+WsZtXBtazPzaDSWUXcqVhuTpnA3ToQLmioZEuTJDTMZJdpTbaIiEhrqnJWs2Tdi+RXnGm8\nrdJZxfuH1rKrYB/Lpn1XRTsIaLmINEnDTLZ2FxEREWldqw6uvaRgXyy/4gzvHVzbxomkJVSypUni\n29V96FFUbteBNCIiIq1o/fEMn+6XwKCSLU3SMJOtA2lERERazwVnDZWOqms+psJRhdNd20aJpKVU\nsqVJGtZkg5aMiIiItIbSyhp+/Ho23trIaz4u3haL1XLtx4jxVLKlSdrZzFjqT6RRyRYREfGvw3kl\nLF6xgS+OFeMq7HnNx97cd0IbpRJfqGRLk5jNJjrG2wCVbBEREX/6KPMEP/i/LRSX12CNtPBo+hx6\nxXe74mN7xXfjrkG3tW1AaRFt4SdN1jEhisKyGop0tLqIiIjPnLVufv2PfazdlgdA18QYnn4ojb7d\nE5jo/C7vHVzLZw37ZFtjuSVlAndpn+ygoZItTZaUEMVhNJMtIiLiq8JSO8+9mcXR/DIARg3szPcW\njiI2xgpArLUdC4fNYe6AmezZt4dhQ4cRFRVlZGRpJpVsabKO8XX/5y7S0eoiIiIttjenkBf+mE15\nVd1uXffcOoCv3jYAc/21T/8uwqy6Foz0qkmTJSXUl2zNZIuIiDSb1+vlvY3H+N0HB/B4vMRERfDd\ne0eRNqSr0dGkFahkS5MlNpbsGrxeLybTlf/iFhERkUvZHS5++bfdbNp9GoDkrnH88KE0uneKNTiZ\ntBaVbGmyhpLtcnsor3LSPs5mcCIREZHAV1BYxU9/n0Xe2UoA0od151sLRhBtUw0LZXp1pckS4/91\nwUVRuV0lW0RE5DqyDpxl+codVNe4MJvgwdlDmDO1nz4NDgMq2dJkCbFWLGYTbo+XojI7qT3bGx1J\nRAKU0+XEGmE1OoaIYTweL3/55DB/XnsYgPh2Vv7r/tEMu6GTwcmkrahkS5OZzSYSE6I4X2qnWBc/\nisi/qXJWs+rgWj4/nkGFo4p4WyxT+07gbu3rK2Gmyl7Liyt3kH3wHACpvdrz1INj6NwhxuBk0pZU\nsqVZktpHc77UTqFKtohcpMpZzZJ1L5JfcabxtgpHFe8fWsuugn0sm/ZdFW0JCyfOVPDT32Vxprga\ngFvTknn0yzdhjbQYnEzamo5Vl2ZJSogGoFinPorIRVYdXHtJwb5YfsUZ3ju4to0TibS9jbtO8b1f\nbORMcTURFhPfmDeMb35luAp2mFLJlmZJal9XsjWTLSIXW388w6f7RYKZ2+3hjfe/4H/e2oHD6aZj\nfBTPfSOdGeP76ALHMKblItIsie3rdhgp1qmPIlLP6XJS6ai65mMqHFW8/dlBpo/pS4c4HQ0toaOs\n0sELf8xm37EiAIakJPLkA6P1PheVbGmeTvUz2UVlNXg83qseASsi4SPSEonVFI3Te/U/vr21Vv7w\n4RFWrjnK6EFduG1sb0YN7IzFog9UJXgdOVnKc7/Poqh+CeWdk1P4jzuGEKH3taCSLc2UWL8m2+X2\nUFGtA2lEwp3H4+X197+g+nRXIrsfv+rjkiMHk2+LwO5wsW3/WbbtP0uHOBu3jO7FrWN700On3kmQ\n+XhrHq/+fS8utwdrpIVvfmU4U0f2NDqWBBCVbGmWhplsgKIyHUgjEs7cbg+/+NtuPsvOB0sKcV1L\nqTGXXfa4XvHdWDbtPiLutpGxr4C1206yP7eY0koH767P4d31OQzu25Fb03ozcVh3nYInAa3W5ebX\n/9jHx1vzAOiaGMPTD6XRt3uCwckk0OgnmTRLQqyNCIsJl9tLUbmd1F46kEYkHNW63PzPWzvI3Fe3\no8j0kf146K4ZfHDkE9ZftE/2zX0ncNdF+2TfMjqZW0YnU1BYxafbT7Ju+0lKKhwcOF7CgeMl/GbV\nXiYN78mtackM6N3ByP9EkcsUltr52R+yOHKy7o/JUQM7872Fo4iN0cFLcjmVbGkWs9lEx4Rozpdc\noEg7jIiEJbvDxU9/l8Xuo4UA3DW5H//5pSGYzSYWDpvDwmFzcLprsVoir/o9uneK5YFZg1l4+0B2\nHj7PJ1knydp/FrvDzdpteazdlkevLrFMHdGdLtHutvpPE7mqfTlFPP/H7ZRXOQFYcGt/vnrbQCy6\nNkmuQiVbmi0pIUolWyRMVV5wsuz1rRzOKwVg4YyBLJje/7Jtyq5VsC9msZgZM7grYwZ3pazSwfod\n+XySlUf+uSryz1Xxx4+OYDbBqENuZkzoy6gBulhS2pbX6+W9jcf43QcH8Hi8xERF8J2vjmTsjd2M\njiYBTiVbmi3poh1GRCR8lFbU8MxvMjlxpgKAh+++kTsn9fPb928fZ2PO1FTuntKPwydL+WTbSTbu\nOkWN0832g+fZfvA8HeNt3DI6melpybpYUlpdjcPFL/+2m427TwPQq0scTz80hp6d4wxOJsFAJVua\nreHUxyLtlS0SNs6VXOBHr2Zwprgas9nEEwuGc8vo5FZ5LpPJxMDeHRnYuyP3z0jlnY93cuQsHDxR\nSkmFg3c+O8o7nx1lSEoit6YlM/Gm7kRd5WJJp8uJNULrZaX5Coqq+Onvssg7WwnAxJu6860Fw4mJ\natqnNCIq2dJs/5rJVskWCQf55yr50a8zKC6vIcJi5r/uH834oW3zUXmUNYIRKe2470tDKK508WnW\nST7LrrtYcn9uMftzi/n1P/YxeUQPpqclMyC5A9W1F1h1cC2fX3QB5tS+E7j7ogswRa5l+4GzvLhy\nB9U1LswmeHD2YOZMTdXpjdIsKtnSbEmNpz7qQBqRUHc0v5Qlv9lK5QUnUVYLP/yPNIb372xIlh6d\nYnlw9mDumzGQHYfP88m2PLYfOIfd4eLjrXl8vDWPHt1suPtsptxd3Ph1FY4q3j+0ll0F+1g27bsq\n2nJVHo+Xv35ymD+tPQxAXIyVJ+8fzbD+nQxOJsFIJVuarWEm2+X2UF7t0NGxIiFq37EifvzGNuwO\nF7HRkSx5eBwDe3c0OhYWi5m0wV1JG9yV0soa1mef4pOsPE6dr+KcZS+RFxXsi+VXnOG9g2tZOGxO\nGyeWYFBlr2X5n3aw/cA5AFJ7JvDUg2l07hhjcDIJVirZ0mwNa7IBistqVLJFQtD2A2f52Zvbcbo8\ndIiz8ewjE+jTLd7oWJfpEBfFl29OZc7UfhzOK+XZbZ/jusbj1x/PUMmWy+SdqeAnv8/iTFE1ANPH\nJLNo7k1YIy0GJ5NgppItzXbxgTSFZTqQRiTUbNh5ihV/3onb46Vzxxh+/Mh4uicF9k4eJpOJlJ6x\nuLZde9ejCkfVdffwlvCyaddpfv63XTicbiIsJv7f3UOZMb6P1l+Lz1SypdkuPpCmWDuMiISUNRnH\neeXve/F6oVeXWH78yAQSL/r0KpBZI6zE2WKpdFRd9THxtlgVbAHA7fbw+w8PsGrDMQA6xkfx1ENj\nAmJJlIQG7egvLdJJO4yIhJy31x3hV+/WFezUXu157rH0oCnYDW7uO8Gn+yU8lFU6+NGvMxsL9pCU\nRF5aPEUFW/xKM9nSIokJdeuwdSCNSPDzer28+eEB3l2fA8CN/RL50X+ODcr9gO8edBu7CvaRX3Hm\nsvt6xnfjrkG3GZBKAsmRk6U89/ssisrrfn/dOSmF//jSECJ0kqj4mUq2tEjjTLaWi4gENbfHy6t/\n38tHmScAGDO4C08+MAZbkF7wFWttx7Jp3+W9g2tZX79PtrfWiquwB18aME/b94W5tdvyeOXdvbjc\nHqyRFh6fP4ybR/UyOpaEKJVsaZGGj5C1XEQkeLncHlb8aWfjkdFTRvTk218dEfQzerHWdiwcNoeF\nw+bgdNfy7GtZ7DlVxAcb8pk6rK8uaAtDtS43v/7HPj7emgdAl44xPP1QGik9EgxOJqFMJVtapGGv\n7OJyuw6kEQlCNU4Xz/8hm+yDdXsCz5zQh0fn3BRy/1+2WiKZP60/e44WceRkGXuPFulgkTBTVGbn\nuTezOHKyDICRAzvzvYWjiIuxGpxMQp1KtrRIw6mPLrdXB9KIBJkLNbU8+8Y29ufWHdoyf9oN3D9z\nUMjO8N6UmkT/5PYcOVnG258dUckOI/tyinjhj9mUVTkAWDC9P1+9fSCWEPtjUgJTcH8mKIZpmMkG\nLRkRCSblVQ6efmVLY8F+aPZgHpg1OGQLNtTtoT1/Wn8A9hwt4nBeicGJpLV5vV5WbTjGf/86g7Iq\nB9G2CH74H2ncN3OQCra0GZVsaZGEdnUH0oB2GBEJFkVldn7wf5s5dqockwm+MW8Yc2+5wehYbSJt\ncFeSu8YB8Pa6owankdZU43Dxvyt38Mb7X+DxeOnVJZbl357MuBu7GR1NwoxKtrSI2WzSxY8iQaSg\nsIonX97EqfNVWMwmvr9wNDPG9zE6Vpsxm03Mq/+DYtv+s+SdrTA4kbSGM0XVfP+Xm9i4q+5i3gk3\ndeN/vzWZnp3jDE4m4UglW1rs4osfRSRwHS8o58n/28z5UjvWCDP//Z9jmTSih9Gx2tzk4T3o3DEG\ngHc+02x2qMk+eI7FL23gxJkKzKa6pVA/eGBMUO73LqFBJVtaLKl+JrtQM9kiAevQiRKe+tUWyiod\nxERF8OwjExg9qIvRsQxhsZiZd3MqABt3neZscbXBicQfPB4vf/nkMM++sZVqey1xMVaW/b/xzL3l\nhpC+1kACn0q2tFjDDiPF5VqTLRKIdh0+z3//OoNqey3x7az8ZNFEhqQkGh3LUNPGJNMhzobH4+Xv\nn+cYHUd8VGWv5Se/y2LlR4fweqFfzwReWjyF4f07Gx1NxPeSfeDAAebPn8+IESOYM2cOe/bsueLj\n3n77baZPn86YMWO499572b9/v69PLQZrWC6imWyRwJOxt4Bn39iGw+kmKSGKn30jndSe7Y2OZThr\npIW7p/QD4NOsk5RWaJIgWOWdqeC7L20g68BZAKaN6cXzj09qXBIkYjSfSrbT6WTRokXMmzeP7Oxs\n7rvvPhYtWoTdfmnpOnz4MC+++CK//e1v2b59O1OnTuWJJ57wKbgYr+HCx5L6A2lEJDB8mnWS5/+w\nHZfbQ7ekdjz/+CR6ddGFXw1mjO9Du+hIal0e3tt4zOg40gKbdp/me7/YSEFRNREWE4vm3sQTC0Zg\ni7QYHU2kkU8le+vWrVgsFhYsWIDFYmHu3LkkJiayYcOGSx6Xl5eH1+ultrYWt9uN2WwmOjr6Kt9V\ngkWn+plsl9tLef1G/yJirPc3HuPnf92Fxwt9usXz/OPpmtn7NzFRkdyR3heA1RnHqbrgNDiRNJXb\n7eG3/9zPC3/MpsbppmO8jZ8uSmfWhL5afy0Bx6cTH3Nzc+nXr98lt/Xt25fc3NxLbktPT6d3797M\nnj0bi8VCbGwsb775pi9PLQEgsf2/TnksKrfTIV6nPooYxev18ue1h/nz2sMADOzdgSVfH0esjo6+\noi+lp7BqwzHsDjcfbDnOPbcOMDqSXEd5lYMX/pjN3pwiAAb37cgPHhij3z0SsHwq2Xa7/bIZ6ejo\naGpqLl3j5nA4uOGGG1i6dCmpqan85je/4fHHH2f16tVYrU3/BeBwaLbUCA3j/u/jb7N4ibCYcLm9\nFJyvoFcnfTrRGq42/tI2gmH8PR4vb645xOqMkwAMS03kewuHE2H2XPbzONi01vjbImD66J58mJHH\n+xuPMWNsD6KsPv1KDEmB8v7POVXO//5pd+OF9jPHJ/PAzAFEWAj69/j1BMprEK58GXeffqJcqVDb\n7XZiYi79aPLll1+ma9euDB48GIDHH3+ct99+m4yMDKZOndrk58vJ0ZXgRrrS+MdGmSmrdrP/8Ali\nKTIgVfjQ+99YgTr+bo+Xf2aVsjv3AgCDekXzpVFRHDt62OBk/tUa49+/s4s1Zqi8UMtb/8xm/ECt\nW78aI9//O49V8+H2UtweiLCY+FJae4b19XD40EHDMhkhUH8GydX5VLJTUlJYuXLlJbcdP36cO++8\n85LbCgoKLiveFosFi6V5FyikpqZis9laFlZazOFwkJOTc8Xx75ZRTVl1KZEx7RkyRB+3toZrjb+0\nvkAe/1qXh5f+uqexYN88sgeP3D0YiyV0dmdt7fHfe8rCuuzTbM+p4cG70oiMCJ2x8wcj3/+1Lg+/\n++Agn2wvBaBTh2i+f+9w+naPb9McRgvkn0HhoGH8W8Knkj1u3DicTicrV65kwYIFrFq1ipKSEtLT\n0y953NSpU1mxYgUzZ85kwIAB/OEPf8Dj8TBq1KhmPZ/NZiMqSmuvjHKl8e/coR0HT5RSVlWr16aV\n6f1vrEAbf7vDxQtvZbH7aCEAd03ux39+aQhmc2he/NVa4/+V6QNZv+M0JRUOMvcXctvY3n5/jlDQ\n1u//ojI7P3szm8Mn6wr2yAGd+d59o4gL42sMAu1nkFyfTyXbarXy2muv8cwzz7B8+XJ69+7NK6+8\nQlRUFEuWLMFkMrF06VIWLFhARUUF3/zmN6msrGTQoEG8/vrrl81uS/BpOJCmSHtli7SZqgtOlr6+\nlcN5dQVk4YyBLJjeX7srtED3TrFMHNaDTbtP8+5nR5k2JhlLiP6hEiz2HSvihT9kU1a/a9VXpvfn\n3tsH6nWRoOPzVR79+/fnL3/5y2W3L1u27JJ/P/zwwzz88MO+Pp0EmIYDaYp06qNImyitqOGZ32Ry\n4kwFAA/ffSN3Tup3na+Sa5l3yw1s2n2agqJqMvYWMGl4D6MjhSWv18s/N+Xyxj/34/F4ibZFsPir\nIxk/tJvR0URaRIvPxCcNJVsH0oi0vnMlF3jy5c2cOFOB2Wxi8VdHqGD7QUqPBEYP6gLA2+uO4PXq\nZ1lbq3G4eHHlTl577ws8Hi+9usSy/NuTVbAlqKlki0+SEnQgjUhbyD9XyZMvb+JMcTURFjM/eGAM\nt4xONjpWyJg/7QYAjhdUsOPQeYPThJczRdV8/5eb2LDrFAATburG/35rMj07a7cXCW4q2eKThpls\ngEKtyxZpFUfzS3ny5c0Ul9cQZbWw5OtjNcPnZ4P7JjIkJRGom82WtpF98ByLX9pQ9+mMCR6cPZgf\nPDCGmKhIo6OJ+Ew774tP4ttZibCYcbk9FJfbgQ5GRxIJKfuOFfHjN7Zhd7iIjY5kycPjGNi7o9Gx\nQtL8aTewP7eYA8dL2J9b3Fi6xf88Hi9/W3eEP318CK8X4mIi+f59oxkxoLPR0UT8RjPZ4hOz2dS4\nw4hmskX8a/uBsyz9TSZ2h4sOcTae+0a6CnYrGjmgMyk9EgD4m2azW021vZaf/j6LlR/VFeyUHgms\nWDxVBVtCjkq2+Cyxfl12cZl2GBHxlw07T/GT32XhdHno3DGGnz2eTp9u4XUIR1szmUyNa7N3HjrP\nsVNlBicKPXlnK/jOSxvYtv8sALeM7sUL35xEl47a0ldCj0q2+KxTwzZ+mskW8Ys1Gcd58U87cNfv\nsvDC4+l0T4o1OlZYGD+0Oz06tQPg7c+OGpwmtGzec5rv/XwjBUXVWMwmHv3yTXz7nhHYIpt3+rNI\nsFDJFp8lJmi5iIi/vL3uCL96dy9eL6T2as9zj6U3flokrc9iNjH35rrZ7Iy9BZwurDI4UfBzuz38\n7p/7ef4P2dQ43XSMt/HcY+nMnthXByhJSFPJFp81zGTXXfgoIi3h9Xr5/Qf7+cPqgwDc2C+Rnzw6\ngYRYm8HJws/UUb1ISojC64V3NZvtk/IqB8/8JpO/f54DwKA+HVmxeCqD+uraAgl9Ktnis8TGkl2D\nWwfSiDSb2+PllXf38u76uiIyZnAXlj48XtuYGSQywsycm1MB+Cw7n8JSTSC0xNH8Uha/tIG9OUUA\n3DGxLz9ZNJGO8VEGJxNpGyrZ4rOGvbLdHh1II9JcLreH5St3sCbzBABTRvTk6YfStE7VYLeN7U18\nOytuj5dVG3KMjhN0Ps3K48mXN1NYascaYWbxV0fwyJdvIjJCtUPCh97t4rOki9aL6uJHkaZz1Lr5\nye+y2Lj7NAAzJ/ThO/eOJMKiH81Gi7JGcOfkFAA+2pqnCYQmqnW5+dU7e/j5X3dTW78zzgvfnKTT\nSSUs6Se5+Cwh1tpYClSyRZrmQk0tS36TSfbBc0DdQSiLvnwTZrMuBAsUsyemEG2LwFnr5v1NuUbH\nCXjF5Xae+tWWxk9lRvTvxIpvT6Ffz/aG5hIxikq2+Mxk+teBNCrZItdXXuXg6Ve2sD+3GICHZg/m\ngVmDtdNCgImNjmTWhD4AfLg5lws1tcYGCmBfHCvi28s3cDivFKj7o3HJw+OJb2c1OJmIcVSyxS8a\n1mUXletAGpFrKSqz84P/28yxU+WYTPCNecOYe8sNRseSq7hrSj+sEWaqa1yszjhhdJyA4/V6eX/T\nMf771Qw5fquEAAAgAElEQVTKqhxE2yJ4+qExPDBrMBZ9KiNhTiVb/KJhXbZmskWurqCoiidf3sSp\n81VYzCa+v3A0M8b3MTqWXEOHuChuHdsbgPc2HsNR6zY4UeCocbpY/qedvLbqC9weLz07x/LiE5MZ\nP7S70dFEAoJKtvhFkk59FLmm4wXlPPnyZs7X77bw3/85lkkjehgdS5pgztRUzGYTZZUOPs06aXSc\ngHC2uJr/+uUmPt95CoDxQ7vx4hOT6dUlzuBkIoFDJVv8Iqn+1MciHUgjcplDJ0p46ldbKKt0EBMV\nwbOPTGD0oC5Gx5Im6tIxhqkjewLw9/VHcbk9BicyVvbBcyxesYHjBRWYTfDArEE89eAY7esu8m9U\nssUvGmayS3Qgjcgldh0+z3//OoNqey3x7az8ZNFEhqQkGh1Lmmlu/eE050vtbNx12uA0xvB4vPz1\nk8M8+8ZWquy1xMVEsuTh8cyf1l8X7YpcgUq2+EXiRQfSlFXq4kcRgIy9BTz7xjYcTjdJCVH87Bvp\npGo7s6CU3DWe8UO7AfDOZ0fwhNlkQnVNLT/9fRZvfXQIrxdSeiSwYvFURg7obHQ0kYClki1+0an9\nvw6kKdYOIyJ8mnWS5/+wHZfbQ7ekdjz/+CStVw1y8+p3gck/V8W2/WcMTtN2zpfX8tQrW9m2/ywA\nN4/qyQvfnESXjjEGJxMJbCrZ4hfx7ayNx+UW6uJHCXPvbzzGz/+6C48X+nSL5/nH0+msQhL0+id3\nYPgNnQB4e91RvN7Qn83O/OIsr318njNFF7CYTTw6ZyiLvzoSW6TF6GgiAU8lW/zCZDI1buNXrJIt\nYcrr9fKnjw/x2ntfADCwdweee2wiHeKiDE4m/jJ/et1s9tH8MvYcLTQ4Tetxuz38/oP9LP/zHmpd\nXtrHWvnpYxOZnZ6i9dciTaSSLX6TWH/qo2ayJRx5PF5ef+8L/rz2MFB3pPSPH5lAbIxOvAslQ/sl\nMaB3B6BuNjsUlVc5WPJaJu+uzwGgVycrL3xjAoP76oJdkeZQyRa/adhhRGuyJdy43R5+8bddvL8p\nF4AJN3XjR18bS5QtwuBk4m8mk4n59Wuz9+YUcSivxOBE/pWTX8bilzaw52gRADPGJfPgLZ3oEG8z\nOJlI8FHJFr/RqY8Sjmpdbp7/YzbrtucDMH1MMv9132giI7RmNVSNGdyV3l3rLmJ9J4Rmsz/NOsl/\nvbyJwvoDk759zwi+9qVBRFi0PESkJVSyxW8aT33UgTQSJuwOF8++vo3MfXU7Tdw1uR/f/MpwLBb9\naA1lZrOpcaeRbfvPknemwuBEvql1efjVu3v4+V93Uevy0LlDNM9/cxLTxiQbHU0kqOk3gfhNw6mP\nxTqQRsJA1QUnP/p1BrvrL35bOGMgX7tzCGazZv3CwaThPRq3sHvns+CdzS4ut/P0rzazJuMEAMP7\nd2LF4qnaz13ED1SyxW8aZrI9OpBGQlxpRQ1P/WoLh/NKAXj47hu559YB2nUhjFgsZubWz2Zv3HWK\ns8XVBidqvv25xXx7xQYO1b+P50+7gaUPjye+nS7WFfEHlWzxm6SLDqTRumwJVedKLvDk/23mxJkK\nzGYTi786gjsn9TM6lhhg2uhedIiz4fHC3+t34ggGXq+X9zcd44evbKGs0kG0zcJTD47hgVmDseiT\nGBG/UckWv7n4QJoi7TAiISj/XCVPvryJM0XVRFjM/OCBMdwyWutWw5U10sLdU1IB+CTrJCUVgf9z\nr8bpYvmfd/Laqi9we7z06BTLi09MYcJN3Y2OJhJyVLLFby4+kEYz2RJqjp0u58mXN1NcXkOU1cKS\nr49l/NBuRscSg80Y35vY6Ehcbg+rNhwzOs41nS2u5r9+uYnPd5wCYNyNXVn+7cn06hJncDKR0KSS\nLX7VuMOISraEkBPnHSx7YzuVF5zERkfy40cnMLx/Z6NjSQCIiYrkjvQUAD7KPE7lBafBia5sx6Fz\nLF6xgeMFFZhM8MCsQTz1YBoxUZFGRxMJWSrZ4lcNpz6qZEuo2HGokLfWF2J3uOkQZ+O5b6QzsHdH\no2NJAPnSpBSirBbsDjcfbD5udJxLeDxe/vbpEZa9vpUqey2x0ZEs/fp45k/rr51wRFqZSrb4VSed\n+ighZMPOU/zPyl243NCpQzQ/ezydPt3ijY4lASa+nZXbx/UB4J+bjmF3uIwNVO9CTS3PvZnFH9cc\nxOuFlO4JrFg8hZED9SmMSFtQyRa/Sqxfk12omWwJcmsyT/Din3bg9nhJio/gxw+n0T0p1uhYEqDm\nTO1HhMVE5YVaPt6aZ3QcTp6t4DsvbWDrF2cBuHlUT57/ZjpdE9sZnEwkfKhki181zGSXVOhAGgle\nb687wq/e2YPXC/16xPMf0zuRWH/YksiVJCZEN56Q+I/Pc6h1uQ3LsmVvAd/7xUZOF1ZjMZt4ZM5Q\nFn91JFHWCMMyiYQjlWzxq4YiogNpJBh5vV5+/8F+/rD6IAA39kvkmf8cQ7soi8HJJBh8+eZUzKa6\nSYbPsk+1+fO7PXXv35+9ub3xGoKfLJrIHekpOihJxAAq2eJXOpBGgpXb4+WVd/fybv2hImMGd2Hp\nw+OJidLsnzRN96RY0of1AODdz47idnva7LnLqxws/U1m4/t3UJ+OrFg8hSEpiW2WQUQupZItfhXf\nzoq14UCaMs1kS+Bzupy43B6Wr9zBmswTAEwZ0ZOnH0rDFqkZbGmeedPqjlo/U1zNlr0FbfKcOafK\n+M5LG9h9tBCAWRP68JNFExuvkRERY2iKRvzKZDKR2D6aM0XVFJVrJlsCU5WzmlUH1/L58QwqHFVY\nPFHUFHUDSwozx97Ao3Nu0vZm0iJ9uycwelAXsg+e4+11R5k0vEerLtVYt/0k//fOHmpdHiIjzDw2\ndxjT03QKqUggUMkWv+vUULK1XEQCUJWzmiXrXiS/4kzjbW5zDZHdj9OxZzn33zFTBVt88pVp/ck+\neI4TZyrIPniOMYO7+v05al0eXn9vH6szTgDQuUM0Tz2URmrP9n5/LhFpGS0XEb9ruPhRJVsC0aqD\nay8p2Ber9JTw/qG1bZxIQs2gvh0b10K/ve4oXq9/d1oqLrfz9K82Nxbs4Td0Yvm3p6hgiwQYlWzx\nOx2tLoFs/fEMn+4XaYqvTOsPwMETJezPLfbb992fW8ziFRs4lFcKwNybU1n6/8aTEGvz23OIiH9o\nuYj4XWPJ1qmPEmCcLieVjqprPqbCUYXTXYvVEtlGqSQUjRjQiX49Ezh2qpy31x3lxn5JPn0/r9fL\nh1uO8/p7X+D2eIm2WXjinpFMvKm7nxKLiL9pJlv8LkkH0kiAskZYibNd+9TGeFusCrb4zGQyMf+W\nutnsnYfPk3OqrMXfq8bpYsWfd/Lrf+zD7fHSo1M7/vdbk1WwRQKcSrb4XVL9tlE6kEYC0c19xl/7\n/r4T2iiJhLpxQ7vRo1PdH3XvrDvaou9xtriaJ3+5mfU76g63GTukK8u/PYXkrvF+yykirUMlW/zu\n4gNpCrUuWwLMkLixeC5ceTa7V3w37hp0WxsnklBlMZuYd0vdvtkZ+wrIP1fZrK/feeg8i1dsILeg\nHJMJ7p85iKcfSiMmSp+0iAQDlWzxu7iYyMYDaYp1II0EmM+zzuE4OJbo8gHE1y8dibfFctfA21g2\n7bvEWtsZnFBCyZSRPUlqH43XC3+vP43xerxeL3/79AhLX8+kyl5LbHQkS78+nq9M76/tJUWCiC58\nFL8zmUwktY+moKhaM9kSUCqqnWzafRrckcwffCd3pKfoIkdpVZERZr48NZXfrNrH+h35fPX2AXTu\nEHPVx1+oqeWlv+wic1/dNpN9u8fz9ENpdE3UH38iwUYz2dIqGpaMFOvURwkgn2adpNblIcpq4eZR\nvQBUsKXV3To2mYRYK26Pl1Ubjl31cfnnKvnOSxsbC/bUkT154ZuTVLBFgpRKtrSKhpKtmWwJFB6P\nl48yTwB1H+G3i1a5lrYRZY3gzkn9APh4ax5llY7LHpOxt4Dv/nwDpwursJhN/L+7h/Kde0cSZdUH\nziLBSiVbWkXDqY/FKtkSIHYfLeRMcTUAsyb0NTiNhJtZE/sSExWBs9bN+5uO4XQ5AXB7vLz54QGe\ne3M7doeb9nE2frJoIl+alILJpPXXIsFMfyJLq+ikUx8lwKzJOA7AgN4dSOmRYHAaCTex0ZHcOr4b\nHx79lA9KP+ODd53EWWOJrOjN6f1dgUgG9u7ADx4cQ2JC9HW/n4gEPp9nsg8cOMD8+fMZMWIEc+bM\nYc+ePVd8XHZ2Nl/+8pcZMWIEd955J1u3bvX1qSWAJTYcSFPpwO32GJxGwl1hqZ2s/WcBzWKLMaqc\n1Xxh+ieR3Y9DRN0sdqWzipKo/dgGbWP6+G789LF0FWyREOJTyXY6nSxatIh58+aRnZ3Nfffdx6JF\ni7DbL529PH/+PI899hiPPfYYu3bt4pFHHuFb3/oWTqfTp/ASuBpmsj1eF6VXWH8o0pY+3nYCjxfi\nYqykD9MpedL2Vh1cS0HV2SveZ46pIumG00RGaAWnSCjx6f/RW7duxWKxsGDBAiwWC3PnziUxMZEN\nGzZc8rhVq1YxceJEpk+fDsDs2bN58803td4sRFU5q1lf8AlRIz4jeswnfH/dj3hrzz+oclYbHU3C\nkMvt4ZNteQBMT0vGGmkxOJGEo/XHM3y6X0SCj08lOzc3l379+l1yW9++fcnNzb3ktgMHDtC5c2ce\nf/xxxo4dyz333ENtbS2Rkbq6P9RUOatZsu5FPjq2DlNk3ScV1a5q3j+0liXrXlTRlja37YuzlFTU\nfZoyY3xvg9NIOHK6nFQ6qq75mApHFU53bRslEpG24FPJttvtREdfun4sOjqamppLT/krLy/n7bff\nZuHChWRkZHDnnXfyyCOPUFnZvCNmJfCtOriW/IozV7wvv+IM7x1c28aJJNytrr/gceSAznRPuvJx\n6iKtyRphJc527fdevC1We7aLhBifdhe5UqG22+3ExFx6mpXVamXKlCmMHz8egHvvvZc33niDnTt3\nMmXKlCY/n8Ohtb1GaBj3poz/+twt17z/s9wM5g6Y6Zdc4aI54y+XOl1Yxd6cIgCmj+5x2c+rptD4\nGytUxn9yrzQ+zPnsqvdP6pXWovdnawuV8Q9meg2M5cu4+1SyU1JSWLly5SW3HT9+nDvvvPOS2/r2\n7Ut+fv4lt3k8Hrxeb7OeLycnp2VBxS+uN/61HheV11kOUumsYs++PUSYtXtkc+n933xrdpQBEB9j\nweY+z/79hS3+Xhp/YwX7+Ke6e5Bk7UCRs/Sy+5KsHUh192D//v0GJGuaYB//UKDXIPj41HTGjRuH\n0+lk5cqVLFiwgFWrVlFSUkJ6evolj7vrrru455572LBhA5MnT+att97C6XQyduzYZj1famoqNpvN\nl8jSAg6Hg5ycnCaNf9ypdtcs2nHWWIYNHebviCGtOeMv/1LjdLHv73UXYc8c35ebhva7zldcmcbf\nWKE0/gMHDuSDo+vYeDKLSmcVcdZYJiencccN02hnjbn+NzBAKI1/sNJrYKyG8W8Jn0q21Wrltdde\n45lnnmH58uX07t2bV155haioKJYsWYLJZGLp0qUMGjSIV155hf/5n//hO9/5Dn369OHVV1+9bD33\n9dhsNqKionyJLD5oyvjfnDKR9w9dfd31LSkT9Bq2kN7/zbNxTx4XalxYzCZmpffzeew0/sYKhfGP\nioriwVHzeXDUfJzu2qBagx0K4x/s9BoEH58/s+/fvz9/+ctfLrt92bJll/x7woQJ/OMf//D16STA\n3T3oNnYV7LvixY+dojtz16DbDEgl4ajhhMdxQ7vRMV6/mCSwBFPBFpGW0c734lex1nYsm/Zd7hp4\nG/H1V9Ob3TZqC/rSvexWYq3tDE4o4eDIyVJyTpUDMGtCH2PDiIhIWNLVZ+J3sdZ2LBw2h4XD5uB0\n17J+ewEv79jN9oISisvtOjZYWt2ajBMA9Owcy9B+ScaGERGRsKSZbGlVVkskU0b2oF10JG6Pl4+3\n5hkdSUJc5QUnG3edAmDmhD46WVZERAyhki2tLsoawa1pyQB8lHmCWpfH2EAS0tZtz8fp8mCzWrhl\ndLLRcUREJEypZEubqJtRhNJKB5n7CoyOIyHK6/XyUWbdBY+Th/cgNloXl4mIiDFUsqVNdE+KZeSA\nzgB8uOW4wWkkVO09WsTpwrp92mdN6GtwGhERCWcq2dJm7khPAeDA8RJyT5cbnEZC0Yf12/b1T25P\naq/2BqcREZFwppItbWbkgM50Taw71Uyz2eJvxeV2tu0/C9Sd8CgiImIklWxpM2azqfEj/M93nqLq\ngtPgRBJK1m7Nw+PxEhsdyaQRPYyOIyIiYU4lW9rU9LRkrJEWnLVuPt1+0ug4EiJcbg8f1W8POW1M\nMrZIi8GJREQk3KlkS5uKi7EydWRPAFZvOYHH4zU4kYSCrP1nKamoAep2shERETGaSra0udkT65aM\nnCmuZufh8wankVDQcMLj8Bs60aNTrLFhREREUMkWA6T0SGBQn46ALoAU3xUUVrH7aCGgWWwREQkc\nKtliiDvS62azdxw6x5miaoPTSDBbk3kCgI7xUYwd0tXQLCIiIg1UssUQ44d2p0OcDa8XVmdoNlta\nxlHr5tOsugtoZ4zrjcWiH2kiIhIY9BtJDBEZYeb2cX0A+CTrJDVOl7GBJCht2nWaKnstZrOJ28b1\nNjqOiIhII5VsMcyM8b2xmE1U22vZsPO00XEkCK3JrPsUZOyQriQmRBucRkRE5F9UssUwiQnRjB/a\nDYAPt+Ti9Wo7P2m6nPwyjpwsA2CWLngUEZEAo5IthmrYzu94QQUHT5QYnEaCScNa/h6d2nFTaieD\n04iIiFxKJVsMNSQlkT7d4gH4cLMugJSmqbLXsmFX3RKjGeP7YjabDE4kIiJyKZVsMZTJZGqczd6y\nt6Dx1D6Ra/ks+yTOWjfWCDPTxvQyOo6IiMhlVLLFcFNH9qRdVARuj5ePt+YZHUcCnNfrbTzhcdKI\nHsTFWI0NJCIicgUq2WK4KFsE09KSAfgo8zgut8fgRBLI9h0r4tT5KgBmTehrcBoREZErU8mWgDC7\nviyVVDjI3HfG4DQSyFbXz2Kn9kygf3IHY8OIiIhchUq2BITunWIZObAzAB9u0QWQcmUlFTVsrf8j\nbKZmsUVEJICpZEvAaLgAcn9uMccLyg1OI4Fo7bY83B4v7aIimDy8h9FxRERErkolWwLGqIFd6NIx\nBtBstlzO7fbwceYJAKaNSSbKFmFoHhERkWtRyZaAYTGbGi9k+3znKarstQYnkkCy/eA5isrrtnic\nMb6PsWFERESuQyVbAsqtY5OxRphxON2s237S6DgSQBq27bspNYleXeKMDSMiInIdKtkSUOJirEwZ\n2ROoWzLi8XgNTiSBoKCoip2HzwMwc0IfY8OIiIg0gUq2BJxZ9RdAnimqZveRQoPTSCD4KLPukKIO\ncTbG3djN4DQiIiLXp5ItASe1Z3sG9q7b//iDLbkGpxGjOWvdfJpVt3TotnG9ibDox5aIiAQ+/baS\ngDQ7PQWA7IPnOFtcbXAaMdLmPQVUXnBiNsHtY/sYHUdERKRJVLIlIE28qTvt42x4vf+64E3C0+qM\nuu0cxwzuSqcO0QanERERaRqVbAlIkRFmbh/bG6g7gKTG6TI4kRgh93Q5h/NKgX+t1RcREQkGKtkS\nsGaM74PZbKLKXsumXaeNjiMGaJjF7pbYjuE3dDI4jYiISNOpZEvASmofzfj6nSQ+2HIcr1fb+YWT\nanstG3aeAv71B5eIiEiwUMmWgDa7fonAxcsGJDys35FPjdNNZISZ6WnJRscRERFpFpVsCWg39ksk\nuWvd6X4fbD5ucBppK16vl9X1F7xOGt6D+HZWYwOJiIg0k0q2BDSTycQd9bPZW/aeprSyxuBE0hb2\n5xaTf64S0AmPIiISnFSyJeBNHdWLmKgIXG4va7fmGR1H2kDDto0p3RMYkNzB2DAiIiItoJItAS/a\nFsG0MXVrctdknsDl9hgbSFpVaWUNGfsKgLpZbJNJFzyKiEjwUcmWoDCrfslAcXkN2744a2wYaVWf\nbDuJy+0lJiqCKSN7Gh1HRESkRVSyJSj07BzHiP51+yR/uEUXQIYqt8fLR1tPAHDLqF5E2yKMDSQi\nItJCKtkSNBq289t3rIi8MxUGp5HWsOPQOQpL7QDM0AWPIiISxFSyJWiMHtyVzh2iAc1mh6rV9a/r\nkJREeneNNziNiIhIy6lkS9CwmE3MmlA3m71+Rz7V9lqDE4k/nS2uZufh8wDMrn+dRUREgpVKtgSV\n6WnJREaYqXG6WZd90ug44kcfZZ7A64X2cTbGDe1mdBwRERGfqGRLUEmItTF5RA+gbmmBx+M1OJH4\nQ63LzSdZdX803Vr/h5SIiEgw028yCTp3TEwB4HRhNXuOFhqcRvxhy54CKqqdmEwwY1wfo+OIiIj4\nTCVbgk5qr/aNpwDqAsjQsLr+hMcxg7rSuWOMsWFERET8QCVbgtLs9LoL47IOnOVcyQWD04gvTpyp\n4OCJEqDuhEcREZFQoJItQSl9WHcSYq14vbAmQ7PZwWx1/evXpWMMIwd0NjiNiIiIf6hkS1CKjLBw\ne/3a3bXbTuKodRsbSFrkQk0tn+/IB2DG+D6YzSaDE4mIiPiHSrYErRnj+mA2QeUFJ5t2nTY6jrTA\n5ztPYXe4ibCYuTUt2eg4IiIifuNzyT5w4ADz589nxIgRzJkzhz179lzz8ZmZmQwaNAi73e7rU0uY\n69QhmrE31u2n/OGWXLxebecXTLxeL2vqL3isW/5jMzaQiIiIH/lUsp1OJ4sWLWLevHlkZ2dz3333\nsWjRoqsW6IqKCn74wx/68pQil7ij/gLInFPlHDlZanAaaY6DJ0o4caYC0AWPIiISenwq2Vu3bsVi\nsbBgwQIsFgtz584lMTGRDRs2XPHxS5cuZfbs2b48pcglhvZLoleXOAA+0HZ+QWX1lhMA9OkWz6A+\nHY0NIyIi4mc+lezc3Fz69et3yW19+/YlNzf3sse+//77VFZWcs899+hjffEbk8nE7Il1s9mbdxdQ\nVukwOJE0RXmVgy17CwCYNaEPJpMueBQRkdDiU8m22+1ER0dfclt0dDQ1NTWX3FZQUMAvf/lLnnvu\nOQD9QhW/unlUT6JtEbjcHtZuyzM6jjTBJ1kncbk9RNssTBnZ0+g4IiIifhfhyxdfqVDb7XZiYv51\nYpvX6+UHP/gBixcvJikpiVOnTjXe3lwOh2YpjdAw7oE6/mZgyojufLT1JKszjjN7fE8sltDZOCfQ\nx7+53B5v497mk4Z1x4ybmprA3YIx1MY/2Gj8jaXxN55eA2P5Mu4+leyUlBRWrlx5yW3Hjx/nzjvv\nbPz32bNn2bt3L4cOHWLp0qV4PB68Xi9Tp07l1VdfZeTIkU1+vpycHF/iio8Cefz7JdYCUFxew98/\n2cngXtHX+YrgE8jj3xxHTts5X1p3cXS/JCf79+83OFHThMr4ByuNv7E0/sbTaxB8fCrZ48aNw+l0\nsnLlShYsWMCqVasoKSkhPT298THdunVj9+7djf8+ffo006ZNY+PGjURFRTXr+VJTU7HZtM1XW3M4\nHOTk5AT8+G88lM2+Y8UcOO1l/owhRsfxm2AZ/6b6546dAAzs3Z5bJg43OM31hdr4BxuNv7E0/sbT\na2CshvFvCZ9KttVq5bXXXuOZZ55h+fLl9O7dm1deeYWoqCiWLFmCyWRi6dKll32dyWRq0XIRm83W\n7GIu/hPo4/+lSf3Yd6yYL3JLOF/mJLlrvNGR/CrQx78pzpdcYOeRQgBmp/cLqv+eUBj/YKbxN5bG\n33h6DYKPTyUboH///vzlL3+57PZly5Zd8fE9evTg4MGDvj6tyGXSBnehU4doCkvtfLjlOIvmDjM6\nkvybj7aewOuFhFgrE2/qZnQcERGRVhM6V4dJ2LNYzMwc3weA9TvyuVBTa2wguUSty8Mn204CMH1M\nMpERFoMTiYiItB6VbAkpt43tTYTFjN3h5rPsfKPjyEUy9xVQVuXAZIIZ9X8MiYiIhCqVbAkpCbE2\nJo/oAcCHW47r4KMAsjrjBACjBnaha2I7Y8OIiIi0MpVsCTkNJ0CeOl/F3qNFBqcRgLyzFezPLQZg\n5oQ+xoYRERFpAyrZEnL6J3egf3J7AD7YkmtwGgFYUz+L3blDNKMGdjE2jIiISBtQyZaQ1DCbnbX/\nLOdLLxicJrzZHa7G9fEzxvfBYjYZnEhERKT1qWRLSEof1oP4dlY8Xvgo84TRccLahp2nsDtcRFhM\n3JrW2+g4IiIibUIlW0KSNdLC7ePqCt3HW/Nw1roNThSevF5v41KRCUO70z5Op5WJiEh4UMmWkDVj\nfB/MJqiodrJ5z2mj44Slw3ml5BaUA7rgUUREwotKtoSszh1iSBvSFajbzk/a3uqMunFP7hrHkJRE\ng9OIiIi0HZVsCWl3TEwB4MjJMo6cLDU4TXip+wShAIBZ4/tgMumCRxERCR8q2RLSbrohiZ6dYwHN\nZre1T7NOUuvyEGW1cPPoXkbHERERaVMq2RLSTCZT43Z+G3edprzKYXCi8ODxeBt3dZkysicxUZGG\n5hEREWlrKtkS8m4Z3YtomwWX28PabXlGxwkLu48Ucqa4GoBZE/oanEZERKTtqWRLyIuJiuTmUXXL\nFdZknsDt9hgbKAw0XPA4sHcHUnokGJxGRESk7alkS1hoWDJSWGon68A5g9OEtsJSO9sPnAVgpmax\nRUQkTKlkS1hI7hrPTalJAKzWBZCt6uOtJ/B4IS7GSvqw7kbHERERMYRKtoSNO9LrZlV3Hy0k/1yl\nwWlC08Xr3m9NS8YaaTE4kYiIiDFUsiVspA3uSlL7aECz2a1l6xdnKK2s28Flxvg+xoYRERExkEq2\nhA2LxczM+uK3LjufCzW1xgYKQau3nABg5IDOdEtqZ2wYERERA6lkS1i5bWxvIixm7A4X63ecMjpO\nSN3mEKQAAB/lSURBVMk/V8m+Y0UAzJzQx9gwIiIiBlPJlrDSPs5G+vC6i/E+3JKL1+s1OFHoWJN5\nAoCk9tGMGdTF0CwiIiJGU8mWsHNH/XZ++eeqGmdexTc1DhefbT8JwIxxvbFY9KNFRETCm34TStjp\nn9yB1F7tAfhgsy6A9IcNu05TXePCYjZx29jeRscRERExnEq2hB2TycTs+kNStn1xhsJSu8GJgpvX\n62VNZt0fK+OGdqNDfJTBiURERIynki1hadKIHsTFWPF44aOtJ4yOE9SO5pdx7FQ5QOMfLyIiIuFO\nJVvCki3Swm1jk4G6EwprXW6DEwWv1Rl1s9i9usRyY79Eg9OIiIgEBpVsCVszJ/TFZILyKieb9xQY\nHScoVV5wsmnXaaDu8BmTyWRwIhERkcCgki1hq0vHGNIGdwXgQ50A2SLrtp/E6fJgs1q4ZXSy0XFE\nREQChkq2hLXZ9dv5Hc4r5Wh+qcFpgovH42VNxgkApozoSWx0pLGBREREAohKtoS1YTd0okenuuO/\nNZvdPHtzCikoqgZ0wqOIiMi/U8mWsGY2m5hVP5u9cddpKqqdBicKHqvrZ7H7J7cntWd7Y8OIiIgE\nGJVsCXvTRicTZbVQ6/L8//buPDjK+vDj+GezOTYHBAhCwpWLHzfYkDTkQsACAgLqADJO0alVpkQZ\nbdUpdVoVBW2tU3VU1F/xaCtY9YctKoeiKIxEQgi3HNU04QyJQCAH2WRz7O+PTaKRI5B9dp9N9v2a\nccY8PNnvx+8G98PD8/0++nTbEbPjdAhnyu3atr9EkjQ1nW37AAD4MUo2/F54aJAmpPSX5NqOrqHR\naXIi3/dJ7hE1NjoVERqksUl9zY4DAIDPoWQD+n4B5Hdn7co/UGJyGt9W39CoT3JdV/wnpg5QSJDV\n5EQAAPgeSjYgKTa6q0Ym9pTEAsi2bNtforKKGknS1PQ4c8MAAOCjKNlAkxuzXFezd31zSse/qzQ5\nje9a3/SEx5/8zzXqc02EyWkAAPBNlGygSdrwaEVF2iR9v3MGWjtxqkp7vj0tSZqWGWduGAAAfBgl\nG2hitQa03P6wcftR2WvrzQ3kg5ofPhMVaWt5WiYAALgQJRv4gclpsQq0WlRdU69NO46ZHcen1Djq\n9dn2o5KkG8bEymrlfx8AAFwKn5LAD3TvYlPmKNeWdGtyiuR0sp1fsy27T+i8vU4BARZNTos1Ow4A\nAD6Nkg38yPSmBZBHSyr1deEZk9P4jub71NNGRCsqMtTcMAAA+DhKNvAjg2O7K7FfpCRp7Ra285Ok\nb4+d1bfHzkmSpvGERwAA2kTJBn7EYrHoxgxXkdz69UmdPmc3OZH5mhc89r0mXKP+p6e5YQAA6AAo\n2cBFXDe6n7qEBamx0amPcw+bHcdUVdUObd51QpI0JT1eFovF5EQAAPg+SjZwESFBVk1KdS3u+2Tr\nEdXVN5icyDyf5x+To65BwUFWTfxpf7PjAADQIVCygUuYmhEni0U6V1WrnL0nzY5jCqfT2bLg8bqf\n9FVEWLC5gQAA6CAo2cAlREeFK2Vob0nSuhz/XAC5t+C0TpyqkuT6QwcAALgylGzgMqZnJkiSDh4u\nU8Hxcyan8b7mBY8D+0Vq0IDu5oYBAKADoWQDl/GTQdeoT89wSf53Nbusoka5X7tuk5mWwbZ9AABc\nDUo2cBkBARZNy3QVzM07j6uy2mFyIu/ZsO2IGhqdCg8N0tikvmbHAQCgQ6FkA2342U8HKCTYKkd9\noz7ddtTsOF7R0NCoj7celiT9LKW/bMGBpuYBAKCjoWQDbYgIDdKEZNfWdeu+KlJDo9PkRJ6Xd6BU\nZ8prJElT0uPMDQMAQAdEyQauwI1Nt4yUllVrx6FSk9N43vqvXPefjxrYU/17dzE5DQAAHQ8lG7gC\ncTFdNTwhSpK0tpMvgCw+XaVd35ySxIJHAADay+2SfeDAAc2ZM0dJSUm65ZZbtGfPnoue99577+mG\nG25QSkqK5syZo/z8fHeHBrxqeparcO489J2Km/aO7oyat+3r0TVEY0ZEmxsGAIAOyq2S7XA4lJ2d\nrdmzZys/P1/z5s1Tdna27HZ7q/O2bdum5557Ti+88ILy8/P185//XNnZ2SovL3crPOBNaSNi1KOr\nTZK09qvOeTW7tq5BG7e7FndOGhOrQCt/2QUAQHu49Qmam5srq9WquXPnymq1atasWYqKitLmzZtb\nnVdSUqK7775bgwcPliTdfPPNCggI0LfffuvO8IBXBVoDWhYBbsw7qpraenMDeUDOnhOqrK5TgEW6\nYUyc2XEAAOiw3CrZhYWFSkxMbHUsPj5ehYWFrY7ddNNNuuuuu1q+3rFjh6qrqzVw4EB3hge8bkpa\nrAKtFp2vqdemncfNjmO4dU23iqQOj9Y13UPNDQMAQAfm1ua3drtdoaGtP4hDQ0NVU1Nzye8pKCjQ\n/fffr/vvv1/dunW7qvFqa2vblRPuaZ535l8KDZbGDO+tnL0l+ujL/2rcT3rLYrF4dExvzX9RcYX+\nc+SsJGliSt/L/j72J/z8m4v5Nxfzbz7eA3O5M+9uleyLFWq73a6wsLCLnr9lyxY98MADuuuuu3T3\n3Xdf9XgFBQXtygljMP8ug3s3KEfS0dIqrd+0S7G9Qrwyrqfn/8NtroLdPcKqgNoS7d/f+bcqvBr8\n/JuL+TcX828+3oOOx62SnZCQoJUrV7Y6VlRUpJkzZ15w7vvvv68//vGPeuKJJzRt2rR2jTdw4ECF\nhHin0OB7tbW1KigoYP6bDHM69fnXW3X4ZKUOlVo1bcJwj47njfk/X1On/f/nWksxPStRI0ewdV8z\nfv7Nxfybi/k3H++BuZrnvz3cKtlpaWlyOBxauXKl5s6dq9WrV6usrExZWVmtztu6daueeOIJvfHG\nG0pOTm73eCEhIbLZbO5EhhuY/+/NGJuoF9/brbz9pTpf61RUpOfvX/bk/H+WX6zaugYFBQZoSkai\nbLZgj4zTkfHzby7m31zMv/l4DzoetxY+BgcHa/ny5froo480ZswYvf3223rllVdks9n02GOPafHi\nxZKk1157TfX19Zo/f75Gjx6tpKQkjR49Wlu2bDHivwHwuuuS+ioiNEgNjU59knvE7DhucTqdWte0\nJeHYn/RV13AKNgAA7nLrSrYkDRo0SO+8884Fxx9//PGWf3/99dfdHQbwKbbgQE1MHaDVm/+rj7ce\n1pyfDVJQYMfcU/rrwjM6Vup6uM7UjDhzwwAA0El0zFYA+IBpGfGyWKSzlbXauq/Y7Djt1vyEx4Q+\nkRo8oLu5YQAA6CQo2UA7xfQMV/KQ3pKktTkd8wmQZytqWv6AMC0zzuPbEQIA4C8o2YAbbsx07cJx\noKhMhSfKTU5z9TbkHVF9g1NhtkCNS+pndhwAADoNSjbghtGDeykmKlxSx7ua/cNFm9cn95ctxO0l\nGgAAoAklG3BDQIBF0zLjJEmbdh5XVbXD3EBXYcfBUp06a5ckTWHBIwAAhqJkA26a+NMBCg6yylHX\noM+2HzU7zhVr3rZvRGKUYqO7mpwGAIDOhZINuCkiLFgTkl33M6/NKVJjo9PkRG0rOXNeO//znSRp\nWjpPdwQAwGiUbMAAzQsgS85Ut5RXX/bx1sNyOqVuXUKUNjLG7DgAAHQ6lGzAAPF9IjUsvock318A\nWVffoE/zXLe1TEod0GEfogMAgC/j0xUwyPTMBEnSjkOlKj5dZXKaS8vZU6yK8w4FWKQpaXFmxwEA\noFOiZAMGSRsZox5dQ+R0fv8URV+0rilbytBo9eoRZm4YAAA6KUo2YJCgwADd0HRl+NO8o6px1Jsb\n6CKKist18HCZJGkq2/YBAOAxlGzAQDekxcoaYNF5e5027zxhdpwLNF9h790jTKMH9zI3DAAAnRgl\nGzBQVGSoMkb1kSStzSmU0+k72/lV19Rp085jkqSp6XEKCLCYnAgAgM6Lkg0YrHk7v6LiipZbM3zB\nFzuOy17boEBrgCamDjA7DgAAnRolGzDYsPgeiotxPUFx7Rbf2M7P6XRqfdMTHrOu7aPIiBCTEwEA\n0LlRsgGDWSwWTc9yXc3O2VussooakxNJB4rKdKSkUhILHgEA8AZKNuAB45L6KdwWqIZGpz7JPWJ2\nHK1ruoodF9NVQ+N6mJwGAIDOj5INeIAtJFATU2MlSR9vLVJ9Q6NpWc5V1uqrvcWSpGkZcbJYWPAI\nAICnUbIBD5mWGSdJKquo1dZ9J03L8WneEdU3OBUaYtW40f1MywEAgD+hZAMe0qdnhEYPce1FvTbH\nnAWQDY1Ofdx0u8r45P4KswWZkgMAAH9DyQY8aHrTdn77C8+oqLjc6+PvPFSq78qqJUnTMuK9Pj4A\nAP6Kkg140OghvRUdFSbJnKvZ65qe8PjDbQUBAIDnUbIBD7IGWFquIG/aeVxV9jqvjV1aVq0dh0ol\nSVO5ig0AgFdRsgEPm5g6QMGBAap1NGjj9qNeG/eT3MNyOqXIiGBljorx2rgAAICSDXhcl7Dgll09\n1uYUqbHR6fEx6+obtGGba8HjpNRYBQVaPT4mAAD4HiUb8IIbmxZAnjx9Xru/OeXx8b7ae1LlVQ5Z\nLNKU9DiPjwcAAFqjZANekNivW8uTFtfkFHp8vPVbD0uSkof0Vu8eYR4fDwAAtEbJBryk+Wp2/sFS\nlZw577Fxjpys0P7CM5KkqRlxHhsHAABcGiUb8JKMUX3UrUuInM7vt9bzhHVfubYK7NU9VMlDents\nHAAAcGmUbMBLggIDdENarCTp021HVOOoN3wMe229vthxXJLrXmxrgMXwMQAAQNso2YAXTU2PU0CA\nRVX2On2564Thr79p53HZa+sVaLVoUmqs4a8PAACuDCUb8KKoyFClj3TtWb0mp0hOp3Hb+TmdTq1r\neqpkxkjXrSkAAMAclGzAy5oXQBaeKNd/jpw17HUPHT6rwycrJEnTMnnCIwAAZqJkA142IiFKsdFd\nJElrthQZ9rrrtrpea0B0Fw2L72HY6wIAgKtHyQa8zGKx6MasBElSzt4TOltZ4/ZrllfVasvuYknS\ntPQ4WSwseAQAwEyUbMAE40f3U5gtUPUNTm3IPeL2623cflT1DY2yBVs1IaW/AQkBAIA7KNmACUJD\nAjXxpwMkuZ7OWN/Q2O7Xamx0tjzhcXxyf4XZgtwPCAAA3ELJBkzSvDjxTHmNtn1d0u7X2fXNdyo5\nU+16TZ7wCACAT6BkAybpe02ERg/uJUlam9P+BZDrm54eOSS2u+L7RBoRDQAAuImSDZioeTu/ff89\nrSNN2+9dje/OVmv7AddV8KkZbNsHAICvoGQDJkoe2lu9eoRJat/V7E9yj6jRKXUJC1bWtX2MjgcA\nANqJkg2YyBpg0Y1N91F/seOYztvrrvh76+obtWGba2eSSakDFBxk9UREAADQDpRswGQTU2MVHBig\nGkeDNuYfveLvy/36pM5V1kqSpqTHeSgdAABoD0o2YLKu4cG6LqmfJGldTpEaG51X9H3NCx5HD+6l\nmJ7hnooHAADagZIN+IAbs1yLFk+cOq89355q8/yjJRXa99/Tkti2DwAAX0TJBnzAwH7dNDi2u6Qr\nWwDZ/PCZnt1ClTIs2oPJAABAe1CyAR8xvWk7v7wDJSotq77keTW19fo8/5gkaUparKwBFq/kAwAA\nV46SDfiIzGv7qFtEiJxOaf1Xl76avXnXCVXX1MsaYNHkMbFeTAgAAK4UJRvwEUGBVk1Oc5XmDduO\nqrau4YJznE6n1jUV8PSRMere1ebVjAAA4MpQsgEfMiUtTgEBFlVWO/TlrhMX/Po3R8+q8ES5JGka\nT3gEAMBnUbIBH3JN91CljXAtZFybUyins/V2fuuatu3r3ztCIxKjvB0PAABcIUo24GOmZyZIkgqO\nl+ubo2dbjldWO7Rlt+vq9pT0OFksLHgEAMBXUbIBHzMiMUoDortIktb8YDu/TTuL5ahvVEiwVden\nDDArHgAAuAKUbMDHWCwW3di0nd+W3cUqr6pVo9OpDXmubfvGJfVTRGiQmREBAEAb3C7ZBw4c0Jw5\nc5SUlKRbbrlFe/bsueh5a9as0cSJE5WUlKQFCxbozJkz7g4NdFoTkvsrzBao+oZGbcw/oYKT51Vy\nxrV39lSe8AgAgM9zq2Q7HA5lZ2dr9uzZys/P17x585SdnS273d7qvEOHDmnx4sV67rnntG3bNvXs\n2VMPP/ywW8GBziw0JFBjk3spsN9/tPrM/+rf1e/IlvS5eg07rOheXMUGAMDXuVWyc3NzZbVaNXfu\nXFmtVs2aNUtRUVHavHlzq/Oar2KPHDlSwcHBeuihh/Tll1+qrKzMrfBAZ1XlOK9vgtYqqE+RFOiQ\nJFmCHKqMOKTHNv5FVY7zJicEAACX41bJLiwsVGJiYqtj8fHxKiwsvOx53bp1U2Rk5AXnAXBZfXCD\nSqpLL/prxypO6oODG7ycCAAAXI1Ad77ZbrcrNDS01bHQ0FDV1NS067y21NbWti8o3NI878y/93xR\nmHPZX/+88CvNGjzVS2n8Gz//5mL+zcX8m4/3wFzuzLtbJftShTosLKzVMZvNdkXntaWgoKB9QWEI\n5t876hrrVdnG7SCVjirt2bdHgQFu/RbGVeDn31zMv7mYf/PxHnQ8bn1CJyQkaOXKla2OFRUVaebM\nma2OJSYmqqjo+/1+y8rKVFFRccGtJm0ZOHCgQkJC2h8Y7VJbW6uCggLm34u6HA+/bNHuEhyha0de\n68VE/ouff3Mx/+Zi/s3He2Cu5vlvD7dKdlpamhwOh1auXKm5c+dq9erVKisrU1ZWVqvzpk+frttv\nv12zZs3S8OHD9eyzz+q6665TZGTkVY0XEhIim83mTmS4gfn3ngkJmfrw0KXvu74+IYP3wsv4+TcX\n828u5t98vAcdj1sLH4ODg7V8+XJ99NFHGjNmjN5++2298sorstlseuyxx7R48WJJ0pAhQ7RkyRI9\n/PDDyszM1OnTp/XUU08ZkR/olG4eOln9u8Zc9Nf6d43RTUMnezkRAAC4Gm7f0Dlo0CC98847Fxx/\n/PHHW309ZcoUTZkyxd3hAL8QERyux3/2oD44uEGfF36lSkeVugRH6PqEDN00dLIigsPNjggAAC6D\nVVOAj4oIDtfPr71FswZP1Z59e3TtyGv5q0IAADoItx+rDsDz2EUEAICOhZINAAAAGIySDQAAABiM\nkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIyS\nDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJIN\nAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0A\nAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAA\nABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAA\nGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAYjJINAAAAGIySDQAAABiMkg0AAAAY\njJINAAAAGMztkv23v/1N1113nVJSUvTb3/5WNTU1Fz2vsrJSixYtUmZmpjIyMrRo0SJVVFS4OzwA\nAADgc9wq2V988YXefPNNrVixQps2bdK5c+f09NNPX/Tcp556Sna7XZ9++qk2bNigiooKLV261J3h\nAQAAAJ/kVsn+8MMPNXv2bA0YMEARERG6//779cEHH8jpdF5wbmNjo+655x6FhYUpIiJCt956q3bt\n2uXO8AAAAIBPCmzrhIaGBlVXV19w3GKxqLCwUJMmTWo5Fh8fr+rqapWWlio6OrrV+T++wr1x40YN\nGTKkvbkBAAAAn9Vmyc7Ly9Odd94pi8XS6nifPn0UGBio0NDQlmPN/2632y/7mm+88YY2bNig9957\nrz2ZAQAAAJ/WZslOT0/XoUOHLvprM2fObLXQsblch4WFXfT8xsZGPfnkk/rkk0/097//XXFxcVcV\ntra29qrOhzGa5535Nwfzby7m31zMv7mYf/PxHpjLnXlvs2RfTmJiooqKilq+LiwsVGRkpHr37n3B\nuQ6HQwsXLtSpU6e0atWqC24nuRIFBQXuxIWbmH9zMf/mYv7Nxfybi/k3H+9Bx+NWyZ45c6YWL16s\nyZMnKzo6Wi+++KJmzJhx0XMfeeQRnTt3TitXrrzkle7LSU5OdicqAAAA4DUW58W2ArkKK1as0Btv\nvKGqqiqNHz9eS5YsUUhIiCQpKSlJr732mvr166dx48YpJCREAQEBslgscjqd6tGjhzZu3GjIfwgA\nAADgK9wu2QAAAABa47HqAAAAgMEo2QAAAIDBKNkAAACAwSjZAAAAgMEo2QAAAIDBOlTJfvnllzVh\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "plt.plot(traverse[:,0], traverse[:,1])\n", "plt.plot(traverse[:,0], traverse[:,1], 'o')\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### and use Ramer-Douglas-Peucker to simplify" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "smoothed_traverse = rdp.rdp(traverse, epsilon=0.3)\n", "\n", "plt.plot(smoothed_traverse[:,0], smoothed_traverse[:,1])\n", "plt.plot(smoothed_traverse[:,0], smoothed_traverse[:,1], 'o')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Same procedure but this time a real-word GPS track" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "with open('../gpx/hh_marathon.gpx') as fh:\n", " gpx_file = gpxpy.parse(fh)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "segment = gpx_file.tracks[0].segments[0]\n", "coords = pd.DataFrame([{'lat': p.latitude, 'lon': p.longitude} for p in segment.points])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### but the next line breaks!!!" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "ename": "RecursionError", "evalue": "maximum recursion depth exceeded in comparison", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRecursionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mrdp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcoords\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36mrdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 91\u001b[0m \"\"\"\n\u001b[1;32m 92\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m\"numpy\"\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 93\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 94\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_rdp_nn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvstack\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr1\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mr2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 60\u001b[0;31m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvstack\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr1\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mr2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "... last 1 frames repeated, from the frame below ...\n", "\u001b[0;32m/Users/fwilhelm/anaconda/envs/gps/lib/python3.5/site-packages/rdp/__init__.py\u001b[0m in \u001b[0;36m_rdp\u001b[0;34m(M, epsilon, dist)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdmax\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mr1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mindex\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_rdp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepsilon\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded in comparison" ] } ], "source": [ "rdp.rdp(coords.values)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lesson learned: never use tail recursion in Python since CPython has no optimization!" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from gps_utils import rdp" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12072 gps points simplified to 193 points\n" ] } ], "source": [ "simplified_coords = rdp(coords[['lon', 'lat']].values, 0.0001)\n", "print(\"{} gps points simplified to {} points\".format(coords.shape[0], simplified_coords.shape[0]))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRUW1es5gMCAwMLDZc0FBQW1eY7LrUa/XKy6HPMOb8QSAiIgIJCYmYt++fdi8eTO+/PJLrFy5lKhg\nNAAAA3RJREFU0oM1oKbcjae9MgC4dX12yoSxb9++eO+995CdnY1Ro0Zhz549eOKJJ9CzZ89m261a\ntQq9e/dGXFwcAgICkJGRAbPZjKNHj6JPnz7YsmULRo0ahW7dumHo0KEYP348Dh482EG16rqUxvPp\np5/GM888gxdeeAHJyckQQqB///4ICQlpMzk0GAwIDg5uz6oQPBNPXp+dj0ajQV1dXbPnjEZjm9eY\n7Hp0phzyHk/FEwBWr16NtLQ0BAUFoU+fPnj++edx4MAB7+08teKp68qdcjplwnjjxg3ceeed2L17\nN44dO4a3334bpaWliIuLa7ZdeXl5q4qr1Wqo1WoUFha2GsVlMplaZdbkfUrjWVlZiSeffBKffvop\nPvvsM6SlpeHcuXOIi4vDPffcg9LS0mbbl5aW4t57723PqhA8E09en51P3759YTabcenSJdtzpaWl\nrboqAUivR2fKIe/xVDyvXr2KpUuXQq/X214zGo28VtuZp64rd8rplAljbW0tpk2bhsLCQtTV1WHr\n1q24dOkSEhMTm203evRobN++HYWFhWhoaMDGjRvR2NgInU6H4OBgZGdnY//+/RBC4NixY8jLy8PE\niRM7qFZdl9J4Hj16FOnp6aipqcH169fx29/+FqNGjUJUVBSGDx9ue299fT127NiB6upqJCQkdFCt\nui5PxJPXZ+fTvXt3JCYm4p133oHRaMTp06fx0UcfISUlpdW2suvRmXLIezwVz5CQEBw8eBArV65E\nfX09ysrKsHbtWkyaNKkDatV1eeq6cqscl8Z7t4M9e/aIxMREodPpxIwZM0RxcbEQQojf/OY34vXX\nX7dtt27dOpGYmCgefvhhMXPmTHH27Fnba4cOHRIpKSnioYceEo8//rjYv39/e1eDblIaz6VLl4rh\nw4eL+Ph4sXjxYnHt2jXba998842YNm2a0Gq1YsKECZymowN5Ip68Pjvel19+2WzKjdraWpGZmSni\n4+PFmDFjRG5uru21PXv2iKeeesr2f9n1KCuHvMdb8SwuLhZpaWlCp9OJRx55RKxcubJ9KtTFuRNP\ne2U4KkdGJYQQLia8RERERNQFdMouaSIiIiLqPJgwEhEREZEUE0YiIiIikmLCSERERERSTBiJiIiI\nSIoJIxERERFJMWEkIiIiIikmjEREREQkxYSRiIiIiKT+H9Afjf0f7JvjAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "plt.plot(simplified_coords[:,0], simplified_coords[:,1])\n", "plt.plot(simplified_coords[:,0], simplified_coords[:,1], 'ro')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mplleaflet.display(fig=fig)" ] } ], "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 }