def generate_json_all(self, name='all.json'): ret = {} users = os.listdir(self.file_path) cnt = 0 for i in range(len(users)): # 000 print(i, len(ret)) username = users[i] traj_path = os.path.join(self.file_path, username, 'Trajectory') trajs = os.listdir(traj_path) for j in range(len(trajs)): ret_traj = self.generate_json_single( os.path.join(traj_path, trajs[j])) for k in ret_traj: if len(k) < 10: continue ret[str(cnt)] = k cnt += 1 # print(ret[str(cnt)]) Json.output(ret, os.path.join(self.file_path, name)) return len(ret)
def generate_json(self, name, out_name, sample=82): if name not in ['train.csv', 'test.csv']: print('Invalid filename!!!') return data = pd.read_csv(os.path.join(self.file_path, name)) trajs = data['POLYLINE'] cnt = 0 trip = {} for i, x in enumerate(trajs): if i % sample != 0: continue tmp = self.str2traj(x) tr = self.judge(tmp) if len(tr) > 0: trip[str(cnt)] = [[float(tr[j][0]), float(tr[j][1]), int(data.TIMESTAMP.iloc[i] + 15 * j)] for j in range(len(tr))] cnt += 1 print (i, cnt) Json.output(trip, os.path.join(self.file_path, out_name)) return
print(i, len(ret)) username = users[i] traj_path = os.path.join(self.file_path, username, 'Trajectory') trajs = os.listdir(traj_path) for j in range(len(trajs)): ret_traj = self.generate_json_single( os.path.join(traj_path, trajs[j])) for k in ret_traj: if len(k) < 10: continue ret[str(cnt)] = k cnt += 1 # print(ret[str(cnt)]) Json.output(ret, os.path.join(self.file_path, name)) return len(ret) if __name__ == '__main__': file_path = '/home/yiwei/data/Geolife1.3/Data' # f = geolife(file_path) # f.generate_json_all('all.json') dic = {} cnt = 0 js = Json.load('/home/yiwei/data/Geolife1.3/Data/small.json') for k, v in js.items(): if (int(k) % 10 != 0): print(k) dic[str(cnt)] = [[float(x[0]), float(x[1]), x[2]] for x in v] cnt += 1 Json.output(dic, '/home/yiwei/data/Geolife1.3/Data/small.json')