• 读取经纬度坐标并存储为字典格式,即key为ID,value为轨迹点


    示例数据:

    #格式为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("	")[0]
            val = line.strip().split("	")[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]))]
    

      

  • 相关阅读:
    Weak Event模型
    Dispatcher Queue性能分析
    WPF中ControlTemplate,ItemsPanelTemplate ,DataTemplate
    事件与委托
    DataGrid: 数据项更新并保持多选
    【C#学习笔记】using 三种使用方式
    Python快捷键
    比特率和波特率
    c#winform程序退出的方法
    C#socket通信-----多线程
  • 原文地址:https://www.cnblogs.com/bristlegrass/p/11530951.html
Copyright © 2020-2023  润新知