{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Normalized distance wrapper script\n", "## Description\n", "This notebook computes the normalized distance of the bus-stop on the route for both the directions (i.e., North bound and south bound). " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from pymongo import MongoClient\n", "import math\n", "import pprint\n", "#import geocoder\n", "import pprint" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "con = MongoClient()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "RouteName='Git_ISCON_PDPU'" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nProjectDataUsed = True\\nUsedPreTrained = True\\nUseMongoDB = False\\n'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#'''\n", "ProjectDataUsed = True\n", "UsedPreTrained = False\n", "UseMongoDB = True\n", "#'''\n", "'''\n", "ProjectDataUsed = True\n", "UsedPreTrained = True\n", "UseMongoDB = False\n", "'''" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "if UseMongoDB==True:\n", " BusStopsList = [BusStop for BusStop in con[RouteName]['BusStops.SouthBound'].find().sort([('id',1)])]\n", " BusStopsCount = len (BusStopsList)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "if UseMongoDB==True:\n", " BusStopRecordList = [record for record in \n", " con [RouteName]['20_12_2017__18_31_19.BusStopsRecord'].find().sort([('id',1)])]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "if UseMongoDB==True:\n", " '''Normalized distance of the bus-stop using the trip records of 20_12_2017__18_31_19 for South bound direction'''\n", " for BusStopIndex in range(BusStopsCount):\n", " BusStopRecord = [record for record in \n", " con [RouteName]['20_12_2017__18_31_19.BusStopsRecord'].find({'id':BusStopIndex}).limit(1)]\n", " #print(BusStopRecord)\n", " #input()\n", " if len(BusStopRecord)!=0:\n", " LocationRecordForBusStop=[Record for Record in \n", " con[RouteName]['20_12_2017__18_31_19.LocationRecordsWithDistanceFromOrigin'].find({'epoch':BusStopRecord[0]['epoch']}).limit(1)]\n", " if len(LocationRecordForBusStop)!=0:\n", " #print(LocationRecordForBusStop[0]['normalizedDistanceFromOrigin'])\n", " #print(LocationRecordForBusStop[0]['normalizedDistanceFromOriginList'])\n", " #input()\n", " con[RouteName]['BusStops.SouthBound'].update_one({'id':BusStopIndex},{'$set':{'normalizedDistanceFromOrigin':LocationRecordForBusStop[0]['normalizedDistanceFromOrigin'],'distanceFromOrigin':LocationRecordForBusStop[0]['distanceFromOrigin']}})" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "if UseMongoDB==True:\n", " BusStopsList = [BusStop for BusStop in con[RouteName]['BusStops.NorthBound'].find().sort([('id',1)])]\n", " BusStopsCount = len (BusStopsList)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "if UseMongoDB==True:\n", " '''Normalized distance of the bus-stop using the trip records of 18_01_2018__07_38_10 for North bound direction'''\n", " for BusStopIndex in range(BusStopsCount):\n", " BusStopRecord = [record for record in con [RouteName]['18_01_2018__07_38_10.BusStopsRecord'].find({'id':BusStopIndex}).limit(1)]\n", " #print(BusStopRecord)\n", " #input()\n", " if len(BusStopRecord) != 0:\n", " LocationRecordForBusStop=[Record for Record in con[RouteName]['18_01_2018__07_38_10.LocationRecordsWithDistanceFromOrigin'].find({'epoch':BusStopRecord[0]['epoch']}).limit(1)]\n", " if len(LocationRecordForBusStop)!=0:\n", " #print(LocationRecordForBusStop[0]['normalizedDistanceFromOrigin'])\n", " #print(LocationRecordForBusStop[0]['normalizedDistanceFromOriginList'])\n", " #input()\n", " con[RouteName]['BusStops.NorthBound'].update_one({'id':BusStopIndex},{'$set':{'normalizedDistanceFromOrigin':LocationRecordForBusStop[0]['normalizedDistanceFromOrigin'],'distanceFromOrigin':LocationRecordForBusStop[0]['distanceFromOrigin']}})" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'Location': [23.0281012, 72.5073624],\n", " 'Name': 'ISCON',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a52'),\n", " 'distanceFromOrigin': 0.0,\n", " 'id': 0,\n", " 'normalizedDistanceFromOrigin': 0.0},\n", " {'Location': [23.03870415090908, 72.51184797090909],\n", " 'Name': 'Pakwaan',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a53'),\n", " 'distanceFromOrigin': 1257.194855830299,\n", " 'id': 1,\n", " 'normalizedDistanceFromOrigin': 0.03815697511500963},\n", " {'Location': [23.046436509895834, 72.5153306670573],\n", " 'Name': 'GuruDwara',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a54'),\n", " 'distanceFromOrigin': 2199.6353543479936,\n", " 'id': 2,\n", " 'normalizedDistanceFromOrigin': 0.06676087727269635},\n", " {'Location': [23.05023487142857, 72.517192015625],\n", " 'Name': 'Thaltej',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a55'),\n", " 'distanceFromOrigin': 2786.5955075824622,\n", " 'id': 3,\n", " 'normalizedDistanceFromOrigin': 0.08457563674025581},\n", " {'Location': [23.058987780666662, 72.51988011433333],\n", " 'Name': 'Zydus',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a56'),\n", " 'distanceFromOrigin': 3838.7426854484406,\n", " 'id': 4,\n", " 'normalizedDistanceFromOrigin': 0.11650923358642275},\n", " {'Location': [23.077070729310343, 72.52525763017242],\n", " 'Name': 'Kargil',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a57'),\n", " 'distanceFromOrigin': 5976.60601443792,\n", " 'id': 5,\n", " 'normalizedDistanceFromOrigin': 0.18139527528889884},\n", " {'Location': [23.086530150000005, 72.52805168333333],\n", " 'Name': 'Sola',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a58'),\n", " 'distanceFromOrigin': 7080.447398970731,\n", " 'id': 6,\n", " 'normalizedDistanceFromOrigin': 0.21489783700016127},\n", " {'Location': [23.0991167, 72.5316183],\n", " 'Name': 'Gota',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a59'),\n", " 'distanceFromOrigin': 8536.820469394168,\n", " 'id': 7,\n", " 'normalizedDistanceFromOrigin': 0.2591000469826514},\n", " {'Location': [23.136835, 72.54286],\n", " 'Name': 'Vaishnodevi',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5a'),\n", " 'distanceFromOrigin': 12955.670052411711,\n", " 'id': 8,\n", " 'normalizedDistanceFromOrigin': 0.3932160376695642},\n", " {'Location': [23.1607333, 72.5569467],\n", " 'Name': 'Khoraj',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5b'),\n", " 'distanceFromOrigin': 16113.621581768199,\n", " 'id': 9,\n", " 'normalizedDistanceFromOrigin': 0.4890626579140296},\n", " {'Location': [23.17621, 72.5843483],\n", " 'Name': 'Adalaj-Uvarsad',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5c'),\n", " 'distanceFromOrigin': 19709.889902903735,\n", " 'id': 10,\n", " 'normalizedDistanceFromOrigin': 0.5982125802193027},\n", " {'Location': [23.1927733, 72.6151667],\n", " 'Name': 'Sargasan',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5d'),\n", " 'distanceFromOrigin': 23404.28708007662,\n", " 'id': 11,\n", " 'normalizedDistanceFromOrigin': 0.7103408000418756},\n", " {'Location': [23.185605, 72.637985],\n", " 'Name': 'Raksha-shakti circle',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5e'),\n", " 'distanceFromOrigin': 26298.226000211598,\n", " 'id': 12,\n", " 'normalizedDistanceFromOrigin': 0.7981744042344572},\n", " {'Location': [23.1605217, 72.63598],\n", " 'Name': 'Bhaijipura',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a5f'),\n", " 'distanceFromOrigin': 29191.37478045548,\n", " 'id': 13,\n", " 'normalizedDistanceFromOrigin': 0.8859840269829355},\n", " {'Location': [23.15448, 72.66474],\n", " 'Name': 'PDPU',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95e973fbd2abaef2a60'),\n", " 'distanceFromOrigin': 32507.792799377745,\n", " 'id': 14,\n", " 'normalizedDistanceFromOrigin': 0.9866402452550121}]\n" ] } ], "source": [ "if UseMongoDB==True:\n", " pprint.pprint([BusStop for BusStop in con[RouteName]['BusStops.NorthBound'].find().sort([('id',1)])])" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'Location': [23.0279711, 72.5078451],\n", " 'Name': 'ISCON',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a61'),\n", " 'distanceFromOrigin': 31903.97288959138,\n", " 'id': 0,\n", " 'normalizedDistanceFromOrigin': 0.9977971672495668},\n", " {'Location': [23.038713706, 72.511958278],\n", " 'Name': 'Pakwaan',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a62'),\n", " 'distanceFromOrigin': 30634.574074389904,\n", " 'id': 1,\n", " 'normalizedDistanceFromOrigin': 0.9580967027869978},\n", " {'Location': [23.046480342276425, 72.51585688109755],\n", " 'Name': 'Gurudwara',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a63'),\n", " 'distanceFromOrigin': 29678.7615643636,\n", " 'id': 2,\n", " 'normalizedDistanceFromOrigin': 0.9282036540990994},\n", " {'Location': [23.0498, 72.5174528],\n", " 'Name': 'Thaltej',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a64'),\n", " 'distanceFromOrigin': 29269.13789104586,\n", " 'id': 3,\n", " 'normalizedDistanceFromOrigin': 0.9153926683861524},\n", " {'Location': [23.0582231, 72.5201619],\n", " 'Name': 'Zydus',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a65'),\n", " 'distanceFromOrigin': 28289.745336606244,\n", " 'id': 4,\n", " 'normalizedDistanceFromOrigin': 0.8847621535024093},\n", " {'Location': [23.076668105241932, 72.5253161935484],\n", " 'Name': 'Kargil',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a66'),\n", " 'distanceFromOrigin': 26163.691224016857,\n", " 'id': 5,\n", " 'normalizedDistanceFromOrigin': 0.8182697834674199},\n", " {'Location': [23.086980111684788, 72.5283425548913],\n", " 'Name': 'Sola',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a67'),\n", " 'distanceFromOrigin': 24884.61427935693,\n", " 'id': 6,\n", " 'normalizedDistanceFromOrigin': 0.778266635380108},\n", " {'Location': [23.0991004, 72.5319368],\n", " 'Name': 'Gota',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a68'),\n", " 'distanceFromOrigin': 23470.259708482747,\n", " 'id': 7,\n", " 'normalizedDistanceFromOrigin': 0.7340326777727421},\n", " {'Location': [23.1372724, 72.5430607],\n", " 'Name': 'Vaishnodevi',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a69'),\n", " 'distanceFromOrigin': 19082.518226279375,\n", " 'id': 8,\n", " 'normalizedDistanceFromOrigin': 0.5968060058244883},\n", " {'Location': [23.1607333, 72.5569467],\n", " 'Name': 'Khoraj',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6a'),\n", " 'distanceFromOrigin': 16030.112789586818,\n", " 'id': 9,\n", " 'normalizedDistanceFromOrigin': 0.501341986074689},\n", " {'Location': [23.1776699, 72.5869957],\n", " 'Name': 'Adalaj-uvarsad',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6b'),\n", " 'distanceFromOrigin': 12341.855525768942,\n", " 'id': 10,\n", " 'normalizedDistanceFromOrigin': 0.385991692157979},\n", " {'Location': [23.1926012, 72.6154206],\n", " 'Name': 'Sargasan',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6c'),\n", " 'distanceFromOrigin': 8969.302511335685,\n", " 'id': 11,\n", " 'normalizedDistanceFromOrigin': 0.28051505274864835},\n", " {'Location': [23.1852905, 72.6386404],\n", " 'Name': 'RakshaShakti',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6d'),\n", " 'distanceFromOrigin': 6100.040907210448,\n", " 'id': 12,\n", " 'normalizedDistanceFromOrigin': 0.19077885874541997},\n", " {'Location': [23.1604408, 72.635821],\n", " 'Name': 'Bhaijipura',\n", " 'Type': 'CrossRoad',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6e'),\n", " 'distanceFromOrigin': 3297.4834210639438,\n", " 'id': 13,\n", " 'normalizedDistanceFromOrigin': 0.10312883689991607},\n", " {'Location': [23.15448, 72.66474],\n", " 'Name': 'PDPU',\n", " 'Type': 'BusStop',\n", " '_id': ObjectId('6340c95f973fbd2abaef2a6f'),\n", " 'distanceFromOrigin': 185.11221001873196,\n", " 'id': 14,\n", " 'normalizedDistanceFromOrigin': 0.00578938677697589}]\n" ] } ], "source": [ "if UseMongoDB==True:\n", " pprint.pprint([BusStop for BusStop in con[RouteName]['BusStops.SouthBound'].find().sort([('id',1)])])" ] } ], "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.6.9" } }, "nbformat": 4, "nbformat_minor": 2 }