function arcgridwrite(fileName,X,Y,Z,varargin)
if nargin < 4
error('Not enough input arguments');
end
[mz,nz,zz]=size(Z);
[mx]=size(X);
[my]=size(Y);
minX=min(X(:));
minY=min(Y(:));
dx=abs(diff(X(1,:)));
dy=abs(diff(Y(:,1)));
maxDiff=0.01;
if any(diff(dx)>maxDiff) || any(diff(dy)>maxDiff)
error('X- and Y- grid spacing should be non-varying');
else
dx=dx(1);
dy=dy(1);
end
if ischar(fileName)~=1
error('First input must be a string')
elseif zz>1
error('Z must be 2-dimensional');
elseif mx~=mz
error('X, Y and Z should be same size');
elseif my~=mz
error('X, Y and Z should be same size');
elseif abs(dx-dy)>maxDiff;
error('X- and Y- grid spacing should be equal');
end
convert=0;
dc=3;
if isempty(varargin)~=1
[m1,n1]=size(varargin);
opts={'precision';'convert'};
for i=1:n1;
indi=strcmpi(varargin{i},opts);
ind=find(indi==1);
if isempty(ind)~=1
switch ind
case 1
dc=varargin{i+1};
case 2
convert=1;
end
else
end
end
end
Z(isnan(Z))=-9999;
Z=flipud(Z);
if isnumeric(dc)
dc=['%.',sprintf('%d',dc),'f'];
elseif isnumeric(dc) && dc==0
dc=['%.',sprintf('%d',dc),'d'];
end
fid=fopen(fileName,'wt');
fprintf(fid,'%s\t','ncols');
fprintf(fid,'%d\n',nz);
fprintf(fid,'%s\t','nrows');
fprintf(fid,'%d\n',mz);
fprintf(fid,'%s\t','xllcorner');
fprintf(fid,[dc,'\n'],minX);
fprintf(fid,'%s\t','yllcorner');
fprintf(fid,[dc,'\n'],minY);
fprintf(fid,'%s\t','cellsize');
fprintf(fid,[dc,'\n'],dx);
fprintf(fid,'%s\t','NODATA_value');
fprintf(fid,[dc,'\n'],-9999);
[pname,fname,ext] = fileparts(fileName);
if isempty(pname)==1;
pname=pwd;
end
if strcmpi(pname(end),filesep)~=1
pname=[pname,filesep];
end
h = waitbar(0,['Writing file: ',fname,ext...
', Please wait...']);
for i=1:mz
for j=1:nz
if j==nz
fprintf(fid,[dc,'\n'],Z(i,j));
else
fprintf(fid,[dc,'\t'],Z(i,j));
end
end
waitbar(i/mz,h,['Writing file: ',[fname,ext],...
sprintf(' %d%% complete...',round(i/mz*100))])
end
close(h)
fclose(fid);
if convert==1
if ispc~=1;
disp('"Convert" option only works on a pc')
return
end
dos(['ARC ASCIIGRID ',pname,fname,ext, ' ',...
pname,fname, ' FLOAT']);
end
天天Matlab科研工作室
- 粉丝: 4w+
- 资源: 1万+
最新资源
- Origin教程007所需练习数据
- 高速脉冲与高速计数指令.pdf
- 1.5T气缸气动式压机机械设计图纸+PPT+说明文档+技术方案资料+其它技术资料100%好用超级好的技术资料.zip
- 120°模温机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 毕设和企业适用springboot自动化仓库管理平台类及智能会议管理平台源码+论文+视频.zip
- 毕设和企业适用springboot自动化仓库管理平台类及智能电商平台源码+论文+视频.zip
- 毕设和企业适用springboot自动化仓库管理平台类及智能办公平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及企业供应链平台源码+论文+视频.zip
- 毕设和企业适用springboot自动化仓库管理平台类及智能客服系统源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及企业数字资产管理平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及企业云管理平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及视频编辑平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及视觉识别平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及视频流平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及数据处理平台源码+论文+视频.zip
- 毕设和企业适用springboot智能云服务平台类及虚拟银行平台源码+论文+视频.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈