"> " />
VB测量平差程序设计讲稿

VB测量平差程序设计讲稿

ID:48314983

大小:51.50 KB

页数:16页

时间:2020-01-13

VB测量平差程序设计讲稿_第1页
VB测量平差程序设计讲稿_第2页
VB测量平差程序设计讲稿_第3页
VB测量平差程序设计讲稿_第4页
VB测量平差程序设计讲稿_第5页
资源描述:

《VB测量平差程序设计讲稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Case0'读入观测值文件Text1.Visible=FalseCommonDialog1.ShowOpenfname=CommonDialog1.FileName'将用户在"打开"对话框中选择的文件名对变量fname赋值Iffname<>""Then'若无此判断当对话框中选择取消时、下面赋值语句将出错Setts=fso.OpenTextFile(fname)'将fname作为文本文件打开,并设置句柄j=0:k=0:p=0:h=0'j是测站数累计变量,k是已知点累计变量,l(j)、ns(j)分别是方向值、边长累积计数DoW

2、hilets.AtEndOfLine<>True'前测型循环,进入循环的条件是没有读到文件结束尾B=ts.ReadLine'读一行,置入bB=Trim(B):i=1:'删除B可能有的前导和尾随空格,i是工作变量,m(i)=InStr(B,",")'查行中第一个逗号的左数位置,并保存在整形数组变量m(i)DoWhilem(i)<>0'前测型Do...Loop循环,成立条件是该行字符串中有逗号tr(i)=Mid(B,m(i-1)+1,m(i)-m(i-1)-1)'提取指定位置开始的指定数目字符。i=i+1m(i)=InStr(

3、m(i-1)+1,B,",")'从上一个找到的逗号位置起,查找下一个逗号的位置LoopIfm(i)=0Andi>1Thentr(i)=Right(B,Len(B)-m(i-1))'处理一行中最后一个逗号后的字符串'以下部分是将存储在数组变量m(i)中的字符分类存放到方向、边长、已知坐标、网型信息等数组中Ifp=0Then'读到的是文件第一行。ma=tr(1):ms=tr(2):mk=tr(3):p=1'提取观测方向,边先验精度值,并使该句以后不能再执行。ElseIfm(1)=0Thenj=j+1:ReDimPreserve

4、dm(j):ReDimPreservenl(j):ReDimPreservens(j):dm(j)=B:nl(j)=nl(j-1):ns(j)=ns(j-1)'该行中没有逗号,但又不是结束符,则一定是测站点名。将读出的字符串赋值到点名数组变量dm(j),16NextjIfp=0Thend=d+1:ReDimPreservens(d):ns(d)=ns(d-1):ReDimPreservedm(d):dm(d)=lb(i)'如p=0,表明目标点未设过测站,将该点点名加入点名数组Nextizds=d'将总点数存入模块级变量zd

5、sReDimx(zds),y(zds)'重新定义坐标数组x(1)=10000:y(1)=10000'为推算近似坐标,对第一个点赋假设坐标值k=1Fori=1ToydsIflb(1)=ym(i)Thenk=k+1Nextiss=sid(1,k)'调出第一点到未知点方向的边长,参数是测站点序号,照准方向号h=seqn(lb(k))'查k方向照准点的计算序号x(h)=x(1)+ss*Cos(0):y(h)=y(1)+ss*Sin(0)'计算第一点上第k方向值的目标点假设坐标Fori=1Tonl(cds)'遍访所有方向值,将其由角

6、度值转换为弧度值.Ifl(i)>0.001Thenl(i)=radian(l(i))'零方向值不参加转换Nextin=0Don=n+1'n是循环计数变量,控制循环次数,避免假定坐标计算不出时,进入死循环。Fori=1Tocds'按测站循环Ifx(i)>1Then'在该测站假设坐标已计算出的前提下,求照准点假设坐标p1=0Forj=nl(i-1)+1Tonl(i)'遍访i测站上所有方向值h=seqn(lb(j))'查目标点对应的序号Ifx(h)>1Then'目标点坐标已解出16t2=azimuth(xo(1),yo(1),x

7、o(2),yo(2))dt=t2-t1:x1=x(m(1)):y1=y(m(1))Fori=1Tozds'将假设坐标转换到实际坐标dx=x(i)-x1:dy=y(i)-y1x(i)=xo(1)+dx*Cos(dt)-dy*Sin(dt)y(i)=yo(1)+dx*Sin(dt)+dy*Cos(dt)NextiFori=1Toyds'置入已知点坐标x(m(i))=xo(i):y(m(i))=yo(i)NextiCase2'组法方程Text1.Visible=FalseDiml1AsDouble,ppAsDouble,n2As

8、Long'定义过程级变量q=206265:ll=0n1=2*(zds-yds)'未知数数目n2=n1*(n1+1)/2'一维存储法方程系数数组上限ReDimNX(n2),UX(n1)'重新定义法方程系数、常数数组Callorder(m(),yds)'对保存已知点序号的m()数组排序Fori=1Tocds

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。