测量平差程序设计5.pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  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文档。上传文档
查看更多
测量平差程序设计5

测量平差程序设计 Case 1 解算近似坐标 d = cds d是测站数 For i = 1 To nl(cds) 依次访问所有的方向值 p = 0 设识别变量 For j = 1 To d 依次访问所有测站 If dm(j) = lb(i) Then p = 1 查看目标点是否设过测站,是则对识别变量p赋值1。 Next j 测量平差程序设计 If p = 0 Then d = d + 1: redim preserve dm(d):dm(d) = lb(i) :ReDim Preserve ns(d): ns(d) = ns(d - 1):如 p=0,表明目标点未设过测站,将该点点名加入点名数组 Next i zds = d 将总点数存入模块级变量zds ReDim x(zds), y(zds) 重新定义坐标数组 x(1) = 100000: y(1) = 100000 为推算近似坐标,对第一个点赋假设坐标值 k = 1 测量平差程序设计 ss = sid(1, k) 调出第一点到未知点方向的边长,参数是测站点序号,照准方向号 If ss=0 then k=k+1: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 Do For i = 1 To cds 按测站循环 If x(i) 1 Then 在该测站假设坐标已计算出的前提下,求照准点假设坐标 p1 = 0 测量平差程序设计 For j = nl(i - 1) + 1 To nl(i) 遍访i测站上所有方向值 h = seqn(lb(j)) 查目标点对应的序号 If x(h) 1 Then 目标点坐标已解出 t = azimuth(x(i), y(i), x(h), y(h)): p1 = j 反算方位角并记下方向号 Exit For 退出For-Next循环 End If Next j 测量平差程序设计 For j = nl(i - 1) + 1 To nl(i) 再次遍访i测站上的所有方向值 h = seqn(lb(j)) 查目标点对应的序号 If x(h) 1 Then 该照准方向点坐标未求出 测量平差程序设计 tt = t + l(j) - l(p1) 计算j方向的方位角 ss = sid(i, j) 根据测站号、方向号去查找边长 If ss = 0 Then ss = side(i, h) x(h) = x(i) + ss * Cos(tt): y(h) = y(i) + ss * Sin(tt) 计算近似坐标 End If ‘IF x(h)1 Next j End If’ If x(i) 1 Next i 测量平差程序设计 p = 0 For k = 1 To zds If x(k) 1 Then p = 1 查看是否还有没解算出坐标的点,有则对p赋值,使进入循环再次搜索计算 Next k Loop Until p = 0 测量平差程序设计 For i = 1 To yds 查点名数组中那些点是已知点,用m()数组存其序号 For j = 1 To zds If ym(i) = dm(j) Then m(i) = j Next j Next i 测量平差程序设计 t1 = azimuth(x(m(1)), y(m(1)), x(m(2)), y(m(2))) 利用一对公共点求旋转角 t2 = azimuth(xo(1), yo(1), xo(2), yo(2)) dt = t2 - t1: x1 = x(m(1)): y1 = y(m(1)) 测量平差程序设计 For i = 1 To zds 将假设坐标转换到实际坐标 dx = x(i) - x1: dy = y(i) - y1 x(i) = xo(1

文档评论(0)

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

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

1亿VIP精品文档

相关文档