路桥视频| 路桥隧交流论坛| 站点地图|
首页| 文库| 博客| 图库| 视频| 网摘| 路桥隧交流|
  • 行业资讯
  • 路基路面
  • 桥梁涵洞
  • 隧道工程
  • 测量绘图
  • 学术论文
  • 施组方案
  • 试验质检
  • 内业资料
  • 安全环保
网站公告: 网站新建QQ交流群 路桥吾爱第五版更新. 把QQ空间或其他博客.

您的位置: 路桥吾爱 >> 文库 >> 测量绘图 >> 程序编程 >> 查看资讯

推荐给好友 上一篇 | 下一篇

QB附和导线平差程序

字体:  小  中  大  | 打印 发布:  作者: lq52搜集  来源: 不详  查看: 1927次 评论: 0条 好评: 0分

DECLARE FUNCTION DEG! (X!)
DECLARE FUNCTION DMS! (XX!)
DECLARE FUNCTION XCHAR$ (XX!, N!)
CLS
PRINT
PRINT " 附和导线平差程序(2.0R)"
PRINT " 作者:徐振刚"
PRINT " 1999年12月31日"
PRINT "功能:本程序可以用来进行一般导线平差计算,包括附和导线、闭合导线和支导线,其中"
PRINT " 闭合导线和支导线需对原始数据进行一定处理。"
PRINT "备注:坐标计算误差≤5mm;角度计算误差≤0.5s"
PRINT

REM N ----角度个数(包括已知方位角)
REM M ----导线边数
REM H ----允许方位角闭合差秒值
REM A ----方位角(A(0)为起始方位角)
REM D ----边长
REM X,Y ----坐标(X1,Y1;X,Y为已知坐标)
REM F0 ----方位角允许闭合差
REM F1 ----导线方位角闭合差
REM F3,F4,F----增量闭合差
REM K ----导线全长相对闭合差

PRINT "新建数据文件?(Y/N)"
LOCATE 25: PRINT "按 ESC键 返回主菜单."; TAB(60); DATE$; " "; TIME$
DO
YN$ = INKEY$
IF YN$ = "Y" OR TN$ = "y" THEN
RUN "DXPCEDIT.BAS"
ELSEIF YN$ = "N" OR YN$ = "n" THEN
EXIT DO
ELSEIF YN$=CHR$(27) THEN
RUN "MAIN.BAS"
END IF
LOOP
REM ********************************************************************************
CLS
PI = 3.141592653589793#: PU = 180 / PI
INPUT "请输入数据文件名:(DXPC.DAT)"; FILEIN$
IF FILEIN$ = "" THEN
FILEIN$ = "DXPC.DAT"
END IF
OPEN FILEIN$ FOR INPUT AS #1
INPUT #1, N, M, H
DIM B(N), D(M), A(N - 1), X(M), Y(M)
INPUT #1, X1, Y1, X, Y
FOR I = 0 TO N
INPUT #1, B(I)
B(I) = DEG(B(I))
NEXT I
FOR I = 1 TO M
INPUT #1, D(I)
NEXT I
CLOSE #1
REM ********************************************************************************
A(0) = B(0)
FOR I = 1 TO N - 1
A(I) = A(I - 1) + B(I) + 180
IF A(I) > 360 THEN
A(I) = A(I) - 360
END IF
NEXT I
F0 = H / 3600 * SQR(N - 1): F1 = A(N - 1) - B(N)
V = -1 * F1 / (N - 1)
FOR I = 1 TO N - 1
A(I) = A(I) + V * I
IF A(I) > 360 THEN
A(I) = A(I) - 360
END IF
NEXT I

S = 0: X(0) = X1: Y(0) = Y1
FOR I = 1 TO M
S = S + D(I)
X(I) = X(I - 1) + D(I) * COS(A(I) / PU)
Y(I) = Y(I - 1) + D(I) * SIN(A(I) / PU)
NEXT I
F3 = X(M) - X: F4 = Y(M) - Y: F = ABS(SQR(F3 * F3 + F4 * F4))
D = 0
FOR I = 1 TO M
D = D + D(I)
X(I) = X(I) - F3 / S * D
Y(I) = Y(I) - F4 / S * D
NEXT I
REM ********************************************************************************
PRINT "方位角允许闭合差 F0=+/-"; XCHAR$(DMS(F0), 6)
IF ABS(F1) <= F0 THEN
PRINT "导线方位角闭合差 F1= "; XCHAR$(DMS(F1), 6); " OK!"
ELSE
PRINT "导线方位角闭合差 F1= "; XCHAR$(DMS(F1), 6); " OVER LIMIT!"
END IF
PRINT "相对闭合差:"
PRINT TAB(5); "F3="; F3, "F4="; F4, "F="; F, "K=1/"; S / F
PRINT "改正后方位角:"
FOR I = 0 TO N - 1
PRINT TAB(5); "A("; I; ")="; XCHAR$(DMS(A(I)), 6)
NEXT I
PRINT "改正后坐标:"
FOR I = 0 TO M
PRINT TAB(5); "X("; I; ")="; XCHAR$(X(I), 4), TAB(30); "Y("; I; ")="; XCHAR$(Y(I), 4)
NEXT I
PRINT TAB(5); "X("; M; ")="; XCHAR$(X(M), 4), TAB(30); "Y("; M; ")="; XCHAR$(Y(M), 4)

OPEN "DXPC.OUT" FOR OUTPUT AS #1
PRINT #1, " 导线平差"
PRINT #1, TAB(25); DATE$, TIME$
PRINT #1,
PRINT #1, "方位角允许闭合差 F0=+/-"; XCHAR$(DMS(F0), 6)
IF ABS(F1) <= F0 THEN
PRINT #1, "导线方位角闭合差 F1= "; XCHAR$(DMS(F1), 6); " OK!"
ELSE
PRINT #1, "导线方位角闭合差 F1= "; XCHAR$(DMS(F1), 6); " OVER LIMIT!"
END IF
PRINT #1, "相对闭合差:"
PRINT #1, TAB(5); "F3="; F3, "F4="; F4, "F="; F, "K=1/"; S / F
PRINT #1, "改正后方位角:"
FOR I = 0 TO N - 1
PRINT #1, TAB(5); "A("; I; ")="; XCHAR$(DMS(A(I)), 6)
NEXT I
PRINT #1, "改正后坐标:"
FOR I = 0 TO M
PRINT #1, TAB(5); "X("; I; ")="; XCHAR$(X(I), 4), TAB(30); "Y("; I; ")="; XCHAR$(Y(I), 4)
NEXT I
PRINT #1, TAB(5); "X("; M; ")="; XCHAR$(X(M), 4), TAB(30); "Y("; M; ")="; XCHAR$(Y(M), 4)
CLOSE #1
REM ********************************************************************************
PRINT
PRINT "详细数据资料业已备份到 JHFY.OUT。"
PRINT
PRINT "按 ESC键 返回主菜单..."
DO
LOOP UNTIL INKEY$ = CHR$(27)
RUN "MAIN.BAS"
END

REM 将度分秒转换成度
FUNCTION DEG (X)
D = INT(X)
M = INT((X - D) * 100)
S = INT((X - D - M / 100) * 1000000) / 100
DEG = D + M / 60 + S / 3600
END FUNCTION

REM 将度转换成度分秒
FUNCTION DMS (XX)
IF XX < 0 THEN
X = -XX
ELSE
X = XX
END IF
D = INT(X)
M = INT((X - D) * 60)
S = (X - D - M / 60) * 3600
IF XX >= 0 THEN
DMS = D + M / 100 + S / 10000
ELSE
DMS = -1 * (D + M / 100 + S / 10000)
END IF
END FUNCTION

REM 以字符串形式输出保留 N 位小数的 X
FUNCTION XCHAR$ (XX, N)
X = ABS(XX)
R = INT(X)
F = INT((X - R) * 10 ^ N + .5)
TEMP$ = MID$(STR$(F), 2)
WHILE LEN(TEMP$) < N
TEMP$ = "0" + TEMP$
WEND
TEMP$ = STR$(R) + "." + TEMP$
IF XX >= 0 THEN
XCHAR$ = TEMP$
ELSE
XCHAR$ = "-" + MID$(TEMP$, 2)
END IF
END FUNCTION
Google

 
-5 -3 -1 - +1 +3 +5

评分:0

发表评论

【声明】 路桥吾爱刊载的资讯及其他内容均由网友提供分享 并且纯属作者个人观点,不表示路桥吾爱同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系,我们会马上进行重新整理!

信息搜索 便民服务

  • 标题:
  • 分类:

最近更新

  • CASIO fx-5800P放样程序(优化)
  • CASIO-fx5800程序源(任意平曲线极坐标与直角坐标放样,求里程及边距)
  • 5800道路三维坐标计算
  • 5800平曲线测量程序
  • CASS和MapGIS图形接口的二次开发探讨(图)
  • CAD工具妙用,深入理解CAD数据(图)
  • 关于安装的那些事儿
  • 匝道曲线中桩计算程序(CASIO 5800)-可正向算 可逆向算 精度可调
  • 公路路线高程通用程序(CASIO5800)
  • 利用VBA程序语言绘制公路纵断面图

本月热点

相关阅读

  • 住房城乡建设部关于简化建筑业企业资质标准部分指标的通知
  • 港珠澳大桥主体工程今日全线贯通 能抗16级台风(图)
  • 中铁建老总向总理倒苦水:有国企200多空壳公司就为1事
  • 厘清竞争性谈判与竞争性磋商之差异(图)
  • 橡胶粉改性沥青SMA混合料性能研究(图)
  • 李克强主持召开国务院常务会议部署推进城市地下综合管廊建设 扩大公共产品供给提高…
  • 李克强剑指中国“地下”问题 力推综合管廊
  • 国务院关于取消和调整一批行政审批项目等事项的决定
  • 粤赣高速河源段匝道断裂 多辆大卡车坠落(图)
  • 城市地下综合管廊工程规划编制指引
  • 25号联合令:基础设施和公用事业特许经营管理办法.doc
  • 管清友:PPP模式的五大关键
  • 在城市地下综合管廊规划建设培训班座谈会上的讲话
  • 关于推广运用政府和社会资本合作模式有关问题的通知
  • 国务院关于创新重点领域投融资机制 鼓励社会投资的指导意见
  • 国务院办公厅关于加强城市地下管线建设管理的指导意见
  • 2014年某道路工程二监办监理工作总结
  • 庆镇二级路汇报材料
  • 成都隧道发生疑似瓦斯爆炸 致22人受伤 一人死亡(图)
  • 【重磅】2014年度一级建造师资格考试合格标准-市政合格标准降为88

赞 助 商

点击这里给我发消息 加入【路桥吾爱-lq52.com】QQ群 | 交流论坛 | 站点地图 | 友情链接 | 空间列表 | 站点存档 | 手机访问 |

路桥吾爱 2001-2012 湘ICP备14001154号