示例数据:
- # 格式为 txt 文本
- ID,L,B
- 001,116.5154,45.1154
- 001,116.5160,45.1153
- ...
- 002,xxx,xxx
- ...
目标: 建立轨迹数据结构, 即 dict{key=ID1:value=[[L,B],[L,B].....],key=ID2:value=[[L,B],[L,B].....]}, 即一个轨迹由一个 ID 和一串轨迹点组成, 其中 ID 即为 Key, 轨迹点为 Value, 格式为 list
其中 L 为大地经度, B 为大地纬度;
- vec_dict = {}
- key_list = []
- val_list = []
- # 先将数据都入到列表, ID 为一个列表, 轨迹点坐标为一个列表
- with open('tra_points_LB.txt', 'r') as f:
- for line in f.readlines():
- key = line.strip().split("\t")[0]
- val = line.strip().split("\t")[1:2]
- key_list.append(key)
- val_list.append(val)
- # 为了将经纬度坐标转为浮点型
- def safe_float(number):
- try:
- return float(number)
- except:
- return None
- # 将以上读入的到列表的数据存入字典
- for x in range(len(val_list)):
- if key_list[x] in vec_dict:
- vec_dict[key_list[x]] += [list(map(safe_float,val_list[x]))]
- else:
- vec_dict[key_list[x]] = [list(map(safe_float,val_list[x]))]
来源: http://www.bubuko.com/infodetail-3201201.html