最近我在B站上传了如何获取研究边界的视频,下面分享一个可以读取kml中经纬度的matlab函数,如此一来就可以获取任意区域的经纬度坐标了。
1.谷歌地球中划分区域
2.matlab读取kml文件
function [sname,lon,lat] = kml2xy(ip_kml)
% ip_kml = 'ocean_distubution.kml';
fid = fopen(ip_kml,'r');
[sname, lon, lat] = read_one_record_in_kml(fid)
end
function [sname, lon, lat] = read_one_record_in_kml(fid)
iname = 0;
while ~feof(fid)str = fgetl(fid);str(isspace(str)) = [];if strcmp(str(1:6),'<name>')sname = str(7:end-7);iname = 1;elseif strcmp(str,'<coordinates>')scoord = fgetl(fid);scoord = strrep( scoord, ',', ' ' );coord = sscanf(scoord,'%f',[3,inf]);lon = coord(1,:);lat = coord(2,:);lon = lon';lat = lat';break;endend
if iname == 0sname = NaN;lon = NaN;lat = NaN;
end
end
欢迎点赞收藏转发!