Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
            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')