{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "6f18aff3",
   "metadata": {},
   "source": [
    "# Selecting GPS tracks\n",
    "\n",
    "Our focus on this section concern the **selection process on GPS tracks**. Given a selection query q, the objective is to find the GPS tracks whose satisfy a temporal or a spatial properties overlap with q. In addition, the process allows the retrieval of tracks that satisfy this properties with q.\n",
    "\n",
    "Selection is performed by a *selector* object, containing an arbitrary number of constraints, combined by OR, AND or XOR operator. Since only a single operator is allowed in the selector, a \"global selector\" is provided to the users to combine the output of several individual selectors. Again, the output may be combined with OR, AND or XOR.\n",
    "\n",
    "Constraints may be based on:\n",
    "- a geometrical shape (Rectangle, circle or polygon in Geometrics). This is the standard type of constraint. Different modes are:\n",
    "\n",
    "    * MODE_CROSSES: tracks crossing shape interior/boundary are selected\n",
    "    * MODE_INSIDE : tracks remaining fully inside the shape are selected\n",
    "    * MODE_GETS_IN: tracks getting in (at least once) shape are selected\n",
    "    * MODE_INSIDE : tracks getting out (at least once) shape are selected\n",
    "\n",
    "- a track t as a reference. Available modes are:\n",
    "\n",
    "    * MODE_CROSSES : tracks  intersecting t (at least once) are selected\n",
    "    * MODE_PARALLEL: tracks  following t are selected\n",
    "\n",
    "- a \"toll gate\" segment, defined by two Coords objects: tracks crossing (at least once) the toll gate are selected \n",
    "\n",
    "All these constraint may be provided with an additional time constraint, specifying the time interval (between two ObsTime dates) where crossing / containing / getting in / getting out... operations are tested. Besides, there are two types of selection:\n",
    "\n",
    "* TYPE_SELECT: tracks abiding by constraints are returned as they are\n",
    "* TYPE_CUT_AND_SELECT: tracks abiding by constraints are cut and returned"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9956e67d",
   "metadata": {},
   "source": [
    "## Let's start by defining our environment\n",
    "\n",
    "This task is only useful for the online notebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d361bbca",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import sys\n",
    "\n",
    "#-------------------------------------------------------\n",
    "# Import de tracklib\n",
    "\n",
    "module_path = os.path.abspath(os.path.join('../../..'))\n",
    "if module_path not in sys.path:\n",
    "    sys.path.append(module_path)\n",
    "    \n",
    "import tracklib as trk"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d1066053",
   "metadata": {},
   "source": [
    "## Loading the GPS track"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "9b40f9c9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-------------------------------------\n",
      "GPS track #0 of user 0:\n",
      "-------------------------------------\n",
      "  Nb of pt(s):   190\n",
      "  Ref sys id   : ENU\n",
      "  Starting at  : 11/11/2020 15:39:54\n",
      "  Ending at    : 11/11/2020 15:52:00\n",
      "  Duration     : 726.000 s\n",
      "  Length       : 2412.144 m\n",
      "-------------------------------------\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "trk.ObsTime.setReadFormat(\"4Y-2M-2DT2h:2m:2sZ\")\n",
    "tracks = trk.TrackReader.readFromFile('../../../data/gpx/activity_5807084803.gpx', trk.TrackFormat({'ext':'GPX'}))\n",
    "trace = tracks.getTrack(0)\n",
    "\n",
    "# Transformation GEO coordinates to ENU\n",
    "trace.toENUCoordsIfNeeded()\n",
    "trace.summary()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "967291e3",
   "metadata": {},
   "source": [
    "## Create a rectangle to select observation on track"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "cd888d46",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes:title={'center':'Original track'}, xlabel='E (m)', ylabel='N (m)'>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the GPS track\n",
    "fig = plt.figure(figsize = (4, 4))\n",
    "ax = fig.add_axes([0,0,1,1])\n",
    "trace.plot(sym=\"ko\", pointsize=10, append=ax, title=\"Original track\")\n",
    "\n",
    "# shape rectangle\n",
    "ll = trk.ENUCoords(-110, -18)\n",
    "ur = trk.ENUCoords(10, 48)\n",
    "bbox = trk.Rectangle(ll, ur)\n",
    "bbox.plot(append=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f768e533",
   "metadata": {},
   "source": [
    "## Create a time intervall to select observation on track"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ae826aa7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7249280775e0>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Time Constraint\n",
    "tc1 = trk.TimeConstraint(begin=trk.ObsTime('2020-11-11 15:42:15'), \n",
    "                        end=trk.ObsTime('2020-11-11 15:42:45'))\n",
    "tc2 = trk.TimeConstraint(begin=trk.ObsTime('2020-11-11 15:39:00'), \n",
    "                        end=trk.ObsTime('2020-11-11 15:40:45'))\n",
    "tc3 = trk.TimeConstraint(begin=trk.ObsTime('2020-11-11 15:41:15'), \n",
    "                        end=trk.ObsTime('2020-11-11 15:42:15'))\n",
    "tc3 = trk.TimeConstraint(begin=trk.ObsTime('2020-11-11 15:43:55'), \n",
    "                        end=trk.ObsTime('2020-11-11 15:45:55'))\n",
    "\n",
    "trace.plot(sym=\"ko\", pointsize=2, title=\"Original track\")\n",
    "\n",
    "query  = \" SELECT * \"\n",
    "query += \" WHERE timestamp <= 2020-11-11 15:42:45 \"  # 15:44:15\n",
    "query += \"   AND timestamp >= 2020-11-11 15:42:15 \"\n",
    "trace1 = trace.query(query)\n",
    "trace1.plot('r-', title='track query by a time constraint', append=True)\n",
    "trace1.plot('ro', xlabel=\"\", ylabel=\"\", append=True, xlim=[-115, 55], ylim=[-115, 55])\n",
    "\n",
    "query  = \" SELECT * \"\n",
    "query += \" WHERE timestamp <= 2020-11-11 15:40:45 \"  # 15:44:15\n",
    "query += \"   AND timestamp >= 2020-11-11 15:39:00 \"\n",
    "trace2 = trace.query(query)\n",
    "trace2.plot('b-', title='track query by a time constraint', append=True)\n",
    "trace2.plot('bo', xlabel=\"\", ylabel=\"\", append=True, xlim=[-115, 55], ylim=[-115, 55])\n",
    "\n",
    "query  = \" SELECT * \"\n",
    "query += \" WHERE timestamp <= 2020-11-11 15:42:15 \"  # 15:44:15\n",
    "query += \"   AND timestamp >= 2020-11-11 15:41:15 \"\n",
    "trace3 = trace.query(query)\n",
    "trace3.plot('c-', title='track query by a time constraint', append=True)\n",
    "trace3.plot('co', xlabel=\"\", ylabel=\"\", append=True, xlim=[-115, 55], ylim=[-115, 55])\n",
    "\n",
    "query  = \" SELECT * \"\n",
    "query += \" WHERE timestamp <= 2020-11-11 15:45:55 \"  # 15:44:15\n",
    "query += \"   AND timestamp >= 2020-11-11 15:43:55 \"\n",
    "trace4 = trace.query(query)\n",
    "trace4.plot('g-', title='track query by a time constraint', append=True)\n",
    "trace4.plot('go', xlabel=\"\", ylabel=\"\", append=True, xlim=[-115, 55], ylim=[-115, 55])\n",
    "\n",
    "bbox.plot('m-', append=True)\n",
    "plt.legend(['trace1', 'trace2', 'trace3', 'trace4'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f5eaf00a",
   "metadata": {},
   "source": [
    "## Geometrical shape constraint \n",
    "\n",
    "A constraint based on a geometrical shape (red rectangle) and mode CROSSES to select tracks crossing shape interior/boundary.\n",
    "<br/>\n",
    "\n",
    "The figure on the left shows the track abiding by constraints (crosses the rectangle and timestamp between 15:39 and 15:52) are cut and returned.\n",
    "```python \n",
    "Constraint(shape=bbox, time = tc, type=trk.TYPE_CUT_AND_SELECT, mode=trk.MODE_CROSSES)\n",
    "```\n",
    "<br/>\n",
    "\n",
    "The figure on the right shows the track abiding by constraints (crosses the rectangle and timestamp between 15:39 and 15:52) are returned as they are.\n",
    "```python \n",
    "Constraint(shape=bbox, time = tc, type=trk.TYPE_SELECT, mode=trk.MODE_CROSSES)\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1f8c8bfa",
   "metadata": {
    "tags": [
     "nbsphinx-thumbnail"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x864 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "COLORS = ['r', 'b', 'c', 'g']\n",
    "fig = plt.figure(figsize = (12, 12))\n",
    "\n",
    "def aff(tracks, i, j, title):\n",
    "    ax = plt.subplot2grid((4,4), (i-1, j-1))\n",
    "    trace.plot(sym=\"ko\", pointsize=2, append=ax)\n",
    "    bbox.plot(append=ax)\n",
    "    \n",
    "    for k, track in enumerate(tracks):\n",
    "        track.plot(sym=COLORS[k]+\"-\", pointsize=7, append=ax, title=title,\n",
    "                         xlabel=\"\", ylabel=\"\", xlim=[-115, 55], ylim=[-115, 55])\n",
    "\n",
    "c21 = trk.Constraint(time=tc1, shape=bbox, type=trk.TYPE_CUT_AND_SELECT, mode=trk.MODE_CROSSES)\n",
    "trackC21 = c21.select(trk.TrackCollection([trace]))\n",
    "aff (trackC21, 1, 1, 'CROSSES')\n",
    "\n",
    "c22 = trk.Constraint(time=tc1, shape=bbox, type=trk.TYPE_CUT_AND_SELECT, mode=trk.MODE_INSIDE)\n",
    "trackC22 = c22.select(trk.TrackCollection([trace1]))\n",
    "aff (trackC22, 1, 2, 'INSIDE')\n",
    "\n",
    "c23 = trk.Constraint(shape=bbox, type=trk.TYPE_CUT_AND_SELECT, mode=trk.MODE_GETS_IN)\n",
    "trackC23 = c23.select(trk.TrackCollection([trace1, trace2, trace3, trace4]))\n",
    "aff (trackC23, 2, 1, 'GETS IN')\n",
    "\n",
    "c24 = trk.Constraint(shape=bbox, type=trk.TYPE_CUT_AND_SELECT, mode=trk.MODE_GETS_OUT)\n",
    "trackC24 = c24.select(trk.TrackCollection([trace1, trace2, trace3, trace4]))\n",
    "aff (trackC24, 2, 2, 'GETS OUT')\n"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
