MATLAB版本pos2kml

有些时候需要展示一下行车轨迹,但是直接画图结果并不直观,而且也没有环境支撑,效果并不好。而google earth提供一种公开标准的kml/kmz文件,可以通过将行车轨迹坐标转成该文件格式,从而实现基于google earth的行车轨迹展示。

rtklib已经存在pos2kml的函数及其功能,但是考虑到在matlab调用并不方便,还需要使用文本作为转换媒介,而kml文件结构也并不复杂,故此处重写了matlab版本的pos2mal,能基本实现位置展示及使用不同的颜色代表不同的属性。

使用方法如下:

pos2kml(lat,lon,hgt,att,out_file)
% brief Generate google earth kml file
% Input:    lat (nx1,double) : latitude vector
%           lon (nx1,double) : longitude vector
%           hgt (nx1,double or []) : height vector
%           att (nx1,integer or []) : attributes vector, stand for
%               different color points, only 7 color supported.
%           out_file (string) : out kml file path and name
%           opt (struct, optional): more options
%               .line(0 or 1): show or hide line between points
%                               defalut 1
%               .line_color(string): line color, html color, e.g.
%                               '#ff0000ff'
%               .line_width(double): line width, e.g. 5 , default 2

% Call Example:
%   1.  opt.line = 1; opt.line_color = '#FF00FFFF'; opt.line_width = 5;
%       pos2kml(lat,lon,[],[],'out.kml',opt);
%   2.  pos2kml(lat,lon,[],ones(length(lat),1),'out.kml');

使用范例

lat = (32+sin(0:0.1:pi))';
lon = (118+(0:0.1:pi))';
opt.line = 1; opt.line_color = '#FFF00FFF'; opt.line_width = 2;
pos2kml(lat,lon,[],[],'out.kml',opt);

该函数会直接生out.kml文件(建议添加.kml尾辍,方便google earth识别),然后使用google earth打开该文件即可。

代码已托管至github, 下载地址如下:

github/yinflying/pos2kml.m

此条目发表在CODING, 技术交流分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。