In [ ]:
%reset
In [5]:
from datetime import datetime
import pandas as pd
import time
import csv
import math
def calculateDistance(x1,y1,x2,y2):
dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
return dist
#print calculateDistance(x1, y1, x2, y2)
with open('D:\\zzzLola\\PhD\\DataSet\\US101\\test\\100ts.txt') as file1, open('D:\\zzzLola\\PhD\\DataSet\\US101\\test\\dist_100ts.txt','w') as file_out:
reader1 = csv.reader(file1, delimiter='\t')
reader2 = list(csv.reader(open("D:\\zzzLola\\PhD\\DataSet\\US101\\test\\100ts.txt"), delimiter = "\t"))
writer = csv.writer(file_out, delimiter='\t', lineterminator='\n')
for row1 in reader1:
for row2 in reader2:
#Calculate the distance between potins that are at the same time and are not the same point
if row1[3] == row2[3] and row1[0] != row2[0]:
ts = row1[3]
vID1 = row1[0]
vID2 = row2[0]
dist = calculateDistance(float(row1[6]),float(row1[7]),float(row2[6]),float(row2[7]))
file_out.write(ts + '\t' + vID1 + '\t' + vID2 + '\t' + str(dist) + '\t' + str(row1[10]) + "\n")
In [116]:
c_names = ['timestamp', 'vID_o', 'vID_d','dist']
distances = pd.read_table('D:\\zzzLola\\PhD\\DataSet\\US101\\test\\dist.txt', sep='\t', header=None, names=c_names)
In [117]:
distances
Out[117]:
In [122]:
dist_ts = distances.groupby(['timestamp','vID_o']).mean()
In [123]:
dist_ts
Out[123]:
In [125]:
with open('D:\\zzzLola\\PhD\\DataSet\\US101\\test\\dist.txt') as dist1, open('D:\\zzzLola\\PhD\\DataSet\\US101\\test\\dist_noRep.txt','w') as file_out:
reader1 = csv.reader(dist1, delimiter='\t')
reader2 = list(csv.reader(open("D:\\zzzLola\\PhD\\DataSet\\US101\\test\\dist.txt"), delimiter = "\t"))
writer = csv.writer(file_out, delimiter='\t', lineterminator='\n')
for row1 in reader1:
for row2 in reader2:
#Calculate the distance between potins that are at the same time and are not the same point
if row1[0] == row2[0] and row1[1] == row2[2] and row1[2]==row2[1]:
file_out.write(row1[0] + '\t' + row1[1] + '\t' + row1[2] + '\t' + row1[3] + "\n")
In [ ]: