多点距离后方交会计算程序
李德彪
主程序:PROG “DDHFJH ”
Cls:Defm 0:Defm 21: 注:先清除以前的扩充变量。再扩充21个变量,可存7个点。3的倍数,可变为6、9、12、15等。
{Z}:Z : 注:Z 为已知点个数。
Q=1:S=0:T=0:N=0:U=0:注:Q=1为顺时针,Q=-1为逆时针。此处均按顺时针。 Lbl 0:
{XYD}:U=U+1▲ Z[N+1]=X:Z[N+2]=Y:Z[N+3]=D:N=N+3:NGoto 0△ 注:依次输入测站坐标和距离
N=0:U=0:
Lbl2:
Cls:A=Z[N+1]:B=Z[N+2]:E=Z[N+3]:C=Z[N+4]:D=Z[N+5]:F=Z[N+6]
:
PROR ”HFJH ”:S=S+X:T=T+Y:U=U+1:N=N+3:NGoto 2△
“x=”:s=s÷U ▲
“Y=”:T ÷U ▲
注:以下为粗差检测,可能存在已知点不兼容或距离测错的情况。设距离限值为2cm ,如有粗差,可能会有多点反映出来,先找出差值最大点。
N=0:U=0:
Cls: Lbl 3:D=Pol(X-Z[N+1],Y-Z[N+2]):Abs(D-Z[N+3]>0.02 =>”JIAN CHA ”:U▲△
N=N+3:NGoto 3△
“END ”
子程序:PROG “HFJH ”(此程序为网上下载,两点后方交会) A “XA=”:B “Y A=”:C “XB=“:D ”YB=“:E ”D1=“:F ”D2=“:Q ”-1,+1“:J=0:G=POL(C-1,D-B ):H=J+QCOS-1(GG+EE-FF)÷2÷G ÷E :X=A+ECOS H:Y=B+ESIN H
例:
PROG “DDHFJH “
RUN
Z ? 4
1 注: 输入第一组数据 以下X\Y坐标须与上图换个
X ? 219.3704
Y? 142.1058
D? 85.691
2 注: 输入第二组数据 X? 167.9893 Y? 266.2424 D? 79.427 3 注: 输入第三组数据 X? 72.0677 Y? 226.5398 D? 84.449 4 注: 输入第四组数据 X?131.9636 Y?119.0519 Z?72.129 结果
X 147.9095 Y 189.3957 “END ”
大家把某一点的坐标或距离调大一点(超过3公分), 再运行试试.