后方交会程序
?2.3.2后方交会的坐标计算
如图2-5所示,后方交会是仅在待定点P上安置经纬仪,观测水平角和检查角,,,,,,,进而确定P的平面坐标。测量上称由不在一条直线上的三个已知点A、B、C构成的圆为危险圆,当P点位于危险圆上时,则P点的点位无法确定。因此,在选定P点时,应避免使P
点位于危险圆上。
(1) 数学模型
由A、B、C三点的坐标可以反算出三角形ABC的三个内角?A、?B、?C,按下列
P公式计算出系数值P、P、。 CAB
,,1tantan,AP,,,A,,cot,A,cottan,tan,A,,1tantan,B,P,,,B,,cotcottantan,B,,,B,,1tantan,C,P,,C,cot,C,cot,tan,,tan,C,
(2-43)
则P点坐标的计算公式为:
Px,Px,Px,AABBCCx,P ,P,P,P,ABC 图2-5 后方交会 ,Py,Py,PyAABBCC,y,P,P,P,PABC,
(2-44)
(2)、程序与案例
1) 变量对照
数学模型变量 fx-4800P变量 单位 注释
,A ?′″ 水平角观测值
,B ?′″ 水平角观测值
, C ?′″ C=360-A-B
cot, A
cot, B
E ?′″ 检查角 ,
x,y Z[1],Z[2] m A点坐标 AA
x,y Z[3],Z[4] m B点坐标 BB
x,y Z[5],Z[6] m C点坐标 CC
x,y Z[7],Z[8] m D点坐标 DD
x,yX,Y m P点坐标 PP
U ? ,A
V ? ,B
W ? ,C
M ″ 检查角差值 ,,
2) 程序
主程序名:HFJH
Defm 8: N=0
Lbl 0
Isz N
{XY}
Z[2N-1]=X: Z[2N]=Y
N4Goto 0
G=Z[3]-Z[1]: H=Z[4]-Z[2] K=Z[5]-Z[1]: L=Z[6]-Z[2] Prog “ANG”: U=D
G=Z[5]-Z[3]: H=Z[6]-Z[4] K=Z[1]-Z[3]: L=Z[2]-Z[4] Prog “ANG”: V=D
G=Z[1]-Z[5]: H=Z[2]-Z[6] K=Z[3]-Z[5]: L=Z[4]-Z[6] Prog “ANG”: W=D
{AB}:C=360-A-B
-1 R=(1?tanU-1?tanA)
-1 S=(1?tanV-1?tanB)
-1 T=(1?tanW-1?tanC)
X=(RZ[1]+SZ[3]+TZ[5])?(R+S+T)
Y=(RZ[2]+SZ[4]+TZ[6])?(R+S+T)
G=Z[5]-X: H=Z[6]-Y
K=Z[7]-X: L=Z[8]-Y
Prog “ANG”: F=D
{E}
M=E-F:M=3600M
子程序名:ANG
Pol(G,H):J0D=J+360: D=J
Pol(K,L):J0J=J+360
D=D-J:D0D=D+360
提示:
在通常的微机高级编程语言中~内部子程序一般都是与主程序在同一个程序中~而
CASIOfx-4800P的子程序则必须是另外一个程序。如果仅仅从程序名看~上述主程序HXY
和子程序ANG都是一个独立的程序~不同的是~在程序HXY中调用了程序ANG。设置子
程序的目的是为了节省存储器空间及简化程序的编写。 3) 操作步骤
图2-4所示的后方交会数据列于表2-9中。
表2-9 后方交会数据
y坐标(m) 点名 坐标(m) 角名 水平角 x
,A 466.922 1717.956 120?27′15″
,B 578.142 1688.063 134?58′56″
C 490.710 1572.339 44?18′42″ ,
D 424.439 1602.573
将上述程序以HFJH的文件名输入计算器后,按键5 2及选择程序HFJH,按键
,屏幕提示及操作步骤如下:
步骤 显示 按键 注释 1 X? ××× 466.922 输入A点坐标 2 Y? ××× 1717.956
3 X? 466.922 578.142 输入B点坐标 4 Y? 1717.956 1688.063
5 X? 578.142 490.710 输入C点坐标 6 Y,1688.063 1572.339
7 X? 490.710 424.439 输入D点坐标 8 Y? 1572.339 1602.573
9 J? –15.04406193 中间计算结果
10 A? ××× 输入 ,1202715
输入 ,11 B? ××× 1345856
12 X=506.4845128 P点坐标 13 Y=1661.399530
14 E? ××× 输入检查角 441842 ,15 M=-13.41758073 检查角差值(秒) ,,
后方交会
,Filename,3HFJH
L1 ABCDEF:Lbl5:{OPQ}
L2 I=-O+P:J=Q-P
L3 G=Abs(I/90):H=Abs(J/90)
L4 G=1I=I+0.01″ ,
L5 G=2I=I+0.01″ ,
L6 G=3I=I+0.01″ ,
L7 H=1J=J+0.01″ ,
L8 H=2,J=J+0.01″
L9 H=3J=J+0.01″ ,
L10 K=(A-C)+(B-D)/tanI
L11 L=(D-B)+(A-C)/tanI
L12 M=(C-E)+(F-D)/tanJ
L13 N=(F-D)+(E-C)/tanJ
L14 U=(K+M)/(L+N)
2L15 X=C+(K-UL)/(1+U)?
2L16 Y=D+U(K-UL)/(1+U)?
L17 Goto5
说明:
1、本程序用于利用3个合适的已知点进行方向后方交会法计算测站坐标。 2、观测、计算时将3个已知点按顺时针方向对应排列,已知点的直角坐标分别为(A,B)、(C,D)和(E,
F)。对应3个已知点的方向值分别为O、P、Q。
3、L3至L9行的作用是当两相邻方向间的夹角出现直角或平角时将导致不能计算时进行自动处理。 4、为提高解算精度和防止错误,宜尽可能使测站点与3个已知点组成较理想的图形,如采取测站点靠近3
个已知点组成的三角形的中心区域、避免出现“危险园”图形和增加已知点组成多组后交图形比较计算
等措施。
5、当已知点发生变化应重新调用程序。
P (C,D)20P (X,Y)P (A,B)1
P
OP (E,F)3Q
MN
1P (C,D)P (A,B)2P (X,Y)0
后方交会示意图 前方交会示意图
距离后方交会计算(CASIO fx-4800P计算器)程序 一、程序功能
本程序适用于在一个未知点上设测站,观测两到个已知点的距离后,解算该未知坐标。本程序也可以在CASIO fx-4500P计算器及 CASIO fx-4850P计算器上运行。
注意:这种观测两到个已知点的距离后解算该未知坐标的
,缺少多余观测值,也就缺少检核条件。
二、源程序
Lbl 1:{ABCDEFQ}:A"XA":B” YA”:C"XB":D"YB":E"D1":F"D2":Q:J=0:G=Pol(C-A,
D-B) :H=J+QCos-1((GG+EE-FF)?2?G?E):X"XP"=A+ECosH? Y"YP"=B+ESinH?
Goto 1??
注:CASIO fx-4850改如下
Lbl 1:{ABCDEFQ}:A"XA":B” YA”:C"XB":D"YB":E"D1":F"D2":Q:J=0:G=Pol(C-A,
D-B) :H=J+QCos-1((GG+EE-FF)?2?G?E):"XP":X=A+ECosH? "YP":Y=B+ESinH?
Goto 1??
三、使用说明
1、规定
(1) 未知点为P点,已知点分别为A点、B点;
(2) P点至A点的距离为D1,P点至B点的距离为D2;
(3) 当A、B、P三点逆时针排列时,Q=-1;当A、B、P三点顺时针排列时,Q=1。
2、输入与显示说明
输入部分:
XA ? 输入A点的X坐标
YA ,输入A点的Y坐标
XB ? 输入B点的X坐标
YB ,输入B点的Y坐标
D1 ,输入P点至A点的距离为D1
D2 ,输入P点至B点的距离为D2
Q ,输入A、B、P三点排列方式(逆时针时,Q=-1;顺时针时,Q=1)
显示部分:
XP=××× 所求点P的X坐标
YP=××× 所求点P的Y坐标
四、算例
已知XA=539.3551,YB=602.9159,Xb=433.0034,YB=1087.4213,D1=380.7996,D2=245.8664,A、B、P三点排列方式为逆时针(Q=-1),求P点的坐标。 输入数据后,经计算得
XP=647.8773101
YP=967.9244825