fix
This commit is contained in:
@@ -398,10 +398,12 @@ def getfastest(df,thevalue,mode='distance'):
|
||||
dd = pd.Series(dd)
|
||||
|
||||
G = pd.concat([pd.Series([0]),dd])
|
||||
T = pd.concat([pd.Series([0]),dd])
|
||||
h = np.mgrid[0:len(tt)+1:1,0:len(tt)+1:1]
|
||||
distances = pd.DataFrame(h[1]-h[0])
|
||||
ones = 1+np.zeros(len(G))
|
||||
Ghor = np.outer(ones,G)
|
||||
Thor = np.outer(ones,T)
|
||||
Gver = np.outer(G,ones)
|
||||
Gdif = Ghor-Gver
|
||||
Gdif = np.tril(Gdif.T).T
|
||||
@@ -413,27 +415,42 @@ def getfastest(df,thevalue,mode='distance'):
|
||||
|
||||
restime = []
|
||||
distance = []
|
||||
starttimes = []
|
||||
endtime = []
|
||||
|
||||
for i in np.arange(0,len(tt)+1,1):
|
||||
restime.append(deltat*i)
|
||||
cp = np.diag(F,i).max()
|
||||
loc = np.argmax(np.diag(F,i))
|
||||
thestarttime = np.diag(Thor,i)[loc]
|
||||
starttimes.append(thestarttime)
|
||||
distance.append(cp)
|
||||
|
||||
|
||||
distance[0] = distance[1]
|
||||
|
||||
restime = np.array(restime)
|
||||
distance = np.array(distance)
|
||||
starttimes = np.array(starttimes)
|
||||
|
||||
#for i in range(len(restime)):
|
||||
# if restime[i]<thevalue*60*1000:
|
||||
# print(i,restime[i],distance[i],60*1000*thevalue)
|
||||
|
||||
d2 = 0
|
||||
|
||||
if mode == 'distance':
|
||||
d2 = griddata(distance,restime,[thevalue],method='linear',rescale=True)
|
||||
return d2[0]/1000.
|
||||
duration = griddata(distance,restime,[thevalue],method='linear',rescale=True)
|
||||
starttime = griddata(distance,starttimes,[thevalue],method='linear',rescale=True)
|
||||
distance = griddata(distance,distance,[thevalue],method='linear',rescale=True)
|
||||
endtime = starttime+duration
|
||||
print(duration,starttime,endtime)
|
||||
return duration[0]/1000.,starttime[0]/1000.,endtime[0]/1000.
|
||||
else:
|
||||
d2 = griddata(restime,distance,[thevalue*60*1000],method='linear',rescale=True)
|
||||
return d2[0]
|
||||
distance = griddata(restime,distance,[thevalue*60*1000],method='linear',rescale=True)
|
||||
starttime = griddata(restime,starttimes,[thevalue*60*1000],method='linear',rescale=True)
|
||||
duration = griddata(restime,restime,[thevalue*60*1000],method='linear',rescale=True)
|
||||
endtime = starttime+duration
|
||||
return distance[0],starttime[0]/1000.,endtime[0]/1000.
|
||||
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user