⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xyz2mif.m

📁 MATLAB语言下的(有源码):Mike Zero系列软件的前后处理 GE中岸线与MIKE岸线相互转换 Mapinfo与MIKE中数据相互转换.(对学习MIKE与学习MATLAB编程人皆有帮助,且有说
💻 M
字号:
function xyz2Mif(UserPath)
%convert the xyz data to mif, in order to display it in Google Earth.
%%
%预定义第一列为x,第二列为y,第三列为tag连接信息,第四列为水深
%打开文件
[XYZFileName,XYZFilePath]=uigetfile(strcat(UserPath,'*.xyz'),'请选择需转换的XYZ文件:');
if strcmp(XYZFilePath(length(XYZFilePath)),'\')~=1
    XYZFilePath(length(XYZFilePath)+1)='\';
end
XYZFilePathName=strcat(XYZFilePath,XYZFileName); %XYZ 文件绝对路径引用
LineName=XYZFileName(1:length(XYZFileName)-4);
MifFileName=strcat(LineName,'.Mif');
MifFilePathName=strcat(XYZFilePath,MifFileName); %Mif 文件绝对路径引用,生成的同名Mif文件存于与XYZ文件相同目录中。
MidFileName=strcat(LineName,'.Mid');
MidFilePathName=strcat(XYZFilePath,MidFileName); %Mid 文件绝对路径引用,生成的同名Mid文件存于与XYZ文件相同目录中。
Fid_XYZ=fopen(XYZFilePathName,'r');
if Fid_XYZ==-1
    error(strcat(XYZFilePathName,'无法打开!'));
end
fclose(Fid_XYZ);
%%
Fid_Mif=fopen(MifFilePathName,'w');
if Fid_Mif==-1
    error(strcat(MifFilePathName,'无法打开!'));
end
Fid_Mid=fopen(MidFilePathName,'w');
if Fid_Mid==-1
    error(strcat(MidFilePathName,'无法打开!'));
end
fclose(Fid_Mid);
%%
Fid_Str=fopen('Mifstr.txt','r');
if Fid_Str==-1
    error('Mifstr.txt无法打开!');
end
%%
%写入Mif文件头
while feof(Fid_Str)~=1
    TempStr=fgetl(Fid_Str);
    fprintf(Fid_Mif,'%s\n',TempStr);
end
fclose(Fid_Str);
%%
Data=load(XYZFilePathName,'-ascii');
X=Data(:,1);
Y=Data(:,2);
Tag_Connection=Data(:,3); %第三列为线段链接信息
clear Data;
N=length(X);
c1=1;
while c1<=N
    TempLine=[];
    c2=0;
    while (c1<=N)&&(Tag_Connection(c1)~=0)
        c2=c2+1;
        TempLine(c2,1:2)=[X(c1),Y(c1)];
        c1=c1+1;
    end
    %读入标记为0的记录行
    c2=c2+1;
    TempLine(c2,1:2)=[X(c1),Y(c1)];
    c1=c1+1;
    %
    fprintf(Fid_Mif,'Pline %.0f\n',c2);
    for c3=1:c2
        fprintf(Fid_Mif,'%.10f %.10f\n',TempLine(c3,1),TempLine(c3,2));
    end
    fprintf(Fid_Mif,'    Pen (1,2,0) \n');
end
%%
fclose(Fid_Mif);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -