VB测量平差程序的设计讲稿.docVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . . . .下载可编辑. Case 0 读入观测值文件 Text1.Visible = False CommonDialog1.ShowOpen fname = CommonDialog1.FileName 将用户在打开对话框中选择的文件名对变量fname赋值 If fname Then 若无此判断当对话框中选择取消时、下面赋值语句将出错 Set ts = fso.OpenTextFile(fname) 将fname作为文本文件打开,并设置句柄 j = 0: k = 0: p = 0: h = 0 j是测站数累计变量,k是已知点累计变量,l(j)、ns(j)分别是方向值、边长累积计数 Do While ts.AtEndOfLine True 前测型循环,进入循环的条件是没有读到文件结束尾 B = ts.ReadLine 读一行,置入b B = Trim(B): i = 1: 删除B可能有的前导和尾随空格,i是工作变量, m(i) = InStr(B, ,) 查行中第一个逗号的左数位置,并保存在整形数组变量m(i) Do While m(i) 0 前测型Do... Loop循环,成立条件是该行字符串中有逗号 tr(i) = Mid(B, m(i - 1) + 1, m(i) - m(i - 1) - 1) 提取指定位置开始的指定数目字符。 i = i + 1 m(i) = InStr(m(i - 1) + 1, B, ,) 从上一个找到的逗号位置起,查找下一个逗号的位置 Loop If m(i) = 0 And i 1 Then tr(i) = Right(B, Len(B) - m(i - 1)) 处理一行中最后一个逗号后的字符串 以下部分是将存储在数组变量 m(i)中的字符分类存放到方向、边长、已知坐标、网型信息等数组中 If p = 0 Then 读到的是文件第一行。 ma = tr(1): ms = tr(2): mk = tr(3): p = 1 提取观测方向,边先验精度值,并使该句以后不能再执行。 Else If m(1) = 0 Then j = j + 1: ReDim Preserve dm(j): ReDim Preserve nl(j): ReDim Preserve ns(j): dm(j) = B: nl(j) = nl(j - 1): ns(j) = ns(j - 1) 该行中没有逗号,但又不是结束符,则一定是测站点名。将读出的字符串赋值到点名数组变量dm(j), Next j If p = 0 Then d = d + 1: ReDim Preserve ns(d): ns(d) = ns(d - 1): ReDim Preserve dm(d): dm(d) = lb(i) 如 p=0,表明目标点未设过测站,将该点点名加入点名数组 Next i zds = d 将总点数存入模块级变量zds ReDim x(zds), y(zds) 重新定义坐标数组 x(1) = 10000: y(1) = 10000 为推算近似坐标,对第一个点赋假设坐标值 k = 1 For i = 1 To yds If lb(1) = ym(i) Then k = k + 1 Next i ss = sid(1, k) 调出第一点到未知点方向的边长,参数是测站点序号,照准方向号 h = seqn(lb(k)) 查k方向照准点的计算序号 x(h) = x(1) + ss * Cos(0): y(h) = y(1) + ss * Sin(0) 计算第一点上第k方向值的目标点假设坐标 For i = 1 To nl(cds) 遍访所有方向值,将其由角度值转换为弧度值. If l(i) 0.001 Then l(i) = radian(l(i)) 零方向值不参加转换 Next i n = 0 Do n = n + 1 n是循环计数变量,控制循环次数,避免假定坐标计算不出时,进入死循环。 For i = 1 To cds 按测站循环 If x(i) 1 Then 在该测站假设坐标已计算出的前提下

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档