道路曲线放样实习报告.docx
《道路曲线放样实习报告.docx》由会员分享,可在线阅读,更多相关《道路曲线放样实习报告.docx(8页珍藏版)》请在冰豆网上搜索。
道路曲线放样实习报告
工程测量学实习报告
科目:
道路曲线放样
班级:
xxxxxx
组别:
第五组
成员:
xxxxxx
时间:
2013.5.22
一.实习科目:
道路曲线放样
二.时间:
14:
30-16:
30
三.地点:
田径场
四.人员分工:
xxx:
主要在整个实习过程中机动,提醒各成员在操作过程中的注意事项等。
xxx:
主要负责打木桩和钉钉子。
xxx:
主要负责移棱镜。
xxx:
主要负责数据准备,在实习过程中的数据观测。
五.所用仪器及精度:
仪器:
尼康DTM-352,30M钢尺
精度:
测角5″最小显示:
1″/5″/10″
测距3mm+2ppm测程3000m/3P最小显示1mm
六.数据准备:
在教员给定的已知数据基础上,我组采用编程的方法计算实习所需的所有数据,包括点位坐标、夹角及距离等。
程序代码见附件1。
七.操作步骤:
1先选定交点JD,在此处架设全站仪。
2选定一个合适的方向,根据计算的切线距离确定直缓点ZH,并在此处用三脚架架设棱镜。
3在交点处以切线方向为零方向,根据计算的角度和距离确定缓圆点HY。
4将全站仪重新对准直缓点定零方向,根据数据确定曲中点QZ。
5同上述步骤,依次确定圆缓点、缓直点。
6将全站仪取下架至直缓点出,两处三脚架不动,只交换棱镜和全站仪。
7在直缓点处以切线方向为零方向,根据计算的角度和距离依次确定各碎部点,在此过程中同时在各主点也再放样一次从而校验各主点的精度。
八.检验数据及实测对比:
在直缓点确定碎部点时,对个主点进行了精度校验,经测量得到各主点距离误差如下:
缓圆点:
5mm
曲中点:
1mm
圆缓点:
12mm
缓直点:
10mm
九.实验体会:
经过两次课的实习,我们组成功完成了道路曲线的放样工作,同时也了解到了许多课本上没有学到的知识,实际操作仪器进行施工放样的能力也发生了一个质的提高。
当然,在实际的放样过程中,我们也发现了很多的问题。
例如,在第一次的实习中,我们就忽略了棱镜加常数的影响,导致了错误的放样结果。
这些错误在我们实际的施工放样工作中是绝对不允许出现的。
所谓失之毫厘,谬以千里,测量工作尤是如此,容不得半点马虎与懈怠。
同时,通过这次实习培养了我们的基本功,锻炼了我们使用全站仪进行施工放样的能力。
另外,这次实习也让我们意识到团队分工与团队协作意识对于解决实际问题的重要性。
总之,此次实习是我们充分认识到测量工作的科学性,精密性,与严谨性,对我们测绘工作者的指导性作用。
附件1:
//道路曲线放样.cpp:
Definestheentrypointfortheconsoleapplication.
//
#include"stdafx.h"
#include
#include
#include
//将度分秒连写的(double型)角度化为弧度值
doubledms_arc(doublea)
{
//提取角度值的符号
doublesign=(a<0.0)?
-1.0:
1.0;
a=fabs(a);
//提取角度值的整度
intd=(int)((a+0.00001)/10000.0);
a=a-d*10000.0;
if(a<0.0){d=d-1;a=a+10000;}
//提取角度值的整分及秒值
intm=(int)((a+0.00001)/100.0);
a=a-m*100;
if(a<0.0){m=m-1;a=a+100.0;}
a=sign*(d*3600.0+m*60.0+a)/206264.806247096363;
returna;
}
//将角度的弧度值化为度分秒连写的角度(double型)
doublearc_dms(doublea)
{
a=a*206264.806247096363;
doublesign=(a<0.0)?
-1.0:
1.0;
a=fabs(a);
intd=(int)(a/3600.0+0.0000001);
a=a-d*3600.0;
if(a<0.0){d=d-1;a=a+3600.0;}
intm=(int)(a/60.0+0.0001);
a=a-m*60.0;
if(a<0.0){m=m-1;a=a+60.0;}
a=d*10000.0+m*100.0+a;
returna*sign;
}
intmain(intargc,char*argv[])
{FILE*f1,*f2,*f3,*f4;//从文件中读取数据
f1=fopen("known.txt","r");
if(f1==NULL)
{printf("cannotopenthisfile\n");
exit(0);
}
intDK0;
doubleS0,arfa,R,lh,dl;
fscanf(f1,"%d%lf%lf%lf%lf%lf",&DK0,&S0,&arfa,&R,&lh,&dl);
arfa=dms_arc(arfa);
fclose(f1);
doublem,p,c,Bh;//计算m,p,c,Bh
c=R*lh;
m=lh*0.5-lh*lh*lh/R/R/240.0;
p=lh*lh/R/24.0;
Bh=0.5*lh/R;
//printf("%lf\n%lf\n%lf\n%lf\n",c,m,p,Bh);
doubleT,Ly,L,E,q;//计算T,Ly,L,E,q
T=m+(R+p)*tan(arfa/2.0);
S0=S0-T;
Ly=(arfa-2*Bh)*R;
L=(arfa-2*Bh)*R+2*lh;
E=(p+R)/cos(arfa/2.0)-R;
q=2*T-L;
//printf("\n%lf\n%lf\n%lf\n%lf\n%lf\n",T,L,E,q,Ly);
S0=402.377;
T=46.763;
Ly=50.356;
c=2000;
m=9.997;
p=0.167;
doubledk[13]={410,420,422.377,430,440,447.555,450,460,470,472.733,480,490,492.733};
intn;
n=13;
double*X=newdouble[n];
double*Y=newdouble[n];
double*B=newdouble[n];
double*s=newdouble[n];
doublecita=dms_arc(1800000)-arfa;//坐标变换时的旋转角
for(inti=0;i{doublel0=dk[i];
if(l0{l0=l0-S0;
X[i]=l0-pow(l0,5)/pow(c,2)/40.0+pow(l0,9)/pow(c,4)/3450.0;
Y[i]=pow(l0,3)/c/6.0-pow(l0,7)/pow(c,3)/336.0+pow(l0,11)/pow(c,5)/42240.0;
}
elseif(l0>=lh+S0&&l0<=S0+lh+Ly)
{
l0=l0-S0;
X[i]=m+R*sin(Bh+(l0-lh)/R);
Y[i]=p+R*(1-cos(Bh+(l0-lh)/R));
}
elseif(l0>S0+lh+Ly)
{
l0=S0+L-l0;
doublex1=l0-pow(l0,5)/pow(c,2)/40.0+pow(l0,9)/pow(c,4)/3450.0;
doubley1=pow(l0,3)/c/6.0-pow(l0,7)/pow(c,3)/336.0+pow(l0,11)/pow(c,5)/42240.0;
X[i]=(x1-T)*cos(cita)-y1*sin(cita)+T;
Y[i]=(T-x1)*sin(cita)-y1*cos(cita);
}
}
f2=fopen("Result.txt","w");//输出放样点的坐标值
if(f2==NULL)
{printf("cannotopenthisfile\n");
exit(0);
}
for(i=0;i{
fprintf(f2,"%.3lf\t%.3lf\n",X[i],Y[i]);
}
fclose(f2);
f3=fopen("Result.txt","r");//计算并输出角度和距离
if(f3==NULL)
{printf("cannotopenthisfile\n");
exit(0);
}
f4=fopen("Result1.txt","w");
fprintf(f4,"Peg\tX(m)Y(m)BS(toZH)(m)\n");
for(i=0;i{doublea,b;
fscanf(f3,"%lf%lf",&a,&b);
B[i]=atan(b/a);
B[i]=arc_dms(B[i])/10000;
s[i]=sqrt(a*a+b*b);
fprintf(f4,"DK8+%8.3lf\t%8.3lf\t%8.3lf\t%8.4lf\t%8.3lf\n",dk[i],X[i],Y[i],B[i],s[i]);
}
return0;
}