济业2014-45纵横断面测量数据处理软件课案_第1页
济业2014-45纵横断面测量数据处理软件课案_第2页
济业2014-45纵横断面测量数据处理软件课案_第3页
济业2014-45纵横断面测量数据处理软件课案_第4页
济业2014-45纵横断面测量数据处理软件课案_第5页
已阅读5页,还剩19页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、纵横断面测量数据处理软件2.3介绍及使用说明纵横断面测量数据处理软件说明报告编制:陈礼坤审核:贾克永审定:赵振刚共 20 页中铁工程设计咨询集团有限公司济南设计院2015 年 01 月 济南1、软件开发背景在线路测量工作中,断面的测量是一项基本的工作内容, 在进行 外业数据采集时,一般采用全站仪和 GPS RTK进行断面数据测量。在满足目前相关测量规范测量精度要求的前提下,如何提高外业断面数据采集的效率,降低内业数据处理的难度,同时便于进行数据 质量的检核,是我们在实际工作中一直思考的问题。为此,根据现有 的测量仪器、测量方法以及测量习惯,可以编制一种断面测量数据处 理软件,以满足上述要求。在

2、编制此软件之前,在2013年9月份在新建铁路吉林枢纽西环 线补充定测工作中,在对 GPS RTK采集的断面数据进行内业处理的 过程中,其处理过程的复杂性,给我触动最深。由于测区属于丘陵地 带,且现场玉米未收割,通视条件差,很多断面数据均是通过GPS RTK 采集。但在内业数据的处理至少要经过三个 EXCEL表格,通过断面 排序、复制、粘贴、高差计算,再距离排序,再复制,粘贴等过程(可 现场演示一个断面的处理过程),将只含12个数据的一个断面处理成 平时提交给设计专业要求的断面数据格式,就需要两三分钟的时间, 中间步骤越多,出错的概率就越大,当测量专业将最后的结果提交给 相关设计专业后,设计专业

3、还需要进一步处理,才能画出地面线图, 这样处理多个断面的话,测量的内业处理的任务会更重。 如果通过软 件编制,实现将导出的仪器数据,结合中桩高程,直接绘制出地面线 图,同时生成线路专业相关画图软件要求的距离-高差断面数据,就可以大大减少内业数据处理的复杂度,降低内业处理的时间,减少因 步骤过多而出错的几率。同时地面线图的绘制,形成直观的数据表现 形式,也有利于数据质量的后期检核。对于用全站仪测量的断面数据,同样可以直接将全站仪导出的断 面绘制成地面线图,这样,在我们在外业上,可以将断面数据直接记 录在全站仪中,从而减少一个外业记录人员,减少了出错的概率,也 不需要处理内业时,再进行断面的人工输

4、入。至于软件的其他功能下 面会有详细的介绍。2、软件功能2.1可以将全站仪(如LEICA、TOPCON等)采集的断面测量数据,转换成距离-高差断面数据格式,并可以形成*dxf格式 的图形数据文件和线路设计软件路基助手以及南方CASS支持的.hdm断面数据文件。2.2能够将通过GPS RTK采集的断面测量数据,转换成距离-高差 断面数据格式,同时结合中桩数据,生成 *.dxf格式的横地面线 图和线路设计软件路基助手以及南方 CASS支持的.hdm文件。2.3能够直接将已编辑好的横断面数据,结合中桩数据,直接生成*.dxf格式的断面图形文件和.hdm文件。2.4能够根据导入的纵断面测量数据,绘制出

5、*.dxf格式的纵向地 面线图。3、软件特色3.1本软件采用易于交互操作的对话框模板和MSFIexGrid控件,在MFC开发环境下利用VC6.0计算机语言进行编写,可在winxp、 win7操作系统下正常运行。整个软件的文件数据导入、导出均 可直接在图表中呈现,便于数据的检查,如果数据格式错误,程 序将给出友好提示,同时将各种算法的程序实现隐藏在软件界面 之下,使软件界面简洁直观,功能清晰、易学易用。3.2在充分考虑了实际作业习惯以及仪器记录数据的特点后,对 于同一个断面的距离乱序排列或者左右侧混排的断面数据,软件 能自动识别左右侧断面数据,并分别将数据按照由近到远的顺序 重新排列。如果数据中

6、还含有距离重复的数据,通过单独编写排 序算法,按照先测先排列的原则进行断面数据排列处理。同时允许只有一侧断面数据的输入。允许断面名称列和距离 列数据中含有字母,软件通过算法进行自动截取,只保留数字 例如下面的GPS测量数据,一般实测的GPS断面数据就是这样的:点名坐标距离高程C112713.50506078.24512.491b213.494C112713.10506097.604-24.69kx 206.926c112713.11506097.641-25.88207.212C112713.12506098.325-27.75207.714C112713.31506039.69226.892

7、06.155C112713.13506099.563-30.09207.682C112713.13506099.563-30.09207.382C112713.14506099.777-30.66207.381C112713.32506039.76450.23206.462C112713.33506145.732100.23206.487C112713.60506077.91813.11ks213.283C112713.15 506099.766-50.26207.172C112713.80506091.736-12.021b 213.534C112713.90506092.046-12.35

8、ks 213.374112750.10506047.76412.68lb213.353112750.16506068.98-23.56kx 207.389112750.17506069.327-26.22207.811112750.18506070.319-29.01207.76112750.19506070.519-29.62207.311112750.20506070.525-50.13207.09112750.20506047.07213.24ks213.241112750.29506039.73327.31kx206.152112750.30506039.7350.23206.1491

9、12750.70506061.582-12.38213.04可以自动识别左右侧断面数据,并分别根据左右侧的数据,自动对距离、高程进行由近及远的排序,同时可以不受第三列距 离数据中字符的影响。3.3对于根据传统方式记录的数据,也就是软件导入既有断面数据 的时候,可以不需指定左右侧数据,程序可以依据数据格式就自 动判别断面数据是位于线路的左侧还是右侧,同时进行里程数据 自动排序,以方便进行横断面的绘制。3.4在读入中桩高程数据之前,可以通过编辑框进行中桩高程数据 的修正,如果实际需要降低中桩高程,填入负值,如果需要增高 中桩高程,则填入正值,然后保存修改后的中桩高程数据。3.5通过引进CadlO动

10、态链接库,在程序中实现CAD部分画图功能, 在导出的*dxf格式的横断面图形文件时,按照丫坐标不变,每个 断面之间间隔20m的顺序从左至右横向排列。3.6进行纵地面线图的绘制时,方格网坐标范围的大小可以根据里 程和高程的实际数据范围进行自动调整。同时分别画出纵、横坐标以及坐标刻度4、软件界面其中左侧是软件功能实现按钮以及项目信息区, 右侧是显示测量 数据导入、计算结果的显示,需要保存的数据的显示,所见即所得。5、软件开发过程5.5算法设计首先确定软件实现的目标,需要实现一个项目信息的输入,六种 格式数据的导入,两种格式数据的导出,一个横断面数据的计算以及 每次导入和导出的视图展现等功能。为了在

11、视类展示和编辑数据,采用CEditMSFIexGrid控件,并对其进行二次开发。在ClassView中新 增加FreadCouSave类,实现数据的导入,此类将实现允许导入的数 据含空格,逗号,将其忽略,从而不影响数据结构,通过相关函数的 编制实现不同的功能。具体程序算法框图见下表。5.6关键算法如何根据不同的断面测量数据,计算出同样格式的横断面数据是 软件的核心,面对多个断面数据,如何进行横断面个数的统计和分类; 对一个断面的距离乱序排列同时左右侧混排的数据如何进行排序,也是需要考虑的问题。为此编写了相关函数以解决问题。5.7编程实现5.71:新增类FreadCouSave主要用来导入和导出

12、数据,对于导入的数据格式, 对无论是以“,”隔开的数据,还是以制表符、任意空格隔开的数据,均能正确 读入,增 加了数据编辑方便性和容错能力。在这个 类中,主要的函数是 FRDuanMData()其实现代码如下:CStdioFile File(SFileName4,CFile:modeRead);CString strLin,strLinPD,str; / 定义字符串变量CStri ng kon gge();Result4.SetSize(10400,-1);int k=0;for(k=0;k10400;k+)Result4.SetAtGrow(k,kon gge);char *d= ,t;注意

13、指针操作/,*表示“空格”、“,”、“制表符”这三种符 号都可以略去。char *p;int i=1,j=0,i2=0,j2=0,i3=0;m_Djsq=0;for(i3=0;i3240;i3+)m_j sq240=-1;for(j=0;j240;j+)循环读取每一行字符,此处最大设置240行File.ReadStri ng(strLi n);char str2256=;strncpy(str2,(LPCTSTR)strLin,sizeof(str2); 计算 str2 的长度p=strtok(str2,d);str=p;Result4.SetAtGrow(i-1,str);/i-1 取值,巧

14、妙的取 SetAtGrow(0,str)i2=0;统计每一个行的数据个数while(p)/p指针本身就可以当判断条件str=p;Result4.SetAtGrow(i,str);i+;i2=i2+1;if(i2!=0)m_jsqj2=i2;/将每一行的数据个数i2存放在数组m_jsqj2中j2=j2+1;/j2表示行数m_Djsq=j2;断面行数for(j2=0;j2m_Djsq;j2+)CStri ng str;str.Format(%d,m _jsqj2);Result3.SetAtGrow(j2,str);/将数字数组转换成字符串数组 Result3CString kongge2( );

15、/ 给 kongge2 赋值for(i nt m=0;m10400;m+)if(Result4.GetAt(m)!=kongge2)/数组值可以比较的m不能错误!nn4=m;elsem=20000;5.72:在 CgridtestDlg类中增加 OnCalLC()函数,主要是为了处理多个断面数据,对每一个断面进行统计和分类;对一个断面的距离乱序排列同时左右侧混排的数据进行排序。主要代码示例如下:void CGridtestDlg:O nCalLC() /计算仪器导出的断面数据并显示if(m_Pa nd=O)判断是否导入了全站仪断面数据CStri ng strArray,strArray1,st

16、rArray2,strArray3,strArray4;int i=0,j=0,k=1;/i 是行数int lcjs161=0; 统计断面的个数for(i=0;im_n n2/4-1;i+)strArray仁Res.GetAt(i*4+0); 获取第一行第一个数据strArray1.MakeReverse(); 转换字符串顺序strArray3=strArray1.Mid(3);取字符串第4位以后的数据strArray2=Res.GetAt(i*4+4);/获取第二行第一个数据strArray2.MakeReverse(); 转换字符串顺序 strArray4=strArray2.Mid(3)

17、;/取字符串第4位以后的数据,其余处理导入的全站仪断面数据并显示的源码(此处略)/if(m_Pan d=0)/判断是否导入了全站仪断面数据/处理导入的GPS数据else if(m_Pand=1) 导入了 GPS数据,其余处理导入的GPS测量的断面数据并显示的源码(此处略)else/无断面数据导入AfxMessageBox(请先导入全站仪或者GPS断面测量数据!);5.73:对于地面线图的绘制,采用CadlO的动态链接库。在OnDxfsave() 函数里面调用,再通过一系列参数的设置和数据的计算, 最终自动绘 出DXF数据交换格式图。具体代码示例如下:void CGridtestDlg:O nD

18、xfsave()for(i=0;i 0;result &= drw.Text(Res2.GetAt(i*2+1), 5,4-i*100, 5, 0);/断面高程/ draw a lineresult &= drw.SetLayer(Layer1);/竖线也和备注是一个图层的,颜色为白色result &= drw.SetL in eType(DASHDOT2);result &= drw.Li ne(0,20-i*100,0,-20-i*100) 0;/里程竖线double VerDua nData480=-500.00;int k=0,n=0, m=0,p=0;while(m_LCdmi*3+

19、1m!=-500)/i*3+1 左侧数据k=k+1;m=m+1;/得到k值,判断左侧数据个数if(k!=O)n=k-1;while( n0)VerDua nDatap=-1*fabs(m_LCdmi*3+1 n-1);VerDua nDatap+1=m_LCdmi*3+1 n;n=n-2;P=P+2;/转换顺序VerDua nDatap+0=0.0;VerDua nDatap+1=0.0;p=p+2;/存入0点坐标m=0;while(m_LCdmi*3+2m!=-500)VerDua nDatap=m_LCdmi*3+2m;m=m+1;P=P+1;P 直延续增加/上面这一段将二维数组转换成一维

20、数组/下面画一三角形result &= drw.SetLayer(Layer3); 设置图层 3,为三角形ENTVERTEX vertex24;容器名字必须不一样ZeroMemory(vertex2, sizeof(ENTVERTEX)*4);vertex20.Poi nt.x = 0; vertex20.Poi nt.y = 0-i*100;vertex21.Poi nt.x = 0+5*cos(3.1415926/3); vertex21.Poi nt.y=0+5*si n(3.1415926/3)-i*100;vertex22.Poi nt.x= 0-5*cos(3.1415926/3)

21、; vertex22.Poi nt.y=0+5*si n(3.1415926/3)-i*100;vertex23.Poi nt.x = 0; vertex23.Poi nt.y = 0-i*100;result &= drw.PolyL in e(vertex2, 4);/下面地面线绘制result &= drw.SetLayer(Layer2);/ 设置图层 2,为地面线 int k2=0;ENTVERTEX vertex60;/画上缓和曲线,容器数据个数的上限ZeroMemory(vertex, sizeof(ENTVERTEX)*60);while(k2p)vertexk2/2.Poi

22、nt.x = VerDua nDatak2+0;距离vertexk2/2.Poi nt.y = VerDua nDatak2+1-i*100;高差 k2=k2+2;result &= drw.PolyLi ne(vertex, k2/2);地面线绘制/for断面块个数的循环结束/ Save data to dxf file if(!drw.SaveDXFFile(DxfFileName)result = FALSE;Error,MessageBox(Error while sav ing dxf file!,MB_ICONERROR | MB_OK);,其余代码此处略6、导入的数据格式说明6.

23、1、全站仪测量的断面数据格式如下所示B全站仪斷面.dat -记事本匚|回区文件 編辑 格式 查看迪 帮助 600. 01, 0. 0000, k 7500, G 1620 500.02, -0. 2750,1.9340, -0.3930500.03, 0. 0600,16. 3700, -0.530050CL 040. 4790, 23. 4240, -0, 5020500. 050. 3560, 24. 3970, -0. 4480500* 06, 0. 3070, 24. 4320, -0. 4040 500. 07,,工 3900, 31. 6760, -0. 28506.2、导入的GP

24、S RTK采集的断面数据格式如下:F GPS*fc据-吉轉崔總西耳线UEMJE-clh. dat -记車斗立件 嘱检 格式0 查若迫 稱助1112713,10506097.604-21 69ki206.92G112713.11506097. 641-2S. 8S207. 2121.12713,12506O9BL 325-27. T5207. 714112713.13ED6O99L 563-3 .09207. GS2112713.13506090. 563-30. 09207. 382112713.145060991777-30. 66207. 581112713.15506099.766-50

25、l 26207.172112713. 31506G39L 69226. 89206.155112713, 32506039176450, 2320G. 462112713. 33506145.732LOOl 23206. 487112713. 50E06078.24512. 491b213. 494112713, 60506077.91813. L】kw213. 283112713.00506091,736-12. 02Lb213. 534其中,第一列为点名,允许数字和字符,但是小数点前面数据必须一致,小数点后面需要保持两位数据。第二列为无意义列,为数据结构而保留。第三列表示距离和备注,允许是

26、数字和字符,字符必须在数字后面。根据断面测量习惯,线路左侧距离记为负,右侧距离记为正,第四列为 GPS RTKW量高程6.3、横断面中桩数据格式的第一列的字母可以更改,具体如下所示:E GPS数据-吉林枢纽西环钱中桩数据七耳七-记事本文件世1舗輯 格式袒)查看边 帚助00DK112713.00213.415DK112750. 00213.181DK112800.00213. 054DK112850,00213.138DK112900.00213. 515DK112950.00214.129DK113000. 00215,043DK113050, 00216.116DK113100.00217.

27、 467DK113150.00218.764DK113200,00218, 4656.4、纵断面中桩数据格式第一列是里程,不能含字母,具体如下所示:r寿光鲁請石化石油纵断-记事本文件逻)骗辑 格式)直看世帮助QD03. 3120503. 3806L 353. 3120803 4181003. 051201. 9137.41.4991401141.940 838147. 080, 777150.32* 93162, 2 665175.62. 987180N 433183. 251.876227.31.8322292. 8042322. 871233.61.952318,91.927320.92.

28、 921322. 902. 938323.92. 4896.5、如果已经有编辑好的断面数据,只需点击“读入中桩高程数据”按钮和其“读入既有横断面数据”按钮,导入相关数据,最后点击”生成DXF格式地面线图”,就可获得*dxf格式的图形数据文件,其中既有的断面数据格式如下F 1TJBT-Cl.l-I.tit -记事丰_- Xj玄件帥辖式切51配肋DK112#?13.000-12.0200. 119-12.350-0.041-24. $90-6- 4B9-2S. SB0 -4.203-27.750-5.701-30.090-5733-30.Q&0-6.033-30.660-氐 034-50.260-

29、5.24312.40D旳13110-0.1322B. 80-7.26050.23CI953100.230-6. 2BDK112#750.00 Q01Z. 6800.17213. 200. 06027. 510-7. 02950.250-7.032DK112#8OT. 000-11.520-0J33-11.7500.112-20- 260-4- 809-21.820-45.273-0,230-5.4S512. 9300.31813. 6800.24327.020-6P 63332.100-6.60634830-6.60$51.230-6.6WDK112*8&0.0000. 0000.000-20

30、.650-4.253-25u 210-4.514-50. Old 15213.2200. 37213. 9900.3S426.160-6.05731.370-6.03233.800-6.153乩 80-6. -1&851.290-fi.T23需要注意的是点名后面的高程数据, 可有可没有,不影响数据导入的正确性。如果左侧或者右侧无测量数据,则至少要输入一个“ 0”6.6、如果导入了中桩数据,那么最后生成的断面数据文件和距离-高差的断面数据格式,如果没有导入中桩数据,那么最后生成的就是距离-高程的断面数据格式。具体格式如下所示:E njn-cLE-c.tHt -记事本-|n| X立悻集耀囲 牯式心

31、命飾DK 112713.0012.0200.11912. S50-CL 04124. 690-48925. 83020337. TEO-5.70130.090-5.73330. 090-6.05330,姒-cm50,260-6.24312.倒0. 07913.110-0.132瓯890-7. 2&050. 230-6. 953100. 236-t 920DE 112750.0012.380-0.14123. SCO-5-79226. 220-5- 37029, 010-5. 42129, 6208?050,130 09112. 800.17213.240Q” 06027.310-7.0Z950

32、.230-T. 0323E 112300.00U.S20-0.13311.7500,:1220,2507 80921, 82027350.230-5.43512.-9300. 31813.580Or 24S27.020-6.6333Zr LOO-6.60S34.BSO弋.60951-230-6. 600DK 112850.00O.OCO0.0002X 6&0-4.25323.210-4.51450.010-4.1S213.2200. 37213. 990Q. 3826.160-6.05731.370-6.03233.BOO-6.L4554 380-6.46851. 290民 723DK 112

33、M0.000. OdQ0. 00021,55023.320-4.12152.320-3, f4112.8200. 36713. 590I). 31924.260-545026.310-5.16326. 910-e. 0232B. B20-6. 02529.120-5.45532.320-5.40934.520-6. 346M. 480弋一 3S26.7、保存(.hdm)格式数据,根据此文件,可以在线路的路基助手设计软件和南方CASS软件里面进行下一步断面处理,数据格式如下所示E ITJJTT-CLK-rqv- hd-记事本文件世)輪辑格式Q)查看辺帮助边IDK 112713.001-10 -2

34、15砂碼 I一股地层-50. 260-6. 243-30. 660-6. 034-30. 090-6. 03330. 090-5. 733-27. 750-5. 701-25. 830-6. 203-24. 690-6. 489-12, 350-0. 041卜 12 0200.1190, 000Q. 00012.4900.07913.1106 13226. 890T. 26050. 230-6. 953100. 230-6. 928DK 112750.001-10 -211砂砾 I一般地层-50.130-6. 091-29. 620-5. 87029- 010-5. 421-26. 220-5

35、. 370-23. 560-5. 792-12. 380-0.141Io. 0000. 0006、按钮介绍及使用流程 6.1对于全站仪测量的断面数据,在设定好“项目名称”,需要 先点击“全站仪测量横断面数据”按钮,导入 *Dat格式的测量 数据,如果需要在断面数据文件显示中桩高程数据,再点击“读 入中桩高程数据”按钮,读入线路中桩高程,然后点击“计算断 面数据并显示”按钮,显示计算结果,最后点击“保存断面数据” 以及生成DXF格式地面线图,分别保存断面数据和生成*dxf格 式的图形数据文件。当然也可以忽略中桩高程数据的导入, 最后 在保存断面数据文件中,断面高程显示默认值 0。6.2在处理GPS RTK采集的断面数据时,操作流程和前面的 全站仪测量断面数据的处理基本一致,就是将先点击“全站仪横 断面据”按钮换成点击“读入 GPS测量断面数据”。最后点击“保存断面数据”,保存断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论