不同厂家产生的gps不同,但MALA, impulse等厂家还是比较规范,格式基本一致。
1 格式对比
厂家1:128930 1 31.865250637 118.631077136 -87.226619530 -17.247052234 -20.881583506 -19.300643625 9.146650245 -5.089975857 4.000000000 2024-12-30 07:27:49.550 1048900
厂家2:1 2021-05-21 14:44:07:000 34.19461038750 N 108.97073167117 E 457.064 M 4
从数据格式可看出,差异比较大。
2 读取
我看了我的代码,时间比较长,很好奇如何将经纬度提取出来的。时间长了有点遗忘。
用gpt生成读取代码
function data = splitData(line)
% splitData 函数用于将一行数据分割并存入数组
% 输入参数:
% line - 代表一行数据的字符串
% 输出参数:
% data - 存储分割后数据的数组
% 使用空格和冒号作为分隔符分割字符串
tokens = strsplit(line, {' ', ':'});
% 初始化数据数组
data = cell(1, length(tokens));
% 遍历分割后的字符串数组
for i = 1:length(tokens)
% 尝试将字符串转换为数值
num = str2double(tokens{i});
% 如果转换成功,存储数值;否则,存储原始字符串
if ~isnan(num)
data{i} = num;
else
data{i} = tokens{i};
end
end
end
代码测试可用,不过适应性没有我的好。
我的代码存在问题时,不同厂家格式不同,需要左if else判断。
3 小结
很简单的数据处理,花费1天时间处理。
原因:1) 之前程序未考虑拓展性,新增格式后,需要单独处理;
2)未写设计文档,时间长了,需要理清关系才能进行。
下图中是什么目标?井盖?好圆整啊!