文档库 最新最全的文档下载
当前位置:文档库 › 自由设站采集碎部点及坐标转换程序设计

自由设站采集碎部点及坐标转换程序设计

自由设站采集碎部点及坐标转换程序设计
自由设站采集碎部点及坐标转换程序设计

假设坐标系到统一坐标系的简易转换原理及VB程序设计

王林

﹙江西省水利规划设计院﹚

摘要:主要介绍了外业碎部测量中在任意点位上设站进行数据采集,然后通过联测两个或者多个已知点作为公共点进行坐标转换的简易方法及相应坐标转换程序VB设计原理。

关键词:任意设站;数据采集;公共点;坐标转换;程序设计;Visual Basic

1 引言

在进行全数字化野外碎部测量作业中,我们通常采用的方法是在某个已知点上架设仪器,并利用另外一个已知点进行定向并检查精度后展开采集工作。这种常规测量方法前提是仪器必须架在已知点上且有一个能够通视的定向方位。然而在野外测量时,我们通常会遇到这样的情况:控制点不适宜架仪器;测区仅有两个控制点却互不通视;或者,当我们选中了一个合适的观测位置时,但该位置却没有控制点。比如在数字化地形图施测的过程中,有许多控制点受地形地貌等影响两两不能通视而造成无法完成定向;在某些需线路图面点位展绘的公路、水利工程横、纵断面测量中,在某个能完成很多条断面测量的的仪器架设位置上却没有控制点;在日常的城镇地籍测量的修、补测工作中,有许多控制点在道路中心架仪器将影响交通且不安全。故此时,利用常规方法将难以开展工作。那么,能否在测站点坐标未知的情况下任意架站进行测量呢?用本文介绍的坐标简易转换方法及设计程序便可以解决这个问题。

2 解决方案设计

在任意位置上设站后,我们可以随意设置测站点的坐标及任意一个方向来完成定向——此方法实际上就是建立了一个任意坐标系。然后再在实施测量过程中保证联测到任意两个或以上的已知控制点。那么,这两个或以上的控制点就有了任意坐标系和统一坐标系中的两套坐标数据,本文称之为“公共点”。从而在处理内业时,采用某些近似转换方法,利用这些公共点的两套坐标数据便克求得相对应的转换参数,从而将所有碎步点的任意坐标转换为统一坐标。在保证精度的情况下,还可以在第一个测站的基础上向下再发展若干个测站,在这些测站内只要联测任意两个或以上的公共点即可完成坐标转换(如图1)。

合乎

3 设计思想

不断研究表明,在小区域工程范围内进行坐标转换,可以看成是2个平面坐标系统之间只存在某种旋转和尺度伸缩,因而利用平面相似变换公式来模拟2个平面坐标系的变换关系。 3.1 坐标转换的数学模型

设自定义坐标系为X ’O ’Y ’,统一坐标系为XOY ,X ’轴经顺时针旋转а角后与X 轴平行,则 某一点﹙如图2点A ﹚的自定义坐标(X A ’,Y A ’)转换为统一坐标(X A ,Y A )的计算公式为:

???**+**+=**-**+=α

αα

αcos sin sin cos ,

,0,

,0m Y m X Y Y m Y m X X X A A A A A A …………………﹙1﹚ ﹙1﹚式中的Xo 、Yo 为自定义坐标系的原点O ’在统一坐标系中的坐标,即为平移参数。m为尺度比参数,а为旋转角参数。在本文中将а、m、X 0 、Y 0称为转换参数,而坐标转换的关键是求解转换参数。

3.2 求解转换参数

设A 、B 为两公共点,那么,通过坐标反算可以求得直线AB 在两个坐标系的方位角а’AB 、аAB ,

从而通过﹙2﹚式可以求得参数а。﹙如图3﹚

,AB AB ααα-= (2)

将A 、B 点的两套坐标值X A 、Y A 、X B 、Y B 、X A ’、Y A ’、X B ’、Y B ’代入﹙3﹚式就可以求得参数m、X 0、Y 0。

???**-**-=**+**-=α

αα

αcos sin sin cos ,

,0,,0m Y m X Y Y m Y m X X X i i i i i i …… ……………﹙3﹚ 在求得а、m、X 0 、Y 0四参数后,若数值检验正确,将其代入﹙1﹚式,从而完成所有任意坐标点的坐标转换。

另外,此点高程的转换公式很简单:

H =H ’+?H ?H =H ’+H A -H A ’ (4)

4 程序设计

明白了程序的设计原理后,整个程序设计流程如下:

用全站仪或动态GPS 完成野外碎步点数据采集后,我们首先要将采集的坐标数据传输到计算机中进行编辑处理,然后才通过成图软件完成DLG 图形的绘制。处理不同的仪器数据格式可能会略有不同,本文以Leica 型全站仪为例进行程序设计,其他类型的数据格式可以用Excel 等文本编辑工具转换为本文中的格式,或修改本文提供的程序代码来实现。Leica 型全站仪的坐标数据文件格式为: 点号,Y ,X ,H ,编码

在编辑碎步点数据文件时,其中最为关键的是要在所有公共点编码块加以点名作为识别码,程序以5位字符编码为允许最长位识别码,如“GI001”,“0TG01”等。同时,我们需要新建一个同样数据格

式的公共点正确数据文件,同一公共点编码应保持一致。需注意的是,程序设计将以碎步点数据文件中列在文本最上一行的公共点作为设站点,以第二行的公共点作为定向点和公共点精度检核,其后所有公共点均作为公共点精度检核点。程序运行后将自动读取公共点坐标数据文件中的数据并自动进行编辑检查。检查有误如只有一个公共点则程序提示是否只是完成两坐标系之间的向量平移,若是继续平移转换所有碎部点;若否,则重新返回进行数据提取及检查(如图4)。检查无误则利用公共点按平面相似变换公式计算坐标转换四参数。然后根据所求参数重新求取公共点坐标并自动进行公共点数据残差计算并评定精度﹝检核点点位误差平面应不大于图上0.2㎜,高程不应大于

1基本等高距﹞(如图5),若

5

合格则将任意坐标转换为与正确控制点所对应坐标系统下的坐标,从而生成新的坐标数据文件。为实现与南方公司成图软件Cass的衔接,本程序直接将坐标数据文件转换为Cass﹙.Dat﹚格式的坐标数据文件,其格式为:

点号,编码,Y,X,H

用Visual Basic语言编写的程序主界面如下图(6):

图4:只有一个公共点的提示图5:精度评定提示

图6 程序主界面

此坐标转换软件是用VB6.0语言编写,界面友好、操作简便、纠错性强、通用性好,某种程度上能把测量人员从繁琐的传统作业模式中解脱出来,降低了测量人员的劳动强度,提高了成果的科技含量,从而提高了工作效率。

5 后记

用任意架站联测若干个已知点的办法采集碎部点并用所编程序转换假设坐标,使得外业测量的作业模式变得更加灵活。运用此方法,在控制点不能架仪器或控制点不能通视的条件下也可以先进行测量;在有些用传统方法需要一次引点后才能测量的地方甚至于可以不用引点便可直接设站测量;我们也可以在测区暂时没有控制点的情况下先行开展碎部测量,事后再联测控制点进行坐标转换,从而使得控制测量作业和碎部测量作业同步保持进度,这对于工期要求紧的工程特别适用。该方法突破了“从整体到局部,先控制后碎部”的传统测量作业模式,可以极大地提高工作效率。

FX5800P计算器坐标正反算程序Word文档

(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。) 卡西欧fx5800p计算器坐标正反算程序

一、程序功能 本程序由 6 个主程序、 5 个次子程序及 5 个参数子程序组成。主要用于公路测量中坐标正反算,设计任意点高程及横坡计算 , 桥涵放样,路基开挖口及填方坡脚线放样。程序坐标计算适应于任何线型 . 二、源程序 1. 主程序 1 :一般放样反算程序(① 正算坐标、放样点至置仪点方位角及距离;② 反算桩号及距中距离 ) 程序名 :1ZD-XY Lb1 0:Norm 2 F=1 : ( 正反算判别, F=1 正算, F=2 反算 , 也可以改 F 前加?,改 F 为变量 ) Z[1]=90 (与路线右边夹角) Prog " THB ": F=1=>Goto 1:F=2=>Goto 2 Lb1 1: F ix 3: "X = ": Locate 6,4, X◢ "Y=": Locate 6,4, Y◢ P rog "3JS”:Goto 0: Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢ "D=": Locate 6,4, D◢ G oto 0 2.主程序2:高程序横坡程序 ( 设计任意点高程及横坡 ) 程序名: 2GC LbI 0:Norm 2 “KM”?Z:?D: Prog”H”:Fix 3:” H=”:Locate 6,4,H◢ “ I=”: Locate 6,4,I◢ Goto 0 3. 主程序 3 :极坐放样计算程序 ( 计算放样点至置仪点方位角及距离 ) 程序名: 3JS X : Y : 1268 .123→K( 置仪点 X 坐标 ) 2243 .545→L (置仪点 Y 坐标,都是手工输入 , 也可以建导线点数据库子程序 , 个人认为太麻烦) Y-L→E : X-K→F : Pol(F,E):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢( 不习惯小数点后四位为角度显示的,也可以用命令 J◢DMS◢ 来直接显示 ) Fix 3:” S=”:Locate 6,4,I◢ 4 .主程序 4 :涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序 3 中输入置仪点坐标后计算放样点至置仪点方位角及距离 ) 程序名: 4JH-XY LbI 0:Norm 2 90→Z[1]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )

VB程序设计作业参考答案

《VB程序设计》作业参考答案 一.选择题 1-5 ABC CB 6—10 CCA DC 11-15 ABC DB 15-20CDA CB 21-25DBD CC 25-30DAC AA 31-35 DAC AA 36-40 BCC CD 41-45 CCC AC 46-50DDB AD 51-55 ACA CD 56-60 BCA DA 61-65 BAADB 66-70DBDAC 71-75BBBAD 76—80CDABC 81-85ABCD C 86-90BAADD 91-95CBBAD 96.B 二.填空题 (1) E (2) 程序代码(3) CmdDisplay.Visible =False(4) t=a(j)(5) And (6) 回车符(7) text2.setfocus (8) 3 (9) D=B:B=C:C=D (10) Random (11)事件过程(12) 打开对话框(13) 3 (14) a(i,j)=0 (15) L1.text (16) Put # (17) True (18) I MOD 4=0 (19) AaBbCc (20)INT(Rnd*100) ;arr (21)Output ;Write #1,StuNo,StuName,StuEng (22)10 (23)4 (24) 顺序,随机 (25)INPUT,OUTPUT,APPEND (26)程序代码窗口的字符过大或过小,可以通过(工具→选项→编辑器格式→大小)去改变。(27)窗体、控件、对象(28)界面设计(29)对象、代码(30)窗体、标准模块、类模块、工程(31)窗体(Form)、图片框(PictureBox)、打印机(Printer)、立即窗口(Debug) (32)E D(33)81 (34)程序,数据(35)窗体、控件、对象(36)对象、代码(37)用户界面的窗体、执行具体操作的代码。(38)Picture属性、剪切板把图形粘贴 三.编程题 1. Option Base 1 Private Sub Form_click() Dim a(3) As Integer, m As Integer Do While m <> -1 And i < 3 m = InputBox("请输入第" & i + 1 & "条边") i = i + 1 a(i) = m If a(i) < 0 Then MsgBox "输入错误,请重新输入!" i = i - 1 End If Loop If a(1) + a(2) > a(3) And Abs(a(1) - a(2)) < a(3) Then

VB程序设计网上作业2016

题1.若要使命令按钮不可操作,要对下列哪个属性进行设置 A、Enabled B、Visible C、BackColor D、Caption 标准答案:A 题2.打开文件的Open语句中,如果省略“For模式”,则打开的文件的存取方式是 A、顺序存取方式 B、顺序文件方式 C、随机存取方式 D、二进制方式 标准答案:C 题3.命令按钮、单选按钮、复选框上都有Picture属性,可以在控件上显示图片,但需要通过下列哪一个属性来控制 A、Appearance属性 B、Style属性 C、DisabledPicture属性 D、DownPicture属性 标准答案:B 题4.系统启动时自动执行下列哪一个事件过程

A、Load B、Click C、UnLoad D、GotFocus 标准答案:A 题5.VB工程中窗体文件的扩展名是 A、.bas B、.frm C、.vbg D、vbp 标准答案:B 题6.如下数组声明语句,正确的是 A、Dim x[1,4] As integer B、Dim x(1, 1 to 4) As integer C、Dim x([1,n] As integer D、Dim x(1 4) As integer 标准答案:B 题7.如下VB的特点中错误的是 A、简单易学 B、界面友好

C、不可编译 D、集成化环境 标准答案:C 题8.从随机文件读出数据使用的语句是 A、Input # 文件号,变量名 B、Get # 文件号,变量名 C、Put # 文件号,变量名 D、Write # 文件号,变量名 标准答案:B 题9.为了防止用户随意将光标置于控件之上,应 A、将控件的TabIndex属性设置为0 B、将控件的Tapstop属性设置为True C、将控件的TapStop属性设置为False D、将控件的Enabled属性设置为False 标准答案:D 题10.如果希望在InputBox的提示项中输出多行内容时,需要使用下列哪个参数实现 A、Chr(13)+Chr(10) B、Chr(13) C、Chr(10) D、Chr(10)+Chr(13) 标准答案:A

5800计算器全线坐标计算放样程序(修改第三版)

5800计算器全线坐标计算放样程序(修改第三版) 5800计算器全线坐标计算放样程序(修改版) “XLZBJSCX” ◢ LB1 0 ↙ CLS : FIX 4 : 30→DIM Z ↙ “XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y)0l(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视 方位角) LB1 1 ↙ “K=”?K ◢(计算里程) IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→0 (注:左偏曲线输入-1→0,右偏曲线输入1→0): 偏角→A:半径→R : 第一缓和曲线→Z[6] : 第二缓和曲线 →Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : G0T0 2 : IFEND↙ …………(曲线段分段输入) 补充直线段输入如下 IF K<本段直线终点里程 AND K≥本段直线起点里程:THEN 1→0:本段直线终点里程→Z[2]:终点X→Z[16]:终点Y→Z[11]:方位角→E:G0T0 4:IFEND LB1 2 ↙(曲线要素计算) Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1) Z[7]/2- Z[6]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2) Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1) Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2) π*A*R/180+0.5*( Z[3]+ Z[2])→W ↙(曲线总长) 90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角) 90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略) Z[8]+(R+Z[10])TAN(A/2)-(Z[11]-Z[11] )/SIN A→Z[11]↙ (切线T1) Z[9]+(R+Z[12])TAN(A/2)+(Z[10]-Z[12] )/SIN A→Z[12]↙ (切线T2) B+ Z[12]*C0S (E+180)→ Z[13] ↙(ZH点X) C+ Z[12]*SIN(E+180)→ Z[15] ↙(ZH点Y) Z[1]-S→Z[3] ↙ (ZH点里程) Z[3]+ Z[6]→Z[4] ↙ (HY点里程) Z[1]- Z[7]→Z[5] ↙ (YH点里程) G0T0 3 ↙ LB1 3 ↙(判断里程点与曲线关系) IF K≤Z[3] AND K> Z[2] : THEN G0T0 4 : IFEND ↙ IF K≤Z[4] AND K> Z[3] : THEN G0T0 5 : IFEND ↙ IF K≤Z[5] AND K> Z[4] : THEN G0T0 6 : IFEND ↙

VB程序设计大作业报告

VB程序设计大作业报告 班级:机械11102班学号:201103112 姓名:孙文斌日期:2013.05.13 一、设计题目:《抓交通肇事犯》 一辆卡车违反了交通规则,撞人后逃逸。现场有三人目击事件,但都没有记住车号,记住车号的一些特征。甲说:车号的前两位数字是相同的;乙说:车号的后两位数字 是相同的,但与前两位不同;丙是位数学家,他说:四位的车号正好是一个整数的平 方。现在请你根据以上线索帮助警方找出车号以便尽快破案 二、问题分析与算法设计: 按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。 假设这个四位数的前两位数字都是i,后两位数字都是j,则这个可能的四位数k为:k = 1000 * i + 100 * i + 10 * j + j 其中,i和j都在0~9之间变化。现在还需使k满足是一个整数c的平方,由于k是一个四位数,所以,m值不可能小于31和大于100,因此,可从31开始试验到100,看是否满足k == c*c,若不满足,则c加1再试,直到找到满足这些限制条件的k为止结束测试。 三、界面与结果截图: 界面截图:

结果截图: 四、结果分析与总结: 通过结果截图我们知道最后得到的车牌号为7744,首先检验甲叙述的前两位数字相同都为7,再检验乙叙述的车牌号后两位相同都为4且不与前两位相同,最后检验丙叙述的该车牌号为88的平方,所以综合上述检验分析结果满足题意。 通过此次VB程序设计从理论到实践,我学到很多很多的的东西,让我对vb程序编写有了一个初步认识。从最初的拿到题目无从下手,接着网上查阅些材料以及反复看书本上的例题使我对这个程序的编写有了一个大致轮廓,接着在草稿纸上写下程序代码,然后到计算机上反复调试,最终才算完成。在这反复调试的过程中我明白了时间是检验真理的唯一标准。这对我今后的学习中都会起到非常重要的作用。最后衷心感谢李宁老师对我vb课程的指导,祝您身体健康,工作愉快。 附录程序源代码: Private Sub command1_click() Dim i%, j%, k%, c% For i = 0 To 9 For j = 0 To 9 If i <> j Then k = i * 1000 + i * 100 + j * 10 + j For c = 31 To 100 If (c * c) = k Then Picture1.Print k End If Next c End If Next j Next i End Sub

电子科技大学15秋《VB程序设计》在线作业2满分答案

15秋《VB程序设计》在线作业2 一,单选题 1. DataCombo控件的RowSource属性是表示()。 A. 给DataComebo控件提供列表项的字段 B. 目的表的数据源 C. 给DataCombo控件提供列表项的数据源 D. 更新目的表的字段 正确答案:C 2. 执行语句:Open "Tel.dat" For Random As #1 Len=50后,对文件Tel.dat中的数据能够执行的操作是()。 A. 只能写,不能读 B. 只能读,不能写 C. 既可以读,也可以写 D. 不能读,不能写 正确答案:C 3. 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click() Dim array1(10,10) As Integer Dim I, j As Integer For I=1 To 3 For j=2 To 4 array1(I, j)=I+j Next j Next I Text1.Text=array1(2,3)+array1(3,4) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是() 正确答案:A 4. 下列哪个属性设置文本框中文字的对齐方式()。 A. SelLength B. Alignment C. Multiline D. ScrollBars 正确答案:B 5. 以下能判断是否到达文件尾的函数是()。 A. BOF B. LOC C. LOF D. EOF 正确答案:D 6. 下面叙述错误的是()。 A. 驱动器列表框DriveListBox显示当前系统中有效磁盘驱动器 B. 目录列表框DirListBox显示当前驱动器分层目录树 C. 文件列表框FileListBox显示选定目录中的所有文件 D. 文件列表框FileName属性是设定允许显示文件名的文件类型 正确答案:D

自由设站采集碎部点及坐标转换程序设计

假设坐标系到统一坐标系的简易转换原理及VB程序设计 王林 ﹙江西省水利规划设计院﹚ 摘要:主要介绍了外业碎部测量中在任意点位上设站进行数据采集,然后通过联测两个或者多个已知点作为公共点进行坐标转换的简易方法及相应坐标转换程序VB设计原理。 关键词:任意设站;数据采集;公共点;坐标转换;程序设计;Visual Basic 1 引言 在进行全数字化野外碎部测量作业中,我们通常采用的方法是在某个已知点上架设仪器,并利用另外一个已知点进行定向并检查精度后展开采集工作。这种常规测量方法前提是仪器必须架在已知点上且有一个能够通视的定向方位。然而在野外测量时,我们通常会遇到这样的情况:控制点不适宜架仪器;测区仅有两个控制点却互不通视;或者,当我们选中了一个合适的观测位置时,但该位置却没有控制点。比如在数字化地形图施测的过程中,有许多控制点受地形地貌等影响两两不能通视而造成无法完成定向;在某些需线路图面点位展绘的公路、水利工程横、纵断面测量中,在某个能完成很多条断面测量的的仪器架设位置上却没有控制点;在日常的城镇地籍测量的修、补测工作中,有许多控制点在道路中心架仪器将影响交通且不安全。故此时,利用常规方法将难以开展工作。那么,能否在测站点坐标未知的情况下任意架站进行测量呢?用本文介绍的坐标简易转换方法及设计程序便可以解决这个问题。 2 解决方案设计 在任意位置上设站后,我们可以随意设置测站点的坐标及任意一个方向来完成定向——此方法实际上就是建立了一个任意坐标系。然后再在实施测量过程中保证联测到任意两个或以上的已知控制点。那么,这两个或以上的控制点就有了任意坐标系和统一坐标系中的两套坐标数据,本文称之为“公共点”。从而在处理内业时,采用某些近似转换方法,利用这些公共点的两套坐标数据便克求得相对应的转换参数,从而将所有碎步点的任意坐标转换为统一坐标。在保证精度的情况下,还可以在第一个测站的基础上向下再发展若干个测站,在这些测站内只要联测任意两个或以上的公共点即可完成坐标转换(如图1)。 合乎

5800-9860计算器坐标正反算通用程序

5800-9860计算器坐标正反算通用程序 1. 坐标正算主程序(命名为ZBZS) 第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B 第2行:Prog “A” 第3行:”X=”:N+Zcos(F+B)◢ 第4行:”Y=”:E+Zsin(F+B)◢ 第5行:”F=”:F◢ 第6行:Goto 0 K——计算点的里程 BIAN——计算点到中桩的距离(左负右正) α——取前右夹角为正 2. 坐标反算桩号和偏距主程序(命名为ZBFS) 第1行:”X1=”? C:”Y1=”?D: ”K1=”?K 第2行:Lbl 0:Prog “A” 第3行:Pol(C-N,D-E) 第4行:List Ans[1]→I 第5行:List Ans[2]→J 第6行:Icos(F-J)→S:K+S→K 第7行:Abs(S)>0.0001=>Goto 0 第8行:”K1=”:K◢ 第9行:”BIAN=”:Isin(J-F)→Z◢ X1——取样点的X坐标 Y1——取样点的Y坐标 K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号 Z——偏距(左负右正) 3. 计算坐标子程序(命名为XYF) 为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I 第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N 第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E 第4行:F+S(2P+SI)×90÷π→F 4. 数据库(命名为A)

第1行:K≤175.191=>Stop 第2行: 175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/240→Q:70.417→L: K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240) 第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q: 72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240) 第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104 →L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240) 第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:- 1/180→Q:67.222→L: K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180) 第6行:Lbl 1:Prog “XYF” A——曲线段起点的里程 N——曲线段起点的x坐标 E——曲线段起点的y坐标 F——曲线段起点的坐标方位角 P——曲线段起点的曲率(左负右正) Q——曲线段终点的曲率(左负右正) L——曲线段长度(尽量使用长度,为计算断链方便) 说明: (1)在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。 (2)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加第二偏距和转角两个变量。 (3)程序规定,左偏曲线曲率(半径倒数)输入负值,右偏曲线曲率输入正值,直线上点曲率输入0,例如直线段,线元起点和终点均输入0,第一缓和曲线分别输入0和圆半径的倒数,圆曲线均输入半径倒数,第二缓和曲线分别输入圆半径倒数和0,卵形曲线分别输 入对应圆半径的倒数 (4)若是从大里程向小里程的反方向计算,则曲率取正方向时的负值,方位角减去(或加上)180度。 (5)有多个匝道的项目,可随时更改正反算主程序中的红色字体部分来调用其它线路的数据 (6)反算桩号偏差为1mm (7)可以计算任意线型的任意点坐标

VB程序设计作业(二)答案

《VB程序设计》作业(二) 客观题部分: 选择题(每题1分,共15题) 1. 当VB执行下面语句后,A的值为(A )。 A=1IF A>0 THEN A=A+1IF A>1 THEN A=0 A)0 B)1 C)2 D)3 2. 当VB执行下面语句后,输出的结果是(B )。 Private Sub Form_Click() score = Int(Rnd * 10) + 30Select Case scoreCase Is < 10A$ = "F"Case 10 To 19A$ = "D" Case 20 To 29A$ = "C"Case 30 To 39A$ = "B"Case ElseA$ = "A"End SelectPrint A$End Sub A)AB)B C)C D)D 3. 执行下面的程序段后,x 的值为( C )。 x=2For i=1 To 10Step 3x=x+i\2Next i A) 2 B) 4 C) 7 D) 9 4. 假定有以下循环结构: Do Until 条件循环体Loop 则正确的描述是( D )。 A) 如果“条件”是一个为0的常数,则一次循环体也不执行 B) 如果“条件”是一个为0的常数,则至少执行一次循环体 C) 如果“条件”是一个不为0的常数,则至少执行一次循环体 D) 不论“条件”是否为“真”,至少要执行一次循环体 5. 假定有以下程序段: For i= 1 To 3For j= 5 To 1 Step -1Print i *jNextj , i 则语句“Print i *j”的执行次数是( C )。 A)20B)24 C)15 D)18 6. 以下程序段的输出结果为( D )。 x = 2y = 8Do Until y>8x = x * yy = y +1LoopPrint x A)2B)9 C)10 D)16 7. 用下面的语句所定义的数组的元素个数是(D )。 Dim A(-3 To 5)As Integer A)6 B)7C)8D)9 8. 阅读下面的程序段: For i=1 To 2For j=1 To IFor k=j To 2x=x+1Next kNext jNext i 执行上面的三重循环后,x的值为( C )。 A) 3 B) 4 C) 5 D) 6 9.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() For i=1 To 3x=2For j =1 To 2x=4For k=1 To 3x=x+5Next kNext jNext i Print xEnd Sub 程序运行后,单击命令按钮,输出结果是( B )。 A) 11 B) 19 C) 57 D) 63 10. 在窗体上画两个文本框Text1和Text2,一个命令按钮Command1,然后编写如下事件过程: Private Sub Command1_Click()

卡西欧5800坐标计算程序(通俗易懂版)

卡西欧5800道路坐标测量程序(通俗易懂版) 主程序(自己给取个名吧) 2→Dimz “1.SZ=﹥XY 2.XY=﹥SZ”◢ “N=”?N If N=1:Then Goto 1:Else Goto 2:IfEnd Lbl 1 “S=”?S “Z=”?Z “J=”?T If S﹤0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉) 1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E:Abs(Abs(S)-O)→W:Prog “SUB1” “QJ=”:Z[1]◣DMS◢ “X=”:X◢ “Y=”:Y◢ Goto 1 Lbl 2

“S=”?S If S<0:Then Prog “SYL”:Else Prog “SYR”:IfEnd(可拿掉) 90→T 1÷P→C:(P-R) ÷(2HPR)→D:180÷∏→E “X=”?X “Y=”?Y X→I:Y→J Prog “SUB2” O+W→S(红色加粗加下画线为字母,常规为零) “S=”:S◢ Z→Z “Z=”:Z◢ Goto 2 子程序(SUB1) 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C +FWD))+Acos(G+QEMW(C+MWD)))→X V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+F WD))+Asin(G+QEMW(C+MWD))) →Y G+QEW(C+WD)→Z[1]

VB程序设计(2015大作业)

《VB程序设计》大作业 一、大作业的内容 本次大作业要求学生根据所学知识以及个人爱好,设计开发一个VB应用小程序。要能体现出: 1.《VB程序设计》各种语句的综合使用能力; 2.《VB程序设计》各种相关控件的使用能力; 3.根据具体的设计题目,设计清晰、美观界面的能力; 4.一定的综合设计能力。 二、大作业的要求 本次大作业应满足以下要求: 实用性:应用程序要有明确的应用主题,有一定的实用价值。 结构性:应用程序具有良好的程序结构。 可读性:应用程序具有较好的可读性。 全面性:应用程序应包含比较全面的功能。 友好性:合理使用VB提供的各种控件,设计友好、美观的使用界面。 三、大作业的步骤 1.根据个人兴趣、爱好,以及提交时间的要求,自己确定设计题目(可参考附件1); 2.查找与设计题目相关的资料; 3.进行应用程序总体结构、使用功能的设计; 4.进行应用程序的界面设计和源程序代码的编写; 5.上机编辑、调试程序; 6.保存应用程序, 并生成可执行文件; 7.撰写设计报告。 四、设计报告的基本格式 设计报告的基本内容至少包括封面、正文、总结三部分。 (1).封面(包括:题目、班级、姓名、指导教师、完成日期等信息) (2).正文 1、课题的选材过程(设计思路); 2、设计的将要达到的目标; 3、总体设计结构与功能; (1)总体设计结构介绍(绘制:结构流程图) (2)各功能模块运行界面的功能、算法和操作步骤; 4、设计结果分析;(运行结果展示、正确性分析) (3).总结(感想、收获、启发、存在的问题) 五、课程大作业提交 (1)形式设计报告+ 源程序文件(含可执行文件) 其中:<1>设计报告的封面统一(附件2); <2>源程序文件(含*.vbp;*.frm;*.exe)打包压缩成一个文件, 以学号+姓名(例如:12020741姓名)为文件名。 (2)时间2015年6月1日之前; (3)方法纸质报告及压缩文件交各班学委,按顺序排好后由学委统一上交;

测量坐标计算

一、坐标正反算: 数学数轴X (横轴)Y (竖轴) 测量数轴Y (横轴)X (竖轴),测量计算中以测量竖轴判断象限,象限以顺时针排列。 正算cos AB B A AB X X D α?=+ sin AB B A AB Y Y D α=+? 直圆点里程ZY=JD-T 圆直点里程YZ=ZY+L 曲中点里程QZ=YZ-L/2 R>300m 时,曲线上20m 定一个桩,R<200m 时,曲线上100m 定一个桩。 l i 为曲线点至ZY (或YZ )的曲线长 i 点与ZY 点在曲线上夹角 i 180= i l R απ?

i 点与ZY 点在X 上变化 sin i i x R α= i 点与ZY 点在Y 上变化 () 1cos i i y R α=- 2.缓和曲线和圆曲线相对坐标计算 0缓和曲线长 001802l R βπ=? 24 003-242688l l p R R =3002 2240l l m R =- 00018036l R βδπ ==? 切线支距法

缓和曲线: 59 2244 00403456l l x l R l R l =-+ 3711 3355 000 -633642240l l l y Rl R l R l =+ 圆曲线:00002290180180==2l l l l l l R R R ?βπππ ---?=?+? () 特别提示:此处线路转向±与其他情况正好相反! 3、已知两坐标系纵轴夹角计算 X 0、Y 0为施工坐标原点,α为两坐标系纵轴夹角 0cos sin p p X X x y αα=+- 0cos sin p p Y Y y x αα=+-

VB程序设计阶段性作业1

中国地质大学(武汉)远程与继续教育学院 VB程序设计课程作业1(共4 次作业) 学习层次:专升本涉及章节:第1章——第4章 一、判断题 1.在Visual Basic中,有一些通用的过程和函数作为方法供用户直接调用。 2.在面向对象的程序设计中,对象是指可以访问的实体。 3.事件是由Visual Basic预先定义的对象能够识别的动作。 4.由Visual Basic语言编写的应用程序有解释和编译两种执行方式。 5.“事件过程”是用来完成事件发生后所要执行的程序代码。 6.在逻辑运算符Not、Or、And中,运算优先级由高到低依次为Not、Or、And。7.用DIM定义数值变量时,该数值变量自动赋初值为0。 8.函数InputBox的前3个参数分别是输入对话框的提示信息、标题以及默认值。9.函数MsgBox的前3个参数分别表示默认按钮、按钮样式以及图标样式。 二、选择题 1.在设计模式双击窗体中的对象后,Visual Basic将显示的窗口是。 A、项目(工程)窗口 B、工具箱 C、代码窗口 D、属性窗口2.窗体的FontName属性的缺省值是。 A、宋体 B、仿宋体 C、楷体 D、黑体3.将Visual Basic编制的程序保存在磁盘上,至少会产生何种文件。A、.doc与.txt B、.com与.exe C、.bat与.frm D、.vbp与.frm 4.运算符“\”两边的操作数若类型不同,则先再运算。

A、取整为Byte类型 B、取整为Integer类型 C、四舍五入为整型 D、四舍五入为Byte类型 5.Print语句的一个输出表达式为,则输出包括日期、时间信息。 A、Date B、Month C、Time D、Now 6. 语句Print "5*5" 的显示结果是。 A、25 B、"5*5" C、5*5 D、出现错误提示7.语句“Form1.Print T ab(10);"#"”的作用是在窗体当前输出行。4 A、第10列输出字符“#”B、第9列输出字符“#” C、第11列输出字符“#” D、输出10个字符“#” 三、填空题 1.事件是由Visual Basic预先定义的能够识别的动作。 2.新建工程时系统会自动将窗体标题设置为。 3.长整型变量(Long类型)占用个字节。 4.表达式81 \ 7 Mod 2 ^ 2的值是。 5.用随机函数产生一个两位整数的Visual Basic表达式是。 6.#20/5/01#表示类型常量。 7.设I为大于0的实数,写出大于I的最小整数的表达式。 四、程序设计题 1.编程,输入圆的半径,计算并输出圆的面积,按下列要求分别实现: (1)界面设计尽可能美观、大方。

作业一 简单VB程序设计

作业一简单VB程序设计 1.对于窗体,下面______属性在程序运行时其属性设置起作用。 (A)MaxButton (B)BorderStyle (C)Name (D)Left 2.类是对象的抽象,对象则是类的具体化。在窗体上建立的一个控件称为______。 (A)对象(B)容器(C)实体(D)类 3.若要使标签控件显示时不覆盖其背景内容,要对______属性进行设置。 (A)BackColor (B)BorderStyle (C)ForeColor (D)BackStyle 4.用一个程序段对一对象被单击(或双击)作出响应,从而实现指定的操作,称为______。(A)可视画化程序设计(B)事件驱动编程机制(C)过程化程序实际方法(D)非过程化程序设计语言 5.文本框没有______属性。 (A)Enabled (B)Visible (C)BackColor (D)Caption 6.不论何控件,共同具有的是______属性。 (A)Text (B)Name (C)ForeColor (D)Caption 7.要使Form1窗体的标题栏显示"欢迎使用VB",以下______语句是正确的。 (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption='欢迎使用VB ' (C)Form1.Caption=欢迎使用VB (D)Form1.Caption="欢迎使用VB " 8.要使某控件在运行时不可显示,应对______属性进行设置。 (A)Enabled (B)Visible (C)BackColor (D)Caption 9.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列______属性设置就有效。(A)MaxButton (B)BorderStyle (C)Width (D)MinButton 10.当运行程序时,系统自动执行启动窗体的______事件过程。 (A)Load (B)Click (C)UnLoad (D)GotFocus 11.当文本框的ScrollBars属性设置了非零值,却没有效果,原因是______。 (A)文本框中没有内容(B)文本框的MultiLine属性为False (C)文本框的MultiLine属性为True (D)文本框的Locked属性为True 12.要判断在文本框是否按了Enter键,应在文本框的______事件中判断。 (A)Change (B)KeyDown (C)Click (D)KeyPress 13.将调试通过的工程经"文件"菜单的"生成.exe文件"编译成.exe后,将该可执行文件到其他机器上不能运行的主要原因是______。 (A)运行的机器上无VB系统(B)缺少.frm窗体文件(C)该可执行文件有病毒(D)以上原因都不对 14.当需要上下文帮助时,选择要帮助的"难题",然后按______键,就可出现MSDN窗口及显示所需"难题"的帮助信息。 (A)Help (B)F10 (C)Esc (D)F1 15.Visual Basic有三种工作模式,它们分别是______模式。 (A)设计、编译和运行(B)设计、运行和中断 (C)设计、运行和调试(D)编译、运行和调试 答案:DADBD BDBBA BDADB

全站仪采集碎部点坐标注意事项

全站仪采集碎部点坐标注意事项 1.碎部点:碎部点是地球表面能控制地物、地貌走向、形状、起伏在平面、竖面上方向变化的特征点、关键点,如房子、道路的拐点,坡度变化点。 只要准确获取特征点的位置、高程,就能连成线、形成面、构成体,就能形象逼真、艺术美观的表达地表的地物、地貌,并以二维静志、三维静态和V R、A R技术动态直观地呈现在面前并身临其境。 2.统一标准和基准 冇规矩不成方圆,规范是作业的依据和指南,本实习依据《城市测量规范》(建标2009版)、《1:500、1:1000、1:2000地形图图式》(国标2007版) 采集、处理、编辑、存储、表达的现实世界必须在统一的时空基准下,空间基准就是我们采用坐标系统(首选C G C S2000国家大地坐标系)和高程系统(首选1985国家高程基准)。 3.控制点:我们这次实习用导线测量、水准测量、似水准测量方法,经采集、处理,获取控制点坐标、高程成果。 控制点标志和控制点坐标、高程是测图的基础,图根控制点是测图的根本,足够精度的控制点若密度不够可选用多种方法增补满足精度要求的测站点。 4.测站上的工作 ①这次实习中的角色:测站上的观测员和记录员,镜站上的草图员、司镜员。各司其职、各负其责。 ②碎部测量三步曲 第一步,测站设置:安置全站对中整平,建文件(组别加姓名第一个字母,如1D R R)、输入测站坐标高程、仪器高、编码。记录员记载。 第二步,后视定向(输入坐标、棱镜高),恢复坐标系并检查,检查测量坐标、高程和已知坐标、高程之差不超过3厘米,确保坐标系、高程基准恢复无误。记录员记载。 第三步,碎部测量,司镜、观测员、记录员按草图员的指挥,从测站出发由近到远(最远不得超过最大测距边长120米),按地性线、之字形、梅花瓣形、沿等高线等跑点方法轻松不废力、不重不遗漏,画图、立镜、测量、编点号和编码。 必须做到草图上的点号符号、全站仪里的点号编码与实地三一致。必须要按一边走、一边看、一边判、一边画、一边测、一边量的要求作业,方可达到清清楚楚、明明白白、不重不漏、齐全完整。 测站工作完成后,应进行归零检查。

曲线坐标计算程序

曲线坐标计算程序

曲线坐标计算程序 关键词: 曲线坐标计算 EXCEL编程坐标曲线坐标实例 摘要: 利用EXCEL强大的函数功能通过曲线坐标计算的知识编制成曲线计算坐标的计算程序。简单的输入曲线的里程桩号,通过坐标旋转、平移结合可以快速的计算完成与线路成任意角度的曲线上各中桩、边桩以及任意点坐标的计算。 1、概述 一般计算圆曲线可用坐标正算直接进行计算,具体思路和求解步骤,这里不再阐述。若计算带有缓和曲线的圆曲线时,将测量中所学的支距法与坐标旋转、平移结合在一起,利用EXCEL表中强大的函数自动计算功能,准确快速的完成对缓和曲线的坐标计算。比一般的手工计算快10~20倍,比CAD绘图计算快5~10倍。并可以应用来指导工程施工、施工放样、审核图纸等工作。 2、计算过程分段 在计算带有缓和曲线的圆曲线或圆曲线时,只要输入待求点的里程,程序将会自动会计算线路中桩的坐标、与中桩有一定夹角、距离的边桩坐标,与边桩中心线任意夹角的垂直桩基坐标。若要计算其他的距离和夹角的坐标,相应的修改待求点里程、夹角和距离。 2.1、程序初始化:

输入每个曲线所对应交点的半径、缓和曲线长、线路转角、连续三交点的里程和坐标、交点连线的坐标方位角,顺便计算出各个曲线要素以及曲线各主点的里程。 2.2、初直线H Z i-1~ZH i段: (1)X ZHi-1和Y ZHi-1的计算 X ZHi-1= X JDi-1+T i-1×cos(A i-1,i) Y ZHi-1= Y JDi-1+ T i-1×sin(A i-1,i) 其中:T i-1——JD i-1曲线的切线长; A i-1,i——JD i-1与JD i直线的坐标方位角; X JDi-1、Y JDi-1——JD i-1的坐标; X ZHi-1、Y ZHi-1——JD i-1对应的ZH点坐标。 (2)中桩计算公式: X中=L A×cos(A i-1,i)+ X ZHi-1 Y中= L A× sin(A i-1,i)+ Y ZHi-1 其中:L A——待求点与ZH i的里程差; A i-1,i——JD i-1与JD i直线的坐标方位角; X中、Y中——待求点里程的中桩坐标; 其余符号同上。 (3)边桩计算公式: X边=L A’×cosα’+ X中 Y边= L A’×sinα’+ Y中

教你如何通过EXCEL VBA编写测量坐标计算程序

教你如何通过Excel VBA编写测量坐标计算程序 发布日期: 摘要:认识VBA、理解VBA,并利用Office Excel VBA编写测量坐标计算程序。 关键词:Excel VBA程序坐标编写 了解:VBA是什么?简单的说就是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案。可以用Excel的宏语言来使Excel自动化运行等……Microsoft让它开发出来的应用程序共享一种通用的自动化语言——Visual Basic For Application(V BA),可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集,事实上VBA 是VB应用程序的版本,尽管存在有些不同VBA和VB在结构上仍然十分相似。如果你已经了解VB会发现学习VBA非常快。相应的学完VBA会给学习VB打下坚实的基础。 理由:选择Excel VBA编程的理由是因为它的计算功能非常强大,是现今任何编程计算器无法逾越的。它运用范围广,计算速度快,计算精度高,合理化显示等。或许很多测量人员对Excel VBA还有些陌生,主要是大家寄托于计算器、电脑、手机PDA等系列软件使用。Excel VBA对于大多数测量人员而没有系统学过计算机语言程序设计的人群来讲有一定含糊,不过只要有基本数学知识、测量常识和逻辑理解的人,都能通过Excel VBA编写设计出称心如意的测量程序。 目标:基于Excel VBA的测量坐标计算程序的设计目标是将繁琐计算过程转入到计算机中,利用程序语言的重复性原理,在计算机中可将坐标计算得出更精确的结果,使坐标计算更加可靠。最终目标是让用户可以通过Excel VBA自行完成坐标计算程序设计。 认识:学习VBA到底需要什么基础和了解些什么? 学习VBA需要认识英文字母、一般的单词(如:函数所用的过程)、数学基础知识、测量常识、逻辑性思维即可。 在VBA中需要了解VBA的过程、变量、属性、方法、事件、语句等。 Excel VBA程序可以分为“录制宏、自定义函数”,由于录制宏编写计算类程序它限制了计算涵式过程,而无法达到自定义数据直接运算的目的,所以大家可以通过按钮式点击进行自定义函数过程(还可以通过窗体定义过程)。 基本常识:

2016VB程序设计网上作业

题1、用来设置粗体字的属性就是( ) A、FontItalic B、FontName C、FondBold D、FontSize 标准答案:C 题2、设置框架的下列哪一个属性值为False,其标题会变灰,框架中所有的对象均被屏蔽 A、Enabled B、Caption C、Name D、Visible用来设置粗体字的属性就是( ) 标准答案:A 题3、如下数组声明语句中,数组a包含元素的个数为:( ) Dim a(1 to 3, -2 to 2, 3) A、120 B、75 C、60 D、13 标准答案:C 题4、当文本框的ScrollBars属性设置了非零值,却没有效果,原因就是( ) A、文本框中没有内容 B、文本框的MultiLine属性为False C、文本框的MultiLine属性为True D、文本框的Locked属性为True

题5、下列选项中不正确的就是( ) A、Show方法可以用来加载与显示一个窗体 B、Hide方法可以将窗体暂时隐藏起来,而不从内存中删除 C、当用Show方法显示窗体时,必定会发生Load事件 D、当用Show方法显示窗体时,必定会发生Activate事件 标准答案:C 题6、表达式mid$(“1234567”, 3, 2)+4的结果就是( ) A、3454 B、1234 C、38 D、45 标准答案:C 题7、下面循环语句控制的循环次数就是:( ) For i=-5 To 18 Step 3 A、5 B、7 C、8 D、9 标准答案:C 题8、在用菜单编辑器设计菜单时,必须输入的项就是( ) A、快捷键 B、标题

D、名称 标准答案:D 题9、计时器控件的Interval属性可以设定Timer 事件触发的时间间隔,其时间间隔以下列哪一个为单位 A、毫秒 B、秒 C、分 D、小时 标准答案:A 题10、Dim a, b As Integer语句定义的变量类型为( ) A、a, b都就是整型 B、a就是整形, b未必就是整型 C、a未必就是整型, b就是整型 D、a, b都不就是整型 标准答案:C 题11、设定文件列表框中所显示的文件类型,应修改该控件的哪个属性属性( ) A、Path B、Pattern C、 D、Name 标准答案:B 题12、VB集成环境中通常在下列哪一个进行设计( )

相关文档