📄 poly_fuhe.m
字号:
function poly_fuhe(e,d,sid,g,f,dir,si,ni,ed,dd,pn,x0,y0)
%符合导线闭合差计算
global pathname net_name c5_datafile
c5_datafile='_fuhe.out';
fit2=fopen(strcat(pathname,net_name,c5_datafile),'wt');
[p1,p2,s,dir12,dir21]=orientcollect(e,d,sid,g,f,dir,si,ni,ed,dd,pn);
cpp1=surveyfuhe(p1',p2',ed+dd,length(p1),s,ed);
fprintf(fit2,' 附合导线条件\n');
fprintf(fit2,'环号 闭合环点号 X坐标闭合差 Y坐标闭合差 角度闭合差 长度闭合差 相对闭合差\n');
for i=1:(size(cpp1,2))
site=cpp1{i};
temp4=[]; xx=[];%存放目标点名
temp4=find(site(1)==g);
kdir1=0;k1=0;
for k=temp4
xx=[xx f(k)];
end
kk=length(xx);
if kk>0&min(xx)<=ed %
kdir1=1;
k1=min(xx);
end
temp4=[];xx=[];%存放目标点名
temp4=find(site(end)==g);
kdir2=0;k2=0;
for k=temp4
xx=[xx f(k)];
end
kk=length(xx);
if kk>0&min(xx)<=ed
kdir2=1;
k2=min(xx);
end
k=kdir1+kdir2;
if k==0
%无定向符合导线
[closediff,err]=orientlead(3,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
elseif k==1
if kdir1==1
site=[k1 site];
else
site=[k2 site(end:1)];
end
%单定向导线
[closediff,err]=orientlead(2,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
elseif k==2
site=[k1 site k2];
%双定向导线
[closediff,err]=orientlead(1,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
end
for k=1:length(site)
site(k)=pn(site(k));
end
fprintf(fit2,'---------------------------------------------\n');
fprintf(fit2,' %4d',i,site);
fprintf(fit2,' %10.3f %10.3f %10.3f %10.3f %10.0f\n',closediff(1:5));
end
fprintf(fit2,'---------------------------------------------\n');
fclose(fit2);
open(strcat(pathname,net_name,c5_datafile));
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -