Stop editor form field visible on click
This commit is contained in:
commit
85bab1c677
|
@ -30,8 +30,14 @@ def getRoutesHavingAllLocs():
|
||||||
Gets routes having stop location data for each stop on the route.
|
Gets routes having stop location data for each stop on the route.
|
||||||
'''
|
'''
|
||||||
filteredroutes = []
|
filteredroutes = []
|
||||||
for route in Route.objects.all():
|
for route in Route.objects.all().select_related():
|
||||||
|
isOK=False
|
||||||
if routeWithLocationData(route):
|
if routeWithLocationData(route):
|
||||||
|
isOK=True
|
||||||
|
else:
|
||||||
|
isOK=False
|
||||||
|
|
||||||
|
if isOK:
|
||||||
filteredroutes.append(route)
|
filteredroutes.append(route)
|
||||||
|
|
||||||
return filteredroutes
|
return filteredroutes
|
||||||
|
@ -100,10 +106,9 @@ def getCompleteRoutes2():
|
||||||
|
|
||||||
def getCompleteRoutes():
|
def getCompleteRoutes():
|
||||||
rset = set()
|
rset = set()
|
||||||
|
|
||||||
for rs in RouteSchedule.objects.select_related():
|
for rs in RouteSchedule.objects.select_related():
|
||||||
if not( 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):
|
if not( 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):
|
||||||
|
|
||||||
#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:
|
try:
|
||||||
rset.remove(rs.unique_route.route)
|
rset.remove(rs.unique_route.route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
@ -112,11 +117,11 @@ def getCompleteRoutes():
|
||||||
# other criteria
|
# other criteria
|
||||||
if routeWithLocationData(rs.unique_route.route) and rs.unique_route.distance:
|
if routeWithLocationData(rs.unique_route.route) and rs.unique_route.distance:
|
||||||
rset.add(rs.unique_route.route)
|
rset.add(rs.unique_route.route)
|
||||||
|
|
||||||
return list(rset)
|
return list(rset)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def routeWithSomeLocationData(route,limit):
|
def routeWithSomeLocationData(route,limit):
|
||||||
'''
|
'''
|
||||||
Gets stoplist for a route which has at most <limit> no of stops without location data.
|
Gets stoplist for a route which has at most <limit> no of stops without location data.
|
||||||
|
@ -157,12 +162,11 @@ def make_csv_writer(filename):
|
||||||
def export_feed_info():
|
def export_feed_info():
|
||||||
f = make_csv_writer("feed_info.txt")
|
f = make_csv_writer("feed_info.txt")
|
||||||
f.writerow(["feed_publisher_name","feed_publisher_url","feed_lang","feed_start_date","feed_end_date","feed_version"])
|
f.writerow(["feed_publisher_name","feed_publisher_url","feed_lang","feed_start_date","feed_end_date","feed_version"])
|
||||||
f.writerow(["ChaloBEST","http://chalobest.in","en","20120301","20120630","0.31"])
|
f.writerow(["ChaloBEST","http://chalobest.in","en","20120301","20130630","0.31"])
|
||||||
|
|
||||||
|
|
||||||
def export_routes(routebeer):
|
def export_routes(routebeer):
|
||||||
#routebeer = getRoutesHavingAlLocs()
|
#routebeer = getRoutesHavingAlLocs()
|
||||||
|
|
||||||
f = make_csv_writer("routes.txt")
|
f = make_csv_writer("routes.txt")
|
||||||
f.writerow(["route_id","agency_id","route_short_name","route_long_name","route_type"])
|
f.writerow(["route_id","agency_id","route_short_name","route_long_name","route_type"])
|
||||||
|
|
||||||
|
@ -173,28 +177,6 @@ def export_routes(routebeer):
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
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:
|
|
||||||
# data checks here
|
|
||||||
# stop_code is used for stop_id as its BEST specfic
|
|
||||||
if stop.point:
|
|
||||||
f.writerow([str(stop.code),stop.name,stop.point.coords[1],stop.point.coords[0]])
|
|
||||||
|
|
||||||
except:
|
|
||||||
print "error for writerow", stop.__dict__, stop.point.coords
|
|
||||||
#print "error: Stop id: %s, stop_code:%s "
|
|
||||||
|
|
||||||
def export_agency():
|
def export_agency():
|
||||||
f = make_csv_writer("agency.txt")
|
f = make_csv_writer("agency.txt")
|
||||||
|
|
||||||
|
@ -206,7 +188,6 @@ def export_agency():
|
||||||
#f.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..
|
|
||||||
|
|
||||||
SERVICE_SCHEDULE = [
|
SERVICE_SCHEDULE = [
|
||||||
{'id':0,'code':'MS','days':[1,2,3,4,5,6]},
|
{'id':0,'code':'MS','days':[1,2,3,4,5,6]},
|
||||||
|
@ -226,8 +207,10 @@ SERVICE_SCHEDULE = [
|
||||||
{'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]}
|
{'id':17,'code':'FH','days':[5,8]},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
#{'id':18,'code':'2nd &4th','days':[7,8]},
|
||||||
# FH indicates what? full week + holidays??
|
# FH indicates what? full week + holidays??
|
||||||
# HOL holidays means only the exceptions as defined in calendar_dates.txt. this needs to be converted separately.
|
# 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.
|
# done here only to get the other components of gtfs up.
|
||||||
|
@ -236,8 +219,8 @@ def export_calendar():
|
||||||
f = make_csv_writer("calendar.txt")
|
f = make_csv_writer("calendar.txt")
|
||||||
f.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="20120401" #YYYYMMDD format
|
start_date="20120301" #YYYYMMDD format
|
||||||
end_date="20120701" #YYYYMMDD format
|
end_date="20130630" #YYYYMMDD format
|
||||||
|
|
||||||
schedule = SERVICE_SCHEDULE
|
schedule = SERVICE_SCHEDULE
|
||||||
|
|
||||||
|
@ -276,7 +259,6 @@ def generate_trips(n=None):
|
||||||
def generate_trips_unr(n=None):
|
def generate_trips_unr(n=None):
|
||||||
schedules = RouteSchedule.objects.all()
|
schedules = RouteSchedule.objects.all()
|
||||||
if n is not None: schedules = schedules[:n]
|
if n is not None: schedules = schedules[:n]
|
||||||
#triplist = []
|
|
||||||
for schedule in schedules:
|
for schedule in schedules:
|
||||||
route = schedule.unique_route.route
|
route = schedule.unique_route.route
|
||||||
unr = schedule.unique_route
|
unr = schedule.unique_route
|
||||||
|
@ -284,7 +266,6 @@ def generate_trips_unr(n=None):
|
||||||
|
|
||||||
for direction in ("UP","DOWN"):
|
for direction in ("UP","DOWN"):
|
||||||
trip_id = "%s_%s_%s_%s" %(route.code,schedule.id,days, direction)
|
trip_id = "%s_%s_%s_%s" %(route.code,schedule.id,days, direction)
|
||||||
#triplist.append([schedule, route, direction, trip_id])
|
|
||||||
yield schedule, unr, route, direction, trip_id
|
yield schedule, unr, route, direction, trip_id
|
||||||
|
|
||||||
|
|
||||||
|
@ -384,6 +365,7 @@ def getserial(rdlist,stop,getFirstStop=True):
|
||||||
reversed_rds=[]
|
reversed_rds=[]
|
||||||
mismatched_unrs={"from":[], "to":[]}
|
mismatched_unrs={"from":[], "to":[]}
|
||||||
multiple_to_stops=[]
|
multiple_to_stops=[]
|
||||||
|
badroutes=set()
|
||||||
|
|
||||||
def get_routedetail_subset(unr, direction):
|
def get_routedetail_subset(unr, direction):
|
||||||
"""
|
"""
|
||||||
|
@ -431,7 +413,7 @@ def get_routedetail_subset(unr, direction):
|
||||||
break
|
break
|
||||||
if from_stop_found == 0:
|
if from_stop_found == 0:
|
||||||
print "From-Stop not found in Route Details for unr.id", unr.id, "unr.from_stop_txt=", unr.from_stop_txt , str(unr.__dict__)
|
print "From-Stop not found in Route Details for unr.id", unr.id, "unr.from_stop_txt=", unr.from_stop_txt , str(unr.__dict__)
|
||||||
mismatched_unrs['from'].append({"unr":str(unr.__dict__), "route":unr.route})
|
mismatched_unrs['from'].append({"unr":unr,"unr_from_stop_txt":unr.from_stop_txt,"unr_from_stop":unr.from_stop, "route":unr.route})
|
||||||
|
|
||||||
|
|
||||||
# to stop index
|
# to stop index
|
||||||
|
@ -448,7 +430,7 @@ def get_routedetail_subset(unr, direction):
|
||||||
|
|
||||||
if to_stop_found == 0:
|
if to_stop_found == 0:
|
||||||
print "To-Stop not found in Route Details for unr.id", unr.id , " unr.to_stop_txt=", unr.to_stop_txt, str(unr.__dict__)
|
print "To-Stop not found in Route Details for unr.id", unr.id , " unr.to_stop_txt=", unr.to_stop_txt, str(unr.__dict__)
|
||||||
mismatched_unrs['to'].append({"unr":str(unr.__dict__), "route":unr.route})
|
mismatched_unrs['to'].append({"unr":unr,"unr_to_stop_txt":unr.to_stop_txt,"unr_to_stop":unr.to_stop, "route":unr.route})
|
||||||
|
|
||||||
|
|
||||||
rd_subset = rdlist[from_index:to_index+1]
|
rd_subset = rdlist[from_index:to_index+1]
|
||||||
|
@ -470,6 +452,7 @@ def get_routedetail_subset(unr, direction):
|
||||||
# if route indexing is anything less than 5 or negative, then alert
|
# if route indexing is anything less than 5 or negative, then alert
|
||||||
if (to_index - from_index) < 5:
|
if (to_index - from_index) < 5:
|
||||||
print "Route::",unr.route.code , "from pos", from_index, " to pos ", to_index
|
print "Route::",unr.route.code , "from pos", from_index, " to pos ", to_index
|
||||||
|
badroutes.add(unr.route)
|
||||||
|
|
||||||
return rd_subset
|
return rd_subset
|
||||||
|
|
||||||
|
@ -534,9 +517,54 @@ def export_shapes():
|
||||||
noLocsStops.append(s.__dict__)
|
noLocsStops.append(s.__dict__)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stopset = set()
|
||||||
|
|
||||||
|
def export_stops(routelist):
|
||||||
|
# stop_code is used for stop_id as its BEST specfic..
|
||||||
|
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:
|
||||||
|
# data checks here
|
||||||
|
# stop_code is used for stop_id as its BEST specfic
|
||||||
|
if stop.point:
|
||||||
|
f.writerow([str(stop.code),stop.name,stop.point.coords[1],stop.point.coords[0],str("Marathi:"+stop.name_mr+" Road:"+stop.road.name+" Area:"+stop.area.name+" Altnames:" )])
|
||||||
|
|
||||||
|
except:
|
||||||
|
print "error for writerow", stop.__dict__, stop.point.coords
|
||||||
|
#print "error: Stop id: %s, stop_code:%s "
|
||||||
|
|
||||||
|
|
||||||
|
def route_diff(oldroutes,difflist):
|
||||||
|
cr_from_codes = [Route.objects.get(code=a) for a in difflist]
|
||||||
|
crset= set(cr_from_codes)
|
||||||
|
oldroutes = set(oldroutes)
|
||||||
|
oldroutes = oldroutes.difference(crset)
|
||||||
|
return list(oldroutes)
|
||||||
|
|
||||||
|
|
||||||
|
def export_stop_times2(routelist):
|
||||||
|
f = make_csv_writer("stop_times.txt")
|
||||||
|
f.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence", "cumulative_distance", "isStage"])
|
||||||
|
|
||||||
|
for schedule, unr, route, direction, trip_id in generate_trips_unr():
|
||||||
|
if route not in routelist: continue
|
||||||
|
details = get_routedetail_subset(unr, direction)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def export_stop_times(routelist):
|
def export_stop_times(routelist):
|
||||||
print "Exporting stop times.."
|
print "Exporting stop times.."
|
||||||
f = make_csv_writer("stop_times.txt")
|
f = make_csv_writer("stop_times.txt")
|
||||||
|
#f.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence", "cumulative_distance", "isStage"])
|
||||||
f.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence"])
|
f.writerow(["trip_id","arrival_time","departure_time","stop_id","stop_sequence"])
|
||||||
|
|
||||||
# get trips and route details
|
# get trips and route details
|
||||||
|
@ -553,11 +581,6 @@ def export_stop_times(routelist):
|
||||||
#if not unr.is_full: continue
|
#if not unr.is_full: continue
|
||||||
|
|
||||||
#get route in sort_order based on UP or DOWN route
|
#get route in sort_order based on UP or DOWN route
|
||||||
|
|
||||||
if direction == "UP":
|
|
||||||
details = get_routedetail_subset(unr, direction)
|
|
||||||
|
|
||||||
else:
|
|
||||||
details = get_routedetail_subset(unr, direction)
|
details = get_routedetail_subset(unr, direction)
|
||||||
|
|
||||||
# use interpolated distances
|
# use interpolated distances
|
||||||
|
@ -566,10 +589,9 @@ def export_stop_times(routelist):
|
||||||
if len(details) < 5:
|
if len(details) < 5:
|
||||||
print "rdlist not populated"
|
print "rdlist not populated"
|
||||||
rdlistempty+=1
|
rdlistempty+=1
|
||||||
|
badroutes.add(route)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
#rdlist = rdlist.reverse()
|
|
||||||
|
|
||||||
# calc avg speed for a trip. trip = unr+rs
|
# calc avg speed for a trip. trip = unr+rs
|
||||||
dist = unr.distance
|
dist = unr.distance
|
||||||
|
|
||||||
|
@ -586,7 +608,6 @@ def export_stop_times(routelist):
|
||||||
|
|
||||||
|
|
||||||
# checks and failsafes
|
# checks and failsafes
|
||||||
|
|
||||||
if avgspeed < 5.0/60.0:
|
if avgspeed < 5.0/60.0:
|
||||||
# avg human walking speed is 5 km/hr
|
# avg human walking speed is 5 km/hr
|
||||||
print "Error: Speed for %s is %s" %(trip_id, str(avgspeed*60.0) )
|
print "Error: Speed for %s is %s" %(trip_id, str(avgspeed*60.0) )
|
||||||
|
@ -595,7 +616,7 @@ def export_stop_times(routelist):
|
||||||
|
|
||||||
if avgspeed > 30.0/60.0:
|
if avgspeed > 30.0/60.0:
|
||||||
toofasts+=1
|
toofasts+=1
|
||||||
#avgspeed=50.0/60.0
|
#avgspeed=30.0/60.0
|
||||||
|
|
||||||
# setting up some vars and failsafes
|
# setting up some vars and failsafes
|
||||||
initial_time = departure_time = schedule.first_to if direction == "UP" else schedule.first_from
|
initial_time = departure_time = schedule.first_to if direction == "UP" else schedule.first_from
|
||||||
|
@ -603,7 +624,9 @@ def export_stop_times(routelist):
|
||||||
initial_time = time_of("05:00:00")
|
initial_time = time_of("05:00:00")
|
||||||
|
|
||||||
arrival_time = initial_time
|
arrival_time = initial_time
|
||||||
cumulative_dist = 0.0
|
cumulative_distance = 0.0
|
||||||
|
prev_at = initial_time
|
||||||
|
prev_dt = initial_time
|
||||||
timedelta = 0
|
timedelta = 0
|
||||||
distdelta = 0.0
|
distdelta = 0.0
|
||||||
today = datetime.date.today()
|
today = datetime.date.today()
|
||||||
|
@ -611,61 +634,79 @@ def export_stop_times(routelist):
|
||||||
prevstage = 0
|
prevstage = 0
|
||||||
rdetails = []
|
rdetails = []
|
||||||
rdict = {}
|
rdict = {}
|
||||||
|
dt= 0
|
||||||
for sequence, detail in enumerate(details):
|
for sequence, detail in enumerate(details):
|
||||||
rdetails.append([sequence,detail])
|
rdetails.append([sequence,detail])
|
||||||
rdict[sequence] = detail
|
rdict[sequence] = detail
|
||||||
|
|
||||||
# main process
|
# main process
|
||||||
for sequence, detail in rdetails:
|
for sequence, detail in rdetails:
|
||||||
|
|
||||||
|
stopset.add(detail.stop)
|
||||||
# if stop is a stage, then it has km (delta) info
|
# if stop is a stage, then it has km (delta) info
|
||||||
if detail.km:
|
if detail.km:
|
||||||
cumulative_dist+=float(detail.km)
|
cumulative_distance+=float(detail.km)
|
||||||
|
|
||||||
if avgspeed != 0.0:
|
if avgspeed != 0.0:
|
||||||
offsettime = cumulative_dist/avgspeed
|
offsettime = cumulative_distance/avgspeed
|
||||||
#
|
|
||||||
dt = datetime.datetime.combine(today, initial_time) + datetime.timedelta(seconds=offsettime*60)
|
dt = datetime.datetime.combine(today, initial_time) + datetime.timedelta(seconds=offsettime*60)
|
||||||
arrival_time = dt.time()
|
arrival_time = dt.time()
|
||||||
|
|
||||||
# Add 10 seconds to departure time
|
# Add 10 seconds to departure time
|
||||||
dt = datetime.datetime.combine(today, arrival_time) + datetime.timedelta(seconds=10)
|
dt = datetime.datetime.combine(today, arrival_time) + datetime.timedelta(seconds=10)
|
||||||
departure_time = dt.time()
|
departure_time = dt.time()
|
||||||
|
|
||||||
|
|
||||||
|
#f.writerow([trip_id,arrival_time.__str__().split(".")[0],departure_time.__str__().split(".")[0],str(detail.stop.code),sequence+1,cumulative_distance, detail.stage ])
|
||||||
|
|
||||||
f.writerow([trip_id,arrival_time.__str__().split(".")[0],departure_time.__str__().split(".")[0],str(detail.stop.code),sequence+1])
|
f.writerow([trip_id,arrival_time.__str__().split(".")[0],departure_time.__str__().split(".")[0],str(detail.stop.code),sequence+1])
|
||||||
blankstops=1
|
|
||||||
|
prev_at = time_of(arrival_time.__str__().split(".")[0])
|
||||||
|
prev_dt = time_of(departure_time.__str__().split(".")[0])
|
||||||
|
|
||||||
|
blankstops=0
|
||||||
prevstage = sequence
|
prevstage = sequence
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# for non-stage stops
|
# for non-stage stops
|
||||||
# go to the next stage, get no. of stops in the middle, get the km delta,
|
# 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
|
blankstops+=1
|
||||||
else:
|
|
||||||
#stage stop
|
|
||||||
distdelta=detail.km/blankstops
|
|
||||||
break
|
|
||||||
"""
|
|
||||||
|
|
||||||
# first stop
|
# first stop
|
||||||
if sequence == 0:
|
if sequence == 0:
|
||||||
f.writerow([trip_id,initial_time,initial_time,str(detail.stop.code),sequence+1])
|
f.writerow([trip_id,initial_time,initial_time,str(detail.stop.code),sequence+1])
|
||||||
|
#f.writerow([trip_id,initial_time,initial_time,str(detail.stop.code),sequence+1,cumulative_distance, detail.stage ])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# if this is the last stop in the route, then
|
# if this is the last stop in the route, then
|
||||||
|
|
||||||
|
|
||||||
if sequence == len(details) - 1:
|
if sequence == len(details) - 1:
|
||||||
arrival = initial_time.hour * 60 + initial_time.minute + runtime_in_minutes(schedule) + 7
|
offsettime = (cumulative_distance+(0.3*blankstops))/avgspeed
|
||||||
arrival_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
|
dt = datetime.datetime.combine(today, initial_time) + datetime.timedelta(seconds=offsettime*60)
|
||||||
departure_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
|
arrival_time = dt.time()
|
||||||
f.writerow([trip_id,arrival_time,departure_time,str(detail.stop.code),sequence+1])
|
|
||||||
|
dt = datetime.datetime.combine(today, arrival_time) + datetime.timedelta(seconds=60)
|
||||||
|
departure_time = dt.time()
|
||||||
|
|
||||||
|
#arrival = initial_time.hour * 60 + initial_time.minute + runtime_in_minutes(schedule) + 7
|
||||||
|
#arrival_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
|
||||||
|
#departure_time = "%02d:%02d:00" % (int(arrival/60), arrival % 60)
|
||||||
|
|
||||||
|
if prev_dt and time_of(arrival_time):
|
||||||
|
if time_of(arrival_time) < prev_dt:
|
||||||
|
arrival_time = "%02d:%02d:00" % (int((arrival+3)/60), (arrival+3) % 60)
|
||||||
|
departure_time=arrival_time
|
||||||
|
|
||||||
|
f.writerow([trip_id,arrival_time.__str__().split(".")[0],departure_time.__str__().split(".")[0],str(detail.stop.code),sequence+1])
|
||||||
|
|
||||||
|
#f.writerow([trip_id,arrival_time,departure_time,str(detail.stop.code),sequence+1,cumulative_distance, detail.stage ])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# if any other stop
|
# if any other stop
|
||||||
f.writerow([trip_id,"","",str(detail.stop.code),sequence+1])
|
f.writerow([trip_id,"","",str(detail.stop.code),sequence+1])
|
||||||
|
#f.writerow([trip_id,"","",str(detail.stop.code),sequence+1,cumulative_distance, detail.stage ])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print "Trips too fast::", toofasts
|
print "Trips too fast::", toofasts
|
||||||
|
@ -922,6 +963,8 @@ def export_frequencies(routelist):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def export_frequencies2(routelist):
|
def export_frequencies2(routelist):
|
||||||
f = make_csv_writer("frequencies.txt")
|
f = make_csv_writer("frequencies.txt")
|
||||||
"""
|
"""
|
||||||
|
@ -1095,6 +1138,29 @@ def export_frequencies2(routelist):
|
||||||
|
|
||||||
f.writerow([trip_id,st_str, et_str, headway[span]*60])
|
f.writerow([trip_id,st_str, et_str, headway[span]*60])
|
||||||
|
|
||||||
|
def export_stops_from_set():
|
||||||
|
import codecs
|
||||||
|
f =codecs.open(join(PROJECT_ROOT, "gtfs", "gtfs_mumbai_bus", "stops.txt"), "w", "utf-8")
|
||||||
|
f.write("stop_id,stop_name,stop_lat,stop_lon,stop_desc\n")
|
||||||
|
|
||||||
|
for stop in stopset:
|
||||||
|
# stop_code is used for stop_id as its BEST specfic
|
||||||
|
desc = "Marathi:"+stop.name_mr+" Road:"+stop.road.name+" Area:"+stop.area.name
|
||||||
|
|
||||||
|
alt_names = [an.name for an in stop.alt_names.all()]
|
||||||
|
alt_name_str = " Altnames:"
|
||||||
|
for an in alt_names:
|
||||||
|
alt_name_str+= an + "; "
|
||||||
|
# remove trailing delimiter and space
|
||||||
|
alt_name_str=alt_name_str[:-2]
|
||||||
|
if alt_names:
|
||||||
|
desc+=alt_name_str
|
||||||
|
|
||||||
|
|
||||||
|
f.write(str(stop.code) + "," + stop.name.replace(",","") +"," + str(stop.point.coords[1]) +"," + str(stop.point.coords[0]) +"," + desc.replace(",","") + "\n")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def makeStopList():
|
def makeStopList():
|
||||||
import codecs
|
import codecs
|
||||||
f =codecs.open(join(PROJECT_ROOT, "gtfs", "Stops.csv"), "w", "utf-8")
|
f =codecs.open(join(PROJECT_ROOT, "gtfs", "Stops.csv"), "w", "utf-8")
|
||||||
|
@ -1115,9 +1181,10 @@ def fire_up(routelist):
|
||||||
routelist = getCompleteRoutes2()
|
routelist = getCompleteRoutes2()
|
||||||
export_feed_info()
|
export_feed_info()
|
||||||
export_routes(routelist)
|
export_routes(routelist)
|
||||||
export_stops(routelist)
|
|
||||||
export_frequencies2(routelist)
|
export_frequencies2(routelist)
|
||||||
export_stop_times(routelist)
|
export_stop_times(routelist)
|
||||||
|
#export_stops(routelist)
|
||||||
|
export_stops_from_set()
|
||||||
export_calendar()
|
export_calendar()
|
||||||
export_trips(routelist)
|
export_trips(routelist)
|
||||||
export_agency()
|
export_agency()
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
|
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
|
||||||
MS,1,1,1,1,1,1,0,20120401,20120701
|
MS,1,1,1,1,1,1,0,20120301,20130630
|
||||||
HOL,0,0,0,0,0,0,1,20120401,20120701
|
HOL,0,0,0,0,0,0,1,20120301,20130630
|
||||||
SUN,0,0,0,0,0,0,1,20120401,20120701
|
SUN,0,0,0,0,0,0,1,20120301,20130630
|
||||||
MF&HOL,1,1,1,1,1,0,0,20120401,20120701
|
MF&HOL,1,1,1,1,1,0,0,20120301,20130630
|
||||||
SAT,0,0,0,0,0,1,0,20120401,20120701
|
SAT,0,0,0,0,0,1,0,20120301,20130630
|
||||||
MF,1,1,1,1,1,0,0,20120401,20120701
|
MF,1,1,1,1,1,0,0,20120301,20130630
|
||||||
SH,0,0,0,0,0,0,1,20120401,20120701
|
SH,0,0,0,0,0,0,1,20120301,20130630
|
||||||
AD,1,1,1,1,1,1,1,20120401,20120701
|
AD,1,1,1,1,1,1,1,20120301,20130630
|
||||||
SAT&SUN,0,0,0,0,0,1,1,20120401,20120701
|
SAT&SUN,0,0,0,0,0,1,1,20120301,20130630
|
||||||
MS&HOL,1,1,1,1,1,1,0,20120401,20120701
|
MS&HOL,1,1,1,1,1,1,0,20120301,20130630
|
||||||
FW,1,1,1,1,1,1,1,20120401,20120701
|
FW,1,1,1,1,1,1,1,20120301,20130630
|
||||||
SAT/SH,0,0,0,0,0,1,1,20120401,20120701
|
SAT/SH,0,0,0,0,0,1,1,20120301,20130630
|
||||||
SAT&HOL,0,0,0,0,0,1,0,20120401,20120701
|
SAT&HOL,0,0,0,0,0,1,0,20120301,20130630
|
||||||
SAT&SH,0,0,0,0,0,1,1,20120401,20120701
|
SAT&SH,0,0,0,0,0,1,1,20120301,20130630
|
||||||
SAT/SUND&HOL,0,0,0,0,0,1,1,20120401,20120701
|
SAT/SUND&HOL,0,0,0,0,0,1,1,20120301,20130630
|
||||||
S/H,0,0,0,0,0,0,1,20120401,20120701
|
S/H,0,0,0,0,0,0,1,20120301,20130630
|
||||||
"SAT,SUN&HOL",0,0,0,0,0,1,1,20120401,20120701
|
"SAT,SUN&HOL",0,0,0,0,0,1,1,20120301,20130630
|
||||||
FH,0,0,0,0,1,0,0,20120401,20120701
|
FH,0,0,0,0,1,0,0,20120301,20130630
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +1,496 @@
|
||||||
route_id,agency_id,route_short_name,route_long_name,route_type
|
route_id,agency_id,route_short_name,route_long_name,route_type
|
||||||
|
0011,BEST,1LT,COLABA BUS STN. - SANTACRUZ DEPOT,3
|
||||||
|
0021,BEST,2LT,R.C.CHURCH - MAROL DEPOT,3
|
||||||
|
0041,BEST,4LT,HUTATMA CHK./MUMBAI UNIVERSITY - OSHIWARA DEPOT,3
|
||||||
|
0050,BEST,5,MANTRALAYA - KURLA BUS STN (E),3
|
||||||
|
0063,BEST,6L ,COLABA DEPOT - MAHUL VILLAGE,3
|
||||||
|
0081,BEST,8LT,MANTRALAYA - SHIVAJI NGR.TERMINUS,3
|
||||||
|
0071,BEST,7LT,DR.SHAMAPRASAD MUKHERJI CHK. - VIKHROLI PARK SITE,3
|
||||||
|
0101,BEST,10L,HUTATMA CHK. ( O.C.S.) - GHATKOPAR DEPOT/CASURINA,3
|
||||||
|
0111,BEST,11L,NAVY NGR. - BANDRA CLY.BUS STN,3
|
||||||
|
0140,BEST,14,DR.SHAMAPRASAD MUKHERJI CHK. - PRATIKSHA NGR.DEPOT,3
|
||||||
|
0221,BEST,22L,COLABA DEPOT - MAROL MAROSHI BUS STN.,3
|
||||||
|
0251,BEST,25L,BACKBAY DEPOT - VIHAR LAKE,3
|
||||||
|
0270,BEST,27,WORLI DEPOT - VAISHALI NGR.,3
|
||||||
|
0280,BEST,28,DR.SHAMAPRASAD MUKHERJI CHK. - J.V.P.D.BUS STN.,3
|
||||||
|
0301,BEST,30L,MUMBAI CENTRAL DEPOT - VIKHROLI DEPOT,3
|
||||||
|
0330,BEST,33,PT.PALUSKAR CHK. - GOREGAON BUS STN(W),3
|
||||||
|
0370,BEST,37,J.MEHTA MARG - KURLA STN (W),3
|
||||||
|
0350,BEST,35,COM.P.K.KURNE CHK. - MAROL MAROSHI BUS STN.,3
|
||||||
|
0380,BEST,38,JIJAMATA UDN. - GOREGAON DEPOT,3
|
||||||
|
0390,BEST,39,COM.P.K.KURNE CHK. - SEEPZ BUS STN.,3
|
||||||
|
0401,BEST,40L,P.THAKRE UDN.BUS STN. - BORIVLI STN(E),3
|
||||||
|
0410,BEST,41,FERRY WHARF - KAMLA NEHRU PARK,3
|
||||||
|
0420,BEST,42,FERRY WHARF - KAMLA NEHRU PARK,3
|
||||||
|
0430,BEST,43,MAHARANA PRATAP CHK. - PRATIKSHA NGR.DEPOT,3
|
||||||
|
0440,BEST,44,COLABA DEPOT - WORLI DEPOT,3
|
||||||
|
0450,BEST,45,MANTRALAYA - ANIK DEPOT,3
|
||||||
|
0460,BEST,46,FERRY WHARF - DHARAVI DEPOT,3
|
||||||
|
0480,BEST,48,FERRY WHARF - AUGUST KRANTI MAIDAN,3
|
||||||
|
0490,BEST,49,SWAMI D.SARASWATI CHK. - NADKARNI PARK,3
|
||||||
|
0500,BEST,50,FERRY WHARF - WORLI DEPOT,3
|
||||||
|
0520,BEST,052,DHARAVI DEPOT - SHRAWAN YESHWANTE CHK.,3
|
||||||
|
0610,BEST,61,BALLARD PIER - MAHIM MACHHIMAR NGR.,3
|
||||||
|
0620,BEST,62,MUMBAI CENTRAL DEPOT - KURLA STN (W),3
|
||||||
|
0630,BEST,63,J.MEHTA MARG - CHUNABHATTI BUS TERMINUS,3
|
||||||
|
0640,BEST,64,BABULNATH - MAHESHWARI UDN.,3
|
||||||
|
0650,BEST,65,DR.SHAMAPRASAD MUKHERJI CHK. - ANIK DEPOT,3
|
||||||
|
0670,BEST,67,KAMLA NEHRU PARK - ANTOP HILL BUS STN.,3
|
||||||
|
0690,BEST,69,DR.SHAMAPRASAD MUKHERJI CHK. - P.THAKRE UDN.BUS STN.,3
|
||||||
|
0700,BEST,70,COLABA DEPOT - DHARAVI DEPOT,3
|
||||||
|
0710,BEST,71,BYCULLA STN.(W) - RAM GANESH GADKARI CHK.,3
|
||||||
|
0740,BEST,74,DR.SHAMAPRASAD MUKHERJI CHK. - MAHIM BUS STN.,3
|
||||||
|
0760,BEST,76,MANTRALAYA - DHARAVI DEPOT,3
|
||||||
|
0790,BEST,79,MAHIM BUS STN. - GORAI DEPOT,3
|
||||||
|
0801,BEST,80L,KAMLA NEHRU PARK - J.V.P.D.BUS STN.,3
|
||||||
|
0811,BEST,81L,MANTRALAYA - SANTACRUZ DEPOT,3
|
||||||
|
0820,BEST,82,MANTRALAYA - WORLI DEPOT,3
|
||||||
|
0850,BEST,85,WORLD TRADE CENTRE - KURLA BUS STN (E),3
|
||||||
|
1010,BEST,101,COLABA DEPOT - WALKESHWAR,3
|
||||||
|
0830,BEST,83,COLABA BUS STN. - SANTACRUZ DEPOT,3
|
||||||
|
0860,BEST,86,BACKBAY DEPOT - BANDRA BUS STN(W),3
|
||||||
|
0841,BEST,84L,PT.PALUSKAR CHK. - OSHIWARA DEPOT,3
|
||||||
|
0871,BEST,87L,MANTRALAYA - BANDRA CLY.BUS STN,3
|
||||||
|
0880,BEST,88,MANTRALAYA - PRATIKSHA NGR.DEPOT,3
|
||||||
|
0890,BEST,89,MANTRALAYA - WORLI DEPOT,3
|
||||||
|
0911,BEST,91L,MUMBAI CENTRAL DEPOT - KURLA STN (W),3
|
||||||
|
0921,BEST,92L,WORLD TRADE CENTRE - ANUSHAKTI NGR.BUS STN.,3
|
||||||
|
0931,BEST,93L,MANTRALAYA - GOVANDI BUS STN,3
|
||||||
|
1030,BEST,103,R.C.CHURCH - KAMLA NEHRU PARK,3
|
||||||
|
1044,BEST,104,J.MEHTA MARG - J.MEHTA MARG,3
|
||||||
|
1060,BEST,106,R.C.CHURCH - KAMLA NEHRU PARK,3
|
||||||
|
1080,BEST,108,CHH. SHIVAJI TERMINUS(BHATIA) - KAMLA NEHRU PARK,3
|
||||||
|
1210,BEST,121,BACKBAY DEPOT - J.MEHTA MARG,3
|
||||||
|
1220,BEST,122,BALLARD PIER - J.MEHTA MARG,3
|
||||||
|
1230,BEST,123,R.C.CHURCH - VASANTRAO NAIK CHK.,3
|
||||||
|
1240,BEST,124,COLABA BUS STN. - WORLI DEPOT,3
|
||||||
|
1250,BEST,125,NAVY NGR. - WORLI VILLAGE,3
|
||||||
|
1260,BEST,126,MANTRALAYA - JIJAMATA UDN.,3
|
||||||
|
1300,BEST,130,DR.SHAMAPRASAD MUKHERJI CHK. - VASANTRAO NAIK CHK.,3
|
||||||
|
1340,BEST,134,BACKBAY DEPOT - P.THAKRE UDN.BUS STN.,3
|
||||||
|
1350,BEST,135,FERRY WHARF - J.MEHTA MARG,3
|
||||||
|
1374,BEST,137,NAVY NGR. - NAVY NGR.,3
|
||||||
|
1380,BEST,138,BACKBAY DEPOT - CHH. SHIVAJI TERMINUS(BHATIA),3
|
||||||
|
1510,BEST,151,J.MEHTA MARG - WADALA DEPOT,3
|
||||||
|
1540,BEST,154,BYCULLA STN.(W) - NEHRU PLANETARIUM,3
|
||||||
|
1554,BEST,155,GRANT RD STN.(W) - GRANT RD STN.(W),3
|
||||||
|
1710,BEST,171,WORLI DAIRY - ANTOP HILL BUS STN.,3
|
||||||
|
1720,BEST,172,SANT GADGE MAHARAJ CHK. - PRATIKSHA NGR.DEPOT,3
|
||||||
|
1800,BEST,180,RANI LAXMIBAI CHK.(BUS STN.) - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
1840,BEST,184,AGARKAR CHK. - MAROL MAROSHI BUS STN.,3
|
||||||
|
1860,BEST,186,AGARKAR CHK. - VIHAR LAKE,3
|
||||||
|
2000,BEST,200,SHRAWAN YESHWANTE CHK. - SANTACRUZ DEPOT,3
|
||||||
|
2010,BEST,201,P.THAKRE UDN.BUS STN. - GOREGAON BUS STN(W),3
|
||||||
|
2021,BEST,202,MAHIM BUS STN. - GORAI DEPOT,3
|
||||||
|
3020,BEST,302,PRATIKSHA NGR.DEPOT - MAHARANA PRATAP CHK.(MULUND),3
|
||||||
|
3681,BEST,368,P.THAKRE UDN.BUS STN. - MULUND DEPOT,3
|
||||||
|
3981,BEST,398,MULUND-W CHECK NAKA BUS STN. - DINDOSHI BUS STN.,3
|
||||||
|
2030,BEST,203,JUHU BEACH - DAHISAR BRIDGE,3
|
||||||
|
2044,BEST,204,GOREGAON BUS STN(W) - GOREGAON BUS STN(W),3
|
||||||
|
2054,BEST,205,JOGESHWARI BUS STN - JOGESHWARI BUS STN,3
|
||||||
|
2060,BEST,206,POISAR DEPOT - I.C.CLY.,3
|
||||||
|
2070,BEST,207,MALVANI DEPOT/ GAIKWAD NGR. - DAHISAR BUS STN.,3
|
||||||
|
2094,BEST,209,SAMATA NGR.BUS STN.(KANDIVLI-E) - SAMATA NGR.BUS STN.(KANDIVLI-E),3
|
||||||
|
2101,BEST,210,VESAVA-YARI RD.BUS STN. - DAHISAR BRIDGE,3
|
||||||
|
2114,BEST,211,FATHER AGNEL ASHRAM - FATHER AGNEL ASHRAM,3
|
||||||
|
2120,BEST,212,P.THAKRE UDN.BUS STN. - BANDRA BUS STN(W),3
|
||||||
|
2154,BEST,215,BND RECLAMATION BUS STN. - BND RECLAMATION BUS STN.,3
|
||||||
|
2200,BEST,220,BANDRA BUS STN(W) - KHAR STN (W),3
|
||||||
|
2220,BEST,222,BANDRA BUS STN(W) - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
2240,BEST,224,SHASTRI NGR. - BORIVLI BUS STN(W),3
|
||||||
|
2250,BEST,225,MAHIM BUS STN. - DAHISAR BUS STN.,3
|
||||||
|
2261,BEST,226,BARVE NGR. - P.THAKRE NGR.BUS STN.,3
|
||||||
|
2310,BEST,231,SANTACRUZ STN (W) - JUHU BUS STN.,3
|
||||||
|
2354,BEST,235,ANDHERI BUS STN.(W) - ANDHERI BUS STN.(W),3
|
||||||
|
2404,BEST,240,SHANTI ASHRAM - SHANTI ASHRAM,3
|
||||||
|
2410,BEST,241,WADALA DEPOT - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
2424,BEST,242,ANDHERI BUS STN.(W) - ANDHERI BUS STN.(W),3
|
||||||
|
2430,BEST,243,MALAD STN-W(ANAND MARG CHKY) - JANKALYAN NGR.,3
|
||||||
|
2454,BEST,245,BORIVLI BUS STN(W) - BORIVLI BUS STN(W),3
|
||||||
|
2464,BEST,246,KANDIVLI STN.(W) - KANDIVLI STN.(W),3
|
||||||
|
2480,BEST,248,ANDHERI BUS STN.(W) - RAMESH NGR.,3
|
||||||
|
2490,BEST,249,ANDHERI STN.(W) (KUMKUM) - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
2524,BEST,252,ANDHERI BUS STN.(W) - ANDHERI BUS STN.(W),3
|
||||||
|
2530,BEST,253,JUHU BUS STN. - GOREGAON BUS STN(W),3
|
||||||
|
2540,BEST,254,ANDHERI STN.(W) ( M.A ) - VEERA DESAI RD.,3
|
||||||
|
2551,BEST,255,PRATIKSHA NGR.DEPOT - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
2560,BEST,256,JUHU BEACH - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
2570,BEST,257,ANDHERI BUS STN.(W) - J.V.P.D.BUS STN.,3
|
||||||
|
2610,BEST,261,JOGESHWARI BUS STN - GOREGAON BUS STN(W),3
|
||||||
|
2640,BEST,264,SADBHAKTI MANDIR - SAMARTH NGR.,3
|
||||||
|
2650,BEST,265,JOGESHWARI BUS STN - MILLAT NGR.,3
|
||||||
|
2660,BEST,266,ANDHERI BUS STN.(W) - SHREE SWAMI SAMARTH NGR.EXT.,3
|
||||||
|
2710,BEST,271,MALAD STN-W(ANAND MARG CHKY) - MADH JETTY,3
|
||||||
|
2720,BEST,272,MALAD STN-W(KASTURBA CHKY) - MARVE BEACH-ESSEL WORLD,3
|
||||||
|
2734,BEST,273,MALAD STN-W(SAINATH MARG CHKY) - MALAD STN-W(SAINATH MARG CHKY),3
|
||||||
|
2790,BEST,279,KANDIVLI STN.(W) - GORAI DEPOT,3
|
||||||
|
2810,BEST,281,PUSHPA PARK - KANDIVLI STN.(W),3
|
||||||
|
2894,BEST,289,KANDIVLI BUS STN.( E ) - KANDIVLI BUS STN.( E ),3
|
||||||
|
2820,BEST,282,KANDIVLI BUS STN.( E ) - DAMU NGR.EXTN.,3
|
||||||
|
2854,BEST,285,KANDIVLI STN.(W) - KANDIVLI STN.(W),3
|
||||||
|
2860,BEST,286,KANDIVLI STN.(W) - CHARKOP VILLAGE,3
|
||||||
|
2870,BEST,287,KANDIVLI BUS STN.( E ) - E.S.I.S.HOSPITAL(THAKUR VILLAGE),3
|
||||||
|
2944,BEST,294,BORIVLI BUS STN(W) - BORIVLI BUS STN(W),3
|
||||||
|
2980,BEST,298,BORIVLI STN(E) - RAWAL PADA(BORIVLI-E),3
|
||||||
|
2990,BEST,299,JAY MAHARASHTRANGR. - BORIVLI STN(E),3
|
||||||
|
3004,BEST,300,KANDIVLI BUS STN.( E ) - KANDIVLI BUS STN.( E ),3
|
||||||
|
3010,BEST,301,BORIVLI STN(E) - HANUMAN TEKDI,3
|
||||||
|
3030,BEST,303,BANDRA RLY.TERMINUS - MHADA CLY.BUS STN.(MULUND-E),3
|
||||||
|
3061,BEST,306,SANTACRUZ STN (E) - MULUND RLY.STN.(W),3
|
||||||
|
3070,BEST,307,VAISHALI NGR. - MAROL DEPOT,3
|
||||||
|
3080,BEST,308,VIDYA VIHAR BUS STN(W) - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
3091,BEST,309,KURLA STN (W) - GORAI DEPOT,3
|
||||||
|
3100,BEST,310,KURLA STN (W) - BANDRA RLY.TERMINUS,3
|
||||||
|
3110,BEST,311,KURLA STN (W) - SANTACRUZ STN (E),3
|
||||||
|
3130,BEST,313,KURLA STN (W) - SANTACRUZ STN (E),3
|
||||||
|
3120,BEST,312,PRATIKSHA NGR.DEPOT - SEEPZ BUS STN.,3
|
||||||
|
1610,BEST,161,WORLI DEPOT - NADKARNI PARK,3
|
||||||
|
1620,BEST,162,P.THAKRE UDN.BUS STN. - WORLI VILLAGE,3
|
||||||
|
1650,BEST,165,KASTURBA GANDHI CHK. - DHARAVI DEPOT,3
|
||||||
|
1660,BEST,166,MUMBAI CENTRAL DEPOT - ANTOP HILL BUS STN.,3
|
||||||
|
1680,BEST,168,LAL BAHADDUR SHASTRI COLLEGE - WADALA DEPOT,3
|
||||||
|
1690,BEST,169,WORLI VILLAGE - PRATIKSHA NGR.DEPOT,3
|
||||||
|
3150,BEST,315,PRATIKSHA NGR.DEPOT - SANTACRUZ STN (E),3
|
||||||
|
3180,BEST,318,KURLA STN (W) - SANTACRUZ STN (E),3
|
||||||
|
3190,BEST,319,AGARKAR CHK. - MHADA CLY.(CHANDIVLI),3
|
||||||
|
3200,BEST,320,KURLA STN (W) - FILTER PADA,3
|
||||||
|
3211,BEST,321,MAHIM BUS STN. - BARVE NGR.,3
|
||||||
|
3220,BEST,322,VIDYA VIHAR BUS STN(W) - MAHANT RD./PARLE(E),3
|
||||||
|
3230,BEST,323,VIDYA VIHAR BUS STN(W) - SANGHARSH NGR.(CHANDIVLI),3
|
||||||
|
3240,BEST,324,WORLI DEPOT - MAROL MAROSHI BUS STN.,3
|
||||||
|
3250,BEST,325,KURLA STN (W) - GHATKOPAR BUS STN./GKD,3
|
||||||
|
3280,BEST,328,BAMANDAYA PADA - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
3290,BEST,329,SHIVAJI NGR.DEPOT - AGARKAR CHK.,3
|
||||||
|
3301,BEST,330,KURLA STN (W) - SEVEN BUNGALOWS BUS STN.,3
|
||||||
|
3320,BEST,332,KURLA STN (W) - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
3330,BEST,333,NEW QTRS( CHAKALA CIGARETTE FACTORY - KONDIVTE CAVES/MAHAKALI CAVES,3
|
||||||
|
3390,BEST,339,JUHU BUS STN. - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
3400,BEST,340,GHATKOPAR STN.(W) - AGARKAR CHK.,3
|
||||||
|
3430,BEST,343,GOREGAON STN(E) - DADASAHEB PHALHKE CHITRA NGRY,3
|
||||||
|
3420,BEST,342,GOREGAON STN(E) - KOKAN VIKAS,3
|
||||||
|
3450,BEST,345,SANTOSH NGR.EXTN. - GORAI DEPOT,3
|
||||||
|
3470,BEST,347,GOREGAON STN(E) - DINDOSHI BUS STN.,3
|
||||||
|
3481,BEST,348,CHUNABHATTI BUS TERMINUS - DAHISAR BUS STN.,3
|
||||||
|
3490,BEST,349,KURLA STN (W) - SANTOSH NGR.EXTN.,3
|
||||||
|
3500,BEST,350,KURLA BUS STN (E) - SHIVAJI NGR.DEPOT,3
|
||||||
|
3510,BEST,351,MUMBAI CENTRAL DEPOT - TATA POWER CENTRE(CHEMBUR),3
|
||||||
|
3520,BEST,352,TROMBAY - RANI LAXMIBAI CHK.,3
|
||||||
|
3530,BEST,353,WADALA DEPOT - TAGORE NGR.NO 5,3
|
||||||
|
3540,BEST,354,RAM GANESH GADKARI CHK. - KANNAMWAR NGR.NO 2,3
|
||||||
|
3600,BEST,360,TROMBAY - KURLA BUS STN (E),3
|
||||||
|
3610,BEST,361,MAHUL VILLAGE - KURLA BUS STN (E),3
|
||||||
|
3640,BEST,364,MAHUL VILLAGE - TROMBAY,3
|
||||||
|
3650,BEST,365,KURLA STN (W) - SAHAR CARGO COMPLEX,3
|
||||||
|
3670,BEST,367,GADKARI QUARRY - KURLA BUS STN (E),3
|
||||||
|
3700,BEST,370,MHADA CLY.BUS STN.(MULUND-E) - KELKAR COLLEGE,3
|
||||||
|
3991,BEST,399,TROMBAY - MARATHON CHK.(TEEN HATH NAKA),3
|
||||||
|
3731,BEST,373,MAHUL VILLAGE - VAISHALI NGR.,3
|
||||||
|
3760,BEST,376,SHIVAJI NGR.DEPOT - MAHIM BUS STN.,3
|
||||||
|
3751,BEST,375,SHIVAJI NGR.DEPOT - BANDRA BUS STN(W),3
|
||||||
|
3790,BEST,379,SHIVAJI NGR.TERMINUS - GHATKOPAR STN.(E)-2,3
|
||||||
|
3800,BEST,380,TROMBAY - AMRUT NGR.,3
|
||||||
|
3821,BEST,382,ANUSHAKTI NGR.BUS STN. - SAHAR CARGO COMPLEX,3
|
||||||
|
3830,BEST,383,GADKARI QUARRY - SHIVAJI NGR.DEPOT,3
|
||||||
|
3850,BEST,385,TARDEO BUS STN/RUSHI MEHTA CHK. - GHATKOPAR BUS STN./GKD,3
|
||||||
|
3870,BEST,387,GHATKOPAR STN.(W) - VIKHROLI PARK SITE,3
|
||||||
|
3894,BEST,389,GHATKOPAR STN.(W) - GHATKOPAR STN.(W),3
|
||||||
|
3910,BEST,391,MULUND RLY.STN.(W) - KHINDIPADA (DARGH),3
|
||||||
|
3920,BEST,392,VIKHROLI DEPOT - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
3940,BEST,394,VIKHROLI BUS STN.- E - KANNAMWAR NGR.NO 2,3
|
||||||
|
3970,BEST,397,VIKHROLI BUS STN.- E - KANNAMWAR NGR.BLDG.NO.124,3
|
||||||
|
4020,BEST,402,MULUND RLY.STN.(W) - VAISHALI NGR.,3
|
||||||
|
5011,BEST,501,KURLA BUS STN (E) - AIROLI BUS STN.,3
|
||||||
|
4080,BEST,408,MAHIM BUS STN. - MULUND RLY.STN.(W),3
|
||||||
|
4100,BEST,410,VIKHROLI DEPOT - KONDIVTE CAVES/MAHAKALI CAVES,3
|
||||||
|
4110,BEST,411,WADALA DEPOT - SANGHARSH NGR.(CHANDIVLI),3
|
||||||
|
4150,BEST,415,AGARKAR CHK. - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
4160,BEST,416,GHATKOPAR STN.(W) - AMRUT NGR.,3
|
||||||
|
4170,BEST,417,VIKHROLI PARK SITE - SURYA NGR.,3
|
||||||
|
4240,BEST,424,MULUND RLY.STN.(W) - GOREGAON DEPOT,3
|
||||||
|
4250,BEST,425,MANGATRAM PETROLPUMP - SEVEN BUNGALOWS BUS STN.,3
|
||||||
|
4410,BEST,441,AGARKAR CHK. - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
4430,BEST,443,AGARKAR CHK. - BAMANDAYA PADA,3
|
||||||
|
4520,BEST,452,GOREGAON STN(E) - MAYUR NGR.,3
|
||||||
|
4591,BEST,459,MULUND RLY.STN.(W) - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
4601,BEST,460,MULUND RLY.STN.(W) - GORAI DEPOT,3
|
||||||
|
4611,BEST,461,MULUND-W CHECK NAKA BUS STN. - P.THAKRE NGR.BUS STN.,3
|
||||||
|
4620,BEST,462,BORIVLI STN(E) - VAISHALI NGR.,3
|
||||||
|
4881,BEST,488,SHIVAJI NGR.DEPOT - DINDOSHI DEPOT,3
|
||||||
|
4961,BEST,496,MARATHON CHK.(TEEN HATH NAKA) - AGARKAR CHK.,3
|
||||||
|
5041,BEST,504,WADALA DEPOT - JALVAYU VIHAR(KHARGHAR),3
|
||||||
|
5051,BEST,505,BANDRA BUS STN(W) - C.B.D. BELAPUR BUS STN.,3
|
||||||
|
5061,BEST,506,JIJAMATA UDN. - NERUL RLY. STN.,3
|
||||||
|
5101,BEST,510,BARVE NGR. - M.I.D.C.ELECTRONIC ZONE,3
|
||||||
|
5211,BEST,521,VASANTRAO NAIK CHK. - KOPAR KHAIRANE EXTN.,3
|
||||||
|
5331,BEST,533,ANDHERI BUS STN.(W) - VASHI SECT.19,3
|
||||||
|
6010,BEST,601,MALAD STN-E(PODDAR PARK) - VADARPADA,3
|
||||||
|
6050,BEST,605,BHANDUP STN.(W) - TEMBIPADA,3
|
||||||
|
6080,BEST,608,KANJUR MARG STN.(W) - HANUMAN NGR.,3
|
||||||
|
7015,BEST,701,KANDIVLI BUS STN.( E ) - KANDIVLI BUS STN.( E ),3
|
||||||
|
7021,BEST,702,BORIVLI STN(E) - GHODBUNDER VILLAGE,3
|
||||||
|
7035,BEST,703,SAMATA NGR.BUS STN.(KANDIVLI-E) - SAMATA NGR.BUS STN.(KANDIVLI-E),3
|
||||||
|
7071,BEST,707,SANTACRUZ DEPOT - BHAYANDER PHATAK(POLICE CHKY),3
|
||||||
|
7085,BEST,708,DAMU NGR.BUS STN. - DAMU NGR.BUS STN.,3
|
||||||
|
7091,BEST,709,MAGATHANE DEPOT - BHAYANDER STN.(E),3
|
||||||
|
6214,BEST,621,MALAD STN-W(ANAND MARG CHKY) - MALAD STN-W(ANAND MARG CHKY),3
|
||||||
|
6240,BEST,624,MALAD STN-E(PODDAR PARK) - ANAND NAGAR (APPAPADA MALAD-E),3
|
||||||
|
6270,BEST,627,ANDHERI STN.(W) (KUMKUM) - MORA VILLAGE,3
|
||||||
|
8021,BEST,SPL,CHH. SHIVAJI TERMINUS(BHATIA) - WORLD TRADE CENTRE,3
|
||||||
|
5241,BEST,524,BORIVLI STN(E) - VASHI SECT.19,3
|
||||||
|
2474,BEST,247,BORIVLI BUS STN(W) - BORIVLI BUS STN(W),3
|
||||||
|
2770,BEST,277,KANDIVLI STN.(W) - BORIVLI STN(W),3
|
||||||
|
4130,BEST,413,KUNCHI KURVE NGR. - SANTACRUZ STN (E),3
|
||||||
|
4031,BEST,403,MHADA CLY.BUS STN.(MULUND-E) - AGARKAR CHK.,3
|
||||||
|
3961,BEST,396,MULUND-W CHECK NAKA BUS STN. - AGARKAR CHK.,3
|
||||||
|
0550,BEST,055,WORLI DEPOT - SHRAWAN YESHWANTE CHK.,3
|
||||||
|
0600,BEST,60,MAHARANA PRATAP CHK. - KURLA BUS STN (E),3
|
||||||
|
4091,BEST,409,MULUND DEPOT - SAHAR CARGO COMPLEX,3
|
||||||
|
0560,BEST,56,WORLI VILLAGE - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
0570,BEST,57,KAMLA NEHRU PARK - P.THAKRE UDN.BUS STN.,3
|
||||||
|
4220,BEST,422,MULUND-W CHECK NAKA BUS STN. - BANDRA BUS STN(W),3
|
||||||
|
6110,BEST,611,MALAD STN-E(PODDAR PARK) - DINDOSHI BUS STN.,3
|
||||||
|
4460,BEST,446,KURLA STN (W) - BAMANDAYA PADA,3
|
||||||
|
1100,BEST,110,COM.P.K.KURNE CHK. - SANGAM NGR.,3
|
||||||
|
2690,BEST,269,MADH JETTY - BORIVLI BUS STN(W),3
|
||||||
|
2510,BEST,251,ANDHERI STN.(W) (KUMKUM) - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
4310,BEST,431,KURLA BUS STN (E) - TATA POWER CENTRE(CHEMBUR),3
|
||||||
|
1054,BEST,105,KAMLA NEHRU PARK - KAMLA NEHRU PARK,3
|
||||||
|
4300,BEST,430,MAHUL VILLAGE - GHATKOPAR BUS STN./GKD,3
|
||||||
|
3591,BEST,359,JARIMARI - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
3720,BEST,372,SHIVAJI NGR.TERMINUS - SHIVAJI NGR.DEPOT,3
|
||||||
|
4891,BEST,489,SHIVAJI NGR.DEPOT - DAHISAR BRIDGE,3
|
||||||
|
4210,BEST,421,GHATKOPAR BUS STN./GKD - FILTER PADA,3
|
||||||
|
4354,BEST,435,AGARKAR CHK. - AGARKAR CHK.,3
|
||||||
|
4050,BEST,405,MULUND RLY.STN.(W) - YOGI HILLS (MULUND-W),3
|
||||||
|
4340,BEST,434,AGARKAR CHK. - BAMANDAYA PADA,3
|
||||||
|
0097,BEST,AS-,DR.SHAMAPRASAD MUKHERJI CHK. - GHATKOPAR STN.(E)-1,3
|
||||||
|
4617,BEST,AS-,MULUND-W CHECK NAKA BUS STN. - BORIVLI BUS STN(W),3
|
||||||
|
5131,BEST,513,GAWANPADA FIRE BRIGADE(MULUND-E) - VASHI RAILWAY STN.,3
|
||||||
|
3160,BEST,316,BANDRA RLY.TERMINUS - BANDRA CLY.BUS STN,3
|
||||||
|
2884,BEST,288,KANDIVLI BUS STN.( E ) - KANDIVLI BUS STN.( E ),3
|
||||||
|
0047,BEST,AS-,BACKBAY DEPOT - OSHIWARA DEPOT,3
|
||||||
0010,BEST,1,R.C.CHURCH - BND RECLAMATION BUS STN.,3
|
0010,BEST,1,R.C.CHURCH - BND RECLAMATION BUS STN.,3
|
||||||
|
3340,BEST,334,GHATKOPAR STN.(W) - MAROL DEPOT,3
|
||||||
|
3551,BEST,355,TROMBAY - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
4227,BEST,AS-,MULUND-W CHECK NAKA BUS STN. - AGARKAR CHK.,3
|
||||||
|
4401,BEST,440,WADALA DEPOT - BORIVLI STN(E),3
|
||||||
|
2210,BEST,221,ANDHERI STN.(W) (KUMKUM) - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
0191,BEST,19L,MANTRALAYA - SHIVAJI NGR.DEPOT,3
|
||||||
|
6074,BEST,607,BHANDUP STN.(W) - BHANDUP STN.(W),3
|
||||||
|
6034,BEST,603,AMRUT NGR. - AMRUT NGR.,3
|
||||||
|
2970,BEST,297,BORIVLI STN(E) - KOKANIPADA EXTN.,3
|
||||||
|
2684,BEST,268,ANDHERI BUS STN.(W) - ANDHERI BUS STN.(W),3
|
||||||
|
3660,BEST,366,KURLA BUS STN (E) - SHIVAJI NGR.TERMINUS,3
|
||||||
|
0590,BEST,59,VEER KOTWAL UDN. (PLAZA) - KURLA BUS STN (E),3
|
||||||
|
0211,BEST,21L,R.C.CHURCH - TROMBAY,3
|
||||||
|
3260,BEST,326,KURLA STN (W) - SHIVSHAI PRAKALP/MANTRI PARK,3
|
||||||
|
3270,BEST,327,GOREGAON STN(E) - SHIVSHAI PRAKALP/MANTRI PARK,3
|
||||||
|
3770,BEST,377,"KURLA BUS STN (E) - S.R.A.CLY.,MANKHURD(LALLUBHAI COM",3
|
||||||
|
1810,BEST,181,ANTOP HILL EXTN. - SEEPZ BUS STN.,3
|
||||||
|
4510,BEST,451,GOREGAON STN(E) - ADARSH NGR.,3
|
||||||
|
4120,BEST,412,MULUND RLY.STN.(W) - GHATI PADA,3
|
||||||
|
1850,BEST,185,KANNAMWAR NGR.NO 2 - AGARKAR CHK.,3
|
||||||
|
2290,BEST,229,SANTACRUZ DEPOT - SHANTI ASHRAM,3
|
||||||
|
3402,BEST,340,BARVE NGR. - AGARKAR CHK.,3
|
||||||
|
6194,BEST,619,SANTACRUZ STN (E) - SANTACRUZ STN (E),3
|
||||||
|
3170,BEST,317,BANDRA RLY.TERMINUS - TATA CLY.,3
|
||||||
|
4491,BEST,449,DHARAVI DEPOT - KANDIVLI BUS STN.( E ),3
|
||||||
|
7061,BEST,706,MAROL DEPOT - BHAYANDER STN.(E),3
|
||||||
|
4000,BEST,400,SAMATA NGR.BUS STN.(KANDIVLI-E) - BORIVLI STN(E),3
|
||||||
|
2130,BEST,213,P.THAKRE UDN.BUS STN. - SANTACRUZ STN (E),3
|
||||||
|
1004,BEST,100,"AHILYABAI HOLKAR CHK.,EROSS CINEMA - AHILYABAI HOLKAR CHK.",3
|
||||||
|
2500,BEST,250,ANDHERI STN.(W) ( M.A ) - GILBERT HILL(PANCHAM SCTY.),3
|
||||||
|
0017,BEST,AS-,BACKBAY DEPOT - CADBURY JN.(THANE),3
|
||||||
|
3710,BEST,371,BANDRA BUS STN(W) - ANUSHAKTI NGR.,3
|
||||||
|
2830,BEST,283,KANDIVLI STN.(W) - SANTOSH NGR.(KANDIVALI-W),3
|
||||||
|
4481,BEST,448,PRATIKSHA NGR.DEPOT - BORIVLI STN(E),3
|
||||||
|
2624,BEST,262,GOREGAON BUS STN(W) - GOREGAON BUS STN(W),3
|
||||||
|
3860,BEST,386,GHATKOPAR STN.(W) - NAGBABA MANDIR (KAILAS COMPLEX),3
|
||||||
|
0412,BEST,41E,FERRY WHARF - FERRY WHARF,3
|
||||||
|
3460,BEST,346,GOREGAON STN(E) - SHIVSHAI PRAKALP/MANTRI PARK,3
|
||||||
|
2080,BEST,208,BORIVLI BUS STN(W) - SARASWATI COMPLEX(DAHISAR),3
|
||||||
|
2360,BEST,236,ANDHERI BUS STN.(W) - S.R.A.RAM MANDIR/SOMANIGRAM,3
|
||||||
|
3350,BEST,335,AGARKAR CHK. - SANGHARSH NGR.(CHANDIVLI),3
|
||||||
|
2760,BEST,276,KANDIVLI STN.(W) - CHARKOP SECT.NO.8,3
|
||||||
|
1560,BEST,156,SIMLA HOUSE - BYCULLA STN.(W),3
|
||||||
|
1700,BEST,170,ANTOP HILL EXTN. - RANI LAXMIBAI CHK.,3
|
||||||
|
3380,BEST,338,AGARKAR CHK. - SAHAR CARGO COMPLEX,3
|
||||||
|
2901,BEST,290,SEEPZ BUS STN. - POISAR DEPOT,3
|
||||||
|
3950,BEST,395,SANTACRUZ STN (E) - BAMANDAYA PADA,3
|
||||||
|
4950,BEST,495,GAWANPADA FIRE BRIGADE(MULUND-E) - THANE STN.(E),3
|
||||||
|
2844,BEST,284,BORIVLI BUS STN(W) - BORIVLI BUS STN(W),3
|
||||||
|
0530,BEST,53,WORLI DEPOT - LOKMANYA TILAK TERMINUS,3
|
||||||
|
4531,BEST,453,WADALA DEPOT - LOKMANYA NGR.(THANE),3
|
||||||
|
4040,BEST,404,GHATKOPAR STN.(E)-1 - SHIVAJI NGR.DEPOT,3
|
||||||
|
2930,BEST,293,BORIVLI STN(E) - JAGERDEV COMPOUND,3
|
||||||
|
2231,BEST,223,SEVEN BUNGALOWS BUS STN. - SAMATA NGR.BUS STN.(KANDIVLI-E),3
|
||||||
|
2804,BEST,280,KANDIVLI STN.(W) - KANDIVLI STN.(W),3
|
||||||
|
3780,BEST,378,TROMBAY - MANKHURD STN.(SOUTH),3
|
||||||
|
5251,BEST,525,DINDOSHI BUS STN. - VASHI SECT.19,3
|
||||||
|
7001,BEST,700,BORIVLI STN(E) - THANE STN.(E),3
|
||||||
|
1740,BEST,174,VEER KOTWAL UDN. (PLAZA) - BHARANI NAKA (ANTOP HILL),3
|
||||||
|
4060,BEST,406,GHATKOPAR STN.(E)-1 - RAILWAY POLICE CLY.(GHATKOPAR,3
|
||||||
|
0037,BEST,AS-,NEHRU PLANETARIUM - CADBURY JN.(THANE),3
|
||||||
|
6020,BEST,602,KANJUR MARG STN.(W) - HIRANANDANI POWAI BUS STN.,3
|
||||||
|
3840,BEST,384,BANDRA BUS STN(W) - GHATKOPAR BUS STN./GKD,3
|
||||||
|
7007,BEST,AS-,MAGATHANE DEPOT - THANE STN.(E),3
|
||||||
|
0057,BEST,AS-,BKC TEL.EXCHANGE - CADBURY JN.(THANE),3
|
||||||
|
0201,BEST,20L,DR.SHAMAPRASAD MUKHERJI CHK. - SHIVAJI NGR.DEPOT,3
|
||||||
|
3040,BEST,304,KURLA STN (W) - SANTACRUZ DEPOT,3
|
||||||
|
2370,BEST,237,CHARKOP SECT.NO.8 - BORIVLI BUS STN(W),3
|
||||||
|
2630,BEST,263,SADBHAKTI MANDIR - SEEPZ BUS STN.,3
|
||||||
|
4330,BEST,433,VIDYA VIHAR BUS STN(W) - SANTACRUZ STN (E),3
|
||||||
|
3360,BEST,336,J.V.P.D.BUS STN. - VIDYA VIHAR BUS STN(W),3
|
||||||
|
4190,BEST,419,GHATKOPAR BUS STN./GKD - SANGHARSH NGR.(CHANDIVLI),3
|
||||||
|
4420,BEST,442,SADBHAKTI MANDIR - MHADA CLY.(MAJAS),3
|
||||||
|
4981,BEST,498,SANGHARSH NGR.(CHANDIVLI) - BORIVLI STN(E),3
|
||||||
|
4991,BEST,499,GHATKOPAR BUS STN./GKD - VRINDAVAN SCTY.(THANE),3
|
||||||
|
7101,BEST,710,JAY MAHARASHTRANGR. - BHAYANDER RLY.STN.(W),3
|
||||||
|
4070,BEST,407,KELKAR COLLEGE - NIMKAR SCTY.,3
|
||||||
|
4971,BEST,497,GHATKOPAR BUS STN./GKD - LOKMANYA NGR.(THANE),3
|
||||||
|
5221,BEST,522,MAROL DEPOT - VASHI RAILWAY STN.,3
|
||||||
|
5021,BEST,502,WADALA DEPOT - NERUL SECT.-46/48,3
|
||||||
|
6150,BEST,615,RANI LAXMIBAI CHK. - SANTACRUZ STN (E),3
|
||||||
|
2292,BEST,229,ASHOK NGR. - BORIVLI BUS STN(W),3
|
||||||
|
0324,BEST,32 ,GOREGAON BUS STN(W) - GOREGAON BUS STN(W),3
|
||||||
|
2330,BEST,233,BORIVLI STN(E) - CHOGLE NGR.,3
|
||||||
|
4730,BEST,473,BANDRA BUS STN(W) - MAHUL VILLAGE,3
|
||||||
|
5191,BEST,519,DEONAR DEPOT - GHANSOLI VILLAGE,3
|
||||||
|
0027,BEST,AS-,BACKBAY DEPOT - DAHISAR BUS STN.,3
|
||||||
|
5057,BEST,AS-,SANTACRUZ DEPOT - C.B.D. BELAPUR BUS STN.,3
|
||||||
|
0138,BEST,A-1,BACKBAY DEPOT - HIRANANDANI EST.,3
|
||||||
|
4630,BEST,463,WORLI DEPOT - CHEMBUR CLY.,3
|
||||||
|
5141,BEST,514,MULUND-W CHECK NAKA BUS STN. - L & T INFOTECH(MAHAPE),3
|
||||||
|
7181,BEST,718,DINDOSHI BUS STN. - BHAYANDER STN.(E),3
|
||||||
|
5037,BEST,AS-,WADALA DEPOT - KALAMBOLI BUS STN,3
|
||||||
|
7077,BEST,AS-,SANTACRUZ DEPOT - MAXUS MALL (BHAYANDER-W),3
|
||||||
|
5031,BEST,503,RANI LAXMIBAI CHK. - KALAMBOLI BUS STN,3
|
||||||
|
0708,BEST,A-7,NEHRU PLANETARIUM - MIRA RD.STN.(E),3
|
||||||
|
5517,BEST,AS-,AGARKAR CHK. - VASHI BUS STN.,3
|
||||||
|
5257,BEST,AS-,DINDOSHI BUS STN. - L & T INFOTECH(MAHAPE),3
|
||||||
|
2300,BEST,230,P.THAKRE NGR.BUS STN. - SAMBHAJI NGR.(DAHISAR-E),3
|
||||||
|
6640,BEST,664,AGARKAR CHK. - SAMARTH NGR.,3
|
||||||
|
4587,BEST,AS-,MULUND DEPOT - P.THAKRE NGR.BUS STN.,3
|
||||||
|
4691,BEST,469,MULUND-W CHECK NAKA BUS STN. - GOREGAON DEPOT,3
|
||||||
|
5927,BEST,AS-,VASANTRAO NAIK CHK. - L & T INFOTECH(MAHAPE),3
|
||||||
|
3887,BEST,AS-,GHATKOPAR BUS STN./GKD - POISAR DEPOT,3
|
||||||
|
0680,BEST,68,NAVY NGR. - WORLI DEPOT,3
|
||||||
|
4407,BEST,AS-,WADALA DEPOT - BORIVLI STN(E),3
|
||||||
|
2344,BEST,234,JOGESHWARI BUS STN - JOGESHWARI BUS STN,3
|
||||||
|
5127,BEST,AS-,MULUND-W CHECK NAKA BUS STN. - NERUL RLY. STN.,3
|
||||||
|
3027,BEST,AS-,MAHIM BUS STN. - CADBURY JN.(THANE),3
|
||||||
|
5247,BEST,AS-,BORIVLI STN(E) - C.B.D. BELAPUR BUS STN.,3
|
||||||
|
4941,BEST,494,VIKHROLI DEPOT - RETI BUNDER - KHARIGAON(KALWA),3
|
||||||
|
4931,BEST,493,ANUSHAKTI NGR.BUS STN. - DADLANI PARK (THANE-W),3
|
||||||
|
4911,BEST,491,SEEPZ BUS STN. - BRAHMAND AZAD NGR.BUS STN,3
|
||||||
|
5091,BEST,509,ANTOP HILL BUS STN. - MILLENNIUM BUSINESS PARK,3
|
||||||
|
4791,BEST,479,SHIVAJI NGR.DEPOT - GOREGAON BUS STN(W),3
|
||||||
|
5157,BEST,AS-,SANTACRUZ DEPOT - C.B.D. BELAPUR BUS STN.,3
|
||||||
|
0750,BEST,75,ANTOP HILL BUS STN. - TATA CLY.,3
|
||||||
|
4504,BEST,450,GOREGAON STN(E) - GOREGAON STN(E),3
|
||||||
|
4441,BEST,444,GHATKOPAR BUS STN./GKD - GOREGAON DEPOT,3
|
||||||
|
6090,BEST,609,VIDYA VIHAR BUS STN(W) - KOHINOOR HOSPITAL,3
|
||||||
|
2784,BEST,278,POISAR DEPOT - POISAR DEPOT,3
|
||||||
|
0748,BEST,A-7,COLABA DEPOT - GOREGAON DEPOT,3
|
||||||
|
1630,BEST,163,P.THAKRE UDN.BUS STN. - WORLI DEPOT,3
|
||||||
|
4230,BEST,423,MANGATRAM PETROLPUMP - MAROL DEPOT,3
|
||||||
|
6320,BEST,632,KURLA STN (W) - SUNDER BAUG (KAMANI),3
|
||||||
|
2950,BEST,295,KANDIVLI STN.(W) - DATTANI GRAM(KANDIVLI-W),3
|
||||||
|
0661,BEST,66L,COLABA DEPOT - DHARAVI DEPOT,3
|
||||||
|
5181,BEST,518,SHIVAJI NGR.DEPOT - GHANSOLI VILLAGE,3
|
||||||
|
1574,BEST,157,GRANT RD STN.(W) - GRANT RD STN.(W),3
|
||||||
|
6630,BEST,663,MAHUL VILLAGE - TROMBAY,3
|
||||||
|
4810,BEST,481,GHATKOPAR BUS STN./GKD - VASHINAKA M.M.R.D.A.CLY.,3
|
||||||
|
5451,BEST,545,AGARKAR CHK. - AIROLI BUS STN.,3
|
||||||
|
4260,BEST,426,VIDYA VIHAR BUS STN(W) - FILTER PADA,3
|
||||||
|
0758,BEST,A-7,COLABA DEPOT - HIRANANDANI GARDEN,3
|
||||||
|
5001,BEST,500,VIKHROLI DEPOT - AIROLI BUS STN.,3
|
||||||
|
7201,BEST,720,P.THAKRE NGR.BUS STN. - BHAYANDER STN.(E),3
|
||||||
|
7051,BEST,705,JAY MAHARASHTRANGR. - WESTERN PARK,3
|
||||||
|
4540,BEST,454,SEVEN BUNGALOWS BUS STN. - SHIVSHAI PRAKALP/MANTRI PARK,3
|
||||||
|
6300,BEST,630,KHAR STN (W) - SANTACRUZ STN (W),3
|
||||||
|
2180,BEST,218,KURLA STN (W) - BANDRA RLY.TERMINUS,3
|
||||||
|
4560,BEST,456,SHIVSHAI PRAKALP/MANTRI PARK - MALVANI DEPOT/ GAIKWAD NGR.,3
|
||||||
|
0426,BEST,C-4,RANI LAXMIBAI CHK. - DADLANI PARK (THANE-W),3
|
||||||
|
0716,BEST,C-7,MAHIM BUS STN. - MIRA RD.STN.(E),3
|
||||||
|
4841,BEST,484,MHADA CLY.BUS STN.(MULUND-E) - PAWAR NGR.BUS STN.(THANE),3
|
||||||
|
0261,BEST,26L,MUMBAI CENTRAL DEPOT - MAHUL VILLAGE,3
|
||||||
|
0171,BEST,17L,BACKBAY DEPOT - VIDYA VIHAR BUS STN(W),3
|
||||||
|
0768,BEST,A-7,COLABA DEPOT - GORAI DEPOT,3
|
||||||
|
0778,BEST,A-7,BKC TEL.EXCHANGE - GORAI DEPOT,3
|
||||||
|
4641,BEST,464,MAROL DEPOT - P.THAKRE NGR.BUS STN.,3
|
||||||
|
5171,BEST,517,SANTACRUZ STN (E) - VASHI SECT.19,3
|
||||||
|
6224,BEST,622,MALAD STN-W(SAINATH MARG CHKY) - MALAD STN-W(SAINATH MARG CHKY),3
|
||||||
|
4701,BEST,470,GHATKOPAR BUS STN./GKD - BORIVLI STN(E),3
|
||||||
|
0090,BEST,9,COLABA BUS STN. - NADKARNI PARK,3
|
||||||
|
0126,BEST,C-1,SANTACRUZ DEPOT - DAHISAR BUS STN.,3
|
||||||
|
0536,BEST,C-5,GHATKOPAR BUS STN./GKD - KALAMBOLI BUS STN,3
|
||||||
|
0606,BEST,C-6,DEONAR DEPOT - BORIVLI STN(E),3
|
||||||
|
0726,BEST,C-7,RANI LAXMIBAI CHK. - BHAYANDER STN.(E),3
|
||||||
|
0616,BEST,C-6,MULUND DEPOT - MIRA RD.STN.(E),3
|
||||||
|
0626,BEST,C-6,MULUND-W CHECK NAKA BUS STN. - GORAI DEPOT,3
|
||||||
|
0526,BEST,C-5,WADALA DEPOT - KALAMBOLI BUS STN,3
|
||||||
|
0436,BEST,C-4,RANI LAXMIBAI CHK. - MUMBRA POLICE STN.,3
|
||||||
|
2622,BEST,262,GOREGAON BUS STN(W) - GOREGAON BUS STN(W),3
|
||||||
|
0556,BEST,C-5,G.S.CLY. - JALVAYU VIHAR(KHARGHAR),3
|
||||||
|
2190,BEST,219,BANDRA RLY.TERMINUS - SANTACRUZ STN (E),3
|
||||||
|
2390,BEST,239,POISAR DEPOT - CHARKOP SEC.NO.9/AKSHARA VIDYALAYA,3
|
||||||
|
3904,BEST,390,GHATKOPAR STN.(W) - GHATKOPAR STN.(W),3
|
||||||
|
4380,BEST,438,DINDOSHI BUS STN. - DAHISAR BUS STN.,3
|
||||||
|
8031,BEST,SPL,COLABA BUS STN. - MAHATMA PHULE MARKET,3
|
||||||
|
1062,BEST,106,R.C.CHURCH - AHILYABAI HOLKAR CHK.,3
|
||||||
|
0118,BEST,,NAVY NGR. - RANI LAXMIBAI CHK.,3
|
||||||
|
2106,BEST,SPA,BND RECLAMATION BUS STN. - BORIVLI BUS STN(W),3
|
||||||
|
1640,BEST,164,MAHARANA PRATAP CHK. - DHARAVI DEPOT,3
|
||||||
|
8051,BEST,SPL,MAHATMA PHULE MARKET - N.C.P.A.,3
|
||||||
|
2914,BEST,291,KANDIVLI STN.(W) - KANDIVLI STN.(W),3
|
||||||
|
2920,BEST,292,BORIVLI BUS STN(W) - SHIMPOLI VILLAGE,3
|
||||||
|
4770,BEST,477,BORIVLI RLY.COMPOUND RD(E) - RUSHIVAN,3
|
||||||
|
4650,BEST,465,SADBHAKTI MANDIR - GOREGAON STN-E,3
|
||||||
|
4921,BEST,492,SEEPZ BUS STN. - WAGHBILGAON,3
|
||||||
|
0030,BEST,3,NAVY NGR. - JIJAMATA UDN.,3
|
||||||
|
0032,BEST,3-E,NAVY NGR. - JIJAMATA UDN.,3
|
||||||
|
0172,BEST,17 ,BACKBAY DEPOT - VIDYA VIHAR BUS STN(W),3
|
||||||
|
1082,BEST,108,CHH. SHIVAJI TERMINUS(BHATIA) - KAMLA NEHRU PARK,3
|
||||||
|
1372,BEST,137,NAVY NGR. - NAVY NGR.,3
|
||||||
|
0852,BEST,85-,HUTATMA CHK./MUMBAI UNIVERSITY - CHUNABHATTI BUS TERMINUS,3
|
||||||
|
4212,BEST,421,GHATKOPAR BUS STN./GKD - MHADA CLY.(CHANDIVLI),3
|
||||||
|
5063,BEST,506,JIJAMATA UDN. - KOPAR KHAIRANE EXTN.,3
|
||||||
|
3132,BEST,313,KURLA STN (W) - AIR INDIA QUARTERS,3
|
||||||
|
0043,BEST,4LT,HUTATMA CHK./MUMBAI UNIVERSITY - VESAVA-YARI RD.BUS STN.,3
|
||||||
|
0139,BEST,A-1,BACKBAY DEPOT - LODHA COMPLEX,3
|
||||||
|
1580,BEST,158,BYCULLA STN.(W) - RAM GANESH GADKARI CHK.,3
|
||||||
|
0541,BEST,54-,COLABA BUS STN. - SANTACRUZ DEPOT,3
|
||||||
|
1750,BEST,175,SANGAM NGR. - RANI LAXMIBAI CHK.,3
|
||||||
|
4141,BEST,414,MUMBAI CENTRAL DEPOT - MAJAS DEPOT/SHYAM NGR.,3
|
||||||
|
5081,BEST,508,DR.AMBEDKAR GARDEN - NERUL SECT.-46/48,3
|
||||||
|
6100,BEST,610,KURLA BUS STN (E) - BUNTARA BHAVAN,3
|
||||||
|
1672,BEST,167,WORLI DEPOT - WORLI DEPOT,3
|
||||||
|
8111,BEST,811,BREACH CANDY HOSPITAL - BYCULLA STN.(W),3
|
||||||
|
0116,BEST,SPA,NAVY NGR. - RANI LAXMIBAI CHK.,3
|
||||||
|
3736,BEST,SPA,BND RECLAMATION BUS STN. - GAWANPADA,3
|
||||||
|
8126,BEST,812,CHH. SHIVAJI TERMINUS - CHH. SHIVAJI TERMINUS,3
|
||||||
|
8136,BEST,813,CHH. SHIVAJI TERMINUS - CHH. SHIVAJI TERMINUS,3
|
||||||
|
0770,BEST,77,J.MEHTA MARG - P.THAKRE UDN.BUS STN.,3
|
||||||
|
3082,BEST,308,VIDYA VIHAR BUS STN(W) - SAHAR CARGO COMPLEX,3
|
||||||
|
4703,BEST,470,GHATKOPAR STN.(W) - AGARKAR CHK.,3
|
||||||
|
6250,BEST,625,MALAD STN-E(PODDAR PARK) - ALIKA NGR.,3
|
||||||
|
5259,BEST,AS-,DINDOSHI BUS STN. - KOPAR KHAIRANE,3
|
||||||
|
0466,BEST,C-4,MAROL DEPOT - LODHA COMPLEX,3
|
||||||
|
0456,BEST,C-4,GHATKOPAR BUS STN./GKD - BRAHMAND AZAD NGR.BUS STN,3
|
||||||
|
0446,BEST,C-4,SEEPZ BUS STN. - PAWAR NGR.BUS STN.(THANE),3
|
||||||
|
0332,BEST,33-,WORLI DEPOT - GOREGAON BUS STN(W),3
|
||||||
|
4270,BEST,427,GHATKOPAR STN.(W) - VIHAR LAKE,3
|
||||||
|
2700,BEST,270,MALAD STN-W(SAINATH MARG CHKY) - MAHAPALIKA PUMPING CENTRE (MALVANI),3
|
||||||
|
5161,BEST,516,DEONAR DEPOT - JALVAYU VIHAR(KHARGHAR),3
|
||||||
|
0580,BEST,58,WADALA TRUCK TERMINAL - KURLA BUS STN (E),3
|
||||||
|
3483,BEST,348,ANIK DEPOT - DAHISAR BUS STN.,3
|
||||||
|
6284,BEST,628,BORIVLI STN(E) - BORIVLI STN(E),3
|
||||||
|
4280,BEST,428,VIKHROLI DEPOT - SADBHAKTI MANDIR,3
|
||||||
|
8161,BEST,816,BORIVLI STN(E) - KANHERI CAVES,3
|
||||||
|
2160,BEST,216,BANDRA BUS STN(W) - KHAR STN (W),3
|
||||||
|
1824,BEST,182,BANDRA RLY.TERMINUS - BANDRA RLY.TERMINUS,3
|
||||||
|
1827,BEST,AS-,BANDRA RLY.TERMINUS - BANDRA RLY.TERMINUS,3
|
||||||
|
1830,BEST,183,KURLA STN (W) - M.M.R.D.A./FAMILY COURT,3
|
||||||
|
1837,BEST,AS-,KURLA STN (W) - M.M.R.D.A./FAMILY COURT,3
|
||||||
|
0442,BEST,44-,COLABA BUS STN. - FERRY WHARF,3
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -67,9 +67,9 @@ def areas(request):
|
||||||
def stops(request):
|
def stops(request):
|
||||||
q = request.GET.get("q", "")
|
q = request.GET.get("q", "")
|
||||||
if q != '':
|
if q != '':
|
||||||
qset = Stop.objects.find_approximate(q, TRIGRAM_THRESHOLD).select_related()
|
qset = Stop.objects.find_approximate(q, TRIGRAM_THRESHOLD).select_related('road', 'area')
|
||||||
else:
|
else:
|
||||||
qset = Stop.objects.all().select_related()
|
qset = Stop.objects.all().select_related('road', 'area')
|
||||||
srid = int(request.GET.get("srid", 4326))
|
srid = int(request.GET.get("srid", 4326))
|
||||||
return render_to_json_response({
|
return render_to_json_response({
|
||||||
'type': 'FeatureCollection',
|
'type': 'FeatureCollection',
|
||||||
|
|
0
chaloBEST/mumbaitrains/__init__.py
Normal file
0
chaloBEST/mumbaitrains/__init__.py
Normal file
32
chaloBEST/mumbaitrains/models.py
Normal file
32
chaloBEST/mumbaitrains/models.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
from django.contrib.gis.db import models
|
||||||
|
|
||||||
|
|
||||||
|
LINE_CHOICES = (
|
||||||
|
('Western', 'Western'),
|
||||||
|
('Central', 'Central'),
|
||||||
|
('Harbour', 'Harbour'),
|
||||||
|
)
|
||||||
|
|
||||||
|
class Train(models.Model):
|
||||||
|
number = models.CharField(max_length=128)
|
||||||
|
line = models.CharField(max_length=128, choices=LINE_CHOICES, db_index=True)
|
||||||
|
stations = models.ManyToManyField("Station", through='TrainStation')
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.number
|
||||||
|
|
||||||
|
class Station(models.Model):
|
||||||
|
name = models.CharField(max_length=128)
|
||||||
|
point = models.PointField(null=True, blank=True)
|
||||||
|
# line = models.CharField(choices=LINE_CHOICES, db_index=True)
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
class TrainStation(models.Model):
|
||||||
|
train = models.ForeignKey(Train)
|
||||||
|
station = models.ForeignKey(Station)
|
||||||
|
serial = models.IntegerField()
|
||||||
|
time = models.TimeField()
|
||||||
|
|
||||||
|
# Create your models here.
|
52
chaloBEST/mumbaitrains/parse.py
Normal file
52
chaloBEST/mumbaitrains/parse.py
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
from pyquery import PyQuery as pq
|
||||||
|
from models import *
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
BASE_URL = 'http://mumbailifeline.com/'
|
||||||
|
|
||||||
|
'''
|
||||||
|
eg.:
|
||||||
|
>>>parseURL('http://mumbailifeline.com/timetable.php?sel_route=central&sfrom=Mumbai_CST&sto=Masjid&time1=4:00%20am&time2=11:59%20PM', Central')
|
||||||
|
'''
|
||||||
|
def parseURL(url, line):
|
||||||
|
d = pq(url=url)
|
||||||
|
table = d('#gradient-style')
|
||||||
|
trs = table.find('tr')
|
||||||
|
for i in range(1,len(trs)):
|
||||||
|
thisTr = trs[i]
|
||||||
|
td = thisTr.getchildren()[0]
|
||||||
|
a = td.find('a')
|
||||||
|
trainNo = a.text.strip()
|
||||||
|
print "Saving %s ... " % trainNo
|
||||||
|
trainURL = BASE_URL + a.get('href').strip()
|
||||||
|
saveTrain(trainURL, trainNo, line)
|
||||||
|
|
||||||
|
|
||||||
|
def saveTrain(url, no, line):
|
||||||
|
train, created = Train.objects.get_or_create(number=no, line=line)
|
||||||
|
if not created:
|
||||||
|
print "Train no %s already exists in db, skipping" % no
|
||||||
|
return
|
||||||
|
train.save()
|
||||||
|
d = pq(url=url)
|
||||||
|
table = d.find('table')[3]
|
||||||
|
serial = 0
|
||||||
|
for tr in table.iterfind('tr'):
|
||||||
|
children = tr.getchildren()
|
||||||
|
if len(tr.findall('td')) > 0:
|
||||||
|
td0 = children[0]
|
||||||
|
a = td0.find('a')
|
||||||
|
stationName = a.text.strip()
|
||||||
|
station, created = Station.objects.get_or_create(name=stationName)
|
||||||
|
timeString = children[1].find('strong').text
|
||||||
|
hour = int(timeString.split(":")[0].strip()) - 1
|
||||||
|
mins = int(timeString.split(":")[1][0:2])
|
||||||
|
ampm = timeString[-2:]
|
||||||
|
if ampm == 'pm':
|
||||||
|
hour = hour + 12
|
||||||
|
stationTime = datetime.time(hour,mins)
|
||||||
|
st = TrainStation(train=train, station=station, time=stationTime, serial=serial)
|
||||||
|
st.save()
|
||||||
|
serial += 1
|
||||||
|
print "Saved %s" % no
|
||||||
|
|
16
chaloBEST/mumbaitrains/tests.py
Normal file
16
chaloBEST/mumbaitrains/tests.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
"""
|
||||||
|
This file demonstrates writing tests using the unittest module. These will pass
|
||||||
|
when you run "manage.py test".
|
||||||
|
|
||||||
|
Replace this with more appropriate tests for your application.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
|
||||||
|
class SimpleTest(TestCase):
|
||||||
|
def test_basic_addition(self):
|
||||||
|
"""
|
||||||
|
Tests that 1 + 1 always equals 2.
|
||||||
|
"""
|
||||||
|
self.assertEqual(1 + 1, 2)
|
1
chaloBEST/mumbaitrains/views.py
Normal file
1
chaloBEST/mumbaitrains/views.py
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# Create your views here.
|
|
@ -98,6 +98,7 @@ MIDDLEWARE_CLASSES = (
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
|
'debug_toolbar.middleware.DebugToolbarMiddleware'
|
||||||
)
|
)
|
||||||
|
|
||||||
ROOT_URLCONF = 'chaloBEST.urls'
|
ROOT_URLCONF = 'chaloBEST.urls'
|
||||||
|
@ -120,7 +121,9 @@ INSTALLED_APPS = (
|
||||||
# Uncomment the next line to enable admin documentation:
|
# Uncomment the next line to enable admin documentation:
|
||||||
'django.contrib.gis',
|
'django.contrib.gis',
|
||||||
'django_extensions',
|
'django_extensions',
|
||||||
|
'debug_toolbar',
|
||||||
'mumbai',
|
'mumbai',
|
||||||
|
'mumbaitrains',
|
||||||
# 'django.contrib.admindocs',
|
# 'django.contrib.admindocs',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user