程序名: DX-XY-PC
程序清单:

32 → DimZ (额外变量寄存器定义 ( 本程序以 11 个导线边数定义 , 如超过应修改此定义和程序内额外变量寄存器的变量表达式 ) ) : Lb1 0: " DX-DS ( 导线点数(含终点) ) = "? W: " YZ-ZD-X (已知终点 X 坐标) = "? A: " YZ-ZD-Y (已知终点 Y 坐标) = "? B: " SC-ZD-X ( 实测 终点 X 坐标) = "? C: " SC-ZD-Y ( 实测 终点 Y 坐标) = "? D:C-A → E:D-B → F: √ (E2+F2) → G: Cls:Fix 4: " X-BHC ( X 闭合差 ) = " :Locate 7,1,E: " Y-BHC ( Y 闭合差 ) = " :Locate 7,2,F: " BC-BHC (边长闭合差) = " :Locate 8,3,G ◢

Cls: " YZ-QD-X ( 己知起 点 X 坐标) = "? O :O → Z[31]: " YZ-QD-Y ( 己知起 点 Y 坐标) = "? P:P → Z[32]: 0 → H:0 → N: Lb1 1:N+1 → N: Cls: " N= " :Locate 4,1,N ◢

" SCD-X ( 实测 点 X 坐标) = "? X:X → Z[N]: " SCD-Y ( 实测 点 Y 坐标) = "? Y:Y → Z[N+11]: Po1 ( X-O , Y-P ) : I → Z[N+21]: H+I → H:X → O: Y → P: If N<W: Then Goto 1:IfEnd : If N=W: Then Goto 2:IfEnd ←」

Lb1 2:H ÷ G → K: Cls:Fix 5: " DX-QC ( 导线全长 ) = " :Locate 7,1,H: " DX-QC-XD-BHC-FM ( 导线全长相对闭合差的分母 ) = " :Locate 1,3,K ◢

0 → N:0 → R:If 1 ÷ K <1 ÷ 10000 (导线全长相对闭合差允许值的分母) : Then Goto 3:E1se Goto 4: IfEnd ←」

Lb1 3:N+1 → N: Cls: " N= " :Locate 4,1,N ◢

Po1 ( Z[N]-Z[31] , Z[N+11]-Z[32] ) :R+Z[N+21] → R:Z[N]-(ER) ÷ H → U:Z[N+11]-(FR) ÷ H → V: Cls:Fix 4: " N= " :Locate 4,1,N: " PCH-X ( 平差后的 X 值 ) = " :Locate 7,2,U: " PCH-Y ( 平差后的 Y 值 ) = " :Locate 7,3,V ◢

0 → Z[31]:0 → Z[32]: Z[N] → Z[31]:Z[N+11] → Z[32]: If N<W: Then Goto 3:E1se Goto 5:IfEnd ←」

Lb1 4: " BHC (闭合差) - CX (超限) ⇒ CX (重新) -CL (测量)" ◢

Lb1 5: " FH → 1 , TC → 0 "? Z:Z=1 ⇒ Goto 0: Z=0 ⇒ Return

程序功能: 本程序可以利用全站仪在闭(符)合导线点上实测的 X 、 Y 坐标值,计算出坐标闭合差、边长闭合差和导线全长闭合差以后,若闭合差小于允许闭合差,则将坐标闭合差反号后按各导线边长占导线全长的比例进行改正数计算,正确的计算出各导线点的平差后坐标值;若闭合差大于允许闭合差,则自动停止计算,显示 BHC (闭合差) → CX (超限) ⇒ CX (重新) -CL (测量) 。(书店出售的程序书上是将符合导线的坐标闭合差反号后按各导线边长在起、终点间连线上的投影长度比例进行改正数计算,本人认为这样进行闭合差分配不合理而导致改正值计算不正确,所以求出的平差后坐标值偏差较大;况且按照那种平差方法根本无法进行闭合导线平差计算。)