曲线测设实验及实习报告全新版.doc
-目录第一局部非完整、非对称缓和曲线要素计算及测设21.实验目的及要求22.前期实验准备和相关安排22.1实验人员及仪器22.2实验容23.实验原理34.计算过程35.运行结果35.小结3第二局部圆曲线和缓和曲线的实地放样31.实习目的及要求32.前期实习准备和相关安排32.1实习人员及仪器32.2实习容32.3放样元素计算软件设计3放样元素计算原理及过程32.3.2 软件设计程序3程序运行结果及检核32.4 曲线测设方案及施测过程3曲线测设方案32.4.2 施测过程32.5 小结3. z.-第一局部非完整、非对称缓和曲线要素计算及测设随着短程光电测距仪和全站仪在道路勘测中的应用越来越普及,利用极坐标法测设曲线将越来越重要。这种测设曲线的方法,其优点是测量误差不累计,测设的点位精度高。尤其是测站设置在中线外任意一点测设曲线,将给现场的工作带来很大的方便。极坐标测设曲线主要是曲线测设资料的计算问题,该方法的计算原理及思路为:把由直线段、圆曲线段、缓和曲线段组合而成的曲线归算到统一的导线测量坐标系统中,这样就便于计算放样的元素了。1.实验目的及要求1.学会非完整、非对称缓和曲线要素计算方法;2.学会编写偏角法、极坐标法非完整、非对称缓和曲线要素计算程序;3.实地放样非完整、非对称缓和曲线;4.在实习前预先算出实测数据;5.各小组做好测设过程的人员安排。2.前期实验准备和相关安排2.1实验人员及仪器组长:威副组长:懂庆组员:永强文超龙强晨亮子丽天实习仪器:全站仪一台,三脚架两个,棱镜两个,卷尺一个2.2实验容1. 根据自己设计的数据计算测设要素和主点里程;2. 设置非完整、非对称曲线的主点;3. 根据书上P169页的曲线测设程序框图(图1),编写一般缓和曲线的程序,并进展调试和检核;4. 可以查资料,学习非完整、非对称曲线的计算方法和测设方法,并和自己设计的程序相结合,计算各个放样点的坐标等容;5. 在业计算的根底上,选取适宜的控制点和位置进展曲线测设;6. 直接根据课本实例,进展相应元素的计算和检核,最后安排具体的实习过程,进展现场曲线放样;7.书写实习报告书。开场输入转角,圆半径R,缓和曲线长l0,线路前进的偏向,JD的里程计算曲线综合要素及ZH、HY、QZ、YH、HZ的里程输入ZH、JD的设计坐标;测站及后视点坐标输入曲线上测设点i的里程根据测站、后视点及测设点的坐标计算极坐标放样元素判断i点在曲线单元并计算线路中桩的测量坐标继续吗?完毕YN计算程序框图及流程:图5 曲线测设的程序框图3.实验原理根据实验要求,我们查询资料了解到,非对称线性分为完全非对称线性和非对称完整线性两种,而“完全非对称曲线的含义就是第一缓和曲线和第二缓和曲线起点处的半径为,圆半径为R,第一缓和曲线长ls1,第二缓和曲线长为ls2,ls1ls2。所谓“非完整的含义是第一缓和曲线和第二缓和曲线的起点半径不是,而是R1、R2。我们这次的实习采用坐标法作为放样方法,而坐标法放样线路中线的整个操作过程中,最重要的一步就是计算线路放样点的坐标。假设非完整、非对称曲线的一些要素以及缓和曲线起点Q半径RQ,桩号lQ,坐标*Q,YQ,起点的切线坐标方位角Q,缓和曲线参数A其中A是盘旋线参数,如果要计算缓和曲线段上任一桩号li的坐标,则必须先求算出半径为处即ZH和HZ的坐标。令Q点至ZH点的弧长为l1,则:l1对应的弦长。又因为:所以:ZH点的切线坐标方位角:取法:左偏“+,右偏“-;ZH换成HZ时,左偏“-,右偏“+知道ZH点的坐标,又知道ZH点的切线方向,则可以利用第六章介绍的方法计算缓和曲线段上任一桩号li的坐标。采用任意设站极坐标法测设曲线:把由直线段、圆曲线段、缓和曲线段组合而成的曲线归算到统一的导线测量坐标系统中,这样就便于计算放样元素。当设计给定曲线交点JD的坐标*JD,YJD,ZH与JD连线的方位角A0及ZH点的里程L0和曲线单元的左右偏情况用i表示,i=-1表示左偏,i=+1表示右偏,则只要输入曲线上任意一点的里程LP,就可以求出曲线单元上任意一点的设计坐标,有了统一的坐标,即可求出仪器架在导线点或其他任一点上测设曲线的放样元素了。4.计算过程1.假定该曲线的条件如下:假设Q点为曲线的起点,Q,点为曲线的终点,且Q点的坐标为Q19787.34,28563.378,中间圆曲线局部的半径R为200m,第一局部缓和曲线的盘旋线参数为A1=80,Q点处的半径R1=500m,第二局部缓和曲线的盘旋线参数A2=100,Q,点处的半径R2=600m,Q点的里程为1000.00m。计算过程如下:2.按照图5,编写代码,程序如下:. z.-#include "stdio.h"#include "stdlib.h"#include "math.h"#define PI 3.141592653 void main() char yn; float k,PK; float R,l,JD,T,L,E,Q,ZH,HY,QZ,YH,HZ,D,*zh,Yzh,*jd,Yjd,*,y,*0,Y0,m,*,Y,A,a,jiao,S,*r,Yr,*h,Yh; int i; printf("请输入数据:k,R,l,i,JDn"); scanf("%f%f%f%d%f",&k,&R,&l,&i,&JD); PK=l*180/2/R/PI;T=l/2-l*l*l/240/R/R+(R+l*l/24/R)*tan(k*PI/360); L=R*k*PI/180+l;E=(R+l*l/24/R)/cos(k*PI/360)-R; Q=2*T-L; printf("nT=%fn,nL=%fn,nE=%fn,nQ=%fn",T,L,E,Q); fflush(stdin); getchar();ZH=JD-T;HY=ZH+l;QZ=HY+(k*PI/180-2*PK*PI/180)*R/2; YH=HY+(k*PI/180-2*PK*PI/180)*R; HZ=YH+l; printf("nZH=%fn,nHY=%fn,nQZ=%fn,nYH=%fn,nHZ=%fn",ZH,HY,QZ,YH,HZ); fflush(stdin); getchar(); printf("请输入设计坐标:*zh,Yzh,*jd,Yjd");scanf("%f%f%f%f",&*zh,&Yzh,&*jd,&Yjd); printf("请输入设站前视点和后视点坐标:*r,Yr,*h,Yh"); scanf("%f%f%f%f",&*r,&Yr,&*h,&Yh); do printf("请输入曲线上的测设点i的里程:D"); scanf("%f",&D); if(D>=ZH&&D<HY) double e1=Yjd-Yzh; double e2=*jd-*zh; double e3=e1/e2; A=atan(e3);if(A>0)A=A;else A=A+2*PI; *0=*jd+T*cos(A+PI); Y0=Yjd+T*sin(A+PI); *=D-ZH-(D-ZH)*(D-ZH)* (D-ZH)*(D-ZH)*(D-ZH)/40/R/R/l/l; y=(D-ZH)*(D-ZH)* (D-ZH)/6/R/l; m=(D-ZH)*(D-ZH)/2/R/l; *=*0+*cos(A)-i*y*sin(A); Y=Y0+*sin(A)+i*y*cos(A); a=A+i*m; double v1,v2,v3,v4,d1; v1=(Y-Yr)/(*-*r); v2=atan(v1); if(v2>0) v2=v2; else v2=v2+2*PI; v3=(Yh-Yr)/(*h-*r); v4=atan(v3); if(v4>0) v4=v4; else v4=v4+2*PI; jiao=(v2-v4)*180/PI;d1=(Y-Yr)*(Y-Yr)+(*-*r)*(*-*r); S=sqrt(d1); else if(D>=HY&&D<YH) double e=(Yjd-Yzh)/(*jd-*zh); A=atan(e); if(A>0) A=A; else A=A+2*PI; *0=*jd+T*cos(A+PI); Y0=Yjd+T*sin(A+PI); *=D-ZH-(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)/6/R/R-l*l*l/240/R/R; y=(D-ZH-0.5*l)*(D-ZH-0.5*l)/2/R-(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)/24/R/R/R+l*l/24/R;m=(D-ZH-0.5*l)*180/R/PI; *=*0+*cos(A)-i*y*sin(A); Y=Y0+*sin(A)+i*y*cos(A); a=A+i*m; double v1,v2,v3,v4,d1; v1=(Y-Yr)/(*-*r); v2=atan(v1);if(v2>0) v2=v2;else v2=v2+2*PI; v3=(Yh-Yr)/(*h-*r); v4=atan(v3); if(v4>0) v4=v4; else v4=v4+2*PI; jiao=(v2-v4)*180/PI;d1=(Y-Yr)*(Y-Yr)+(*-*r)*(*-*r); S=sqrt(d1); else if(D>=YH&&D<=HZ) double e=(Yjd-Yzh)/(*jd-*zh); double B=atan(e); if(B>0) B=B; else B=B+2*PI; A=B+k*PI/180+PI; *0=*jd+T*cos(A-PI); Y0=Yjd+T*sin(A-PI);*=L-D+ZH-(L-D+ZH)*(L-D+ZH)* (L-D+ZH)*(L-D+ZH)*(L-D+ZH)/40/R/R/l/l; y=(L-D+ZH)*(L-D+ZH)* . z.-(L-D+ZH)/6/R/l; m=(L-D+ZH)*(L-D+ZH)/2/R/l; *=*0+*cos(A)+i*y*sin(A); Y=Y0+*sin(A)-i*y*cos(A); a=A-i*m; double v1,v2,v3,v4,d1; v1=(Y-Yr)/(*-*r); v2=atan(v1); if(v2>0) v2=v2; else v2=v2+2*PI; v3=(Yh-Yr)/(*h-*r); v4=atan(v3); if(v4>0) v4=v4; else v4=v4+2*PI; jiao=(v2-v4)*180/PI;d1=(Y-Yr)*(Y-Yr)+(*-*r)*(*-*r); S=sqrt(d1); double v1,v2; v1=(Y-Yzh)/(*-*zh); printf("n*=%fn,nY=%fn,njiao=%fn,nS=%fn",*,Y,jiao,S); fflush(stdin); getchar(); printf("继续Y/N"); fflush(stdin); yn=getchar(); while(yn='Y'|yn='y'); . z.-5.运行结果运行结果截图如下:. z.-但是里程数只能计算至YH=1091.920m处,因为YH点后的曲线同前半局部的曲线要素不一致,则需重新计算各个要素,才能将所有待放样点的坐标求出。计算第二缓和曲线要素的步骤如下:3. 将以上各点的数据带入程序中求的缓和曲线2上点的放样参数,因此将各个放样点的数据导出。需要注意的是:本程序为任意设站的放样方法,因此全站仪在测量围以的话不需要搬站,直接可以将待定点放样得出。5.小结所谓非完整、非对称缓和曲线,通俗的说就是曲线由不同半径的曲线依次组成,并且不对称,或者说只是曲线的一局部,此程序大局部代码来源于以前同学,我做了很深入的学习,感觉收获颇多,我自己用VB编写的程序在后边实习局部会有说明,并且电子档已经发给教师。不管怎么说,又一次的深刻的感觉到了学好一门语言是多么的重要!. z.-第二局部圆曲线和缓和曲线的实地放样采用偏角法或切线支距法放样一段完整的圆曲线和缓和曲线。待放样的曲线可选择p169页算例。1.实习目的及要求1.学会曲线要素计算方法;2.学会编写偏角法、极坐标法对缓和曲线要素计算程序;3.实地放样非缓和曲线;4.在实习前预先算出实测数据;5.各小组做好测设过程的人员安排。2.前期实习准备和相关安排2.1实习人员及仪器组长:威副组长:懂庆组员:永强文超龙强晨亮子丽天实习仪器:全站仪一台,三脚架两个,棱镜两个,卷尺一个2.2实习容1. 根据自己设计的软件计算测设要素和主点里程;2. 根据书上P169页的曲线测设程序框图(图5),编写一般缓和曲线的程序,并进展调试和检核;3. 直接根据课本实例,进展相应元素的计算和检核,最后安排具体的实习过程,进展现场曲线放样;2.3放样元素计算软件设计放样元素计算原理及过程1. 单圆曲线主点元素计算如图6所示,路线中线交点JD的偏角为 和圆曲线的半径为R,要计算的圆曲线元素有:切线长T、曲线长L、外矢距E和切线长度与曲线长度之差切曲差q。各元素按照下式计算。切线长:曲线长:外矢距:切曲线:图6 偏角法测设圆曲线2. 单圆曲线圆曲线主点里程计算根据交点的里程和曲线测设元素,就可计算出各主点的里程。ZY点里程 = JD点里程 T QZ点里程 = ZY点里程 + LQZ点里程 = YZ点里程 L/2 JD点里程 = QZ点里程 + D/2校核3.单圆曲线主点放样步骤:1仪器安于JD点,瞄准线路前进方向的前方,沿视线方向量切线长T,即得ZY点;2同理瞄准前进方向,在视线上量T可得YZ点;3后视YZZY转拨180º-/2,沿视线方向量出E,即得QZ;4在ZY或YZ上安置仪器,检查JDZYYZ是否为/2,和JDZYQZ是否为/4。3. 带有缓和圆曲线主点测设有缓和曲线如图7所示的主点由原来的三个增加到五个:ZH直缓点、HY缓圆点、QZ曲中点、YH圆缓点、HZ缓直点切线长:曲线长:外点:切曲差:其中:,R线路转向角和圆曲线半径l0缓和曲线长度m加设缓和曲线后使切线增加的距离P加设缓和曲线后圆曲线相对于切线的移值图7 偏角法测设缓和曲线0HY点或YH点的缓和曲线角度缓和曲线角,过HY点切线与过ZH点的切线的交角缓和曲线偏角缓和曲线反偏角 b0 = 0 -0 切垂距缓和曲线的切线角圆曲线移值4. 带有缓和圆曲线主点里程计算:ZH点里程=JD里程-T HY里程=ZH点里程+l0 QZ里程=HY点里程+l/2 YH里程=HY里程+l HZ里程=YH里程+l0 JD里程=QZ点里程+q/2检核用5测设步骤:1以R、l0为引数,查表得HY、YH点坐标值*0、y02将仪器置于JD点,沿切线方向量出切线长T得ZH和HZ两点3将仪器转动90°-/2量E得QZ点4根据*0、y0由JD沿切线方向分别量T- *0得(HY)、(YH)点,过该两点作切线的垂线,在线上量出y0,即得HY和YH点。2.3.2 软件设计程序1. 主程序局部. z.-Public Type Angle Degree As Integer Minutes As Integer Seconds As SingleEnd TypePublic Type Detail Ang As Angle pn As StringEnd TypeConst PI As Double = 3.979Const Ro As Double = 180# * 3600# / PIPublic R As DoublePublic Alpha As DoublePublic L0 As DoublePublic c As IntegerPublic QZ As DoublePublic JD As DoublePublic ZH As DoublePublic HY As DoublePublic YH As DoublePublic HZ As DoublePublic T As DoublePublic L As DoublePublic E As DoublePublic q As DoublePublic *0 As DoublePublic Y0 As DoublePublic DetailH() As DetailPublic DetailY() As DetailPublic UB As IntegerPublic BT As DoublePublic I0 As DoublePublic HYBS As DoublePublic Function Radian(deg, min, sec) As Double Dim Rad As Double Rad = (deg * 360000# + min * 6000# + sec * 100#) Rad = Rad / Ro / 100 Radian = RadEnd FunctionPublic Function SecToAng(sec As Double) As Angle Dim Ang As Angle Dim deg_1 As Double deg_1 = sec / 3600# Ang.Degree = Int(deg_1) Ang.Minutes = Int(deg_1 - Ang.Degree) * 60#) Ang.Seconds = (deg_1 - Ang.Degree - Ang.Minutes / 60#) * 3600# Ang.Seconds = Format(Ang.Seconds, "0.0000") SecToAng = AngEnd FunctionPublic Sub SetDetailsValue(details() As Detail, pn As String, Ang As Double) details(UB).Ang = SecToAng(Ang) details(UB).pn = pnEnd SubPublic Sub MainPtCalcu() Dim M As Double Dim p As Double BT = L0 / (2# * R) M = L0 / 2# - L0 * L0 * L0 / (240# * R * R) p = L0 * L0 / (24# * R) I0 = L0 / (6# * R) T = M + (R + p) * Tan(Alpha / 2#) L = Alpha * R + L0 E = (R + p) / Cos(Alpha / 2#) - R q = 2 * T - L *0 = L0 - L0 * L0 * L0 / (40# * R * R) Y0 = L0 * L0 / (6# * R) ZH = JD - T HY = ZH + L0 QZ = ZH + L / 2# HZ = QZ + L / 2# YH = HZ - L0End SubPublic Sub DetailCalcu() Dim i As Integer Dim j As Double Dim k As Integer Dim ii As Double Dim PTmp As Double Dim LTmp As Double Dim LTmp2 As Double Dim Delta As Double Dim Delta0 As Double Dim pn As Double UB = 0 j = ZH 100 PTmp = ZH + c LTmp = c '缓和曲线计算 While PTmp < HY If PTmp 100 > j Then j = PTmp 100 ReDim Preserve DetailH(UB) LTmp2 = j * 100# - ZH ii = LTmp2 * LTmp2 * Ro / (6# * R * L0) SetDetailsValue DetailH(), (UB + 1) & " " & Format(j * 100, "0.00"), ii '百米桩 If PTmp / 100 > j Then UB = UB + 1 End If End If ii = LTmp * LTmp * Ro / (6# * R * L0) pn = PTmp ReDim Preserve DetailH(UB) SetDetailsValue DetailH(), (UB + 1) & " " & Format(pn, "0.00"), ii PTmp = PTmp + c LTmp = LTmp + c UB = UB + 1 Wend LTmp = HY - ZH ii = LTmp * LTmp * Ro / (6# * R * L0) ReDim Preserve DetailH(UB) SetDetailsValue DetailH(), (UB + 1) & Format(HY, "0.00"), ii '圆曲线计算 Delta = c / (2# * R) * Ro UB = 0 PTmp = (PTmp c) * c Delta0 = (PTmp - HY) * Ro / (2# * R) HYBS = PI * 2# * Ro - (BT * Ro - I0 * Ro + Delta0) pn = PTmp ReDim Preserve DetailY(UB) SetDetailsValue DetailY(), (UB + 1) & " " & Format(pn, "0.00"), 0 ii = 0 PTmp = PTmp + c UB = UB + 1 While PTmp < QZ ii = ii + Delta pn = PTmp ReDim Preserve DetailY(UB) SetDetailsValue DetailY(), (UB + 1) & " " & Format(pn, "0.00"), ii PTmp = PTmp + c UB = UB + 1 Wend PTmp = (PTmp c - 1) * c Delta0 = (QZ - PTmp) * Ro / (2# * R) ii = ii + Delta0 ReDim Preserve DetailY(UB) SetDetailsValue DetailY(), (UB + 1) & " " & Format(HY, "0.00"), iiEnd S. z.-. z.-程序运行结果及检核实例:现已*道路曲线计算为例。输入曲线转角=23°0337.7、圆曲线半径R=1000m,缓和曲线长l=100m,线路前进的偏向、JD的里程为1462.918.1试计算曲线的综合要素;2各主点的里程;主要素及主点里程计算过程截图:主要素及主点里程计算结果:切线长T:254.083 曲线长L:502.481外矢距E:21.022 切曲差q:5.684直缓点ZH:1208.835 缓圆点HY:1308.835曲中点QZ:1460.076 圆缓点YH:1611.316缓直点HZ:1711.316细部点数据计算过程:细部点数据计算结果:ZH 1208.84测站JD 0d 00' 00"后视1 1228.84 0d 02' 18" 2 1248.84 0d 09' 10"3 1268.84 0d 20' 38" 4 1288.84 0d 36' 40"HY 51308.84 0d 57' 18"ZH 358d 20' 36"后视1 1300.00 0d 00' 00" 2 1320.00 0d 34' 23"3 1340.00 1d 08' 45" 4 1360.00 1d 43' 08"5 1380.00 2d 17' 31" 6 1400.00 2d 51' 53"7 1420.00 3d 26' 16" 8 1440.00 4d 00' 39"9 1460.00 4d 35' 01" QZ 1460.08 4d 35' 09单一圆曲线计算过程截图随便举的例子:单一圆曲线计算结果:T=161.091 L=314.758 E=21.249 q=7.423 p=12153.668ZY: DK11+838.909 QZ: DK11+996.289 YZ: DK12+153.66811840.00 0°3'7.5" 11860.00 1°0'25.2" 11880.00 1°57'43.0" 11900.00 2°55'0.7" 11920.00 3°52'18.5" 11940.00 4°49'36.2"11960.00 5°46'54.0" 11980.00 6°44'11.7" 11996.29 7°30'51.5"12140.00 359°20'50.7" 12120.00 358°23'33.0" 12100.00 357°26'15.2"12080.00 356°28'57.5" 12060.00 355°31'39.6" 12040.00 354°34'21.9"12020.00 353°37'4.2" 12000.00 352°39'46.5" 11996.29 352°29'8.5"2.4 曲线测设方案及施测过程曲线测设方案我们一组的曲线测设主要采用偏角法对课本p169页算例进展实地放样,放样地点选在三食堂和教五东侧的公路及草坪位置。具体施测方案如图8所示:图8 曲线测设方案布设图. z.-2.4.2 施测过程我们的施测过程主要是利用实例和实地情况,进展曲线放样的,其主要过程如下:1. 自定里程零点我们的零点是在三食堂门口,天桥下边;2. 确定起始方向,测角、量边确定JD400m在教五停车场的正对面和HZ145.92m点;3. 通过测角、量边放样设站点在研究生院旁边警务室旁边;4. 在JD点架设仪器,通过测角、量边放样出后视导线点131°296,89.21m、QZ78°2811,21.022m点、ZH156°5622.3,254.083m点;5. 放样HY点:1首先通过HZ沿JD方向量取50米,得到N临时点;2在N点架设仪器,通过测角、量距90°,0.42m放样出N点临时点;3在N点架设仪器,通过测角、量边88°343.5,50m,放样出HY点。6. 放样YH点方法同上;7. 在设站点架设仪器,后视后视导线点,然后通过参照课本中的角度和距离放样出1100、1250、1400、1650、1800五个里程桩点。2.5 小结本次放样工作由于准备充分,在实地有序地的开展,过程较为顺利,但由于此次放样的曲线长度较大,而且圆曲线半径较大,所以使得所需的围较大,放样中途出现的不通视情况,通过加测临时站点的方法进展了有效的解决,充分锻炼了我们独立分析和处理问题的能力!. z.