2013-02-09 100 views
0

我运行一个循环,如下所示创建单独的KML文件(从几百点的数据文件)使用MATLAB GoogleEarth的工具箱的ge_scatter功能:Matlab的谷歌地球工具箱导出KML文件批量

files = dir('*.txt'); 
for k = 1:numel(files) 
Data = load(files(k).name); 
x = Data(:,1); 
y = Data(:,2); 
kmlStr = ge_scatter(x,y); 
ge_output(files(k).name,[kmlStr]) 
end 

不幸的是,使用文件(K)。名称不给一个输出(在文本文件中的名称相同),因为传统方法是写:

ge_output('filename.kml',[kmlStr]) 

但是,在这种情况下,输出文件每次更换循环运行。任何人都可以请告诉我如何运行循环,使我得到与各自的文件名输出?

感谢您的帮助!

回答

1

假设您要使用的输出的文件名是myFile。这里是你可以做的:

files = dir('*.txt'); 
for k = 1:numel(files) 
    Data = load(files(k).name); 
    x = Data(:,1); 
    y = Data(:,2); 
    kmlStr = ge_scatter(x,y); 
    ge_output(['myFile' num2str(k) '.kml'],[kmlStr]) 
end 

希望这会有所帮助。

+0

非常感谢。我宁愿写:ge_output([files(k).name'.kml'],[kmlStr])来获取文本文件的确切文件名。 – ToNoY 2013-02-09 16:34:51