re-run atlas group unique with accomodating for multiple rows per from+to+schedule

This commit is contained in:
Sanj 2012-03-12 14:31:11 +05:30
commit 9e765a983b
23 changed files with 61999 additions and 44925 deletions

View File

@ -1,2 +0,0 @@
agency_id,agency_name,agency_url,agency_timezone
1,BEST,www.chalobest.in,Asia/Kolkata

View File

@ -1,9 +0,0 @@
trip_id,start_time,end_time,headway_secs
282_1,07:00:00,11:00:00,360
282_1,11:00:00,16:00:00,420
282_1,16:00:00,22:00:00,480
282_1,07:00:00,11:00:00,360
289_1,07:00:00,11:00:00,600
289_1,11:00:00,16:00:00,420
289_1,16:00:00,22:00:00,420
289_1,07:00:00,11:00:00,540

View File

@ -4,6 +4,10 @@ from settings import *
from os.path import join from os.path import join
import csv import csv
import sys import sys
import datetime
from itertools import dropwhile
def routeWithLocationData(route): def routeWithLocationData(route):
''' '''
@ -11,7 +15,6 @@ def routeWithLocationData(route):
''' '''
# get the route detail # get the route detail
routeDetails = RouteDetail.objects.filter(route_code=route.code).order_by('serial') routeDetails = RouteDetail.objects.filter(route_code=route.code).order_by('serial')
#unrlist = UniqueRoute.objects.filter('route'=route) #unrlist = UniqueRoute.objects.filter('route'=route)
#for unr in unrlist: #for unr in unrlist:
@ -33,6 +36,82 @@ def getRoutesHavingAllLocs():
return filteredroutes return filteredroutes
def getCompleteRoutes_old(routelist):
#get routes having all stop locaions
filteredroutes = []
isComplete = True
for route in routelist:
# check if all stops have locs
isComplete = True
if routeWithLocationData(route):
# check if Unique Routes have distance
unrs = route.uniqueroute_set.all()
for unr in unrs:
if unr.distance:
rsset= unr.routeschedule_set.all()
for rs in rsset:
if rs.runtime1 and rs.runtime2 and rs.runtime3 and rs.runtime4 and rs.headway1 and rs. headway2 and rs.headway3 and rs.headway4 and rs.headway5 and rs.first_from and rs.first_to and rs.last_from and rs.last_to:
filteredroutes.append(route)
else:
isComplete = False
continue
else:
isComplete = False
continue
return list(set(filteredroutes))
from operator import itemgetter
def getCompleteRoutes2():
#get routes having all stop locaions
isComplete = True
routelist =[]
rtdt = {}
for rs in RouteSchedule.objects.select_related():
flag = 0
rtdt[rs.unique_route.route] = True
if rs.runtime1 and rs.runtime2 and rs.runtime3 and rs.runtime4 and rs.headway1 and rs. headway2 and rs.headway3 and rs.headway4 and rs.headway5 and rs.first_from and rs.first_to and rs.last_from and rs.last_to:
pass
else:
rtdt[rs.unique_route.route] = False
if rs.unique_route.distance:
pass
else:
rtdt[rs.unique_route.route] = False
for k,v in rtdt.iteritems():
if v:
routelist.append(k)
return routelist
def getCompleteRoutes():
rset = set()
for rs in RouteSchedule.objects.select_related():
if rs.runtime1 is None or rs.runtime2 is None or rs.runtime3 is None or rs.runtime4 is None or rs.headway1 is None or rs. headway2 is None or rs.headway3 is None or rs.headway4 is None or rs.headway5 is None or rs.first_from is None or rs.first_to is None or rs.last_from is None or rs.last_to is None:
try:
rset.remove(rs.unique_route.route)
except KeyError:
pass
else:
# other criteria
if routeWithLocationData(rs.unique_route.route) and rs.unique_route.distance:
rset.add(rs.unique_route.route)
return list(rset)
def routeWithSomeLocationData(route,limit): def routeWithSomeLocationData(route,limit):
@ -58,54 +137,61 @@ def routeWithSomeLocationData(route,limit):
else: else:
return None return None
def getRoutesHavingSomeLocs(limit):
'''
Gets those routes which have at most <limit> no of stops without location data.
'''
filteredroutes = []
no_of_routes = 0
for route in Route.objects.all():
data= routeWithSomeLocationData(route, limit)
if data:
no_of_routes+=1
filteredroutes.append(data)
print "No of routes::",no_of_routes def rindex(lst, item):
return filteredroutes """
gets last occurence of item from list
"""
try:
return dropwhile(lambda x: lst[x] != item, reversed(xrange(len(lst)))).next()
except StopIteration:
raise ValueError, "rindex(lst, item): item not in list"
def export_routes(routebeer): def export_routes(routebeer):
#routebeer = getRoutesHavingAllLocs() #routebeer = getRoutesHavingAlLocs()
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/routes.txt"), "w"), delimiter=",")
filedude.writerow(["route_id" ,"route_short_name","route_long_name","route_type"]) f = make_csv_writer("routes.txt")
f.writerow(["route_id" ,"route_short_name","route_long_name","route_type"])
for route in routebeer: for route in routebeer:
try: try:
# data checks here # data checks here
filedude.writerow([route.code,route.alias[0:3],route.from_stop_txt + " - " + route.to_stop_txt,3]) f.writerow([route.code,route.alias[0:3],route.from_stop_txt + " - " + route.to_stop_txt,3])
except: except:
pass pass
def export_stops(olist): def make_csv_writer(filename):
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/stops.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) return csv.writer(open(join(PROJECT_ROOT, "gtfs", "gtfs_mumbai_bus", filename), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)
filedude.writerow(["stop_id" ,"stop_name","stop_lat","stop_lon"])
for stop in olist: def export_stops(routelist):
stoplist = []
for route in routelist:
rds = RouteDetail.objects.filter(route=route).select_related()
stoplist.extend(rd.stop for rd in rds)
stoplist = list(set(stoplist))
f = make_csv_writer("stops.txt")
f.writerow(["stop_id" ,"stop_name","stop_lat","stop_lon"])
for stop in stoplist:
try: try:
# data checks here # data checks here
# stop_code is used for stop_id as its BEST specfic.. # stop_code is used for stop_id as its BEST specfic
# #
filedude.writerow([stop.id,stop.name,stop.point.coords[1],stop.point.coords[0]]) f.writerow([stop.code,stop.name,stop.point.coords[1],stop.point.coords[0]])
except: except:
pass pass
def export_agency(): def export_agency():
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/agency.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) f = make_csv_writer("agency.txt")
# also # also
filedude.writerow(["agency_id", "agency_name","agency_url","agency_timezone","agency_lang"]) f.writerow(["agency_id", "agency_name","agency_url","agency_timezone","agency_lang"])
filedude.writerow(["BEST","BrihanMumbai Electric Supply & Transport","http://www.bestundertaking.com/","Asia/Kolkata","en"]) f.writerow(["BEST","BrihanMumbai Electric Supply & Transport Undertaking","http://www.bestundertaking.com/","Asia/Kolkata","en"])
#filedude.writerow(["agency_id" ,"agency_name","agency_url","agency_timezone"]) #f.writerow(["agency_id" ,"agency_name","agency_url","agency_timezone"])
#filedude.writerow([1 ,"BEST","www.chalobest.in","Asia/Kolkata"]) #f.writerow([1 ,"BEST","www.chalobest.in","Asia/Kolkata"])
# stop_code is used for stop_id as its BEST specfic.. # stop_code is used for stop_id as its BEST specfic..
@ -127,13 +213,16 @@ SERVICE_SCHEDULE = [
{'id':13,'code':'SAT&SH','days':[6,7,8]}, {'id':13,'code':'SAT&SH','days':[6,7,8]},
{'id':14,'code':'SAT/SUND&HOL','days':[6,7,8]}, {'id':14,'code':'SAT/SUND&HOL','days':[6,7,8]},
{'id':15,'code':'S/H','days':[7,8]}, {'id':15,'code':'S/H','days':[7,8]},
{'id':16,'code':'SAT,SUN&HOL','days':[6,7,8]} {'id':16,'code':'SAT,SUN&HOL','days':[6,7,8]},
{'id':17,'code':'FH','days':[5,8]}
] ]
# FH indicates what? full week + holidays??
# HOL holidays means only the exceptions as defined in calendar_dates.txt. this needs to be converted separately.
# done here only to get the other components of gtfs up.
def export_calendar(): def export_calendar():
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/calendar.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) f = make_csv_writer("calendar.txt")
filedude.writerow(["service_id" ,"monday","tuesday","wednesday","thursday","friday","saturday","sunday","start_date","end_date"]) f.writerow(["service_id" ,"monday","tuesday","wednesday","thursday","friday","saturday","sunday","start_date","end_date"])
start_date="20000101" #YYYYMMDD format start_date="20000101" #YYYYMMDD format
end_date="20500101" #YYYYMMDD format end_date="20500101" #YYYYMMDD format
@ -143,45 +232,64 @@ def export_calendar():
for ss in schedule: for ss in schedule:
try: try:
# data checks here # data checks here
running = [1 if day in ss['days'] else 0 for day in range(1,8)]
# ternary operation :::: ('false','true')[condition] # ternary operation :::: ('false','true')[condition]
filedude.writerow([ss['code'], f.writerow([ss['code']] + running + [start_date,end_date])
(0,1)[ss['days'].__contains__(1)],
(0,1)[ss['days'].__contains__(2)],
(0,1)[ss['days'].__contains__(3)],
(0,1)[ss['days'].__contains__(4)],
(0,1)[ss['days'].__contains__(5)],
(0,1)[ss['days'].__contains__(6)],
(0,1)[ss['days'].__contains__(7)],
start_date,
end_date
])
except: except:
print "Error:", str(ss) + '\t' + str(sys.exc_info()[0]) + '\n' print "Error:", str(ss) + '\t' + str(sys.exc_info()[0]) + '\n'
def uniquify_list_of_lists(sequence):
seen = set()
return [ x for x in sequence if str( x ) not in seen and not seen.add( str( x ) )]
def export_trips(): def generate_trips(n=None):
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/trips.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) schedules = RouteSchedule.objects.all()
filedude.writerow(["route_id","service_id","trip_id"]) if n is not None: schedules = schedules[:n]
filedude.writerow(["2820","MS","2820_1"]) #triplist = []
#filedude.writerow(["246","HOL","282_2"]) for schedule in schedules:
#filedude.writerow(["246","SUN","282_3)"]) route = schedule.unique_route.route
unr = schedule.unique_route
days = schedule.schedule_type
filedude.writerow(["2894","MS","2894_1"]) for direction in ("UP","DOWN"):
#filedude.writerow(["253","HOL","289_2"]) trip_id = "%s_%s_%s_%s" %(route.code,unr.id,days, direction)
#filedude.writerow(["253","SUN","289_3"]) #triplist.append([schedule, route, direction, trip_id])
yield schedule, route, direction, trip_id
#return uniquify_list_of_lists(triplist)
def generate_trips_unr(n=None):
schedules = RouteSchedule.objects.all()
if n is not None: schedules = schedules[:n]
#triplist = []
for schedule in schedules:
route = schedule.unique_route.route
unr = schedule.unique_route
days = schedule.schedule_type
for direction in ("UP","DOWN"):
trip_id = "%s_%s_%s_%s" %(route.code,unr.id,days, direction)
#triplist.append([schedule, route, direction, trip_id])
yield schedule, unr, route, direction, trip_id
def export_trips(routelist):
f = make_csv_writer("trips.txt")
f.writerow(["route_id","service_id","trip_id"])
for schedule, route, direction, trip_id in generate_trips():
if route not in routelist: continue
f.writerow([route.code, schedule.schedule_type, trip_id])
# we need to get UniqueRoutes for each route, that is one trip, since it is based on service_id which shows days_of_run. # we need to get UniqueRoutes for each route, that is one trip, since it is based on service_id which shows days_of_run.
# we need to be careful here because a filter queryset for UniqueRoutes can differ in order and a naming based on this order
# will not be consistent. Its good to use a uniqueroute-serial number.
#for r in routelist:
""" """
try: try:
# data checks here # data checks here
# ternary operation :::: ('false','true')[condition] # ternary operation :::: ('false','true')[condition]
filedude.writerow([ss['code'], f.writerow([ss['code'],
(0,1)[ss['days'].__contains__(1)], (0,1)[ss['days'].__contains__(1)],
(0,1)[ss['days'].__contains__(2)], (0,1)[ss['days'].__contains__(2)],
(0,1)[ss['days'].__contains__(3)], (0,1)[ss['days'].__contains__(3)],
@ -196,31 +304,240 @@ def export_trips():
print "Error:", str(ss) + '\t' + str(sys.exc_info()[0]) + '\n' print "Error:", str(ss) + '\t' + str(sys.exc_info()[0]) + '\n'
""" """
def getserial(rdlist,stop): def getserial(rdlist,stop,getFirstStop=True):
#check if rdlist is of a ring route.. #check if rdlist is of a ring route..
if rdlist[0].route.code[3]== 'R' or '4' : if rdlist[0].route.code[3]== 'R' or '4' :
# write ring specific code here. rings have multiple occuring stops, which one to choose?? # write ring specific code here. rings have multiple occuring stops, which one to choose??
return None pass
#return None
for rd in rdlist: for rd in rdlist:
if(rd.stop==stop): if(rd.stop==stop):
return rdlist.index(rd) return rdlist.index(rd)
def get_routedetail_subset(unr, direction,rdlist):
"""
1. rdlist is mandatory as up down routes have diff orderings as per trip
"""
if direction == "UP":
from_stop = unr.from_stop
to_stop = unr.to_stop
else:
from_stop = unr.to_stop
to_stop = unr.from_stop
if rdlist[0].route.code[3]== 'R' or '4' :
# write ring specific code here. rings have multiple occuring stops, which one to choose??
pass
#return None
from_index = 0
to_index= 0
# from stop
for rd in rdlist:
if(rd.stop==from_stop):
from_index = rdlist.index(rd)
break
# to stop
for rd in rdlist:
#go to the last iteration, gets last occurence of stop
if(rd.stop==to_stop):
to_index = rdlist.index(rd)
if (to_index - from_index) < 8:
print "Route::",unr.route.code , "from pos", from_index, " to pos ", to_index
return rdlist[from_index:to_index]
def runtime_in_minutes(schedule):
runtime = schedule.runtime1 or schedule.runtime2 or schedule.runtime3 or schedule.runtime4
if runtime: return runtime
t_from, t_to = schedule.first_from, schedule.first_to
if not t_from or not t_to:
t_from, t_to = schedule.last_from, schedule.last_to
return abs(t_from.hour * 60 + t_from.minute -
(t_to.hour * 60 + t_to.minute))
def export_stop_times(routelist): def export_stop_times(routelist):
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/stop_times.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) print "Exporting stop times.."
filedude.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence"]) f = make_csv_writer("stop_times.txt")
f.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence"])
# get trips and route details
tooslows = 0
toofasts = 0
nospeeds=0
rdlistempty=0
print "Trips with faulty RDs::"
for schedule, unr, route, direction, trip_id in generate_trips_unr():
if route not in routelist: continue
# get route in sort_order based on UP or DOWN route
if direction == "UP":
rdlist = list(RouteDetail.objects.filter(route=route).order_by("serial"))
lst = []
for rd in rdlist:
if rd.stop.dbdirection == '' or rd.stop.dbdirection == 'U':
lst.append(rd)
rdlist = lst
details = get_routedetail_subset(unr, direction, rdlist)
else:
rdlist = list(RouteDetail.objects.filter(route=route).order_by("-serial"))
lst = []
for rd in rdlist:
if rd.stop.dbdirection == '' or rd.stop.dbdirection == 'D':
lst.append(rd)
rdlist = lst
#j getserial needs some more robustness for ring routes
# shorten the route if its a subset.
details = get_routedetail_subset(unr, direction, rdlist)
#details = rdlist[getserial(rdlist,unr.to_stop, True):getserial(rdlist,unr.from_stop, True)]
if len(rdlist) < 5:
#print "rdlist not populated"
rdlistempty+=1
continue
#rdlist = rdlist.reverse()
# calc avg speed for a trip. trip = unr+rs
dist = unr.distance
#j runtime should be calculated for each separate runtime entry, we have headway too so stop_times becomes a bit more accurate.
runtime = runtime_in_minutes(schedule)
#if dist == 0.0 or runtime == 0
avgspeed = 12.0/60.0
if not runtime == 0.0:
avgspeed = dist/runtime # in km/min
else:
avgspeed = 12.0/60.0 # putting a default of 15 km/hour.
nospeeds+=1
# checks and failsafes
if avgspeed < 10.0/60.0:
# avg human walking speed is 5 km/hr
tooslows+=1
avgspeed=12.0/60.0
if avgspeed < 70.0/60.0:
toofasts+=1
avgspeed=50.0/60.0
# setting up some vars and failsafes
initial_time = departure_time = schedule.first_to if direction == "UP" else schedule.first_from
if initial_time is None:
initial_time = time_of("05:00:00")
arrival_time = initial_time
cumulative_dist = 0.0
timedelta = 0
distdelta = 0.0
today = datetime.date.today()
blankstops = 0
prevstage = 0
rdetails = []
rdict = {}
for sequence, detail in enumerate(details):
rdetails.append([sequence,detail])
rdict[sequence] = detail
# main process
for sequence, detail in rdetails:
# if stop is a stage, then it has km (delta) info
if detail.km:
cumulative_dist+=float(detail.km)
if avgspeed != 0.0:
offsettime = cumulative_dist/avgspeed
#
dt = datetime.datetime.combine(today, initial_time) + datetime.timedelta(seconds=offsettime*60)
arrival_time = dt.time()
# Add 10 seconds to departure time
dt = datetime.datetime.combine(today, arrival_time) + datetime.timedelta(seconds=10)
departure_time = dt.time()
f.writerow([trip_id,arrival_time.__str__().split(".")[0],departure_time.__str__().split(".")[0],detail.stop.code,sequence])
blankstops=1
prevstage = sequence
else:
# for non-stage stops
# go to the next stage, get no. of stops in the middle, get the km delta,
# blankstops+=1
"""
#j go ahead for n stops and find out the km distance.
for detail in details[prevstage:]:
if not detail.km:
blankstops+=1
else:
#stage stop
distdelta=detail.km/blankstops
break
"""
# first stop
if sequence == 0:
f.writerow([trip_id,initial_time,initial_time,detail.stop.code,sequence])
else:
# if this is the last stop in the route, then
if sequence == len(details) - 1:
arrival = initial_time.hour * 60 + initial_time.minute + runtime_in_minutes(schedule)
arrival_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
departure_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
f.writerow([trip_id,arrival_time,departure_time,detail.stop.code,sequence])
else:
# if any other stop
f.writerow([trip_id,"","",detail.stop.code,sequence])
print "Trips too fast::", toofasts
print "Trips too slow::", tooslows
print "Trips with no speeds", nospeeds
print "Exporting stop times done."
#-----------------------------------------------------------------------------------
"""
# if this is the last stop in the route, then
if sequence == len(details) - 1:
arrival = initial_time.hour * 60 + initial_time.minute + runtime_in_minutes(schedule)
arrival_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
f.writerow([trip_id,arrival_time,departure_time,detail.stop.code,sequence])
else:
departure_time = ""
f.writerow([trip_id,arrival_time,departure_time,detail.stop.code,sequence])
"""
#routelist = getRoutesHavingAllLocs() #routelist = getRoutesHavingAllLocs()
#1. get routeDetails #1. get routeDetails
#2. get unique routes as unr and the routeDetails subset as rd_subset for that uniqueroute #2. get unique routes as unr and the routeDetails subset as rd_subset for that uniqueroute
#3. get unr.routeschedule as unr.rs ?? why is it multiple? #3. get all unr.routeschedules as unr.rs
#4. get total distance as tdist from rd_subset #4. get total distance as tdist from rd_subset
#5. get runtime from unr.rs #5. get runtime from unr.rs
#6. if runtime1 is null, then runtime = abs(first_from - first_to) #6. get_runtime()
#7. avgspeed = tdist/runtime... if runtime is not available then ?? #7. avgspeed = tdist/runtime... if runtime is not available then ??
#8. #8.
""" # old code just for fallback
for r in routelist: for r in routelist:
rdlist = RouteDetail.objects.filter(route=r).order_by('serial') rdlist = RouteDetail.objects.filter(route=r).order_by('serial')
sr_no=0 sr_no=0
@ -239,12 +556,13 @@ def export_stop_times(routelist):
#if rs. #if rs.
sr_no +=1 sr_no +=1
for rd in rd_subset: for rd in rd_subset:
filedude.writerow([r.code+"_"+sr_no,"","",rd.stop.id,rd.serial]) f.writerow([r.code+"_"+sr_no,"","",rd.stop.id,rd.serial])
"""
""" """
stop_times.txt stop_times.txt - algo for old code
================================================================================================================================================ ================================================================================================================================================
1. For each route. 1. For each route.
2. Get rdlist = routedetails for that route.order_by('serial'). Get UniqueRoutes for the route. 2. Get rdlist = routedetails for that route.order_by('serial'). Get UniqueRoutes for the route.
@ -259,9 +577,18 @@ from_stop, to_stop
rd_subset = rdlist[getserial(rdlist,from_stop):getserial(rdlist,to_stop)] rd_subset = rdlist[getserial(rdlist,from_stop):getserial(rdlist,to_stop)]
""" """
def time_of(timestr):
try:
tm = timestr.split(":")
return datetime.time(int(tm[0]),int(tm[1]),int(tm[2]))
except:
return None
def export_frequencies():
filedude = csv.writer(open(join(PROJECT_ROOT, "gtfs/frequencies.txt"), "w"), delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)
def export_frequencies(routelist):
f = make_csv_writer("frequencies.txt")
""" """
EACH ROW IN FREQUENCIES EACH ROW IN FREQUENCIES
- For an entry in atlas, [ i.e. a given trip+service_id [subset + schedule days] ] - For an entry in atlas, [ i.e. a given trip+service_id [subset + schedule days] ]
@ -270,24 +597,303 @@ def export_frequencies():
then then
""" """
TIMESPANS = ((None,"06:59:59"),
("07:00:00","10:59:59"),
("11:00:00","16:59:59"),
("17:00:00","19:59:59"),
("20:00:00",None))
filedude.writerow(["trip_id", "start_time","end_time","headway_secs"]) f.writerow(["trip_id", "start_time","end_time","headway_secs"])
filedude.writerow(["282_1","07:00:00","11:00:00",360]) for schedule, unr, route, direction, trip_id in generate_trips_unr():
filedude.writerow(["282_1","11:00:00","16:00:00",420]) # inclusion criteria
filedude.writerow(["282_1","16:00:00","22:00:00",480]) if route not in routelist: continue
filedude.writerow(["282_1","07:00:00","11:00:00",360]) runtime = runtime_in_minutes(schedule)
filedude.writerow(["289_1","07:00:00","11:00:00",600]) if not runtime or unr.distance is None or unr.distance == 0.0: continue
filedude.writerow(["289_1","11:00:00","16:00:00",420])
filedude.writerow(["289_1","16:00:00","22:00:00",420])
filedude.writerow(["289_1","07:00:00","11:00:00",540])
def fire_up():
routelist = getRoutesHavingAllLocs() headway = (schedule.headway1,
schedule.headway2,
schedule.headway3,
schedule.headway4,
schedule.headway5)
ts_start = ""
timespanchange = False
for span, (start_time, end_time) in enumerate(TIMESPANS):
# getting headway timings
# making sure the start_time is earlier than the end_time
# making start and end as datetime.time
# check if previous
if timespanchange:
start_time = ts_start
timespanchange = False
if direction == "UP":
"""
# if 'up' then take *_from values else take *_to values from schedule
if start_time is None:
start_time = schedule.first_from.__str__()
if end_time is None:
end_time = schedule.last_from.__str__()
"""
if start_time is None:
if schedule.first_from:
start_time = schedule.first_from.__str__()
else:
start_time = "05:00:00" # magic number here in case BEST data isnt found
if end_time is None:
if schedule.last_from:
end_time = schedule.last_from.__str__()
else:
end_time = "22:59:59" # magic number here in case BEST data isnt found
"""
# if base values are null then put default values
if schedule.first_from == datetime.time(0,0,0)
and start_time is None:
start_time = "05:00:00" # magic number here in case BEST data isnt found
if schedule.last_from == datetime.time(0,0,0):
end_time = "22:59:59" # magic number here in case BEST data isnt found
# check if start_time is always earlier than end_time.. this needs to be logged soon!
if time_of(start_time) >= time_of(end_time):
start_time = "05:00:00"
if time_of(end_time) <= time_of(start_time):
end_time = "22:59:59"
"""
else:
if start_time is None:
if schedule.first_to:
start_time = schedule.first_to.__str__()
else:
start_time = "05:00:00" # magic number here in case BEST data isnt found
if end_time is None:
if schedule.last_to:
end_time = schedule.last_to.__str__()
else:
end_time = "22:59:59" # magic number here in case BEST data isnt found
"""
if start_time is None:
start_time = schedule.first_to.__str__()
if end_time is None:
end_time = schedule.last_to.__str__()
# if base values are null then put default values
if schedule.first_from == datetime.time(0,0,0):
start_time = "05:00:00" # magic number here in case BEST data isnt found
if schedule.last_from == datetime.time(0,0,0):
end_time = "22:59:59" # magic number here in case BEST data isnt found
# check if start_time is always earlier than end_time.. this needs to be logged soon!
if time_of(start_time) >= time_of(end_time):
start_time = "05:00:00" # magic number here in case BEST data isnt found
if time_of(end_time) <= time_of(start_time):
end_time = "22:59:59" # magic number here in case BEST data isnt found
"""
if headway[span] is not None:
# if ff > end_time,drop headway
if time_of(start_time) < time_of(end_time):
f.writerow([trip_id, start_time, end_time, headway[span]*60])
else:
# if the start_time is later than the end_time of the first timespan, then change the start_time of the second timespan
timespanchange = True
ts_start = start_time
def export_frequencies2(routelist):
f = make_csv_writer("frequencies.txt")
"""
EACH ROW IN FREQUENCIES
- For an entry in atlas, [ i.e. a given trip+service_id [subset + schedule days] ]
If there are headway timings for diff time slots, eg.
h7-11, h11-16, h16-22,h22-25
then
"""
TIMESPANS = (("05:00:00","06:59:59"),
("07:00:00","10:59:59"),
("11:00:00","16:59:59"),
("17:00:00","19:59:59"),
("20:00:00","23:59:59"))
f.writerow(["trip_id", "start_time","end_time","headway_secs"])
for schedule, unr, route, direction, trip_id in generate_trips_unr():
# inclusion criteria
if route not in routelist: continue
runtime = runtime_in_minutes(schedule)
if not runtime or unr.distance is None or unr.distance == 0.0: continue
headway = (schedule.headway1,
schedule.headway2,
schedule.headway3,
schedule.headway4,
schedule.headway5)
# to indicate if time represents the next day eg. 02:00:00 am
lf_overflow = False
lt_overflow = False
for span, (start_time, end_time) in enumerate(TIMESPANS):
# getting headway timings
# making start and end as datetime.time
st = time_of(start_time)
et = time_of(end_time)
ff = schedule.first_from
lf = schedule.last_from
ft = schedule.first_to
lt = schedule.last_to
# sanity checks for these times to be applied here.. like if if ff is given and ft is not, then ft is ff+runtime, etc
if ff is None:
ff=time_of("05:00:00")
if lf is None:
lf=time_of("23:59:59")
if ft is None:
ft=time_of("05:00:00")
if lt is None:
lt=time_of("23:59:59")
try:
# check for any end_times going beyond 00:00:00 and make into 23:59:59,
# add 24:00:00 + offset at time of writing to file
# for comparison use 23:59:59. so any time span beyond that needs a custom operator for times.
if schedule.last_from < schedule.first_from:
lf = time_of("23:59:59")
lf_overflow = True
if schedule.last_to < schedule.first_to:
lt = time_of("23:59:59")
lt_overflow = True
except:
print "time comparison error "
pass
if direction == "UP":
"""
# if 'up' then take *_from values else take *_to values from schedule
"""
# any time interval [(ff,lf),(ft,lt)] is defined by its end points ,
# so basic algo is to check if the endpoint lies b4, in or after the timespan
# for ff
# b4
if ff < st:
if span == 0:
st = ff
# in
if st < ff and ff < et:
st=ff
# aft
if ff > et:
continue
# for lf
# b4
if lf < st:
continue
# in
if st < lf and lf < et:
et = lf #! lf
# aft, if span is last then extend
if et < lf:
if span == len(TIMESPANS) -1:
et = lf
if headway[span]:
# convert to string
st_str = st.__str__().split(".")[0]
et_str = et.__str__().split(".")[0]
# adjusting overflows
if lf_overflow and span == len(TIMESPANS) -1:
lf_time = schedule.last_from.hour * 60 + schedule.last_from.minute
et_str = "%02d:%02d:00" % (int(lf_time/60)+24, lf_time % 60)
lf_overflow = False
f.writerow([trip_id,st_str, et_str, headway[span]*60])
else:
# for down, ft
# b4
if ft < st:
if span == 0:
st = ft
# in
if st < ft and ft < et:
st=ft
# aft
if ft > et:
continue
# for lt
# b4
if lt < st:
continue
# in
if st < lt and lt < et:
et = lt
# aft
if et < lt:
# for last timespan
if span == len(TIMESPANS) -1:
et = lt
if headway[span]:
# convert to string
st_str = st.__str__().split(".")[0]
et_str = et.__str__().split(".")[0]
# adjusting overflows
if lt_overflow and span == len(TIMESPANS) -1:
lt_time = schedule.last_to.hour * 60 + schedule.last_to.minute
et_str = "%02d:%02d:00" % (int(lt_time/60)+24, lt_time % 60)
lt_overflow = False
f.writerow([trip_id,st_str, et_str, headway[span]*60])
def fire_up(routelist):
if not routelist:
routelist = getCompleteRoutes()
export_routes(routelist) export_routes(routelist)
#export_stops() export_stops(routelist)
export_frequencies() export_frequencies2(routelist)
export_stop_times() export_stop_times(routelist)
export_calendar() export_calendar()
export_trips() export_trips(routelist)
export_agency() export_agency()

View File

@ -0,0 +1,2 @@
agency_id,agency_name,agency_url,agency_timezone,agency_lang
BEST,BrihanMumbai Electric Supply & Transport Undertaking,http://www.bestundertaking.com/,Asia/Kolkata,en

View File

@ -16,3 +16,4 @@ SAT&SH,0,0,0,0,0,1,1,20000101,20500101
SAT/SUND&HOL,0,0,0,0,0,1,1,20000101,20500101 SAT/SUND&HOL,0,0,0,0,0,1,1,20000101,20500101
S/H,0,0,0,0,0,0,1,20000101,20500101 S/H,0,0,0,0,0,0,1,20000101,20500101
"SAT,SUN&HOL",0,0,0,0,0,1,1,20000101,20500101 "SAT,SUN&HOL",0,0,0,0,0,1,1,20000101,20500101
FH,0,0,0,0,1,0,0,20000101,20500101

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
route_id,route_short_name,route_long_name,route_type
4160,416,AMRUT NAGAR - GHATKOPAR STATION (W),3
0420,42,FERRY WHARF - KAMLA NEHRU PARK,3
1300,130,DR.SHAMAPRASAD MUKHERJI CHOWK - VASANTRAO NAIK CHOWK,3
1324,132,COLABA BUS STATION - COLABA BUS STATION,3
4250,425,MANGATRAM PETROLPUMP - SEVEN BUNGALOWS BUS STN.,3
3020,302,PRATIKSHA NAGAR DEPOT - MAHARANA PRATAP CHOWK(MULUND),3
1540,154,BYCULLA STATION(W) - NEHRU PLANETARIUM,3
4380,438,DINDOSHI BUS STATION - DAHISAR BUS STATION,3
4420,442,SADBHAKTI MANDIR - MHADA COLONY(MAJAS),3
4441,444,GHATKOPAR BUS STATION/GKD - OSHIWARA DEPOT,3
5051,505,BANDRA BUS STN(W) - C.B.D. BELAPUR BUS STATION,3
3290,329,SHIVAJI NAGAR DEPOT - AGARKAR CHOWK,3
0324,32 ,GOREGAON BUS STN(W) - VESAVA-YARI ROAD BUS STN.,3
3340,334,GHATKOPAR STATION (W) - MAROL DEPOT,3
3350,335,AGARKAR CHOWK - SANGHARSH NAGAR (CHANDIVLI),3
3360,336,J.V.P.D.BUS STATION - VIDYA VIHAR BUS STN(W),3
3380,338,AGARKAR CHOWK - SAHAR CARGO COMPLEX,3
2060,206,POISAR DEPOT - I.C.COLONY,3
3410,341,ANTOP HILL - DINDOSHI BUS STATION,3
2120,212,P.THAKRE UDYAN BUS STN. - BANDRA BUS STN(W),3
4941,494,GHATKOPAR BUS STATION/GKD - RETI BUNDER - KHARIGAON(KALWA),3
4961,496,MARATHON CHOWK (TEEN HATH NAKA) - AGARKAR CHOWK,3
3510,351,MUMBAI CENTRAL DEPOT - TATA POWER CENTRE(CHEMBUR),3
3520,352,TROMBAY - RANI LAXMIBAI CHOWK,3
0510,51,COLABA BUS STATION - SANTACRUZ DEPOT,3
3600,360,TROMBAY - KURLA BUS STN (E),3
0590,59,VEER KOTWAL UDYAN ( PLAZA ) - KURLA BUS STATION (E),3
3660,366,KURLA BUS STATION (E) - SHIVAJI NAGAR TERMINUS,3
3670,367,GADKARI QUARRY - KURLA BUS STATION (E),3
0620,62,MUMBAI CENTRAL DEPOT - KURLA STN (W),3
1044,104,J.MEHTA MARG - VIJAY VALLABH CHOWK,3
2424,242,ANDHERI BUS STATION(W) - MILLAT NAGAR,3
3751,375,SHIVAJI NAGAR DEPOT - BANDRA BUS STN(W),3
2474,247,BORIVLI BUS STATION(W) - BORIVLI BUS STATION(W),3
0690,69,DR.SHAMAPRASAD MUKHERJI CHOWK - P.THAKRE UDYAN BUS STATION,3
2510,251,ANDHERI STATION (W) (KUMKUM) - VESAVA-YARI ROAD BUS STATION,3
2560,256,JUHU BEACH - MALVANI DEPOT/ GAIKWAD NAGAR,3
2570,257,ANDHERI BUS STATION(W) - J.V.P.D.BUS STATION,3
0630,63,J.MEHTA MARG - CHUNABHATTI,3
2660,266,ANDHERI BUS STATION(W) - SHREE SWAMI SAMARTH NAGAR EXT.,3
3961,396,MULUND-W CHECK NAKA BUS STN. - AGARKAR CHOWK,3
3981,398,MULUND-W CHECK NAKA BUS STN. - DINDOSHI BUS STATION,3
6150,615,RANI LAXMIBAI CHK. - SANTACRUZ STN (E),3
2820,282,KANDIVLI BUS STATION ( E ) - DAMU NAGAR EXTENSION,3
4080,408,MAHIM BUS STATION - MULUND RLY.STATION (W),3
4091,409,MULUND DEPOT - SAHAR CARGO COMPLEX,3
4100,410,VIKHROLI DEPOT - KONDIVTE CAVES/MAHAKALI CAVES,3
1100,110,COM.P.K.KURNE CHOWK - SANGAM NAGAR,3
4150,415,MAJAS DEPOT/SHYAM NAGAR - SEEPZ BUS STATION,3

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,989 @@
stop_id,stop_name,stop_lat,stop_lon
1,COLABA BUS STN.,18.9118892648,72.8230460117
2,SASOON DOCK,18.9145231799,72.8246617793
3,STRAND CINEMA,18.9173370318,72.8273949847
4,COLABA DEPOT,18.9128801073,72.8228241772
3147,MAHATMA PHULE MARKET,18.9464951482,72.8352296966
6,HUTATMA CHK./MUMBAI UNIVERSITY,18.9280061692,72.8313447664
8,KHADI BHANDAR,18.9364462942,72.8338694154
9,CHH. SHIVAJI TERMINUS,18.9409747781,72.8345966953
10,MAHATMA PHULE MARKET,18.9451049251,72.8340495246
11,CHAKALA MARKET,18.9488290732,72.8349614757
12,ZAKERIA MASJID,18.9530445124,72.8338805984
13,MINARA MASJID,18.9569796797,72.8324043229
14,JOHAR CHK.,18.9584832148,72.8317793664
15,DR.M.IQBAL CHK.,18.9618113458,72.8320368584
3158,SAIBABA MANDIR/KOKAN BANK,19.0648175713,72.9194860563
17,A.H.ANSARI CHK./ NEW NAGPADA,18.9670470233,72.8328077148
18,BYCULLA STN(E),18.9766247816,72.8332814034
19,JIJAMATA UDN.,18.98102,72.8346
20,JAIHIND CINEMA,18.9855509964,72.8356015161
21,SHANTARAM PUJARE CHK.,18.9883104664,72.8358590082
22,SANT JAGNADE CHK.,18.9910708053,72.8356901624
3169,"DR.AMBEDKAR UDN., POWAI",19.1248321827,72.8952877788
3170,"DR.AMBEDKAR UDN., POWAI",19.1262715849,72.8937857417
25,MADKEBUWA CHK.,19.0053063574,72.8396126581
26,HINDMATA CINEMA,19.0083495266,72.8413721872
28,CHITRA CINEMA,19.0136151515,72.844661453
29,KHODADAD CIRCLE,19.0165828703,72.8468455985
30,VEER KOTWAL UDN. (PLAZA),19.0216857288,72.842245956
31,RAM GANESH GADKARI CHK.,19.0251271702,72.8404614906
5,DR.SHAMAPRASAD MUKHERJI CHK.,18.9256313577,72.8318061063
33,SHITALADEVI TEMPLE,19.0347321062,72.8423390369
36,MAHIM BUS STN.,19.042929316,72.8405178289
44,MAHIM,19.04012,72.84161
3637,SUMER HOUSE,19.122323932,72.8726991631
46,AKSHAYA,19.0520944249,72.8323961412
47,PARIJAT,19.0509383316,72.8299714242
48,UNIT TRUST OF INDIA,19.0497416652,72.8282118951
3204,BORIVLI STN(E),19.2306187951,72.8576782809
53,SWAMI D.SARASWATI CHK.,18.9345004013,72.8371137225
54,COM.GULABRAO GANACHARYA CHK.,18.9863670871,72.8316745739
55,N.M.JOSHI MARG POLICE STN.,18.990566315,72.8315282344
56,LOWER PAREL STN.,18.9967212929,72.8313058059
57,DEEPAK CINEMA,19.005769303,72.8309059099
60,JAKHADEVI/ DADAR POLICE STN.,19.0133907494,72.8336954593
62,KALA NGR.,19.0531099866,72.8470974172
3645,INDIAN OIL NGR.,19.1288050178,72.8313238912
3226,MAHARANA PRATAP CHK.,18.9683608823,72.8403761036
3227,MAHARANA PRATAP CHK.,18.9686953194,72.8409724436
75,VIJAY NGR.SCTY.,19.1152407744,72.8473639964
76,AGARKAR CHK.,19.119822756,72.8487587451
77,BYCULLA STN.(W),18.9742858639,72.8320587558
78,PAREL S.T.DEPOT/SANT ROHIDAS CHK.,19.0093130135,72.8332019328
4149,L & T GATE NO.6,19.1152776743,72.8888451486
82,PAREL S.T.DEPOT/SANT ROHIDAS CHK.,19.0099824994,72.8311849116
3647,MILIND NGR.,19.1255466416,72.8932870522
3241,GARLIC CO.,18.9797442582,72.8277779503
91,LION'S GATE,18.9280089383,72.8339898544
92,OLD CUSTOM HOUSE,18.9308911427,72.8356206375
3246,NAVRANG TALKIES,19.1239085091,72.8424071138
3156,UTPAL SANGHAVI SCHOOL,19.114422472,72.8277312772
107,P.MOHD.RAFI CHK.,19.0521364408,72.8380851949
110,ST.TERESA CONVENT SCHOOL,19.075500175,72.8375026265
111,SANTACRUZ STN.RD.,19.0810769173,72.837867407
112,KHIRA NGR.,19.0875948013,72.838074815
113,SANTACRUZ DEPOT,19.0901111788,72.8381355963
119,ANDHERI STN.(W),19.1199165888,72.8454312048
120,ANDHERI MARKET,19.1221491076,72.8463060133
121,AMBOLI NAKA,19.1273289538,72.847175049
3286,PAYDHUNI,18.9538202063,72.8317372771
3289,MUMBAI CENTRAL STN.,18.96880965,72.8204669342
124,AJIT GLASS FACTORY,19.1468710202,72.8430551759
125,OSHIWARA BRIDGE,19.1502252059,72.8431820544
126,BEST NGR.,19.1540765068,72.8385901125
128,OSHIWARA DEPOT,19.1509965982,72.8358283704
3301,EKTA SCTY.,19.1083693954,72.8757827548
3302,MAHARSHI ARVIND CHK.,19.175901583,72.9510909499
137,JUHU BEACH,19.0980391385,72.8268457766
3305,GHATKOPAR STN.(W),19.0863782672,72.9082562211
3307,GHATKOPAR POST OFFICE,19.0862718073,72.9086639168
3308,SARVODAYA HOSPITAL,19.0888757791,72.9069749079
145,VIJAY VALLABH CHK.,18.9552794954,72.8321059617
3165,MAJESTIC CINEMA,18.9550444951,72.8189416792
3314,CHAKALA,19.1147598887,72.8600255734
3315,CHAKALA,19.1143543963,72.8592745549
149,MAHESHWARI UDN.,19.0268913676,72.855319674
3317,DR.RAVINDRA KULKARNI CHK/SASMIRA,19.004429438,72.8170049561
151,LOKMANYA TILAK HOSPITAL,19.0364333987,72.8603593658
152,JAIN SCTY.,19.0388187232,72.8614136529
153,RANI LAXMIBAI CHK.(NEAR RD NO.1),19.0452499966,72.8651568411
154,RANI LAXMIBAI CHK.,19.0439417564,72.8643607675
156,CHUNABHATTI,19.0520127947,72.8675204409
157,CHUNABHATTI BUS TERMINUS,19.0515318033,72.8688013219
3327,MITH CHKY,19.1962646846,72.833601318
161,SHIVSHRUSTI,19.0545094486,72.8817515577
163,NAIK NGR.,19.0576097187,72.8849769365
164,KAMGAR NGR.,19.060408555,72.8848481904
165,NEHRU NGR.,19.0620206434,72.8834356761
23,BHARATMATA CINEMA,18.9966634532,72.8366944146
3336,VISHNU NGR.,19.0230892014,72.90108299
169,KURLA BUS STN (E),19.0650032738,72.8807763647
170,EVERARD NGR.,19.0507964755,72.8752883027
171,PRIYADARSHANI,19.0529033368,72.8800575088
173,LOKSHAHIR SATHE UDN./SUMAN NGR.,19.0536293719,72.8858287112
174,UMARSHI BAPPA CHK.,19.054061719,72.8895960962
175,BHAKTI BHAVAN,19.0524751367,72.8912170111
176,BASANT PARK,19.0503103152,72.8936021836
177,NAVJEEVAN SCTY.,19.0479372475,72.8933446916
178,CHEMBUR CLY.,19.0461469632,72.8932340323
179,MARAWALI CHURCH,19.0420743965,72.8933417269
180,AZIZ BAUG,19.0378270274,72.8948623173
181,VASHI NAKA,19.032979078,72.8962356083
182,SHANKAR MANDIR,19.0291748332,72.8971347783
3662,"DNYANSADHANA COLLEGE,KOPARI",19.1823710767,72.965154438
3353,BANDRA TALAO,19.056678154,72.8366447603
186,BHARAT PETROLEUM,19.0090620622,72.8990328592
187,GAWANGAON/REFINERIES,19.0201808526,72.8980037923
3356,SARDAR NGR.NO 2,19.0370951761,72.867218394
189,TATA POWER CENTRE(CHEMBUR),19.0313378692,72.8968021626
191,DHANMILL NAKA,19.008643525,72.8308201312
197,CHEMBUR NAKA/SWAMI VIVEKANAND CHK.,19.0540567684,72.8948291035
3365,RAWLICAMP,19.0381786687,72.8687160807
3366,SARDAR NGR.NO 1,19.0357969886,72.8639568279
3367,MAHARASHTRA KATA,19.1029958846,72.8883954466
202,G.T.HOSPITAL,18.9466976897,72.8326815864
203,MAHATMA GANDHI HOSPITAL,18.9974111184,72.8404253165
3372,BANWARI COMPOUND,19.0454786261,72.8468026831
1066,CENTRAL LABOUR INSTITUTE,19.0496701752,72.8662973536
3377,ANUSHAKTI NGR.,19.0431901964,72.9237352525
210,AZAD NGR.,19.0140030056,72.8556198379
3380,ANUSHAKTI NGR.BUS STN.,19.0425405932,72.9262390529
3159,A.H.ANSARI CHK.,18.9701145153,72.8324946062
214,AMULAKH HIGH SCHOOL,19.0206853407,72.860779476
1081,SHANTI BAUG,19.0560201993,72.8949027602
217,GURU TEGH BAHADUR NGR STN,19.0373299973,72.8651769378
218,SARDAR NGR.NO 2,19.0367316161,72.8683419445
219,SARDAR NGR.NO 4,19.0351697296,72.8673763492
220,ANTOP HILL CHURCH,19.0329790069,72.8666897037
221,ANTOP HILL POLICE STN.,19.0319242042,72.8649301746
3397,STATE BANK,19.1164278022,72.8800058662
3398,ZAKERIA MASJID,18.95255881,72.8335730571
224,ANTOP HILL,19.0263356665,72.8662326555
227,WADALA FLY OVER BRIDGE,19.0186324254,72.8632468266
3409,ANDHERI STN.(W),19.1205630153,72.8457311576
3411,L.I.C.OFFICE,19.2445714695,72.8518641847
3412,RAMESHWAR BANK,19.2273476107,72.8410042149
231,GANDHI MARKET,19.0323603254,72.8587289073
3414,BEST OFFICER QUARTERS,19.222959134,72.8375298052
3415,SWAMI VIVEKANAND VIDYALAYA,19.2255525585,72.832637456
238,LION'S PARK,19.0598014333,72.8723226701
239,KURLA POST OFFICE,19.068988619,72.8752409136
240,GOL BUILDING,19.065987122,72.8748761331
241,ANJANABAI MAGAR,19.0639996144,72.8741680299
242,KURLA DEPOT,19.0755374014,72.8770819752
243,SHEETAL CINEMA,19.0812811324,72.881540124
244,KAMANI,19.0847095843,72.8853232154
245,MUKUND CO./ P.W.D.OFFICE,19.0850934835,72.8873336955
246,NARAYAN NGR.,19.0847284749,72.890509431
248,CHIRAG NGR.,19.0863086132,72.896121347
249,GHATKOPAR POLICE STN.,19.0869996261,72.8992641612
250,GHATKOPAR PIPE LINE,19.0875448233,72.9027720869
251,SARVODAYA HOSPITAL,19.0885918901,72.907039281
253,GOPAL BHAVAN,19.0905279599,72.9097355052
3434,IRANI BRIDGE,18.959458404,72.8144194193
255,DARGAH,19.0962736673,72.9151155929
257,VIKHROLI DEPOT,19.1024985018,72.9198540637
259,NITYANAND NGR.,19.0912579506,72.9137695475
260,LAXMI NGR.,19.0895951893,72.9161728068
262,MANEKLAL MUN.SCHOOL,19.0900592675,72.9026862563
263,JAGRUTI NGR.,19.0920870172,72.9017421187
264,JAMBHULPADA,19.0938816843,72.8997360802
265,BARVE NGR.,19.0912761424,72.9075360259
3451,CHAR NAL,18.9576055198,72.8334023602
3465,NAHUR RLY.STN.,19.1530969712,72.9433749939
3466,NAHUR RLY.STN.,19.1570342603,72.947105314
282,GHATKOPAR STN.(W),19.0871057415,72.908999193
286,DHARAVI DEPOT,19.0506951083,72.858710427
408,CIBA CO.,19.1359517458,72.9293518333
45,TELEPHONE EXCHANGE,19.0512020027,72.8358937418
295,BEHRAM BAUG,19.1459989219,72.8345000556
296,GOREGAON DEPOT,19.1541981254,72.8354572924
297,ANIK DEPOT,19.0461705058,72.8787112962
3502,WADIA MATERNITY HOSPITAL,19.0026013659,72.842981269
305,RANI LAXMIBAI CHK/ROOPAM CINEMA,19.0418415877,72.864536185
307,PRATIKSHA NGR.DEPOT,19.0423689584,72.8729261348
314,PRATIKSHA NGR NO.1/SAMAJMANDIR HALL,19.0392047091,72.8667463252
315,TRANSIT CAMP DISPENSARY,19.0402188981,72.8692354152
317,BEST RECIEVING CENTRE,19.0414764839,72.8703512141
3521,BAINGANWADI,19.0610601469,72.9165642802
319,S.G.BARVE MARG NAKA,19.0570408476,72.8878251861
49,BND RECLAMATION BUS STN.,19.0479973563,72.8270317232
3529,TARDEO BUS STN/RUSHI MEHTA CHK.,18.9694139393,72.8152421153
327,GHATKOPAR DEPOT/CASURINA,19.0875432944,72.9186321159
333,GHATKOPAR BUS STN./GKD,19.0879619559,72.9182232873
336,FIVE GARDENS,19.0195658302,72.8548630672
337,SHIVAJI NGR.TERMINUS,19.0646193296,72.9314347104
338,DR.AMBEDKAR GARDEN/CHEMBUR STN.,19.0615553318,72.9017346991
339,SUBHASH NGR.,19.0606452236,72.9039681238
3546,MAHARANA PRATAP CHK.(MULUND),19.1841023354,72.9535139303
3547,UNITY HOUSE,19.2455876928,72.8486017243
342,GAUTAM NGR./DEONAR ABATTOIR,19.059630957,72.9163225104
343,SHIVAJI NGR.JN.,19.0626420708,72.9183238093
344,TROMBAY,19.0335852151,72.950019518
3551,VIJAY NGR.,19.1200938136,72.8785141922
350,DEONAR DEPOT,19.0457818689,72.9131038366
351,PUNJAB WADI,19.0453762076,72.9156787573
352,TELECOM FACTORY,19.0444431829,72.918382424
353,RAJ KAPOOR CHK./ BHABHA HOSPITAL,19.0436724194,72.9214294134
3340,ST.XAVIERS TECH.INSTITUTE,19.0459740717,72.8436541098
355,MANKHURD STN.RD.,19.04264,72.93041
356,MANDALA,19.0409435323,72.9390500256
357,CHEETA CAMP,19.0368867567,72.9458735653
358,SANT MUKTABAI HOSPITAL,19.0864145469,72.8976494035
359,MAROL MAROSHI BUS STN.,19.1190482464,72.8802714049
360,BAIL BAZAR,19.0878324095,72.8812462577
361,JARIMARI,19.0943120327,72.8833183943
362,SAFED POOL,19.0967047133,72.8836617171
363,DR.DATTA SAMANT CHK./SAKI NAKA,19.1041391679,72.8867717468
3576,MODEL TOWN,19.1342705252,72.8684071186
365,MAROLNAKA/MATA RAMABAI AMBEDKAR CHK,19.1084595671,72.8786982486
366,MAROL VILLAGE,19.1122493277,72.8789826118
369,STATE BANK,19.1064377425,72.8883301645
370,CHANDIVLI JN.,19.111886817,72.8884064293
371,E.S.I.S.LOCAL OFFICE,19.1222519659,72.8914200693
372,"DR.AMBEDKAR UDN., POWAI",19.1259532459,72.8942034459
3704,MINILAND SCTY.,19.1469590717,72.9346304206
378,R.T.O.OFFICE,19.0721038956,72.9096988709
379,RAMABAI NGR.,19.0801547885,72.9176653879
380,NALANDA SCTY.,19.0762032635,72.9140551777
382,ASHA & USHA,19.1082162625,72.9236735294
383,VIKHROLI STN.RD.(W),19.1108850181,72.9253614645
384,CIPLA CO./MILITARY CANTEEN,19.1143798683,72.9261626193
385,PAPER MILL,19.11816,72.92594
386,HINDUSTAN CO.,19.1217191255,72.9254759738
387,GANDHI NGR.,19.1249223455,72.9251755664
860,SHUKLAJI STREET,18.9663022862,72.8245885455
1401,SHAHAJIRAJE SPORT COMPLEX,19.1269697751,72.8369568651
3641,MAHATMA PHULE MARKET,18.9469690854,72.8352406657
400,BABASAHEB WORLIKAR CHK.,19.0130353629,72.8236618709
401,GAMMON HOUSE,19.0136239807,72.8248450816
402,PRABHADEVI,19.0161012445,72.8283478137
403,SIDDHIVINAYAK MANDIR,19.0169232505,72.8298851213
404,AGAR BAZAR,19.0181942927,72.8325441
406,HUMA TALKIES,19.1323495408,72.9273582945
407,DOCKYARD CLY.,19.131452483,72.9269908319
3638,MAHARSHI ARVIND CHK.,19.1754516112,72.9526482479
409,BIRLA CO.,19.1342286173,72.928386238
410,MANGATRAM PETROLPUMP,19.1392408919,72.930914375
411,JANATA MARKET,19.1418162799,72.9324362462
412,BHANDUP STN.RD.(W),19.1457732349,72.9355280396
413,BHANDUP POLICE STN.,19.151118216,72.9376579771
414,KASTURI VIDYALAYA,19.1517896627,72.9384197245
415,USHA NGR.,19.1523724256,72.9396749983
416,BHANDUP VILLAGE(W),19.1517996933,72.9429458405
418,SUBHASH NGR.,19.159583208,72.9450916077
430,MULUND RLY.STN.(W),19.1724764101,72.9560905875
434,E.S.I.S.HOSPITAL,19.1784778957,72.9445733087
435,VEENA NGR./GOVARDHAN NAGAR,19.1802416028,72.9459930162
436,SANTOSHI MATA MANDIR,19.1819439842,72.9470444422
438,J.V.P.D.BUS STN.,19.1199906825,72.8297009585
439,MARINE LINES RLY. STN.,18.9474403665,72.8227821057
440,S.K.PATIL GARDEN,18.9495036442,72.8212515923
441,PT.PALUSKAR CHK.,18.9563352821,72.8156893762
73,GARWARE CHK./ KOLDONGRI NO.2,19.1100458671,72.8517662203
3685,MARATHON CHK.(TEEN HATH NAKA),19.1886909233,72.963720333
3686,C CROSS RD.JN.,19.1231249362,72.8712818647
74,SHIVAJI CHK.,19.1113885678,72.8500032901
449,NEHRU PLANETARIUM,18.9888845822,72.8139196724
451,JARIMARI MATA MANDIR/S.T.OFFICE,18.9917489002,72.814065255
452,ACHARYA ATRE CHK.,18.9980791454,72.8170693291
454,COM.P.K.KURNE CHK.,19.0060142436,72.8215395549
455,DOORDARSHAN,19.0068054696,72.8182136157
456,DR.RAVINDRA KULKARNI CHK/SASMIRA,19.0087936619,72.8193508723
460,KHAR STN RD (W),19.0713022851,72.8373095075
3231,MAHIM ( PARADISE ),19.0373794211,72.842185857
468,JUHU HOTEL,19.1042436753,72.8267170306
469,JUHU BUS STN.,19.1074884012,72.8267706888
470,PARSI CLY.,19.1015687255,72.8270483657
3705,SARVODAYANGR.,19.1479079026,72.930110241
473,WADALA DEPOT,19.0144662894,72.8529027352
474,SHANGRILA CO.,19.1557319341,72.9374384494
476,DR.K.B.HEDGEWAR CHK.,19.1637929814,72.9376023082
3709,JIJAMATA BHOSLE MARG JN.,19.0707750064,72.9072529376
3710,UNIT NO.32,19.1644964536,72.8693709075
3646,INORBIT MALL,19.1724548163,72.8360687206
3712,B.A.R.C.GATE NO.6,19.0419019605,72.9331330846
481,MUNICIPAL SCHOOL,19.1804312142,72.953901905
483,MUMBAI CENTRAL DEPOT,18.9685071128,72.8224398713
484,MARATHON CHK.(TEEN HATH NAKA),19.1824676135,72.9874126908
485,MUMBAI CENTRAL STN.,18.9688476504,72.8197714356
486,NAIR HOSPITAL,18.974424237,72.8232010271
487,AGRIPADA POLICE STN.,18.9784013713,72.8244241144
488,SANT GADGE MAHARAJ CHK.,18.9807147725,72.8264425017
489,KASTURBA GANDHI HOSPITAL,18.9834335277,72.8288229372
491,RALLI WOLF,19.1714654448,72.9407538431
492,JOHNSON & JOHNSON CO.,19.175518921,72.9424275415
494,MULUND-W CHECK NAKA BUS STN.,19.1828554594,72.9539288537
495,WAGLE EST.POST OFFICE,19.1946488757,72.9499874229
496,SEVEN BUNGALOWS BUS STN.,19.1309708691,72.8199207614
504,AIR CONDITION MARKET,18.9727988113,72.8146010081
3742,CHAKALA,19.1152684261,72.8604832094
509,ESIC NGR.,19.1238509604,72.8303636779
511,INDIAN OIL NGR.,19.1284338647,72.8290629991
512,FOUR BUNGALOWS,19.1292042338,72.8261876711
3746,CALILIO BUILDING,19.1082302423,72.9022688621
514,SAIDHAM,18.9579684073,72.8170568923
3750,BHAKTI PARK COMPLEX,19.0257527137,72.8787020543
522,GOREGAON BUS STN(W),19.1650686232,72.8484736719
523,PODDAR HOSPITAL/SIDDHARTH NGR.,19.0035128932,72.8161598559
524,POLICE CLY.,19.004575453,72.8170529078
3758,DMART SHOPPING CENTRE,19.1847392698,72.8358833574
528,NEW D.N.NGR.,19.1218236001,72.8298486938
529,D.N.NGR./BARFIWALA VIDYALAYA,19.1263971274,72.8309884188
530,JEEVAN NGR.,19.1319163366,72.8315495317
531,LAXMI INDL.EST.,19.1350886137,72.8319553321
532,MONGINIS CAKE CO.,19.1371821001,72.8318038103
534,ADARSH NGR.,19.1448091366,72.831270582
535,SCOUT CAMP/DNYANSAGAR VIDYALAYA,19.1461086859,72.8347222699
536,ANAND NGR.,19.1504443525,72.8359054391
538,VIVEK VIDHYALAYA,19.158987986,72.8395472803
540,JAIN MANDIR,19.0845703571,72.9115348405
541,P.THAKRE UDN.BUS STN.,18.9978536825,72.8524730968
542,MALVANI DEPOT/ GAIKWAD NGR.,19.1814156127,72.8191678308
3242,SUNDER GALLI,18.9769440634,72.8299237175
544,PAREL VILLAGE/ST.GORA KUMBHAR CHK.,19.0003694857,72.8466151523
545,HAFFKINE INSTITUTE,19.0014650656,72.8445123004
549,SHARDASHRAM VIDYAMANDIR,19.0160595,72.8375080844
550,KABUTARKHANA,19.0188760966,72.8405829864
3245,NAVRANG TALKIES,19.1243139781,72.8415917223
555,FAROOKH VIDYALAYA,19.1306942462,72.8476042024
556,JOGESHWARI TABELA,19.1391675343,72.8444135001
557,RAM MANDIR,19.1515737447,72.8442997209
3796,B.S.E.S.,19.1337006797,72.8816366493
3799,DOCKYARD RLY.STN.,18.9661384521,72.8442769251
3801,PRARTHANA SAMAJ,18.9579193716,72.8195920814
565,CHINCHOLI BUNDER RD.,19.1791281523,72.8366534966
566,KACHPADA,19.18943,72.83556
567,EVERSHINE NGR.,19.19362,72.83436
568,MITH CHKY,19.1958041325,72.833029487
569,ASMITA JYOTI,19.196063352,72.8284767913
570,FIRE BRIGADE/KHARODI CLY.,19.1959822935,72.8214386748
1082,POST OFFICE,19.0568416097,72.8981535976
572,MALVANI BLOCK NO 6,19.1904947125,72.819940307
573,MALVANI BLOCK NO 7,19.1860362885,72.818824508
574,DINDOSHI BUS STN.,19.1762321596,72.8646761866
576,KHEDGALLI,19.0147438313,72.8325573055
580,PARSIWADA,19.1088389751,72.8556687125
581,CHAKALA CIGARETTE FACTORY,19.1073791456,72.8591019401
582,SAHAR P.& T.CLY.NO 1,19.1051893771,72.8609902152
584,SAHAR P.& T.CLY.NO 2,19.1028779235,72.862578083
585,WAREHOUSE,19.1010498219,72.8642492561
587,SAHAR POLICE STN.,19.1032193692,72.8735940723
588,CHH. SHIVAJI INT.AIRPORT(SAHARA),19.095879291,72.8732078342
589,J.MEHTA MARG,18.9501044262,72.7954991731
590,KURLA STN (W),19.0666319246,72.8793608576
591,PREM NGR.,18.9505224478,72.7935080729
592,NARAYAN DABHOLKAR MARG,18.952369251,72.7949886523
593,DARYA MAHAL,18.954021258,72.7977522286
594,PETIT HALL,18.9568624256,72.7997048768
595,PRIYADARSHANI,18.9597037937,72.8007916006
596,PETROL PUMP/MAHESHWARI MANSION,18.9640668468,72.8032806905
597,MUKESH CHK.,18.9647415879,72.8046164306
598,PARSI GENERAL HOSPITAL,18.96897014,72.8036809607
599,BREACH CANDY HOSPITAL,18.9719125132,72.804775302
600,MAFATLAL PARK,18.9746925008,72.8063202544
601,MAHALAXMI TEMPLE,18.9763767043,72.8085303946
610,BUDDHA NGR.,19.0738125345,72.8802753002
611,MEHTAB LANE(KURLA MARKET),19.0705257328,72.8793393999
3744,SANGHARSH NGR.(CHANDIVLI),19.1055944199,72.9005307906
616,R.T.O./NEW VIKAS HSG SOC,19.1302178718,72.825672687
617,TELEPHONE EXCHANGE,19.1346778051,72.825672687
618,SHREE SWAMI SAMARTH NGR.,19.1398939025,72.8260222142
619,LOKHANDWALA COMPLEX JN.,19.1417684727,72.8314851587
620,SEEPZ BUS STN.,19.1257095996,72.8732570625
621,MUKESH CHK.(UMAR PARK/TATA GARDEN),18.9652945691,72.8039566072
624,VISHAL HALL/PRAKASH STUDIO,19.118799681,72.8513611743
625,NATRAJ STUDIO,19.1177142493,72.8531575679
627,CHAKALA,19.1161640271,72.8557814548
628,NELCO,19.1160720283,72.8617835521
3907,MAGATHANE DEPOT,19.2214799095,72.8656431416
630,E.S.I.S HOSP./MIDC POLICE STN.,19.1178755046,72.868040164
3748,IMAX ADLABS,19.0310268563,72.8804830411
641,S.R.P.CAMP,19.1423792063,72.8554466846
644,GOREGAON CHECK NAKA NO 1,19.1661755084,72.8582061784
646,VIRWANI EST./SARVODAYA NGR.,19.1703670263,72.8588598024
647,GEN.A.K.VAIDYA MARG JUN.,19.1739864855,72.8593741693
652,PATHANWADI,19.1802705082,72.8584892425
653,KURAR VILLAGE,19.1878110026,72.8583872956
654,PUSHPA PARK,19.1915453675,72.8584036924
655,BANDONGRI,19.197738003,72.8600665024
656,MAHINDRA CO. GATE (B.H.A.D.CLY.),19.2059713752,72.8653062478
657,DATTANI PARK,19.2103825008,72.8683062485
658,MAGATHANE TEL.EXCHANGE,19.214885705,72.8676356954
660,DEVIPADA,19.2277984156,72.8631800711
661,OMKARESHWAR MANDIR,19.2313748766,72.8623782475
3939,AMAR MAHAL,19.062431561,72.8996302901
665,FERRY WHARF,18.9572807823,72.8495255906
666,PT.PALUSKAR CHK(MARWADI VIDYALAYA),18.9573619942,72.8170516141
667,MALLET BUNDER,18.9595068647,72.8459336474
668,RAILWAY CROSSING,18.9600040562,72.8439273551
669,NIRMAN BHAVAN,18.9659296527,72.8471460059
670,MAZGAON DOCK,18.9674273889,72.8463176687
671,DOCKYARD RD.RLY.STN.,18.9679534,72.8442356108
679,CHIRA BAZAR,18.9493468285,72.8255130913
680,PRINCESS STREET,18.9453655145,72.8277857283
682,THAKURDWAR,18.9524640144,72.8219024931
683,GAIWADI,18.9537304467,72.8208782341
684,NAWAB TANK MARG,18.9655398149,72.8453927241
685,TADWADI,18.9654235104,72.8389891442
3971,MULUND-W CHECK NAKA BUS STN.,19.1835445097,72.9534138696
687,SANDHURST RD.STN.,18.9609586465,72.838853506
688,CHINCH BUNDER,18.9586506468,72.8382947095
689,DONGRI,18.9583766821,72.836621011
691,GOL MANDIR,18.9581331576,72.8289820798
692,ALANKAR CINEMA,18.9580819447,72.8269468518
693,KHETWADI,18.9582549199,72.8238322384
694,PRARTHANA SAMAJ/ HARKISHANDAS HOSP.,18.9576979456,72.8198356711
696,NOVELTY CINEMA/ DR BHADKAMKAR RD.,18.9618437497,72.8183368797
697,MAHALAXMI STN.,18.982845869,72.8239356322
698,FAMOUS STUDIO,18.9858894489,72.8240643782
700,JIJAMATA NGR.,18.9919395625,72.8208256408
3333,KURLA S.T.DEPOT,19.0568187347,72.8840327989
185,B.D.PATIL MARG / HPCL,19.0260812444,72.8975950422
705,RESERVE BANK,18.9328599439,72.8363341051
4003,ICICI BANK/SINHGAD COLLEGE,19.1144008913,72.8968392944
4004,CHANDIVLI VILLAGE,19.1131802554,72.9037698723
122,JOGESHWARI BUS STN,19.1335425275,72.847619223
123,JOGESHWARI TEL.EXCH.,19.1431894578,72.8428991995
3430,ANDHERI STN.(W),19.1191886374,72.8458768397
751,CHOWPATI BAND STAND,18.9558912585,72.8089789435
752,WILSON COLLEGE,18.9574431694,72.8103568204
754,CHRIST CHURCH SCHOOL,18.9693766069,72.8297276579
755,ALEXANDRA CINEMA,18.9671402535,72.8281346112
758,AUGUST KRANTI MAIDAN,18.9631181462,72.8105172905
759,GODREJ CHK.,18.9640719201,72.8078779968
3745,SHOPPING PLAZA,19.1113323487,72.9028267615
4048,MAKHAMALI TALAO,19.1983633017,72.9717007529
4049,VANDANA S.T.TERMINUS,19.1922607286,72.9695639822
4050,HARINIWAS,19.1918887241,72.9684261345
782,BHARATMATA CINEMA,18.9953924587,72.8366343
786,K.E.M.HOSPITAL,19.000552234,72.8427666923
807,DR.BHADKAMKAR RD.,18.9617820011,72.8173645403
809,KUMBHARWADA,19.0540868043,72.8922723004
810,RESERVE BANK CLY.,19.0526558292,72.8992182986
811,MAITRI PARK,19.049406394,72.9053017293
812,R.K.STUDIO,19.0468102014,72.9080483113
815,VASUDEO B.PHADKE CHK.,18.9432084706,72.8299273106
816,VASUDEO B.PHADKE CHK.,18.9439042479,72.8286011199
818,VASUDEO B.PHADKE CHK.,18.9442419624,72.8295273086
819,CHH. SHIVAJI TERMINUS(GPO),18.9384599027,72.8370017985
820,CHH. SHIVAJI TERMINUS,18.9391804134,72.8354246596
543,SEWREE NAKA,18.9985029257,72.8503917026
826,KHODADAD CIRCLE (DADAR WORKSHOP),19.016389371,72.8499293115
829,S BRIDGE/MANDLIK CHK.,18.9796906391,72.8320003032
830,BAWLA MASJID,18.9930822284,72.8314424037
3778,ANAND NGR.POLICE CHKY,19.1775703582,72.9676671316
837,R.B.I.BANK,19.057142447,72.8525770407
838,INCOME TAX OFFICE,19.0584174471,72.8538854252
839,TATA CLY.,19.0596167898,72.8556240301
840,BHARAT NGR.,19.0608917709,72.8590996396
841,KURLA TEL.STORES,19.0709712168,72.8721029889
842,KAPADIA NGR.,19.0748765844,72.8721745379
844,WADALA GATE NO 2/5,19.0174517461,72.8593749305
845,GAONDEVI POLICE STN.,18.960345732,72.8125623748
4096,MHADA CLY.(HIRANANDANI),19.1183492372,72.907673183
4097,GUNDECHA PROJECT,19.1140768158,72.9037099151
4098,I.R.B.COMPLEX (POWAI),19.1135496733,72.9012637405
858,RAILWAY HOTEL / CHARNI RD.JUN.,18.9587938061,72.8196210944
859,TARDEO BUS STN/RUSHI MEHTA CHK.,18.9647092991,72.8206617915
188,LUBE INDIA CO.,19.0145801767,72.898260383
861,MADKEBUWA CHK.,19.0054987546,72.8395809614
862,EVERARD SCTY.,19.051119482,72.8775954972
863,WALKESHWAR,18.9465861117,72.7957416221
864,TEEN BATTI,18.9482503042,72.7981877967
865,PARSI AGYARI,18.9489403304,72.7997971221
866,WHITE HOUSE,18.9501580166,72.8016853972
867,SHITAL BAUG,18.9527752769,72.8050943879
4047,KHOPAT S.T.TERMINUS,19.201575414,72.9743598724
897,HUTATMA CHK. (SIDDHARTH COLLEGE),18.9329958767,72.8315519869
900,BANDRA BUS STN(W),19.0541622958,72.8392646526
902,INCOME TAX OFFICE,18.9405426334,72.8266724404
903,MARINE LINES RLY.STN.(KALA NIKETAN),18.9441931305,72.825056619
3309,GHATKOPAR STN.(W),19.0869777885,72.9087384582
24,PAREL WORKSHOP,19.0013298657,72.8378102136
919,SIR ALIYAWAR JUNG INSTITUTE,19.0520538604,72.8341985857
921,HILL RD.GARDEN/MEHBOOB STUDIO,19.0523885175,72.8240662729
922,ST.PETER'S CHURCH,19.0549136361,72.8293491518
925,BANDRA POLICE STN,19.0560535829,72.8348255967
928,DHARAVI FLY OVER BRIDGE,19.0483107892,72.856443567
147,RUIA COLLEGE,19.0218525295,72.8508539417
935,KHAMBEKAR STREET,18.958173745,72.835376466
148,JAGATDEV.N.VARMA CHK/KAPOLE NIWAS,19.0230088253,72.8517122486
3334,KURLA S.T.DEPOT,19.0563956613,72.8836398328
952,NATURE PARK/P.M.G.P.CLY.,19.0516280978,72.8627873847
953,RANI LAXMIBAI CHK./ SION BARRIER,19.0471333906,72.863122383
954,DHARAVI T JN./TAPASE CHK.,19.0470824434,72.8521049719
958,KALAKILLA,19.0481800669,72.8577233741
960,MAHARASHTRA BANK,19.1412151851,72.8220633108
961,ORIENTAL BANK/S.SAMARTH NGR MARKET,19.141007274,72.8276722485
962,ZULELAL CHK.,19.1401489787,72.8264181508
963,SHREE SWAMI SAMARTH NGR.EXT.,19.1416085187,72.8284566296
969,SHASTRI NGR.,19.1591845247,72.8352372903
3318,RAJAN PADA,19.1843576868,72.8357963187
971,BANGUR NGR.,19.1676973439,72.8351085442
972,VINAY INDUSTRY(SUBKUCH MARKET),19.1745478172,72.8370397347
4207,RANI LAXMIBAI CHK.,19.0431707916,72.8641044837
980,KAMLA NEHRU PARK,18.95531,72.8045
981,SAHYADRI GUEST HOUSE,18.9527354233,72.8026080771
982,MALBAR HILL POST OFFICE,18.9507262672,72.8005052253
983,REKHA SADAN/JAIN MANDIR,18.9498130064,72.7993250533
993,VATSALABAI DESAI CHK/SAHAKAR NIVAS,18.9773339986,72.8115218322
4226,RAJKUMAR,19.1266454052,72.8385018175
998,DAULAT NGR.,19.2364895964,72.8593846298
1002,DAHISAR STN.RD.(E),19.2487466353,72.862665087
1004,NOVELTY SILK MILL,19.253851599,72.8660983145
4230,GOVANDI STN.RD.(E),19.052834414,72.9142288755
4231,NEW INDIA QTRS.,19.1150323165,72.8359293612
4232,JUHU SHOPPING CENTRE,19.1160764531,72.833064762
1020,DNYAN SARITA,19.178736285,72.9504778865
1023,GODREJ CO.,19.105174925,72.9219140002
1028,MANKHURD OCTROI NAKA,19.0583873045,72.956328932
1029,VASHI VILLAGE,19.0689295804,72.9867397636
1030,Y.B.CHAVAN MARG JN.,19.0686621916,72.9965312658
1031,APNA BAZAR,19.0707905256,72.9975664395
1032,VASHI BUS STN.,19.0749324134,72.9976831764
1033,SSC BOARD OFFICE/ST.LAWRENCE SCHOOL,19.0741783254,73.0015952765
1034,SHIV CENTRE,19.0737727336,73.0062301336
1036,I.C.L.SCHOOL,19.0731597437,73.0171112944
1038,TURBHE NAKA (JANTA MARKET),19.0720240771,73.0190854002
1040,TURBHE POLICE STN.,19.0622535115,73.0190189062
1041,JUINGR.STN.( HERDILLA CO.),19.0559413919,73.0191283156
1042,SHIRAVANE VILLAGE,19.0514793365,73.0205874373
571,MALVANI BLOCK NO 5/ POLICE STN.,19.1923591085,72.8220860742
1047,NERUL NAKA,19.0464492393,73.0250506331
1049,GRANT RD BRIDGE,18.9621488668,72.815833805
1052,RANI LAXMIBAI CHK.,19.0407367708,72.8625917179
4268,JAWAHWR NGR.,19.160035464,72.8459698819
1057,NARMADESHWAR MANDIR,19.0385906145,72.9446719357
1058,DHOBI GHAT(TROMBAY),19.0346400072,72.948646227
1064,RANI LAXMIBAI CHK.,19.0453412957,72.8637814104
1065,RANI LAXMIBAI CHK.,19.0448955152,72.8640704359
4289,NEW SHAKTI MILL,19.202066198,72.979150644
1069,ST.ANDREW'S CHURCH,19.0547209577,72.8254502928
1072,HOLI FAMILY HOSPITAL,19.0548223674,72.8274780428
4292,KALWA BRIDGE,19.1970891777,72.9851019636
4293,SHIVAJI CHK./KALWA NAKA,19.1963596549,72.9875910536
4294,MANISHA NGR.(KALWA),19.1968107898,72.9905738259
4295,SUKUR PARK/SAHYADRI SCTY.,19.197864541,72.9934062387
4296,KHARIGAON NAKA,19.2018616417,73.0010344411
4297,PARSIK SHIV MANDIR,19.202874833,73.0037166501
4298,RAJ PARK,19.2063557111,73.0092679661
4299,PARSIK NGR.,19.2081388749,73.0117999715
4300,RETI BUNDER - KHARIGAON(KALWA),19.201575414,73.0216525818
1084,B.S.E.S.SUB STN.,19.0593058164,72.8994839732
1085,MUN.WARD OFFICE/AMBEDKAR UDN.,19.060247195,72.8994601858
1086,GOVANDI STN.RD(W),19.0553696668,72.9159025739
1087,DEONAR BEST STAFF QUARTERS,19.0476218126,72.9142717909
1088,MOTI MAHAL,19.0592741922,72.8354645883
1089,PALI HILL NAKA,19.0597512377,72.8286460659
1090,D'MONTE GARDEN,19.0596295497,72.8255990764
1091,PERI CROSS RD.,19.0601974264,72.8231314441
1092,ADDL.C.P.OFFICE,19.0624283518,72.8224447986
1093,RIZVI COMPLEX(CARTER RD.),19.0650040193,72.8231529018
1094,RIZVI COLLEGE,19.0672754409,72.82261646
1095,SHERLEY GAOTHAN,19.0702769145,72.8224447986
1097,KHAR DANDA,19.0748398615,72.8229383251
1098,DANDPADA,19.0750832152,72.8262857219
1100,16TH RD/KHAR,19.0731566557,72.8310278675
1104,JAMBLI MOHALLA,18.9556365319,72.8298168154
4290,THANE CIVIL HOSPITAL,19.1988442121,72.9792686612
1106,TEEN BAKDA,18.9538711698,72.8070255784
1107,PLAY HOUSE,18.9618174353,72.8215346577
1108,KHAMBATA LANE,18.9603935237,72.8241880807
4291,R.T.O.OFFICE (THANE),19.1983895681,72.9819311155
3837,AAI TULJABHAVANI CHK.,19.1418390851,72.8295091575
1119,DR.SHAMAPRASAD MUKHERJI CHK.,18.9255817986,72.8328547271
4335,BANDRA TALAO,19.0560494199,72.8370309984
4336,SAIBABA MANDIR(AMRUT NGR.),19.0978223343,72.9076790608
4338,VATSALABAI DESAI CHK,18.9772021045,72.8095412893
4339,VASTU ANAND,19.2095978128,73.0142890614
4340,SUBHASH TOWER,19.2103317293,73.0166770841
1128,MAHALAXMI RACE COURSE/ZENITH HOUSE,18.9805141104,72.8221578043
1129,ZAKERIA MASJID,18.9528784466,72.8338359136
1132,JOHAR CHK.,18.9567121121,72.8284649821
1133,NAVJEEVAN SCTY.,18.9656254555,72.8192046981
1135,HUTATMA CHK./MUMBAI UNIVERSITY,18.9290336642,72.8312432222
32,CITYLIGHT CINEMA,19.0302593381,72.8417167644
1143,DADAR POLICE STN.,19.0139932169,72.8347674458
4357,SHINDEWADI,19.0107028727,72.8427454782
1150,BANDRA STN(E),19.0551652143,72.8419007452
1156,BHASKAR COURT,19.0553883149,72.8440035971
1080,PRABHADEVI/RAVINDRA NATYA MANDIR,19.015571518,72.8297159732
1164,JUMBO DARSHAN,19.1136474691,72.8531811789
1165,DIVINE CHILD HIGHSCHOOL,19.1124502421,72.8658905427
1166,J.B.NGR.,19.1116224941,72.8687418887
1167,MAROL PIPE LINES,19.1110547937,72.8714455554
1168,JOHN BACKER,19.113771628,72.8885687778
1170,MAROL LIONS CLUB,19.1097166351,72.8757800052
1172,MAJAS DEPOT/SHYAM NGR.,19.1392187507,72.8654855975
4378,CRISIL HOUSE,19.1169887978,72.9103509741
4381,NORTH BOMBAY SCHOOL,19.0869214978,72.8959757051
1179,I.I.T.MARKET,19.1275578597,72.9189099261
1180,I.I.T.MAIN GATE,19.1250439855,72.9165066669
1181,PUNCH KUTIR,19.123884225,72.9106248513
1182,SHIPPING CORPORATION,19.1237059401,72.8976239154
4408,ISHWAR NGR.(BHANDUP-W),19.1438474988,72.9338686732
1193,CANOSSA SCHOOL,19.1240522787,72.864302657
1194,HOLY SPIRIT HOSPITAL,19.1275400174,72.8675488117
1197,POONAM NGR.,19.1358517493,72.8701666477
1198,DURGA NGR.,19.1369811428,72.8730424858
1199,NAMASKAR,19.1380809136,72.8705682972
1200,GREEN FIELDS,19.1396849967,72.8692406902
184,CALICO CHEMICALS,19.0230080581,72.8979930852
1212,VESAVA-YARI RD.BUS STN.,19.1394376925,72.8080467006
1214,SEVEN BUNGALOWS GARDEN,19.128470411,72.8170160076
1215,PICNIC COTTAGE,19.1304774171,72.8142908832
1216,MACHHALIMAR,19.1329709362,72.8123596927
1217,GANGABHUWAN,19.1356874101,72.8097847721
4442,SAHYADRI SCHOOL,19.1992425132,72.9962386514
1230,POISAR DEPOT,19.2136184415,72.851416375
1231,SHASTRI NGR.,19.2179545466,72.8518026131
1232,KORA KENDRA,19.2203049109,72.8527038354
1234,BORIVLI STN(W),19.2284904001,72.8557937402
1235,BORIVLI BUS STN(W),19.2301638306,72.8564322811
1237,RAM MANDIR,19.2369185964,72.8551070946
1238,BHAGWATI HOSPITAL,19.2405819982,72.854559867
4313,AMRUT NGR.,19.1013121185,72.9115991933
1245,RANI LAXMIBAI CHK./ SION BARRIER,19.0477663512,72.8635054587
1246,MAHARASHTRA WEIGHT BRIDGE,19.0503264051,72.8651133876
1247,KURLA LEVEL CROSSING,19.0524797133,72.8668295061
1248,KALPANA TALKIES,19.0773625373,72.8785625546
1249,OLD AGRA RD.,19.0782798581,72.8792656108
1250,GURU NANAK NGR.,19.0851340399,72.8926981135
1251,MINATAI THAKRE MAIDAN (ANACIN COMP),19.099238967,72.9171879979
1252,NIRMAL LIFE STYLE/HOECHST CO,19.1649796755,72.9378355997
1253,DUNNCAN CO.,19.16761455,72.9389943139
1255,MULUND GARDEN,19.1758320746,72.9493825702
1256,MAHARSHI ARVIND CHK.,19.1756685113,72.9523784102
1260,POSTAL CLY.,19.0607766734,72.8925115169
1262,BHANDUP PUMPING CENTRE,19.1547640714,72.9565466897
1269,GOREGAON CHECK NAKA NO 2,19.1303759939,72.880349189
1270,MAROSHI NAKA / PICNIC POINT,19.135525174,72.8823662101
1271,MODERN BAKERY/RESERVIOR,19.1427469326,72.8787264525
1272,UNIT NO 6/AAREY MARKET,19.1562469729,72.8747782408
1273,UNIT NO 2 & 3,19.1649423597,72.8665814101
1274,VIJAY PRINTING PRESS,19.1011659986,72.8841244608
1277,PARASMANI/MADHUKUNJ SCTY.,19.1086057292,72.8298479787
1278,STATE BANK,19.110511601,72.8298479787
1279,SUKHMANI HOSG.SOC.,19.1141002575,72.8297836057
1540,E.S.I.S.HOSPITAL,19.2021788505,72.8555630016
1282,MANO-BINA APTS,19.1128527868,72.8383004339
1283,SHOPPERS STOP,19.1163197461,72.8422486456
1291,BORIVLI JAIL(W),19.2227124863,72.8535470647
1292,DHARAMSHI HALL,19.2263832834,72.8549354333
1293,BORIVLI TEL.EXCH.,19.233528163,72.8550371186
1294,PAI NGR.,19.2351489538,72.8550371186
3364,KHERANI BAUG,19.1049729156,72.8953157997
198,SANDUWADI,19.0532170246,72.8977974476
1310,I.C.CLY.,19.2452820457,72.846577613
4511,OUR LADY OF SALVETION SCHOOL,19.0172249471,72.835283327
199,ACHARYA GARDEN/ DIAMOND GARDEN,19.0524716898,72.8998911661
1313,CITIZEN BANK,19.2454628465,72.8508127587
1315,DAHISAR BUS STN.,19.2558619014,72.8700551524
201,DR.AMBEDKAR GARDEN,19.0617000214,72.9004992502
1329,KETAKI PADA,19.2559341778,72.8697141664
1330,DAHISAR CHECK NAKA,19.2555731327,72.8702746386
4538,MUNICIPAL GARAGE(WORLI),18.9957502658,72.8186999602
4539,AMRUT ANGAN,19.204901197,73.0188228513
1349,MOUNT CARMEL CHURCH/LILAVATI HOSP.,19.051161438,72.8278900301
1354,BANDRA TALKIES,19.0595583115,72.8370062771
1364,GORAI BRIDGE,19.2265250822,72.8283459215
1365,GORAI DEPOT,19.2329544206,72.8259462685
1366,VIVIDH BHARTI,19.2321254339,72.8305238753
1367,M.H.B.CLY.,19.2316982923,72.8346151681
1368,DON BOSCO SCHOOL,19.230107692,72.8415533043
1369,VAZIRA NAKA,19.2287794192,72.8455236113
1370,BABHAI NAKA,19.2285663774,72.8484094995
1371,MAHARASHTRA NGR.,19.2287085072,72.8528621352
1378,GOKHALE BRIDGE,19.1152491651,72.8483746603
1381,ASALPHA VILLAGE,19.0971157294,72.8938886107
1384,SHANTI NGR.,19.1221473043,72.8642443302
1385,DATTA TEKDI/SHIV TEKADI,19.1390589961,72.8618523098
1386,PRATAP NGR.(MAJAS),19.1408834312,72.8566166378
1389,BORIVLI STN(W),19.2308168048,72.8560586906
1400,BHAVANS COLLEGE,19.1248208129,72.8381799524
4598,KALPATARU EST.,19.1398268974,72.8674597034
1402,BANK OF INDIA,19.1273144174,72.8339957063
1403,DHAKE CLY.,19.127821243,72.8321503465
1404,OSHIWARA POLICE STN.,19.1480825186,72.8313974326
1405,SHANTIVAN RD JN.( OSHIWARA ),19.1516500888,72.83169784
1408,HIGHLAND GARDEN,19.1465824944,72.8287795966
1409,BORIVLI BUS STN(W),19.2307595724,72.8566091317
1421,MILLAT NGR.,19.1496230697,72.8285650199
1424,AZAD NGR.,19.133101936,72.8376094287
1425,JU CHANDRA HSG.SCTY.,19.1341966389,72.8360752052
1426,BELE VILLA HOSPITAL,19.1344804496,72.8338436073
4638,AMBIKA MILL B.STN/H.U.RAKHANGI CHK.,18.9886489133,72.8226052565
1450,VESAVA VILLAGE,19.1369239991,72.808025243
629,MAROL DEPOT,19.1179980883,72.8655601024
1452,PALLAVI BLDG.,19.1308314178,72.8376094287
1462,BANGUR NGR POLICE CHKY/POST OFFICE,19.1630761537,72.8347223061
1463,SADBHAKTI MANDIR,19.1280671153,72.8496960285
1127,VATSALABAI DESAI CHK.,18.9779617783,72.8113258483
1465,GANDBHIR VIDYALAYA,19.132907372,72.8498028069
1466,JOGESHWARI STN-E/ BARR.NATH PAI CHK,19.1354057645,72.850125182
1467,JOGESHWARI POLICE STN.,19.1417305265,72.8546312931
222,C.G.S.DISPENSARY,19.0309099645,72.8631277301
4660,DHARAVI DEPOT/KOLIWADA,19.0508789358,72.857976457
223,KANE NGR.,19.0295305886,72.8642006137
4669,SEEPZ VILLAGE/REL.ENGY. TR.CENTRE,19.1293579726,72.8836740151
3408,ANDHERI BUS STN.(W),19.1194927479,72.8480226069
1596,GORAI CREEK,19.2327855654,72.8266293078
1861,MULUND CLY.,19.1750583509,72.9370719891
1539,KANDIVLI BUS STN.( E ),19.2026651822,72.8527305889
3413,SHIMPOLI TEL.EXCHANGE,19.2245192459,72.8409844904
1541,GROVEL CO.,19.2016519895,72.8590391445
1543,SAMBHAJI NGR.(KANDIVLI-E),19.2014898781,72.8607986736
1544,HANUMAN NGR.,19.200922487,72.869081335
1545,TRACTOR GATE NO 3/VASA HOSPITAL,19.2006387907,72.8721283245
1550,GAUTAM NGR.,19.2003550939,72.8778360652
1551,DAMU NGR.EXTN.,19.1975991566,72.8786085414
1552,DAMU NGR./MAYUR MARKET,19.1994229438,72.8786943721
1583,OTIS CO.,19.2002740376,72.875561552
4488,DATTA WADI,19.2007015299,72.998813572
3982,DHARAVI PUMPING STN.,19.0472876236,72.8614999244
1149,GOVT.CLY./INDIAN.MEDICAL.ASSN.CHK,18.9787734289,72.81527406
1609,ASIAN PAINTS,19.1596885441,72.9376344947
1616,DIAMOND MARKET,19.0673816253,72.8655583989
1617,MAHARASHTRA NGR.,19.1408574956,72.9281502036
1618,SAHYADRI NGR.,19.1429048934,72.9282789496
1619,KOKAN NGR.,19.1451549747,72.9284291534
1622,JUNGAL MANGAL RD.,19.1497563967,72.9326992301
1623,SANTACRUZ STN (E),19.0806793114,72.8428488305
1627,RAMASHRAM,19.1193673548,72.9029454181
1628,VIDYA VIHAR BUS STN(W),19.0805602056,72.8962457675
1629,NAVSENA GATE/KIROL VILLAGE(VIDYAVIH,19.0822761732,72.8954083213
1630,INDIRA NGR./KHALAI VILLAGE,19.0815461429,72.89274757
1631,NAVPADA,19.0826590466,72.8898942966
1634,VIDYA VIHAR S.T.WORKSHOP,19.0806538792,72.8899580726
1665,DHARAVI DEPOT,19.0517011671,72.8592997549
3427,COLABA BUS STN.,18.9112790953,72.8210592755
3428,SANJAY NGR.,19.1389736087,72.8545454624
1681,KAMANI OIL INDUSTRIES,19.1131438589,72.8902517891
1682,CHANDIVLI STUDIO/NAHAR ENTERPRISE,19.1141170461,72.8919684029
1683,PETROL PUMP,19.1149077565,72.8939425087
1686,SAHAR CARGO COMPLEX,19.0966700885,72.865493801
3429,BANK OF BADODA,19.136150919,72.8520344048
1691,TELI GULLY,19.1158075889,72.8504878581
1692,VISHAL HALL/PRAKASH STUDIO,19.1190920198,72.8507453502
1693,JUMBO DARSHAN,19.1133746351,72.8544789851
1694,MOHILI VILLAGE,19.1001977679,72.8914424361
1695,LOKMANYA TILAK NGR.,19.101900975,72.8901120604
1696,SUBHASH NGR.,19.0992753193,72.8979980087
1697,ST.ANTHONY CHURCH,19.1061489075,72.8893291092
1698,LUCKY HOTEL,19.1068180026,72.8917752838
1700,JUNGLESHWAR MAHADEO MANDIR,19.1037360875,72.8964959717
1701,NATRAJ STUDIO,19.1173821775,72.8534450749
1704,KONDIVTE CAVES/MAHAKALI CAVES,19.1303347378,72.8729394859
1707,SAIBABA MANDIR/SATYA SAIBABA MANDIR,19.1298076472,72.8700212424
1717,SARASWAT BANK,19.1069932576,72.8270136984
1720,AAREY HOSPITAL/ MUNICIPAL SCHOOL,19.1486660052,72.8765806853
1721,CENTRAL DAIRY,19.1512606002,72.8758511244
1722,UNIT NO 7(AAREY CLY.),19.1538551544,72.875293225
1725,FIRE BRIGADE/AGRI.INDU,19.1657701423,72.8610385911
254,SHREYAS CINEMA,19.093237015,72.9125531407
213,WADALA GATE NO 4,19.018494427,72.8601142882
1751,RANI LAXMIBAI CHK.(NEAR RD NO.1),19.0469441005,72.8663449491
1752,SEEPZ VILLAGE,19.1302905189,72.8768933907
1753,SARIPUT NGR.,19.1331542355,72.8746573709
1754,KAMAL AMROHI STUDIO,19.135561334,72.8738464013
1756,SHIVAJI NGR.POST OFFICE,19.0669718783,72.9264994458
1757,NARAYAN GURU H'SCHOOL,19.0604383004,72.9105541924
1758,SHIVSENA OFFICE,19.0613306728,72.9076681355
1760,AMAR MAHAL,19.0632675102,72.9026792267
1761,THAKKAR BAPPA CLY.,19.0570845271,72.887164882
1762,KAMGAR NGR.,19.0596288041,72.8851108144
1763,MUMBAI CENTRAL STN.(ON BRIDGE),18.9690245698,72.8180625062
1764,CHILDRENS HOME,19.042871233,72.9285197889
1765,SHELL CLY./ SAMAJ MANDIR HALL,19.0636064331,72.8935898798
1766,SAHAKAR NGR.(CHEMBUR),19.0640526115,72.895864393
1767,THAKKAR BAPPA CLY.,19.0590728295,72.8874807561
1788,DADOJI KONDEV NGR.(KHARDEV NAGAR),19.05755012,72.9091404297
1790,EVEREST CO.OP.SCTY.,19.0606953347,72.8902917112
1791,TATA NGR./SAMBHAJI NAGAR,19.0521651008,72.9208592962
1792,DEONAR MUNICIPAL CLY.,19.0533211855,72.9230908941
1793,DEONAR FIRE BRIGADE CLY.,19.0552074117,72.9241208624
1797,GOVANDI STN(E)/PATWARDHAN SCHOOL,19.0543581032,72.9144667698
1799,CHEMBUR LEVEL CROSSING/SHELL BRIDG,19.0630385681,72.8987826364
1801,UMARSHI BAPPA CHK.,19.0540709722,72.8893438052
1808,GADKARI QUARRY,19.0225211977,72.907949445
1809,POLICHEM LTD./PEPSICO,19.0229269148,72.9046878789
1828,RANI LAXMIBAI CHK.,19.0454310652,72.8646129263
1836,AMRUT NGR.,19.1009471457,72.9122858388
1837,MANKHURD STN.( NORTH ),19.0491285423,72.9315184986
1841,INDL.EST.,19.0996187933,72.9145292829
1850,GANESH MANDIR,19.088267445,72.9053012095
1851,BABU GENU MARKET,19.0891191121,72.9051724635
1852,HANUMAN MANDIR,19.0851370237,72.8988081178
1854,RAM BHAVAN,19.0905588252,72.9039064608
1857,MAHARSHI ARVIND CHK.,19.1754469994,72.9527085093
1859,AGRA RD.NAKA,19.1779210664,72.9435843925
1860,HINDUSTAN CHK.,19.1775765298,72.9399151306
3965,PALI HILL NAKA,19.0595484243,72.830405595
1862,POWAI CHK.,19.1734304065,72.934995201
1863,JAY SHASTRI NGR.,19.1717076695,72.9343943862
1864,AMAR NGR.,19.1663569361,72.9328923492
1870,HIRANANDANI GARDEN,19.1140554737,72.9089106509
1871,BHANDUP STN.RD.,19.1464062408,72.9361687558
211,WADALA STN./P.& T.QTRS.,19.0155245176,72.8571218749
3969,BANK OF INDIA,19.1271996361,72.8345086795
3970,SHAHAJIRAJE SPORT COMPLEX,19.1279526803,72.8376094287
3972,"MAHARANA PRATAP CHK./""R"" MALL",19.1829365243,72.9479636209
3977,GORAI PUMPING STN.,19.2195552022,72.84061971
281,WADALA STN.(W),19.0161817646,72.857968521
1916,KRUPA BUILDING,19.0846951786,72.9029400828
1917,GELDA NGR.,19.0868725699,72.8990101612
1918,JAGDUSHA NGR.,19.0909506338,72.9074149473
1919,MHADA CLY.(CHANDIVLI),19.113407431,72.9023324585
1921,ASHIRVAD SCTY.,19.1142184195,72.8995000458
1940,"I.E.S.SCHOOL,JVLR",19.1274129114,72.8885171627
1954,C.B.D. BELAPUR BUS STN.,19.0229193414,73.04959821
1955,URAN PHATA,19.032493978,73.0295138289
1960,TATA PRESS,19.0425365509,73.0280740438
1963,KONKAN BHAVAN,19.0243799149,73.0398993422
1966,B.A.P.MARKET,19.0737478536,73.0101160933
2005,MHADA CLY.(MAJAS),19.1341894364,72.8665188435
2016,SHIVAJI TALAO,19.1464928463,72.9289870528
2037,BANDRA PHATAK(E),19.0609860152,72.8463424834
2039,BANDRA RLY.TERMINUS,19.0628924351,72.8416647109
2040,KHAR STN (E),19.0673492187,72.841798409
703,DR.SHAMAPRASAD MUKHERJI CHK./REGAL,18.9235674747,72.8317803649
1687,SAHAR AIR INDIA HOTEL,19.1031382651,72.8703325061
2114,WADALA TRUCK TERMINAL MAIN GATE,19.0357447208,72.8797412645
2115,AMBASSADOR HOTEL,19.1063823964,72.8748815326
2122,SHIVNERI BLDG.,19.2268897771,72.824719575
2123,PRAGATI HIGH SCHOOL,19.2283080273,72.8220159083
3506,CEAT CO.,19.1557725748,72.9434608246
2170,SANGAM NGR.,19.0238378974,72.8765410611
2171,INDIAN HUME PIPE CO.,19.0175694919,72.8699535558
2172,BARKAT ALI DARGAH,19.0180766532,72.8655118177
2173,BHAGATSINGH NGR.,19.1559413149,72.835156885
2183,NANA CHK.,18.9618907606,72.8129220454
2218,ORKAY MILL,19.1211598943,72.870658
2241,GANESH NGR.,19.0177718895,72.8691411744
2242,SHANTI NGR.,19.0199628127,72.8745485078
2243,BHAKTI PARK GATE,19.0330671762,72.8787971269
2246,SIMPLEX MILL,18.980295982,72.829212014
2250,SHIVAJI NGR.DEPOT,19.0654305571,72.9292031125
2251,DUMPING GROUND/NIRANKARI BHAVAN,19.067945337,72.9240103558
2252,JAFRI ENGLISH SCHOOL,19.0684726247,72.9222937421
2275,POWAI VIHAR COMPLEX,19.117704876,72.9039753864
2286,A.T.I.,19.0531882725,72.8810716401
2287,P.M.G.P.CLY.,19.1348381458,72.8700379017
2306,GATE WAY PLAZA,19.1233815638,72.9127301166
2307,BAYER HOUSE,19.1195700949,72.9124726245
2323,AMBAWADI,19.2397923076,72.8597039283
2324,PARVAT NGR.,19.2431553024,72.8601330817
2325,MANAV KALYAN KENDRA,19.2461130602,72.8609484732
2326,RAJASHREE CINEMA,19.2517853233,72.863909632
2327,ICICI BANK,19.0650088017,72.8618247639
2328,CITY BANK,19.069328532,72.868819965
2331,KADAM PADA,19.1786335215,72.9471658127
2369,MACCHIMAR NGR/RAHEJA HOSPITAL,19.0455956719,72.8417785575
2371,MAHIM PHATAK,19.0448194248,72.8445281699
2374,MAHIM BUS STN.,19.0431499142,72.8403756599
2381,NAVRANG TALKIES,19.1239332158,72.8424418577
2395,DHANVANTARI HOSPITAL,19.1760798914,72.9536460297
2397,ANDHERI MARKET,19.1222866234,72.8457115953
2399,RAMWADI,19.1402347455,72.8585907436
2419,ELCO MARKET,19.0556437837,72.8330398714
2444,VIJAY NGR.,19.1220082339,72.8798422515
2447,SAINATH NGR.,19.1209453169,72.8756817795
2449,MAHIM KOLIWADA,19.0461851322,72.8383994742
2458,MULUND DEPOT,19.1756902049,72.9469149379
2470,M.M.R.D.A./FAMILY COURT,19.0557227254,72.8507531385
2473,SHIVPREMI NGR.,19.0971057203,72.8978692627
2474,KULKARNI WADI,19.1017895853,72.8986846542
2476,TUNGA VILLAGE,19.1182782777,72.8897034555
2488,BHANDUP VILLAGE JN.,19.1561829431,72.9498948114
2493,BORIVLI TEL.EXCH.,19.2317928186,72.8561765223
2501,PRABHADEVI,19.0140761008,72.8300335524
2525,A.H.ANSARI CHK.,18.9716241664,72.8322360732
2526,HIRANANDANI,19.1195861923,72.904359211
2540,CHANDAN CINEMA,19.1146058158,72.8266621276
2583,BORIVLI STN-W (DIAMOND CINEMA),19.2286727182,72.8553182154
2590,DNYAN SARITA,19.1787281949,72.9504608867
2591,AMBAJI DHAM,19.1782498826,72.9495122912
340,ACHARYA MARATHE COLLEGE,19.0589292631,72.9074238159
2618,POLICE STN./CHHOTA KASHMIR,19.1599157118,72.8739628493
2620,FOREST CLUB,19.1142618791,72.9058405715
2621,SHETTY VIDYALAYA,19.1157520596,72.9059414225
341,SAMRAT ASHOK NGR.,19.0552785652,72.9103849747
2631,GREEN PARK,19.1535960037,72.8289083427
2640,MAHARASHTRA NGR.,19.0518261044,72.9374797522
2648,HUTATMA CHK. ( O.C.S.),18.9294499818,72.8313215794
2649,BORIVLI STN-W (JAYA TALKIES),19.2269862886,72.8552350551
2684,RANI LAXMIBAI CHK.,19.0437547562,72.8643269827
2687,COLABA BUS STN.,18.9125744619,72.8231382846
2688,GOL MANDIR,18.9580717978,72.828078744
2689,KHAMBATA LANE,18.9603954142,72.8242002698
2691,JAMBLI MOHALLA,18.9556244943,72.8298529061
2693,BANK OF INDIA,19.0552381466,72.8305078661
2697,JAMBHULPADA,19.0946825007,72.8973218382
477,GOREGAON-MULUND LINK RD,19.1603027592,72.9467116619
2701,MITHAGAR,19.1650854875,72.9638905813
2714,AGARWADI,19.0456601706,72.9256351172
2717,JAWAHAR NGR.,19.159960903,72.8436671533
2727,JAMBHULPADA/SHIVASENA OFFICE,19.0934658729,72.8997680128
775,LOWER PAREL WORKSHOP,19.0027706375,72.8310516995
2752,ADARSH HIGH SCHOOL,19.024060573,72.876565529
2774,AGARWAL MUNICIPAL HOSPITAL,19.1785110772,72.9453634756
2777,BEST NGR.,19.1531846346,72.8402638109
2788,BELA NIVAS,19.114663713,72.8608025501
2789,BELA NIVAS,19.1140722244,72.8620067041
2790,MULUND RLY.STN.(W),19.1727514476,72.9558198718
2791,ANDHERI STN.(W) (KUMKUM),19.1186373223,72.8460549181
2796,MULUND RLY.STN.(W),19.1729804314,72.9567503543
2801,HIGHLAND PARK,19.169802504,72.932312992
2807,BELA NIVAS,19.113558516,72.863061939
2815,VASANTRAO NAIK CHK.,18.9691397408,72.8157207947
2841,SHIVAJI NGR.JN.,19.0621147645,72.9176371638
2844,DARPAN CINEMA/ SAI SERVICE,19.1131711567,72.8547990166
2850,NARSIPADA,19.2011656549,72.8641031551
2851,PIPE LINE,19.1774245281,72.9417765837
2852,SHIVAJI CHK.,19.1766645177,72.9383755426
2856,AJARA BANK,19.2321169815,72.8257066279
2857,PEPSI GARDEN,19.2305974625,72.8241187601
2861,NANA CHK.,18.9621082803,72.8135378341
364,MITTAL EST.,19.1069574935,72.8840680801
2881,MULUND RLY.STN.(W),19.1740775353,72.9567557753
2883,MULUND RLY.STN.(W),19.1726284163,72.9558760108
2884,DHANVANTARI HOSPITAL,19.1763271912,72.9532152594
2891,NEW GAUTAM NGR.,19.0609540021,72.9164471269
2897,ASSISI NGR.,19.0607106277,72.9130138994
2936,GAUTAM NGR.,19.1192135972,72.8702288466
2937,DR.AMBEDKAR CLY./18TH RD KHAR,19.0738461638,72.8293970844
2938,KHAR 14TH RD,19.0722237873,72.833152177
2942,AMBEWADI (GOLIBAR),19.068915767,72.8424157294
2943,GOLIBAR MARG(A.HAMID CHK),19.0734990311,72.8433813246
2944,4TH RD.( GOLIBAR ),19.0747360851,72.8426732214
2954,SUBHASH NGR.,19.0602167731,72.9047816885
2977,HANUMAN MANDIR,19.1586102888,72.9434608246
3431,ANDHERI STN.(W),19.1196106939,72.8454850949
2987,NIRLON SCTY.,19.1766150638,72.8369968194
2989,AMARNATH PATIL SPORT COMP/BANGANGA,19.0499543199,72.9144219946
2992,FISHER ROSE MOUNT CO.,19.0445154783,73.0264765603
2993,CHHEDA NGR.,19.0679560648,72.9032403529
2996,KALA NGR.,19.0530860673,72.8477919798
2998,TOWNSHIP MUNICIPAL SCHOOL,19.1963875853,72.8253868865
4182,SAIBABA NGR.(GOLIBAR),19.0702339754,72.8439821394
3012,MUMBAI CENTRAL STN./RESERVE BANK,18.9695541473,72.8210767176
3013,MUMBAI CENTRAL STN.(S.T.DEPOT),18.9695354419,72.8210237006
3015,AMBAJI DHAM,19.1785457941,72.9491734264
3016,MAHARSHI ARVIND CHK.,19.1758928758,72.9513352183
3018,MULUND RLY.STN.(W),19.1726182825,72.9564553679
3020,AHILYABAI HOLKAR CHK.,18.9319342454,72.8282323545
3023,COM.GULABRAO GANACHARYA CHK.,18.9865286003,72.8317213534
3024,P.THAKRE CHK.,19.0190333155,72.8363535698
3025,DR.SHAMAPRASAD MUKHERJI CHK.,18.9242138554,72.8319841383
3028,RAM GANESH GADKARI CHK.,19.0247053398,72.8406820723
3029,RAM GANESH GADKARI CHK.,19.025273336,72.8404460379
3033,BHAGATSINGH NGR./SEJAL PARK,19.1560002992,72.8356465063
1053,RANI LAXMIBAI CHK.,19.0464857821,72.8655034197
3039,WADALA CHURCH,19.0189419282,72.8586577977
3041,RUIA COLLEGE,19.0218122811,72.8512788099
4183,MACCHI MARKET(GOLIBAR),19.0716941325,72.8443040045
3058,BABASAHEB WORLIKAR CHK.,19.0127438913,72.8244768471
3067,KURLA DEPOT,19.0760730694,72.8769595987
3068,LOKHANDWALA COMPLEX JN.,19.1419404414,72.8307537025
3069,CHAKALA,19.1144179071,72.8593073443
3070,CHAKALA,19.1148436739,72.8595541075
4184,MUSLIM CEMETARY(GOLIBAR),19.0730934376,72.8440465125
1312,MT.POINSUR CHURCH,19.2482802815,72.8500108406
3083,A.H.ANSARI CHK.,18.9711812627,72.8321525124
3086,VASANTRAO NAIK CHK.,18.9692891171,72.8161490555
3102,VASANTRAO NAIK CHK.,18.9690338385,72.8155827967
3103,P.THAKRE CHK.,19.0190891029,72.8365145024
3104,P.THAKRE CHK.,19.0192006775,72.8360876041
3105,MAHESHWARI UDN.,19.0252090803,72.8603288649
3112,GEN.A.K.VAIDYA MARG JUN.,19.1751681505,72.8592980996
480,MULUND SONAPUR,19.1772088048,72.9534298362
3120,HUTATMA CHK. (PAY & PARK),18.9287433664,72.829677513
3121,PAREL S.T.DEPOT/SANT ROHIDAS CHK.,19.0110226958,72.8318395005
3127,NOORBAUG,18.9625266916,72.83773681
3128,JOHAR CHK.,18.9582143325,72.8314711697
3131,VASANTRAO NAIK CHK.,18.9695825075,72.8152028422
3133,VASANTRAO NAIK CHK.,18.9686597176,72.816105363
3134,VASANTRAO NAIK CHK.,18.9688012508,72.8159742991
3135,DEEPAK CINEMA,19.0031164725,72.8300368532

View File

@ -0,0 +1,251 @@
route_id,service_id,trip_id
1044,SUN,1044_912_SUN_UP
1044,SUN,1044_912_SUN_DOWN
1044,HOL,1044_912_HOL_UP
1044,HOL,1044_912_HOL_DOWN
1044,MS,1044_912_MS_UP
1044,MS,1044_912_MS_DOWN
3981,FW,3981_915_FW_UP
3981,FW,3981_915_FW_DOWN
3290,SH,3290_935_SH_UP
3290,SH,3290_935_SH_DOWN
3290,MS,3290_935_MS_UP
3290,MS,3290_935_MS_DOWN
2060,SUN,2060_949_SUN_UP
2060,SUN,2060_949_SUN_DOWN
2060,HOL,2060_949_HOL_UP
2060,HOL,2060_949_HOL_DOWN
2060,MF,2060_949_MF_UP
2060,MF,2060_949_MF_DOWN
2060,SAT,2060_949_SAT_UP
2060,SAT,2060_949_SAT_DOWN
0324,SH,0324_955_SH_UP
0324,SH,0324_955_SH_DOWN
0324,MS,0324_955_MS_UP
0324,MS,0324_955_MS_DOWN
3751,SH,3751_971_SH_UP
3751,SH,3751_971_SH_DOWN
3751,MS,3751_971_MS_UP
3751,MS,3751_971_MS_DOWN
4150,MS,4150_1000_MS_UP
4150,MS,4150_1000_MS_DOWN
4150,HOL,4150_1001_HOL_UP
4150,HOL,4150_1001_HOL_DOWN
4160,SH,4160_1002_SH_UP
4160,SH,4160_1002_SH_DOWN
4160,MS,4160_1002_MS_UP
4160,MS,4160_1002_MS_DOWN
4100,SH,4100_1004_SH_UP
4100,SH,4100_1004_SH_DOWN
4100,MS,4100_1004_MS_UP
4100,MS,4100_1004_MS_DOWN
3961,SUN,3961_1008_SUN_UP
3961,SUN,3961_1008_SUN_DOWN
3961,HOL,3961_1008_HOL_UP
3961,HOL,3961_1008_HOL_DOWN
3961,MS,3961_1008_MS_UP
3961,MS,3961_1008_MS_DOWN
3660,SH,3660_1045_SH_UP
3660,SH,3660_1045_SH_DOWN
3660,MS,3660_1045_MS_UP
3660,MS,3660_1045_MS_DOWN
3670,MF,3670_1046_MF_UP
3670,MF,3670_1046_MF_DOWN
3670,SAT/SUND&HOL,3670_1046_SAT/SUND&HOL_UP
3670,SAT/SUND&HOL,3670_1046_SAT/SUND&HOL_DOWN
3600,SH,3600_1053_SH_UP
3600,SH,3600_1053_SH_DOWN
3600,MS,3600_1053_MS_UP
3600,MS,3600_1053_MS_DOWN
3410,SH,3410_608_SH_UP
3410,SH,3410_608_SH_DOWN
3410,MS,3410_608_MS_UP
3410,MS,3410_608_MS_DOWN
4941,SH,4941_618_SH_UP
4941,SH,4941_618_SH_DOWN
4941,MS,4941_618_MS_UP
4941,MS,4941_618_MS_DOWN
4420,SH,4420_656_SH_UP
4420,SH,4420_656_SH_DOWN
4420,MS,4420_656_MS_UP
4420,MS,4420_656_MS_DOWN
4380,SH,4380_694_SH_UP
4380,SH,4380_694_SH_DOWN
4380,MS,4380_694_MS_UP
4380,MS,4380_694_MS_DOWN
3380,SUN,3380_702_SUN_UP
3380,SUN,3380_702_SUN_DOWN
3380,HOL,3380_702_HOL_UP
3380,HOL,3380_702_HOL_DOWN
3380,MS,3380_702_MS_UP
3380,MS,3380_702_MS_DOWN
3350,SUN,3350_703_SUN_UP
3350,SUN,3350_703_SUN_DOWN
3350,MS&HOL,3350_703_MS&HOL_UP
3350,MS&HOL,3350_703_MS&HOL_DOWN
3340,MS&HOL,3340_704_MS&HOL_UP
3340,MS&HOL,3340_704_MS&HOL_DOWN
3360,MS,3360_705_MS_UP
3360,MS,3360_705_MS_DOWN
3360,SUN,3360_706_SUN_UP
3360,SUN,3360_706_SUN_DOWN
3360,HOL,3360_706_HOL_UP
3360,HOL,3360_706_HOL_DOWN
2474,SUN,2474_725_SUN_UP
2474,SUN,2474_725_SUN_DOWN
2474,HOL,2474_725_HOL_UP
2474,HOL,2474_725_HOL_DOWN
2474,MS,2474_725_MS_UP
2474,MS,2474_725_MS_DOWN
1300,SH,1300_759_SH_UP
1300,SH,1300_759_SH_DOWN
1300,MS,1300_759_MS_UP
1300,MS,1300_759_MS_DOWN
4080,SUN,4080_790_SUN_UP
4080,SUN,4080_790_SUN_DOWN
4080,HOL,4080_790_HOL_UP
4080,HOL,4080_790_HOL_DOWN
4080,MS,4080_790_MS_UP
4080,MS,4080_790_MS_DOWN
6150,FW,6150_846_FW_UP
6150,FW,6150_846_FW_DOWN
2510,SH,2510_1117_SH_UP
2510,SH,2510_1117_SH_DOWN
2510,MS,2510_1117_MS_UP
2510,MS,2510_1117_MS_DOWN
2560,SUN,2560_1118_SUN_UP
2560,SUN,2560_1118_SUN_DOWN
2560,MS,2560_1118_MS_UP
2560,MS,2560_1118_MS_DOWN
2560,HOL,2560_1119_HOL_UP
2560,HOL,2560_1119_HOL_DOWN
2570,SUN,2570_1120_SUN_UP
2570,SUN,2570_1120_SUN_DOWN
2570,HOL,2570_1120_HOL_UP
2570,HOL,2570_1120_HOL_DOWN
2570,MS,2570_1120_MS_UP
2570,MS,2570_1120_MS_DOWN
2424,SUN,2424_1124_SUN_UP
2424,SUN,2424_1124_SUN_DOWN
2424,HOL,2424_1124_HOL_UP
2424,HOL,2424_1124_HOL_DOWN
2424,MS,2424_1124_MS_UP
2424,MS,2424_1124_MS_DOWN
4091,SUN,4091_1151_SUN_UP
4091,SUN,4091_1151_SUN_DOWN
4091,HOL,4091_1151_HOL_UP
4091,HOL,4091_1151_HOL_DOWN
4091,MS,4091_1151_MS_UP
4091,MS,4091_1151_MS_DOWN
3520,SH,3520_1170_SH_UP
3520,SH,3520_1170_SH_DOWN
3520,MS,3520_1170_MS_UP
3520,MS,3520_1170_MS_DOWN
3510,SUN,3510_1171_SUN_UP
3510,SUN,3510_1171_SUN_DOWN
3510,HOL,3510_1171_HOL_UP
3510,HOL,3510_1171_HOL_DOWN
3510,MF,3510_1171_MF_UP
3510,MF,3510_1171_MF_DOWN
3510,SAT,3510_1171_SAT_UP
3510,SAT,3510_1171_SAT_DOWN
2120,MS,2120_1177_MS_UP
2120,MS,2120_1177_MS_DOWN
2120,SH,2120_1178_SH_UP
2120,SH,2120_1178_SH_DOWN
2820,SUN,2820_1186_SUN_UP
2820,SUN,2820_1186_SUN_DOWN
2820,HOL,2820_1186_HOL_UP
2820,HOL,2820_1186_HOL_DOWN
2820,MS,2820_1186_MS_UP
2820,MS,2820_1186_MS_DOWN
4441,SH,4441_1190_SH_UP
4441,SH,4441_1190_SH_DOWN
4441,MS,4441_1190_MS_UP
4441,MS,4441_1190_MS_DOWN
2660,SUN,2660_1194_SUN_UP
2660,SUN,2660_1194_SUN_DOWN
2660,HOL,2660_1194_HOL_UP
2660,HOL,2660_1194_HOL_DOWN
2660,MS,2660_1194_MS_UP
2660,MS,2660_1194_MS_DOWN
0590,SH,0590_1200_SH_UP
0590,SH,0590_1200_SH_DOWN
0590,MS,0590_1200_MS_UP
0590,MS,0590_1200_MS_DOWN
0510,SH,0510_1205_SH_UP
0510,SH,0510_1205_SH_DOWN
0510,MS,0510_1205_MS_UP
0510,MS,0510_1205_MS_DOWN
0620,FW,0620_1206_FW_UP
0620,FW,0620_1206_FW_DOWN
0630,SH,0630_1210_SH_UP
0630,SH,0630_1210_SH_DOWN
0630,MS,0630_1210_MS_UP
0630,MS,0630_1210_MS_DOWN
0630,MS,0630_1211_MS_UP
0630,MS,0630_1211_MS_DOWN
0630,SH,0630_1212_SH_UP
0630,SH,0630_1212_SH_DOWN
0630,MS,0630_1212_MS_UP
0630,MS,0630_1212_MS_DOWN
0630,SH,0630_1213_SH_UP
0630,SH,0630_1213_SH_DOWN
0630,MS,0630_1213_MS_UP
0630,MS,0630_1213_MS_DOWN
1100,SUN,1100_1219_SUN_UP
1100,SUN,1100_1219_SUN_DOWN
1100,HOL,1100_1219_HOL_UP
1100,HOL,1100_1219_HOL_DOWN
1100,MF,1100_1219_MF_UP
1100,MF,1100_1219_MF_DOWN
1100,SAT,1100_1219_SAT_UP
1100,SAT,1100_1219_SAT_DOWN
0690,SUN,0690_1220_SUN_UP
0690,SUN,0690_1220_SUN_DOWN
0690,HOL,0690_1220_HOL_UP
0690,HOL,0690_1220_HOL_DOWN
0690,MF,0690_1220_MF_UP
0690,MF,0690_1220_MF_DOWN
0690,SAT,0690_1220_SAT_UP
0690,SAT,0690_1220_SAT_DOWN
4250,SH,4250_1229_SH_UP
4250,SH,4250_1229_SH_DOWN
4250,MS,4250_1229_MS_UP
4250,MS,4250_1229_MS_DOWN
3020,MS,3020_1237_MS_UP
3020,MS,3020_1237_MS_DOWN
3020,SH,3020_1238_SH_UP
3020,SH,3020_1238_SH_DOWN
1324,SUN,1324_1253_SUN_UP
1324,SUN,1324_1253_SUN_DOWN
1324,HOL,1324_1253_HOL_UP
1324,HOL,1324_1253_HOL_DOWN
1324,MF,1324_1253_MF_UP
1324,MF,1324_1253_MF_DOWN
1324,SAT,1324_1253_SAT_UP
1324,SAT,1324_1253_SAT_DOWN
5051,SH,5051_1258_SH_UP
5051,SH,5051_1258_SH_DOWN
5051,MS,5051_1258_MS_UP
5051,MS,5051_1258_MS_DOWN
4961,SUN,4961_1264_SUN_UP
4961,SUN,4961_1264_SUN_DOWN
4961,HOL,4961_1264_HOL_UP
4961,HOL,4961_1264_HOL_DOWN
4961,MS,4961_1264_MS_UP
4961,MS,4961_1264_MS_DOWN
1540,SUN,1540_1314_SUN_UP
1540,SUN,1540_1314_SUN_DOWN
1540,HOL,1540_1314_HOL_UP
1540,HOL,1540_1314_HOL_DOWN
1540,MF,1540_1314_MF_UP
1540,MF,1540_1314_MF_DOWN
1540,SAT,1540_1314_SAT_UP
1540,SAT,1540_1314_SAT_DOWN
0420,SUN,0420_1336_SUN_UP
0420,SUN,0420_1336_SUN_DOWN
0420,HOL,0420_1336_HOL_UP
0420,HOL,0420_1336_HOL_DOWN
0420,MS,0420_1336_MS_UP
0420,MS,0420_1336_MS_DOWN

View File

@ -1 +0,0 @@
"[{'route': <Route: 248>, 'neededstops': [<Stop: ANDHERI BUS STN.(W)>, <Stop: GEETANJALI>]}, {'route': <Route: 264>, 'neededstops': [<Stop: GANDBHIR VIDYALAYA>, <Stop: THAKUR NGR.(CAVES RD.)>]}, {'route': <Route: 282>, 'neededstops': []}, {'route': <Route: 289RING>, 'neededstops': []}, {'route': <Route: 338>, 'neededstops': [<Stop: GARWARE CHK./ KOLDONGRI NO.2>, <Stop: SAHAR P.& T.CLY.NO 2>, <Stop: SAHAR CARGO COMPLEX>]}, {'route': <Route: 378>, 'neededstops': [<Stop: TROMBAY>, <Stop: DHOBI GHAT(TROMBAY)>, <Stop: MANKHURD STN.(SOUTH)>]}, {'route': <Route: 413>, 'neededstops': [<Stop: KUNCHI KURVE NGR.>, <Stop: ST.PIUS SCHOOL>, <Stop: KALINA MARKET>]}, {'route': <Route: 443>, 'neededstops': [<Stop: ASHOK NGR.>]}, {'route': <Route: 601>, 'neededstops': [<Stop: MALAD STN-E(PODDAR PARK)>, <Stop: TAPOVAN ( PATHANWADI)>, <Stop: VADARPADA>]}, {'route': <Route: 611>, 'neededstops': [<Stop: MALAD STN-E(PODDAR PARK)>, <Stop: TAPOVAN ( PATHANWADI)>, <Stop: SANJAY NGR.>]}, {'route': <Route: 618RING>, 'neededstops': [<Stop: MUNICIPAL DISP.>]}, {'route': <Route: 624>, 'neededstops': [<Stop: MALAD STN-E(PODDAR PARK)>, <Stop: OLD PUSHPA PARK>]}, {'route': <Route: 631>, 'neededstops': [<Stop: MEHTAB LANE(KURLA MARKET)>, <Stop: RAHAT APT.S>, <Stop: MASRANI EST.>]}, {'route': <Route: 8126>, 'neededstops': [<Stop: CHH. SHIVAJI TERMINUS>, <Stop: CHH. SHIVAJI TERMINUS>]}, {'route': <Route: 8136>, 'neededstops': [<Stop: CHH. SHIVAJI TERMINUS>, <Stop: CHH. SHIVAJI TERMINUS>]}]"

View File

@ -1,3 +0,0 @@
route_id,route_short_name,route_long_name,route_type
2820,282,KANDIVLI BUS STATION ( E ) - DAMU NAGAR EXTENSION,3
2894,289,KANDIVLI BUS STATION ( E ) - ANITA NAGAR,3

View File

@ -1 +0,0 @@
trip_id,arrival_time,departure_time,stop_id,stop_sequence

View File

@ -1,17 +0,0 @@
stop_id,stop_name,stop_lat,stop_lon
1189,E.S.I.S.HOSPITAL,19.20185,72.85639
1190,GROVEL CO.,19.20158,72.8605
1191,SAMBHAJI NGR.(KANDIVLI-E),19.20096,72.86366
1192,HANUMAN NGR.,19.2013,72.86613
1193,TRACTOR GATE NO 3/VASA HOSPITAL,19.20067,72.8716
1834,NARSIPADA,19.20114,72.86483
1195,ALIKA NGR.JN.,19.19757,72.87214
1196,ANITA NGR.,19.19711,72.87505
1197,GAUTAM NGR.,19.20013,72.87823
1198,DAMU NGR.EXTN.,19.20453,72.87845
1199,DAMU NGR./MAYUR MARKET,19.20106,72.87881
1928,NEIGHBOUR HOOD SCTY.,19.2011,72.87891
1822,RAMGAD (ANITA NGR.),19.19711,72.87505
1929,GREEN HILL GATE NO.4,19.19506,72.87563
1194,SAI GARDEN,19.1992,72.87307
1214,OTIS CO.,19.20031,72.87692

View File

@ -1,3 +0,0 @@
route_id,service_id,trip_id
2820,MS,282_1
2894,MS,289_1

View File

@ -1,212 +1,6 @@
from mumbai.models import *
import csv
from settings import PROJECT_ROOT
from os.path import join
import json
import datetime
import sys
from django.contrib.gis.geos import Point
from imports.import_atlas import getFromToStopsForRoute, importUniqueRoutes
from imports import postload_cleanup as postclean
from decimal import Decimal
globalerr = []
def RouteType_save(entry):
obj = RouteType(code=entry[0], rtype=entry[1], faretype=entry[2])
obj.save()
#print obj.__dict__
def getFromToStopsFromRouteDetails(code):
routeDetails = RouteDetail.objects.filter(route_code=code).order_by('serial')
if routeDetails.count() == 0:
return None
fromStop = routeDetails[0].stop
toStop = routeDetails[routeDetails.count() -1].stop
return (fromStop, toStop,)
def Route_save(entry):
"""
try:
f_stop = Stop.objects.filter(name=str(entry[2]))[0]
except IndexError:
f_stop = None
try:
t_stop = Stop.objects.filter(name=str(entry[3]))[0]
except IndexError:
t_stop = None
"""
from_to = getFromToStopsFromRouteDetails(entry[0])
if from_to is None:
globalerr.append({"data" :entry[0], error:["Route not found"]})
#obj = Route(code=entry[0], alias=entry[1], from_stop_txt=entry[2], to_stop_txt=entry[3], from_stop=from_to[0], to_stop=from_to[1], distance=Decimal(entry[4]), stages=int(entry[5]))
obj = Route( saveorder = ["Fare","Holiday","Area","Road","Depot","Stop", "StopMarathi","AreaMarathi","RouteDetail", "Route","RouteType","HardCodedRoute"]
code=str(entry[0]),
alias=str(entry[1]),
from_stop=from_to[0],
from_stop_txt=str(entry[2]),
to_stop_txt=str(entry[3]),
to_stop=from_to[1],
distance=Decimal(entry[4]),
stages=int(entry[5]))
obj.save()
# throw an error if the stops mapped do not exist.
# but load nulls into db anyway
# IndexError implies that nothing was mapped.
# MultipleRows found indicates ambiguity when there should'nt be.
#f_stop = Stop.objects.get(name=str(entry[2]))[0]
#t_stop = Stop.objects.get(name=str(entry[3]))[0]
#print obj.__dict__
def HardCodedRoute_save(entry):
obj = HardCodedRoute(code=str(entry[0]), alias=entry[1], faretype=entry[2])
obj.save()
#print obj.__dict__
def Depot_save(entry):
obj = Depot(
code=str(entry[0]),
name=str(entry[1]),
stop=int(entry[2])
)
obj.save()
#print obj.__dict__
def Holiday_save(entry):
date_format = entry[0].rsplit('.')
theday = int(date_format[0])
themonth = int(date_format[1])
theyear = int('20'+ date_format[2])
obj = Holiday(date=datetime.date(day=theday, month=themonth, year=theyear), name=str(entry[1]))
obj.save()
#print obj.__dict__
def RouteDetail_save(entry):
temp_stop=Stop.objects.get(code=int(entry[2]))
"""try:
temp_route=Route.objects.get(code=str(entry[0]))
except:
temp_route=None
try:
temp_stop=Stop.objects.get(code=int(entry[2]))
except:
temp_stop=None
"""
obj = RouteDetail(
route_code = entry[0],
route = None,
serial=int(entry[1]),
stop= temp_stop,
stage=(lambda:entry[3].startswith('1'), lambda:None)[ entry[3] == '' ](),
km=(lambda:None,lambda:Decimal(entry[4]))[ entry[4] != '' ]())
obj.save()
#print obj.__dict__
def Road_save(entry):
obj = Road(code=int(entry[0]), name=str(entry[1]))
obj.save()
#print obj.__dict__
def Fare_save(entry):
obj = Fare(
slab=Decimal(entry[0]),
ordinary=int(entry[1]),
limited=int(entry[2]),
express=int(entry[3]),
ac=int(entry[4]),
ac_express=int(entry[5])
)
obj.save()
#print obj.__dict__
def Area_save(entry):
obj = Area(code=int(entry[0]), name= str(entry[1]))
obj.save()
#print obj.__dict__
def Stop_save(entry):
_road = Road.objects.get(code=int(entry[4]))
_area = Area.objects.get(code=int(entry[5]))
try:
_depot = Depot.objects.filter(code=str(entry[6]))[0]
except IndexError:
_depot = None
obj = Stop(
code=int(entry[0]),
name=str(entry[1]),
dbdirection=str(entry[2]),
chowki=(entry[3]).startswith('TRUE'),
road=_road,
area=_area,
depot=_depot
)
obj.save()
#print obj.__dict__
# There is no model as StopMarathi/AreaMarathi, but this is done to separate errors arising from different files, and also that the Marathi names should be done after the Stop and Area entities have been fully loaded cuz thats how we get them from BEST.
def StopMarathi_save(entry):
obj = Stop.objects.get(code=int(entry[0]))
obj.name_mr = unicode(entry[1], 'utf-8')
obj.save()
#print obj.__dict__
def AreaMarathi_save(entry):
obj = Area.objects.get(code=int(entry[0]))
obj.name_mr = unicode(entry[1], 'utf-8')
obj.save()
#print obj.__dict__
loc1s = 0
loc2s = 0
class NoPointsFoundError(Exception):
pass
def StopLocation_save(entry):
this_stop = Stop.objects.get(code=int(entry[4]))
#hits = {'one':[],'two':[],'three':[],'four':[]}
flagerr = 0
if entry[0] and entry[1]:
loc1 = StopLocation(stop=this_stop, point=Point(float(entry[1]), float(entry[0])),direction='U' )
loc1.save()
#loc1s+=1
else:
flagerr=1
if entry[2] and entry[3]:
loc2 = StopLocation(stop=this_stop, point=Point(float(entry[3]), float(entry[2])),direction='D' )
loc2.save()
#loc2s+=1
else:
flagerr+=1
if flagerr == 2:
flagerr = 0
raise NoPointsFoundError
#print "Loc1s found : ", loc1s
#print "Loc2s found : ", loc2s
saveorder = ["Fare","Holiday","Area","Road","Depot","Stop", "StopMarathi","AreaMarathi","RouteDetail", "Route","RouteType","HardCodedRoute","StopLocation" ]
mappingtosave = { mappingtosave = {
"Fare":Fare_save, "Fare":Fare_save,
@ -220,12 +14,11 @@ mappingtosave = {
"RouteType":RouteType_save, "RouteType":RouteType_save,
"HardCodedRoute":HardCodedRoute_save, "HardCodedRoute":HardCodedRoute_save,
"StopMarathi":StopMarathi_save, "StopMarathi":StopMarathi_save,
"AreaMarathi":AreaMarathi_save, "AreaMarathi":AreaMarathi_save
"StopLocation":StopLocation_save
# There is no model as StopMarathi/AreaMarathi, but this is done to separate errors arising from different input files.
} }
# There is no model as StopMarathi/AreaMarathi, but this is done to separate errors arising from different input files.
def loadFKinRouteDetail(): def loadFKinRouteDetail():
err=[] err=[]
good_saves = 0 good_saves = 0

View File

@ -0,0 +1,96 @@
from mumbai.models import *
# FIXME: UniqueRoute stringification, routes 314 and 9
def fix_distances():
for unique_route in UniqueRoute.objects.all():
# RouteDetail sometimes isn't order from from_stop to to_stop
from_stop, to_stop = unique_route.from_stop.id, unique_route.to_stop.id
details = list(unique_route.route.routedetail_set.all())
# Sometimes to_stop comes before from_stop in RouteDetail. What is there to say.
for detail in details:
if detail.stop.id == from_stop: break
if detail.stop.id == to_stop:
details.reverse()
break
distance = 0.0
record = False
for detail in details:
# For route 240RING, some detail.km is null???
if record and detail.km: distance += float(detail.km)
# distance > 0 because of 100RING returning 1 stop shy of its start
if record and distance > 0 and detail.stop.id == to_stop:
record = False
break
# Start recording *after* we check for the break, because,
# if from_stop == to_stop, we don't want to break on the first stop
if detail.stop.id == from_stop: record = True
if record:
print Exception("UniqueRoute %s from %s to %s ran off the end while measuring distance!" %(unique_route, unique_route.from_stop.code, unique_route.to_stop.code))
if not distance:
print Exception("UniqueRoute %s from %s to %s still has no distance!" % (unique_route, unique_route.from_stop.code, unique_route.to_stop.code))
if distance:
unique_route.distance = distance
unique_route.save()
columns = ["runtime%d" % n for n in range(1,5)]
def fix_missing_runtimes():
for schedule in RouteSchedule.objects.all():
# other schedules for the same unique route (but at different times)
sibling_schedules = schedule.unique_route.routeschedule_set.all()
# the "full" schedules for this route are used to attempt to
# guesstimate the schedules of partial subroutes
full_routes = full_schedules = []
related_subroutes = list(schedule.unique_route.route.uniqueroute_set.all())
max_dist = max(subroute.distance for subroute in related_subroutes)
full_routes = [subroute for subroute in related_subroutes if subroute.distance == max_dist]
# first, try to get the schedules for the full routes, given the same schedule type
for full_route in full_routes:
full_schedules += list(full_route.routeschedule_set.filter(schedule_type=schedule.schedule_type))
# failing that, try to get the schedules for the full routes, with ANY schedule type
if not full_schedules:
for full_route in full_routes:
full_schedules += list(full_route.routeschedule_set.all())
# the main inner loop: for each runtime column ---
for col_idx, column in enumerate(columns):
# if the runtime is set, AWESOME, bail
if getattr(schedule, column): continue
# otherwise, go through the other schedules for this subroute and
# see if we get a matching runtime -- if so, use it
for sibling in sibling_schedules:
sibling_runtime = getattr(sibling, column)
if sibling_runtime:
setattr(schedule, column, sibling_runtime)
# print "OK fix_missing_runtimes: %s %s fixed to %s" % (schedule, column, sibling)
break
if getattr(schedule, column): continue
# otherwise, go through the matching schedules for the full-length versions of this
# route and extrapolate the runtime.
if full_schedules:
for full_schedule in full_schedules:
full_runtime = getattr(full_schedule, column)
if full_runtime:
partial_runtime = full_runtime*float(schedule.unique_route.distance)/float(full_schedule.unique_route.distance)
# print "OK fix_missing_runtimes: %s %s adjusted to parent %s" % (schedule, column, full_schedule)
setattr(schedule, column, partial_runtime)
break
# OTHER-otherwise, use the previous column....
if getattr(schedule, column): continue
if col_idx > 0:
prev_runtime = getattr(schedule, columns[col_idx-1])
if prev_runtime:
setattr(schedule, column, prev_runtime)
continue
# ... or the next column, if it comes to that.
if col_idx < len(columns)-1:
next_runtime = getattr(schedule, columns[col_idx+1])
if next_runtime:
setattr(schedule, column, next_runtime)
continue
if column != "runtime4":
print Exception("ERR fix_missing_runtimes: %s STILL missing %s!" % (schedule, column))

View File

@ -101,7 +101,11 @@ def groupUnique():
matchedRow = isNotUnique(d, outDict[key]) matchedRow = isNotUnique(d, outDict[key])
schedule = row[-5] schedule = row[-5]
if matchedRow is not None: if matchedRow is not None:
if outDict[key][matchedRow]['rows'].has_key(schedule):
outDict[key][matchedRow]['rows'][schedule].append(row) outDict[key][matchedRow]['rows'][schedule].append(row)
else:
outDict[key][matchedRow]['rows'][schedule] = [row]
else: else:
if isLargestSpan(d, routes[key]): if isLargestSpan(d, routes[key]):
d['is_full'] = True d['is_full'] = True
@ -185,12 +189,13 @@ def importUniqueRoutes():
#pdb.set_trace() #pdb.set_trace()
# print thisRoute['rows'].keys() # print thisRoute['rows'].keys()
for schedule in thisRoute['rows'].keys(): #loop through each schedule per UniqueRoute and save it for schedule in thisRoute['rows'].keys(): #loop through each schedule per UniqueRoute and save it
row = thisRoute['rows'][schedule] rows = thisRoute['rows'][schedule]
try: try:
depot = Depot.objects.get(code=row[6]) depot = Depot.objects.get(code=row[6])
except: except:
depot = None #FIXME!! Catch depot errors based on findings depot = None #FIXME!! Catch depot errors based on findings
#pdb.set_trace() #pdb.set_trace()
for row in rows:
routeScheduleObj = RouteSchedule(unique_route=obj, schedule_type=schedule, busesAM=noneInt(row[2]), busesN=noneInt(row[3]), busesPM=noneInt(row[4]), bus_type=row[5], depot_txt=row[6], depot=depot, first_from=formatTime(row[8]), last_from=formatTime(row[9]), first_to=formatTime(row[11]), last_to=formatTime(row[12]), runtime1=noneInt(row[14]), runtime2=noneInt(row[15]), runtime3=noneInt(row[16]), runtime4=noneInt(row[17]), headway1=noneInt(row[18]), headway2=noneInt(row[19]), headway3=noneInt(row[20]), headway4=noneInt(row[21]), headway5=noneInt(row[22])) routeScheduleObj = RouteSchedule(unique_route=obj, schedule_type=schedule, busesAM=noneInt(row[2]), busesN=noneInt(row[3]), busesPM=noneInt(row[4]), bus_type=row[5], depot_txt=row[6], depot=depot, first_from=formatTime(row[8]), last_from=formatTime(row[9]), first_to=formatTime(row[11]), last_to=formatTime(row[12]), runtime1=noneInt(row[14]), runtime2=noneInt(row[15]), runtime3=noneInt(row[16]), runtime4=noneInt(row[17]), headway1=noneInt(row[18]), headway2=noneInt(row[19]), headway3=noneInt(row[20]), headway4=noneInt(row[21]), headway5=noneInt(row[22]))
routeScheduleObj.save() routeScheduleObj.save()

View File

@ -16,12 +16,8 @@ def copynames2display_name():
obj.display_name =obj.name obj.display_name =obj.name
obj.save() obj.save()
def copydefaultStopLocations():
print "Loading default locations for Stop.point field..."
for stp in Stop.objects.all():
if stp.stoplocation_set.count()>0 :
stp.point = stp.stoplocation_set.all()[0].point
stp.save()
""" """
def addStopstoRoutes(): def addStopstoRoutes():
print "Getting stops linked to Routes..." print "Getting stops linked to Routes..."

View File

@ -1 +1,424 @@
{} {
"": "BORIVLI STN(E)",
"Lokmanya Nagar(Thane)": "LOKMANYA NGR.(THANE)",
"Mulund Bus Station": "MULUND-W CHECK NAKA BUS STN.",
"Via Yari Road Vesave Bus Stn": "JOGESHWARI BUS STN",
"Air-India Colony": "SANTACRUZ STN (E)",
"Jankalyan Nagar/Bhumi Complex Malad Stn(W)": "JANKALYAN NGR.",
"Sangam Nagar": "SANGAM NGR.",
"Borivli Station(W)": "BORIVLI BUS STN(W)",
"Mahim Bus Station": "MAHIM BUS STN.",
" ": "KURLA STN (W)",
"Sudhindra Nagar": "SAMATA NGR.BUS STN.(KANDIVLI-E)",
"Poisar Depot ": "POISAR DEPOT",
"Kurla Stn(W)": "J.MEHTA MARG",
"Swami Samarth Nagar Extn": "SHREE SWAMI SAMARTH NGR.EXT.",
"Dharavi Depot": "DHARAVI DEPOT",
"Tilak Nagar Terminus": "AAMCHI SHALA",
"Sahar Cargo Complex": "SAHAR CARGO COMPLEX",
"Vrindavan Society(Thane)": "VRINDAVAN SCTY.(THANE)",
"Gokuldham Extn": "GOREGAON STN(E)",
"Nerul Railway Station": "NERUL RLY. STN.",
"Mahakali Caves": "KONDIVTE CAVES/MAHAKALI CAVES",
"Bhayander Station(W)": "BHAYANDER RLY.STN.(W)",
"Goregaon Stn(W)": "GOREGAON BUS STN(W)",
"Dindoshi Bus Stn": "DINDOSHI BUS STN.",
"Charkopar Sector No.8": "CHARKOP SECT.NO.8",
"Machchimar Nagar(Mahim)": "MAHIM MACHHIMAR NGR.",
"Marol Maroshi Bus Stn.": "MAROL MAROSHI BUS STN.",
"Vaishali Nagar(Dahisar)": "BORIVLI STN(E)",
"Bamandayapada": "BAMANDAYA PADA",
"Ghatkopar Bus Stn": "GHATKOPAR BUS STN./GKD",
"Sangharsh Nagar": "SANGHARSH NGR.(CHANDIVLI)",
"Gorai Depot": "GORAI DEPOT",
"Vadar Pada": "VADARPADA",
"Yari Road Bus Stn.": "VESAVA-YARI RD.BUS STN.",
"Grant Road Station(W)": "GRANT RD STN.(W)",
"Samarth Nagar": "SAMARTH NGR.",
"Surya Nagar": "SURYA NGR.",
"Yari Road/Vesave Bus Stn.": "VESAVA-YARI RD.BUS STN.",
"Lok Nisarg Complex": "GHATI PADA",
"Hiranandani Bus Station": "HIRANANDANI POWAI BUS STN.",
"Malad Station(W)Sainath Rd": "MALAD STN-W(ANAND MARG CHKY)",
"Ghatkopar Rly Station": "GHATKOPAR BUS STN./GKD",
"Vijay Vallabh Chowk": "J.MEHTA MARG",
"Kurla Stn.(W)": "SANTACRUZ DEPOT",
"Worli Village": "WORLI VILLAGE",
"Satbhakti Mandir": "SADBHAKTI MANDIR",
"Maheshwari Udyan": "MAHESHWARI UDN.",
"Khar Station(W)": "KHAR STN (W)",
"Kurla Stn(E)": "KURLA BUS STN (E)",
"Rawalpada": "RAWAL PADA(BORIVLI-E)",
"Millat Nagar": "ANDHERI BUS STN.(W)",
"Santosh Nagar": "SANTOSH NGR.(KANDIVALI-W)",
"Gateway of India": "CHH. SHIVAJI TERMINUS(BHATIA)",
"Walkeshwar": "WALKESHWAR",
"Shivshahi Prakalp Mansi Park": "MALVANI DEPOT/ GAIKWAD NGR.",
"P.Thakre Nagar Bus Station.": "GORAI DEPOT",
"Waghbill(Thane)": "WAGHBILGAON",
"Bhayander Station(E)": "BHAYANDER STN.(E)",
"Kurla Station(W)": "KURLA STN (W)",
"Worli Depot ": "WORLI DEPOT",
"Goregaon Stn(E)": "SADBHAKTI MANDIR",
"Babulnath": "BABULNATH",
"Mankhurd Stn.": "MANKHURD STN.(SOUTH)",
"Kandivli Station(W)K.N.Rd.": "KANDIVLI STN.(W)",
"Dava Bazar": "PT.PALUSKAR CHK.",
"C.B.D.Belapur Bus Station": "C.B.D. BELAPUR BUS STN.",
"Ghatkopar Stn. Rd No.4": "GHATKOPAR BUS STN./GKD",
"Raja Shivaji Vidyalaya": "SANTACRUZ STN (E)",
"Chh.Shivaji Terminus": "CHH. SHIVAJI TERMINUS(BHATIA)",
"J.V.P.D.Bus Station": "J.V.P.D.BUS STN.",
"Kurla Station(E)": "TATA POWER CENTRE(CHEMBUR)",
"Lal Bahadur Shastri College": "LAL BAHADDUR SHASTRI COLLEGE",
"Bandra Bus Station(W)": "BANDRA BUS STN(W)",
"Malvani MHADA Colony": "POISAR DEPOT",
"Vikhroli Depot": "VIKHROLI DEPOT",
"Vashi Railway Station": "VASHI RAILWAY STN.",
"Green Hill(Anita Nagar)": "KANDIVLI BUS STN.( E )",
"Mahul Village": "MAHUL VILLAGE",
"Sambhaji Nagar(Dahisar East)": "SAMBHAJI NGR.(DAHISAR-E)",
"Shimpoli Village": "SHIMPOLI VILLAGE",
"Borivli Station(E)/Kasturba Rd": "BORIVLI STN(E)",
"Bamandaya Pada": "BAMANDAYA PADA",
"Tembipada ": "TEMBIPADA",
"Colaba Bus Stn": "COLABA BUS STN.",
"Malad Station(W)Sainath Rd)": "MALAD STN-W(KASTURBA CHKY)",
"Seepz Bus Station": "SEEPZ BUS STN.",
"Yari Road/Vesave Bus Stn": "VESAVA-YARI RD.BUS STN.",
"Byculla Stn(W)": "SIMLA HOUSE",
"Shanti Ashram": "SHANTI ASHRAM",
"Rani Laxmibai Chowk": "RANI LAXMIBAI CHK.(BUS STN.)",
"Com.P.K.Kurne Chk.": "COM.P.K.KURNE CHK.",
"Borivli Stn(E)": "BORIVLI STN(E)",
"Marol Depot": "MAROL DEPOT",
"L&T Infotech MHAPE": "L & T INFOTECH(MAHAPE)",
"Bandra Depot ": "BANDRA BUS STN(W)",
"Yogi Hill": "YOGI HILLS (MULUND-W)",
"Dadasaheb Phalke Film City": "DADASAHEB PHALHKE CHITRA NGRY",
"Worli Dairy": "WORLI DAIRY",
"Chogle Nagar": "CHOGLE NGR.",
"Mayur Nagar": "MAYUR NGR.",
"TATA Power Station": "KURLA BUS STN (E)",
"90feet Road Dharavi": "RANI LAXMIBAI CHK.(BUS STN.)",
"August Kranti Maidan": "AUGUST KRANTI MAIDAN",
"Santacruz Stn(E)": "SANTACRUZ STN (E)",
"S.R.A.(Vashi Naka)": "VASHINAKA M.M.R.D.A.CLY.",
"Datta Mandir Road": "SANTACRUZ STN (E)",
"Gorai Creek/Pragati Vidyalaya": "BORIVLI BUS STN(W)",
"Charkop Village": "CHARKOP VILLAGE",
"Juhu Beach": "JUHU BEACH",
"Dr.S.P.M.Chk.": "SHIVAJI NGR.DEPOT",
"Shivshahi Prakalp": "SHIVSHAI PRAKALP/MANTRI PARK",
"Santacruz Stn(W)": "SANTACRUZ STN (W)",
"Kalamboli": "KALAMBOLI BUS STN",
"Andheri Station(W)": "ANDHERI STN.(W) (KUMKUM)",
"Borivli Stn.(W)": "BORIVLI BUS STN(W)",
"S.R.A.(Mankhurd)": "S.R.A.CLY.,MANKHURD(LALLUBHAI COM",
"Ballard Pier": "BALLARD PIER",
"P.Thakre Udyan": "P.THAKRE UDN.BUS STN.",
"Bhayander Stn(E)": "BHAYANDER STN.(E)",
"Mumbai Central Depot": "MUMBAI CENTRAL DEPOT",
"Western Park(Kashigaon)": "WESTERN PARK",
"P.Thakre Nagar Bus Stn": "P.THAKRE NGR.BUS STN.",
"A.P.M.C Sector No.19": "VASHI SECT.19",
"Bharani Naka": "BHARANI NAKA (ANTOP HILL)",
"Prateeksha Nagar Depot": "PRATIKSHA NGR.DEPOT",
"M.P.Chowk(Mulund)": "MULUND DEPOT",
"S.G.M.Chowk": "SANT GADGE MAHARAJ CHK.",
"Electric House": "R.C.CHURCH",
"MHADA Bus Station(Mulund-E)": "MHADA CLY.BUS STN.(MULUND-E)",
"Nerul Sector-46/48": "NERUL SECT.-46/48",
"Majas Depot ": "SEEPZ BUS STN.",
"Backbay Depot": "BACKBAY DEPOT",
"Vishal Hall (Andheri E)": "AGARKAR CHK.",
"Antop Hill": "ANTOP HILL",
"Free Press Journal Marg": "FREE PRESS HOUSE",
"Colaba Depot ": "BALLARD PIER",
"N.N.P.Plot No.5(Sankalp Soc.)": "GOREGAON STN(E)",
"Park Site Colony": "VIKHROLI PARK SITE",
"Yari Road / Vesave Bus Station": "VESAVA-YARI RD.BUS STN.",
"Ghatkopar Rly.Stn.(E)": "GHATKOPAR BUS STN./GKD",
"Vasantrao Naik Chowk.": "VASANTRAO NAIK CHK.",
"Fr.Agnel Ashram": "FATHER AGNEL ASHRAM",
"Goregaon Bus Stn.": "GOREGAON BUS STN(W)",
"Vidya Nagari Nehru Library": "SANTACRUZ STN (E)",
"Deonar Depot": "DEONAR DEPOT",
"Vasantrao Naik Chowk": "VASANTRAO NAIK CHK.",
"A.P.M.C.Sector-19/Vashi": "VASHI SECT.19",
"Bhaynder Sttion(E)": "BHAYANDER STN.(E)",
"Rani Laxmi Chowk": "SANTACRUZ STN (E)",
"Sadbhakti Mandir": "MHADA CLY.(MAJAS)",
"Mira Road(E)": "KANDIVLI BUS STN.( E )",
"Borivli Stn(W)": "BORIVLI BUS STN(W)",
"Andheri Bus Station(W)": "ANDHERI BUS STN.(W)",
"Tulshetpada": "BHANDUP STN.(W)",
"Shivaji Nagar": "SHIVAJI NGR.DEPOT",
"Kannamwar Nagar Bldg.124": "KANNAMWAR NGR.BLDG.NO.124",
"Sahara Cargo Complex": "SAHAR CARGO COMPLEX",
"World Trade Centre": "WORLD TRADE CENTRE",
"Borivli Stn.(E)": "BORIVLI STN(E)",
"Kohinoor Hospital": "KOHINOOR HOSPITAL",
"Vijay Vallabh Chowk.": "KAMLA NEHRU PARK",
"Madh Jetty": "MADH JETTY",
"Mangatram Petrol Pump": "MANGATRAM PETROLPUMP",
"SRA Vashi NaKa": "VASHINAKA M.M.R.D.A.CLY.",
"Ram Ganesh Gadkari Chk": "RAM GANESH GADKARI CHK.",
"Shravane Yashwante Chowk": "WADALA DEPOT",
"Pawar Nagar Bus Station": "PAWAR NGR.BUS STN.(THANE)",
"Goregaon Bus Stn.(E)": "BORIVLI STN(E)",
"Veer Kotwal Udyan": "VEER KOTWAL UDN. (PLAZA)",
"Bhramand/ Azad Nagar (Thane)": "BRAHMAND AZAD NGR.BUS STN",
"Bhoomi Complex": "MALAD STN-W(SAINATH MARG CHKY)",
"Kasturba Gandhi Chowk": "KASTURBA GANDHI CHK.",
"Veera Desai Road": "VEERA DESAI RD.",
"Yari Road Bus Stn": "VESAVA-YARI RD.BUS STN.",
"M.M.R.D.A.Vashi Naka": "VASHINAKA M.M.R.D.A.CLY.",
"Bandra Terminus": "BANDRA RLY.TERMINUS",
"Hutatma Chowk": "HUTATMA CHK. ( O.C.S.)",
"Kanjurmarg Station(W)": "KANJUR MARG STN.(W)",
"Ramesh Nagar": "RAMESH NGR.",
"Ghodbunder": "GHODBUNDER VILLAGE",
"Ghatkopar Bus Station": "GHATKOPAR BUS STN./GKD",
"SEEPZ Bus Stn": "SEEPZ BUS STN.",
"Nagbaba Mandir": "NAGBABA MANDIR (KAILAS COMPLEX)",
"Patel Nagar": "DINDOSHI BUS STN.",
"Malad Station(W)Anand Road": "MALAD STN-W(ANAND MARG CHKY)",
"Poisar Depot": "CHARKOP SEC.NO.9/AKSHARA VIDYALAYA",
"Millenium Business Park": "MILLENNIUM BUSINESS PARK",
"Via Ekta Bhumi": "KANDIVLI STN.(W)",
"Colaba Bus Stn Via Naik Chowk": "COLABA BUS STN.",
"Shimpoli Telephone Exchange": "BORIVLI BUS STN(W)",
"Mantralaya": "MANTRALAYA",
"Elphinstone Rly.Stn.(W)": "COM.P.K.KURNE CHK.",
"P.Thakre Ngr Bus Stn.": "P.THAKRE NGR.BUS STN.",
"Byculla Station(W)": "BYCULLA STN.(W)",
"Sanskriti Apartment Extn": "KANDIVLI BUS STN.( E )",
"Barve Nagar": "BARVE NGR.",
"Shivaji Nagar Bus Station": "SHIVAJI NGR.DEPOT",
"Dattani Gram/Kandivli(W)": "DATTANI GRAM(KANDIVLI-W)",
"Goregaon Depot": "GOREGAON DEPOT",
"Pushpa Park": "PUSHPA PARK",
"Jai Maharashtra Nagar": "BORIVLI MARKET(E)/CARTER RD.",
"Andheri Station (W)": "ANDHERI BUS STN.(W)",
"FireBrigade Mulund (E)": "GAWANPADA FIRE BRIGADE(MULUND-E)",
"E.S.I.S.Hospital/Thakur Village": "E.S.I.S.HOSPITAL(THAKUR VILLAGE)",
"Kopar Khairane Extn": "KOPAR KHAIRANE EXTN.",
"Ellora Borivli Stn (E)": "BORIVLI STN(E)",
"Via Bhulabhai Desai Road": "GRANT RD STN.(W)",
"Damu Nagar Extn": "DAMU NGR.EXTN.",
"Borivli Bus Station(W) ": "BORIVLI BUS STN(W)",
"Jogeshwari Bus Stn(W)": "JOGESHWARI BUS STN",
"Hanuman Nagar": "HANUMAN NGR.",
"Saibaba Nagar": "BORIVLI BUS STN(W)",
"Magathane Depot": "MAGATHANE DEPOT",
"Tagore Nagar No.5": "TAGORE NGR.NO 5",
"Sarswati Complex": "SARASWATI COMPLEX(DAHISAR)",
"Dahisar Bridge Via Gomant Nagar": "GOREGAON BUS STN(W)",
"Vashi Rly Stn.": "VASHI RAILWAY STN.",
"M.I.D.C.Electronic Zone": "M.I.D.C.ELECTRONIC ZONE",
"SEEPZ Bus Stn.": "SEEPZ BUS STN.",
"Mulund Bus Stn.(W)": "MULUND-W CHECK NAKA BUS STN.",
"Bandra Bus Station": "BANDRA BUS STN(W)",
"Santaruz Stn(E)": "SANTACRUZ STN (E)",
"Ghatkopar Stn Rd.No.4": "GHATKOPAR BUS STN./GKD",
"Marve Beach": "MARVE BEACH-ESSEL WORLD",
"Mulund Bus Stn (W)": "GOREGAON DEPOT",
"Charkop Sector No.8": "KANDIVLI STN.(W)",
"Jagardev Compound": "JAGERDEV COMPOUND",
"Tardeo Bus Stn.": "GHATKOPAR BUS STN./GKD",
"Vikhroli Station(E)": "VIKHROLI BUS STN.- E",
"Central Depot": "MUMBAI CENTRAL DEPOT",
"Via Appapada": "APPAPADA",
"Seven Bungalows": "SEVEN BUNGALOWS BUS STN.",
"Amrut Nagar": "GHATKOPAR STN.(W)",
"MHADA Colony": "SADBHAKTI MANDIR",
"Bandra Depot": "BANDRA BUS STN(W)",
"Ambika Mills Bus Station": "AMBIKA MILL B.STN/H.U.RAKHANGI CHK.",
"Colaba Depot": "COLABA DEPOT",
"Dahisar Bus Stn": "DAHISAR BUS STN.",
"Marol Maroshi Bus Station": "MAROL MAROSHI BUS STN.",
"Via R.C.F.Colony": "AMRUT NGR.",
"MIDC Electronic Zone": "M.I.D.C.ELECTRONIC ZONE",
"Yari road/Vesave Bus Stn": "VESAVA-YARI RD.BUS STN.",
"Gomant Nagar": "JOGESHWARI BUS STN",
"J.V.PD.Bus Stn.": "J.V.P.D.BUS STN.",
"Airoli Bus Station": "AIROLI BUS STN.",
"Om Nagar(Andheri-E)": "AGARKAR CHK.",
"Vaishali Nagar": "VAISHALI NGR.",
"Chuim Village": "FATHER AGNEL ASHRAM",
"Santacruz Statin(E)": "KURLA STN (W)",
"Anushkti Nagar": "BANDRA BUS STN(W)",
"Gharkopar Station(E)": "GHATKOPAR STN.(E)-1",
"N.C.P.A.": "AHILYABAI HOLKAR CHK.",
"Santacruz Stn.(E)": "SANTACRUZ STN (E)",
"Ferry Wharf": "FERRY WHARF",
"Chembur Colony": "CHEMBUR CLY.",
"Mira Road Station": "SAMATA NGR.BUS STN.(KANDIVLI-E)",
"M.Phule Market": "N.C.P.A.",
"Bandra Depot": "BANDRA BUS STN(W)",
"Marathon Chowk(Thane)": "MARATHON CHK.(TEEN HATH NAKA)",
"N.S.C.I.(Worli)": "NEHRU PLANETARIUM",
"Wadala Depot": "WADALA DEPOT",
"Ghatkopar Depot": "GHATKOPAR DEPOT/CASURINA",
"Agarkar Chowk": "AGARKAR CHK.",
"Bhandup Station(W)": "BHANDUP STN.(W)",
"Filterpada": "FILTER PADA",
"Adarsh Nagar": "ADARSH NGR.",
"Chandivli Sangharsh Nagar": "SANGHARSH NGR.(CHANDIVLI)",
"Malvani Depot": "MALVANI DEPOT/ GAIKWAD NGR.",
"Kurla Stn(W) ViaMasrani Estate": "MASRANI EST.",
"Pt. Paluskar Chowk": "PT.PALUSKAR CHK.",
"Dr.S.P.Mukherji Chowk": "R.C.CHURCH",
"S.V.Patel Nagar/S.S.Nagar": "ANDHERI BUS STN.(W)",
"Khindipada": "KHINDIPADA (DARGH)",
"Seven Bunglows": "SEVEN BUNGALOWS BUS STN.",
"Sainath Rd.(Malad-W)": "MALAD STN-W(SAINATH MARG CHKY)",
"Borivli Bus Stn.": "BORIVLI BUS STN(W)",
"Ghatkopar Station(E)": "GHATKOPAR BUS STN./GKD",
"RawalPada": "RAWAL PADA(BORIVLI-E)",
"Ghansoli Village": "GHANSOLI VILLAGE",
"Seven Bungalow": "SEVEN BUNGALOWS BUS STN.",
"Navy Nagar": "NAVY NGR.",
"Jogeshwari Bus Station(W)": "JOGESHWARI BUS STN",
"Bhandup Stn.(W)": "KANJUR MARG STN.(W)",
"P.Thakre Nagar Bus Station": "P.THAKRE NGR.BUS STN.",
"Moragaon": "MORA VILLAGE",
"Mahim Bus Stn.": "MAHIM BUS STN.",
"Poddar Park(Malad-E)": "MALAD STN-E(PODDAR PARK)",
"RetiBundar Kharigaon (Thane)": "RETI BUNDER - KHARIGAON(KALWA)",
"Via Chickoowadi": "BORIVLI BUS STN(W)",
"Bandra Reclamation Bus Stn": "BND RECLAMATION BUS STN.",
"MHADA Chandivli": "FILTER PADA",
"Chunabhatti": "CHUNABHATTI BUS TERMINUS",
"Kokan Vikas": "KOKAN VIKAS",
"R.G.Gadkari Chowk": "RAM GANESH GADKARI CHK.",
"Alaka Nagar ": "ALIKA NGR.",
"Colaba Bus Station": "COLABA BUS STN.",
"Ayappa Mandir": "GOREGAON BUS STN(W)",
"New Quarters(Sahar)": "NEW QTRS( CHAKALA CIGARETTE FACTORY",
"Shastri Nagar(Santacruz)": "SHASTRI NGR.",
"Nerul Bus Station": "NERUL BUS STN.",
"Kandivli Bus Station(E)": "KANDIVLI BUS STN.( E )",
"Vikhroli Park Site Colony": "VIKHROLI PARK SITE",
"Samata Nagar": "SAMATA NGR.BUS STN.(KANDIVLI-E)",
"Mulund Depot": "MULUND DEPOT",
"Anik Depot": "ANIK DEPOT",
"Majas Depot": "MAJAS DEPOT/SHYAM NGR.",
"Dindoshi Bus Station": "DINDOSHI BUS STN.",
"Dadalani Park Thane": "DADLANI PARK (THANE-W)",
"Bandra Reclamation": "BND RECLAMATION BUS STN.",
"Trombay": "TROMBAY",
"Ghatkopar Stn(E)": "GHATKOPAR STN.(E)-1",
"Free Press Journal": "AHILYABAI HOLKAR CHK.",
"Goregaon Bus Station(E)": "GOREGAON STN(E)",
"Vihar Lake": "VIHAR LAKE",
"MHADA Colony(Chandivli)": "MHADA CLY.(CHANDIVLI)",
"Chincholi Bunder Via Link Road": "GOREGAON BUS STN(W)",
"Kamala Nehru Park": "KAMLA NEHRU PARK",
"Dharavi Depot ": "FERRY WHARF",
"Shivaji Nagar Terminus": "SHIVAJI NGR.TERMINUS",
"Kandivli Station(W)": "KANDIVLI STN.(W)",
"Masheshwari Udyan": "MAHESHWARI UDN.",
"Ghatkopar Station(W)": "GHATKOPAR STN.(W)",
"Gaikwad Nagar": "MALVANI DEPOT/ GAIKWAD NGR.",
"Dr.Ambedkar Udyan": "DR.AMBEDKAR GARDEN/CHEMBUR STN.",
"Kokanipada Extn.": "KOKANIPADA EXTN.",
"Ghatkopar Stn(W)": "AGARKAR CHK.",
"A.P.M.C.Sector-19": "VASHI SECT.19",
"Goregaon Bus Station(W)": "GOREGAON BUS STN(W)",
"Kanderpada": "SHANTI ASHRAM",
"Ahilyabai Holkar Chowk": "NAVY NGR.",
"D'souza Nagar(Saki Naka)": "GOREGAON STN(E)",
"Kunchi Kurve Nagar": "SANTACRUZ STN (E)",
"Nadkarni Park": "NADKARNI PARK",
"Worli Depot": "WORLI DEPOT",
"Mahant Road(Parle-E)": "MAHANT RD./PARLE(E)",
"S.R.A.Colony(Ram Mandir)": "S.R.A.CLY.EXTN.",
"Borivli Bus Station(W)": "BORIVLI BUS STN(W)",
"Prateeksha Nagar": "PRATIKSHA NGR.DEPOT",
"Juhu Bus Station": "JUHU BUS STN.",
"Jogeshwari Bus Station": "JOGESHWARI BUS STN",
"Infinity IT Park (NNP)": "GOREGAON STN(E)",
"Vidyavihar Bus Stn.": "VIDYA VIHAR BUS STN(W)",
"Santacruz Station(E)": "SANTACRUZ STN (E)",
"Saki Naka": "JARIMARI",
"Global Pagoda": "GORAI CREEK-W",
"Dindoshi Depot": "DINDOSHI BUS STN.",
"Thane Stn.(E)": "THANE STN.(E)",
"Oshiwara Depot Via Andheri Stn.": "OSHIWARA DEPOT",
"Goregaon Stn (E)": "GOREGAON STN(E)",
"Industrial Estate": "KANDIVLI STN.(W)",
"S.R.A. Colony(Ram Mandir)": "S.R.A.CLY.EXTN.",
"Hanuman Tekdi": "HANUMAN TEKDI",
"Bunter Bhavan": "BUNTARA BHAVAN",
"Ghatkopar Rly Police Colony": "RAILWAY POLICE CLY.(GHATKOPAR",
"Yari Road Versova": "OSHIWARA DEPOT",
"Santacruz Station(W)": "SANTACRUZ STN (W)",
"Ghatkopar Station(W) ": "GHATKOPAR BUS STN./GKD",
"Golden Nest": "BHAYANDER PHATAK(POLICE CHKY)",
"Shivaji Nagar Depot": "DR.SHAMAPRASAD MUKHERJI CHK.",
"J.Mehta Marg": "J.MEHTA MARG",
"Oshiwara Depot": "OSHIWARA DEPOT",
"Gorai Creek": "GORAI DEPOT",
"Jay Maharashtra nagar": "JAY MAHARASHTRANGR.",
"Mahim Bus Station.": "MAHIM BUS STN.",
"Vaishali Nagar ": "VAISHALI NGR.",
"R.C.Church": "R.C.CHURCH",
"S.R.A.Colony Somani Gram ": "S.R.A.RAM MANDIR/SOMANIGRAM",
"Backbay Depot ": "BACKBAY DEPOT",
"Charkop Sec-9": "POISAR DEPOT",
"Ratan Nagar": "DHIRAJ UPVAN",
"Com P.K.Kurne Chk.": "COM.P.K.KURNE CHK.",
"Dahisar Bus Station": "DAHISAR BUS STN.",
"Kandivli Stn(W)": "KANDIVLI STN.(W)",
"SEEPZ Bus Station": "SEEPZ BUS STN.",
"M.P.Chowk(Mazgaon)": "MAHARANA PRATAP CHK.",
"Anushakti Nagar": "ANUSHAKTI NGR.BUS STN.",
"Gadkari Quarry": "GADKARI QUARRY",
"Ghatkopar Station(E) ": "GHATKOPAR STN.(E)-1",
"Nardas Nagar": "BHANDUP STN.(W)",
"Tata Colony(Bandra)": "BND RECLAMATION BUS STN.",
"Kandivli Stataion(W)": "KANDIVLI STN.(W)",
"Shastri Nagar": "SANTACRUZ DEPOT",
"Vaishali Nagar(Mulund)": "VAISHALI NGR.",
"Via Gilbert Hill ": "GILBERT HILL(PANCHAM SCTY.)",
"Prateeksha Nagar Depot ": "PRATIKSHA NGR.DEPOT",
"Sunder Baug": "SUNDER BAUG (KAMANI)",
"Vidyavihar Bus Stn": "VIDYA VIHAR BUS STN(W)",
"I.C.Colony": "I.C.CLY.",
"Com.P.K.Kurne Chowk": "COM.P.K.KURNE CHK.",
"Bandra Colony Bus Stn": "BANDRA CLY.BUS STN",
"Borivli Station(E)": "BORIVLI STN(E)",
"Khar Stn(W)": "KHAR STN (W)",
"Barve Nagar(Ghatkopar)": "BARVE NGR.",
"Jal Vayu Vihar/Kharghar": "JALVAYU VIHAR(KHARGHAR)",
"P.Thakre Nagar Bus Stn.": "GORAI DEPOT",
"Santacruz Depot": "SANTACRUZ DEPOT",
"Wadala Truck Terminal": "WADALA TRUCK TERMINAL",
"Shravan Yeshwante Chowk": "WORLI DEPOT",
"Tardeo Bus Station": "TARDEO BUS STN/RUSHI MEHTA CHK.",
"M.P.Chk.(Mulund)": "MAHARANA PRATAP CHK.(MULUND)",
"Jijamata Udyan": "JIJAMATA UDN.",
"Santosh Nagar Extn": "SANTOSH NGR.EXTN.",
"Antop Hill Extn.": "ANTOP HILL EXTN.",
"P.T.Udyan": "P.THAKRE UDN.BUS STN.",
"Via Jaslok Hospital": "GRANT RD STN.(W)",
"Bhayander station (E)": "BHAYANDER STN.(E)",
"Kandivli Stn(E)": "KANDIVLI BUS STN.( E )",
"Vidyavihar Bus Station": "VIDYA VIHAR BUS STN(W)",
"Kannamwar Nagar No.2": "KANNAMWAR NGR.NO 2",
"Kannamwar Nagar No.3": "KANNAMWAR NGR.NO 2",
"Dahisar Bridge": "DAHISAR BRIDGE",
"Nimkar Society": "NIMKAR SCTY.",
"Kelkar College": "KELKAR COLLEGE",
"Via Simla House": "BYCULLA STN.(W)",
"Mulund Bus Station(W)": "MAHARANA PRATAP CHK.(MULUND)",
"Yari Road Bus Station": "VESAVA-YARI RD.BUS STN.",
"Rushivan": "RUSHIVAN",
"Shanti Ashram Via Mahaveer Ext": "SHANTI ASHRAM",
"Mulund Station(W)": "MULUND RLY.STN.(W)",
"Kandivli Station(W)Bajaj Rd.": "KANDIVLI STN.(W)",
"Lokmanya Tilak Terminus": "LOKMANYA TILAK TERMINUS",
"Mulund Stn.(W)": "MULUND RLY.STN.(W)"
}

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ class App(AppBase):
if DIGIT.search(msg.text): if DIGIT.search(msg.text):
routes = ChaloBest.routes(q=msg.text.replace(" ", "")) routes = ChaloBest.routes(q=msg.text.replace(" ", ""))
if not routes: if not routes:
msg.respond("Sorry, we found no route marked '%s'." % msg.text) msg.respond("Sorry, we found no route marked '%(text)s'.", text=msg.text)
return return
detail = ChaloBest.route[routes[0]] detail = ChaloBest.route[routes[0]]
stops = detail['stops']['features'] stops = detail['stops']['features']
@ -35,7 +35,7 @@ class App(AppBase):
else: else:
features = ChaloBest.stops(q=msg.text)['features'] features = ChaloBest.stops(q=msg.text)['features']
if not features: if not features:
msg.respond("Sorry, we found no stops like '%s'." % msg.text) msg.respond("Sorry, we found no stops marked '%(text)s'.", text=msg.text)
return return
stops = [] stops = []
for feat in features: for feat in features: