第一篇:摄影测量实习报告-单片空间后方交会
摄影测量实习报告
实习内容:单片空间后方交会编程
实习者:李友兵
学号:0810050121
指导老师:张金平老师
实习时间:2011.05.30——2011.06.03
一、实习目的与任务
此次摄影测量实习主要是要自主编程实现单像空间后方交会,通过已知的内方位元素和控制点像点坐标和地面坐标求解六个外方位元素,在此过程中深入理解单像空间后方交会的原理和对编程的熟悉和理解(我用的是C语言编程),和对时间的合理运用,对知识的综合运用,培养理论的实际运用能力,任务是在一个星期内自主完成。
二、单片空间后方交会理论基础
单像空间后方交会:是通过以像点平面坐标为观测值,以控制点坐标为已知值,利用共线条件方程和最小二乘原理,运用间接平差方法,通过迭代求解6个外方位元素。程序设计的思路与流程
三、程序设计的思路与流程(编程框架和步骤)
1、根据内方位元素和已知的数据将控制点的框标坐标转换为像平面坐标系坐标:x=x′-x0,y=y′-y0
2、确定未知数的初始值:角元素初始值κ0=ω0=Φ0=0;线元素初始值Zs0=H=mf,Xs0=(X1+X2+X3+X4)/4,Ys0=(Y1+Y2+Y3+Y4)/4
3、利用角元素初始值计算方向余弦值组成旋转矩阵R a1=cosΦ*cosκ-sinΦ*sinω*sinκ,a2=-cosΦ*sinκ-sinΦ*sinω*cosκ,a3=-sinΦ*cosω
b1=cosω*sinκ,b2=cosω*cosκ,b3=-sinω
c1=sinΦ*cosκ+cosΦ*sinω*sinκ,c2=-sinΦ*sinκ+cosΦ*sinω*cosκ,c3=cosΦ*cosω
4、逐点计算控制点的像点坐标的近似值,共线方程为: x=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs))
y=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs))
(x)=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs))(y)=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs))
5、组成误差方程:Vx=a11*dXs+a12*dYs+a13*dZs+a14*dΦ+a15*dω+a16*dκ+(x)-x Vy=a21*dXs+a22*dYs+a23*dZs+a24*dΦ+a25*dω+a26*dκ+(y)-y 系数求解(是共线方程分别外方位元素求导,是共线方程线性化的系数):变量代换
A= a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)B= a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)C= a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)a11=(a1*f+a3*x)/C,a12=(b1*f+b3*x)/C,a13=(c1*f+c3*f)/C,a14=y*sinω-((x*(x*cosκ-y*sinκ))/f+f*cosκ)cosω,a15=-f*sinκ-(x*(x*sinκ+y*cosκ)/f),a16=y a21=(a2*f+a3*x)/C,a22=(b2*f+b3*x)/C,a23=(c2*f+c3*x)/C,a24=-xsinω-((x*(x*cosκ-y*sinκ))/f-f*sinκ)cosω,a25=-f*cosκ-(y*(x*sinκ+y*cosκ)/f),a26 =-x 误差方程的常系数(是像点坐标观测值与计算的近似值的差值): lx=x-(x),ly=y-(y)
6、组成法方程,解求外方位元素改正数X=(ATA)-1ATL(A为误差方程的系数矩阵,L为误差方程的常系数矩阵,通过步骤5求得,此处先求ATA再求矩阵的逆矩阵,解得的改正数加上相应的近似值得到外方位元素新的近似值)
7、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
四、各子函数详细设计的关键技术参数
子函数(输入函数、Input,矩阵求积Matrixmultiply,计算函数Resection,矩阵转置Matrixtranspose,矩阵求逆Matrixinverse,输出函数Output)主要用了Matrixtranspose,矩阵的行变列,列变行,参数为要转置的矩阵,转置后的矩阵,要转置矩阵的行列数,Matrixinverse,求矩阵的代数余子式,参数有要求逆的矩阵和,逆矩阵的行数,Matrixmultiply,一矩阵的行乘以二矩阵的列,参数为一矩阵,二矩阵,所求矩阵,一的行,一的列,二的列
五、像片外方位元素解算结
六、实习体会
从周一开始进行整个实习框架进行构建,编写了实习的思路既步骤;然后是梳理框架,要用到的子函数,子函数参数,怎么编写,有不懂的东西网上参考资料;再是自己动手编程,发现编程要求很细腻,出不得一点差错,程序编写出来后,有很多的错误,要求逐一进行改正,修改;最后才得以运行。通过本次实习,我深刻理解了单片空间后方交会原理,进一步熟悉理解了C语言编程,认识到了时间的搭配的重要性和参考资料的必要性,当遇到难题是要迎难而上,达到突破,当完成是能感到一丝丝欣慰和成就感。
附录:源代码
#include “stdio.h” #include “math.h” #include “Matrixmultiply.c” #include “Matrixtranspose.c” #include “Matrixinverse.c” void main(){ int i,j,k,f=0;double x0=0.00018, y0=0.00026,fk=0.15324;
//内方位元素
double m=40000;//估算比例尺
double R[3][3],XG[6][1],AT[6][8],ATA[6][6],ATL[6][1];double Xs=0.0, Ys=0.0, Zs=0.0,Q=0.0,W=0.0,K=0.0;
double X,Y,Z,L[8][1],A[8][6];
double B[4][5]={-0.08615,-0.06899,36589.41,25273.32,2195.17,-0.05340,0.08221,37631.08,31324.51,728.69,-0.01478,-0.07663,39100.97,24934.98,2386.80,0.01046,0.06443,40426.54,30319.81,757.31};
for(i=0;i<4;i++){
Xs=Xs+B[i][2];
Ys=Ys+B[i][3];
Zs=Zs+B[i][4];} Xs=Xs/4;Ys=Ys/4;Zs=m*fk;//求得外方位线元素的初始值
do//迭代计算
{
f++;//迭代次数
//组成旋转矩阵
R[0][0]=cos(Q)*cos(K)-sin(Q)*sin(W)*sin(K);
R[0][1]=-cos(Q)*sin(K)-sin(Q)*sin(W)*cos(K);
R[0][2]=-sin(Q)*cos(W);
R[1][0]=cos(W)*sin(K);
R[1][1]=cos(W)*cos(K);
R[1][2]=-sin(W);
R[2][0]=sin(Q)*cos(K)+cos(Q)*sin(W)*sin(K);
R[2][1]=-sin(Q)*sin(K)+cos(Q)*sin(W)*cos(K);
R[2][2]=cos(Q)*cos(W);
//计算系数阵和常数项
for(i=0, k=0,j=0;i<=3;i++,k++,j++)
{
X=R[0][0]*(B[i][2]-Xs)+R[1][0]*(B[i][3]-Ys)+R[2][0]*(B[i][4]-Zs);
Y=R[0][1]*(B[i][2]-Xs)+R[1][1]*(B[i][3]-Ys)+R[2][1]*(B[i][4]-Zs);
Z=R[0][2]*(B[i][2]-Xs)+R[1][2]*(B[i][3]-Ys)+R[2][2]*(B[i][4]-Zs);//为了计算简单而进行变量代换
L[j][0]=B[i][0]-(x0-fk*X/Z);
L[j+1][0]=B[i][1]-(y0-fk*Y/Z);
j++;
A[k][0]=(R[0][0]*fk+R[0][2]*(B[i][0]-x0))/Z;
A[k][1]=(R[1][0]*fk+R[1][2]*(B[i][0]-x0))/Z;
A[k][2]=(R[2][0]*fk+R[2][2]*(B[i][0]-x0))/Z;
A[k][3]=(B[i][1]-y0)*sin(W)-((B[i][0]-x0)*((B[i][0]-x0)*cos(K)-(B[i][1]-y0)*sin(K))/fk+fk*cos(K))*cos(W);
A[k][4]=-fk*sin(K)-(B[i][0]-x0)*((B[i][0]-x0)*sin(K)+(B[i][1]-y0)*cos(K))/fk;
A[k][5]=B[i][1]-y0;
A[k+1][0]=(R[0][1]*fk+R[0][2]*(B[i][1]-y0))/Z;
A[k+1][1]=(R[1][1]*fk+R[1][2]*(B[i][1]-y0))/Z;
A[k+1][2]=(R[2][1]*fk+R[2][2]*(B[i][1]-y0))/Z;
A[k+1][3]=-(B[i][0]-x0)*sin(W)-((B[i][1]-y0)*((B[i][0]-x0)*cos(K)-(B[i][1]-y0)*sin(K))/fk-fk*sin(K))*cos(W);
A[k+1][4]=-fk*cos(K)-(B[i][1]-y0)*((B[i][0]-x0)*sin(K)+(B[i][1]-y0)*cos(K))/fk;
A[k+1][5]=-(B[i][0]-x0);
k++;
}
Matrixtranspose(A,AT,8,6);//此为转置函数的调用,求AT
Matrixmultiply(AT,A,ATA,6,8,6);//此为矩阵相乘函数的调用,求ATA
Matrixinverse(ATA,6);//此为求矩阵逆函数的调用,求ATA的逆
Matrixmultiply(AT,L,ATL,6,8,1);//此为矩阵相乘函数的调用,求ATL
Matrixmultiply(ATA,ATL,XG,6,6,1);//此为矩阵相乘函数的调用,求外方位元素改正数
Xs=Xs+XG[0][0];Ys=Ys+XG[1][0];Zs=Zs+XG[2][0];
Q=Q+XG[3][0];W=W+XG[4][0];K=K+XG[5][0];//初始值加外方位元素改正数进行迭代
}while(XG[3][0]>=0.00000001||XG[4][0]>=0.00000001||XG[5][0]>=0.00000001);//当限差满足要求时要再一次进行旋转矩阵的求解
R[0][0]=cos(Q)*cos(K)-sin(Q)*sin(W)*sin(K);
R[0][1]=-cos(Q)*sin(K)-sin(Q)*sin(W)*cos(K);
R[0][2]=-sin(Q)*cos(W);
R[1][0]=cos(W)*sin(K);
R[1][1]=cos(W)*cos(K);
R[1][2]=-sin(W);
R[2][0]=sin(Q)*cos(K)+cos(Q)*sin(W)*sin(K);
R[2][1]=-sin(Q)*sin(K)+cos(Q)*sin(W)*cos(K);
R[2][2]=cos(Q)*cos(W);printf(“迭代次数:%d”,f);
//屏幕输出误差方程系数阵、常数项、改正数
printf(“nn误差方程系数矩阵A为:nn”);for(i=0;i<6;i++){
for(j=0;j<6;j++)
printf(“%13.5e ”,A[i][j]);
printf(“n”);}
printf(“n常数项L为:nn”);
for(i=0;i<8;i++){
for(j=0;j<1;j++)
printf(“%13.5e ”,L[i][j]);
printf(“n”);} printf(“n改正数XG为:nn”);
for(i=0;i<6;i++){
for(j=0;j<1;j++)
printf(“%13.5e ”,XG[i][j]);
printf(“n”);}
printf(“n相片的外方位元素为:nn”);
printf(“ Xs=%13.7e, Ys=%13.7e, Zs=%13.7e nn”,Xs,Ys,Zs);
printf(“ Q=%13.7e, W=%13.7e, K=%13.7e n”,Q,W,K);printf(“n旋转矩阵R为:nn”);
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf(“%13.5e ”,R[i][j]);
printf(“n”);}
} //子函数
#include
#include
#include
int Matrixinverse(a,n)
int n;
double a[];
{ int *is,*js,i,j,k,l,u,v;
double d,p;
is=malloc(n*sizeof(int));
js=malloc(n*sizeof(int));
for(k=0;k<=n-1;k++)
{ d=0.0;
for(i=k;i<=n-1;i++)
for(j=k;j<=n-1;j++)
{ l=i*n+j;p=fabs(a[l]);
if(p>d){ d=p;is[k]=i;js[k]=j;}
}
if(d+1.0==1.0)
{ free(is);free(js);printf(“err**not invn”);
return(0);
}
if(is[k]!=k)
for(j=0;j<=n-1;j++)
{ u=k*n+j;v=is[k]*n+j;
p=a[u];a[u]=a[v];a[v]=p;
}
if(js[k]!=k)
for(i=0;i<=n-1;i++)
{ u=i*n+k;v=i*n+js[k];
p=a[u];a[u]=a[v];a[v]=p;
}
l=k*n+k;
a[l]=1.0/a[l];
for(j=0;j<=n-1;j++)
if(j!=k)
{ u=k*n+j;a[u]=a[u]*a[l];}
for(i=0;i<=n-1;i++)
if(i!=k)
for(j=0;j<=n-1;j++)
if(j!=k)
{ u=i*n+j;
a[u]=a[u]-a[i*n+k]*a[k*n+j];
}
for(i=0;i<=n-1;i++)
if(i!=k)
{ u=i*n+k;a[u]=-a[u]*a[l];}
}
for(k=n-1;k>=0;k--)
{ if(js[k]!=k)
for(j=0;j<=n-1;j++)
{ u=k*n+j;v=js[k]*n+j;
p=a[u];a[u]=a[v];a[v]=p;
}
if(is[k]!=k)
for(i=0;i<=n-1;i++)
{ u=i*n+k;v=i*n+is[k];
p=a[u];a[u]=a[v];a[v]=p;
}
}
free(is);free(js);
return(1);
} //子函数
void Matrixmultiply(a,b,c,m,n,k)int m,n,k;double a[],b[],c[];{ int i,j,l,u;for(i=0;i for(j=0;j { u=i*k+j;c[u]=0.0; for(l=0;l c[u]+=a[i*n+l]*b[l*k+j]; } return;} //子函数 void Matrixtranspose(a,b,m,n)int m,n;double a[],b[];{ int i,j,u;for(i=0;i for(j=0;j { u=j*m+i;b[u]=0.0;b[j*m+i]=a[i*n+j]; } } return;} #include void mult(double *m1,double *m2,double *result,int i_1,int j_12,int j_2){ int i,j,k;for(i=0;i for(j=0;j result[i*j_2+j]=0.0; for(k=0;k result[i*j_2+j]+=m1[i*j_12+k]*m2[j+k*j_2]; } return;} /*---------------矩阵求逆---------------------*/ void inverse(double c[n][n]){ int i,j,h,k;double p;double q[n][12];for(i=0;i for(j=0;j q[i][j]=c[i][j]; for(i=0;i for(j=n;j<12;j++){ if(i+6==j) q[i][j]=1; else q[i][j]=0; } for(h=k=0;k for(i=k+1;i if(q[i][h]==0) continue; p=q[k][h]/q[i][h]; for(j=0;j<12;j++){ q[i][j]*=p; q[i][j]-=q[k][j]; } } for(h=k=n-1;k>0;k--,h--)// 消去对角线以上的数据 for(i=k-1;i>=0;i--){ if(q[i][h]==0) continue; p=q[k][h]/q[i][h]; for(j=0;j<12;j++){ q[i][j]*=p; q[i][j]-=q[k][j]; } } for(i=0;i p=1.0/q[i][i]; for(j=0;j<12;j++) q[i][j]*=p;} for(i=0;i for(j=0;j c[i][j]=q[i][j+6];} /*---------------矩阵转置---------------------*/ void transpose(double *m1,double *m2,int m,int n){ //矩阵转置 int i,j; for(i=0;i for(j=0;j m2[j*m+i]=m1[i*n+j]; return; } void main(){ double Xs,Ys,Zs,q,w,k;double Xsr,Ysr,Zsr,qr,wr,kr;// double a[3],b[3],c[3];double ar[3],br[3],cr[3];// double x0,y0,f;double x[N],y[N];double X[N],Y[N],Z[N];double x1[N],y1[N];double xr[N],yr[N];// double x1r[N],y1r[N];// double m;double L[2*N];double Lr[2*N];// double XX[6];double XXr[6];// double A[2*N][6];double B[2*N][6];// double X0[N],Y0[N],Z0[N],At[6][2*N],result1[6][6],result2[6][1];double X0r[N],Y0r[N],Z0r[N],Bt[6][2*N],result1r[6][6],result2r[6][1];// double R1[3][3],R2[3][3],XI1[3],XII1[3],XI2[3],XII2[3],XI3[3],XII3[3],XI4[3],XII4[3],XI5[3],XII5[3];double N1,N2,N3,N4,N5,BX,BY,BZ,G[5][3];double RS1[3][1],RSR1[3][1],RS2[3][1],RSR2[3][1],RS3[3][1],RSR3[3][1],RS4[3][1],RSR4[3][1],RS5[3][1],RSR5[3][1];int i,j,n=0,nr=0;double sum=0;double m1,n1,m2,n2,m3,n3,m4,n4,m5,n5,p1,q1,p2,q2,p3,q3,p4,q4,p5,q5; /*---------------输入点地面坐标---------------------*/ X[0]=5083.205;X[1]=5780.02;X[2]=5210.879;X[3]=5909.264;Y[0]=5852.099;Y[1]=5906.365;Y[2]=4258.446;Y[3]=4314.283;Z[0]=527.925;Z[1]=571.549;Z[2]=461.81;Z[3]=455.48;m1=0.051758;n1=0.081555;p1=-0.039953;q1=0.078463;m2=0.014618;n2=-0.000231;p2=-0.076016;q2=0.000036;m3=0.04988;n3=-0.000792;p3=-0.042201;q3=-0.001022;m4=0.086243;n4=-0.001346;p4=-0.007706;q4=-0.002112;m5=0.048135;n5=-0.079962;p5=-0.044438;q5=-0.079736;/*---------------输入点像片坐标---------------------*/ x[0]=16.012;x[1]=88.56;x[2]=13.362;x[3]=82.24;y[0]=79.963;y[1]=81.134;y[2]=-79.37;y[3]=-80.027; xr[0]=-73.93;xr[1]=-5.252;xr[2]=-79.122;xr[3]=-9.887;yr[0]=78.706;yr[1]=78.184;yr[2]=-78.879;yr[3]=-80.089; /*-----------------设定外方位元素初始值--------------*/ x0=0;y0=0;f=152.00;m=10000;Xs=0;Ys=0;Zs=f*m/1000;Xsr=0;Ysr=0;Zsr=f*m/1000;// q=0;w=0;k=0;qr=0;wr=0;kr=0;// XX[3]=1;XXr[3]=1;// /*------------------迭代计算左片Xs,Ys,Zs,q,w,k--------------------------*/ while((XX[3]>6/206265 || XX[4]>6/206265 || XX[5]>6/206265)&&n<100){// /*----------------旋转矩阵R-----------------------*/ a[0]=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);a[1]=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);a[2]=-sin(q)*cos(w); b[0]=cos(w)*sin(k);b[1]=cos(w)*cos(k);b[2]=-sin(w);c[0]=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);c[1]=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);c[2]=cos(q)*cos(w);/*-----------------像点坐标计算值------------------*/ for(i=0;i A[2*i][0]=((a[0]*f+a[2]*(x[i]-x0)))/Z0[i]; A[2*i][1]=((b[0]*f+b[2]*(x[i]-x0)))/Z0[i]; A[2*i][2]=((c[0]*f+c[2]*(x[i]-x0)))/Z0[i]; A[2*i][3]=(y[i]-y0)*sin(w)-((x[i]-x0)*((x[i]-x0)*cos(k)-y[i]*sin(k))/f+f*cos(k))*cos(w); A[2*i][4]=-f*sin(k)-(x[i]-x0)*((x[i]-x0)*sin(k)+(y[i]-y0)*cos(k))/f; A[2*i][5]=y[i]-y0; L[2*i]=x[i]-x1[i]; A[1+2*i][0]=((a[1]*f+a[2]*(y[i]-y0)))/Z0[i]; A[1+2*i][1]=((b[1]*f+b[2]*(y[i]-y0)))/Z0[i]; A[1+2*i][2]=((c[1]*f+c[2]*(y[i]-y0)))/Z0[i]; A[1+2*i][3]=-(x[i]-x0)*sin(w)-((y[i]-y0)*((x[i]-x0)*cos(k)-(y[i]-y0)*sin(k))/f-f*sin(k))*cos(w); A[1+2*i][4]=-f*cos(k)-(y[i]-y0)*((x[i]-x0)*sin(k)+(y[i]-y0)*cos(k))/f; A[1+2*i][5]=-x[i]+x0; L[1+2*i]=y[i]-y1[i];} /*-------------------解法方程--------------------*/ transpose(&A[0][0],&At[0][0],2*N,6);//求A转置矩阵 mult(&At[0][0],&A[0][0],&result1[0][0],6,2*N,6);//A矩阵 X A转置矩阵-> result1 inverse(result1);// result1 求逆 mult(&At[0][0],L,&result2[0][0],6,2*N,1);// A转置矩阵 X L-> result2 mult(&result1[0][0],&result2[0][0],&XX[0],6,6,1);// result1 X result2-> XX Xs+=XX[0]; } Ys+=XX[1];Zs+=XX[2];q+=XX[3];w+=XX[4];k+=XX[5];n++;/*------------------迭代计算有片Xsr,Ysr,Zsr,qr,wr,kr--------------------------*/ while((XXr[3]>6/206265 || XXr[4]>6/206265 || XXr[5]>6/206265)&&nr<100){//右点算Xs,Ys,Zs,q,w,k /*----------------旋转矩阵R-----------------------*/ ar[0]=cos(qr)*cos(kr)-sin(qr)*sin(wr)*sin(kr); ar[1]=-cos(qr)*sin(kr)-sin(qr)*sin(wr)*cos(kr); ar[2]=-sin(qr)*cos(wr); br[0]=cos(wr)*sin(kr); br[1]=cos(wr)*cos(kr); br[2]=-sin(wr); cr[0]=sin(qr)*cos(kr)+cos(qr)*sin(wr)*sin(kr); cr[1]=-sin(qr)*sin(kr)+cos(qr)*sin(wr)*cos(kr); cr[2]=cos(qr)*cos(wr); /*-----------------像点坐标计算值------------------*/ for(i=0;i X0r[i]=ar[0]*(X[i]-Xsr)+br[0]*(Y[i]-Ysr)+cr[0]*(Z[i]-Zsr); Y0r[i]=ar[1]*(X[i]-Xsr)+br[1]*(Y[i]-Ysr)+cr[1]*(Z[i]-Zsr); Z0r[i]=ar[2]*(X[i]-Xsr)+br[2]*(Y[i]-Ysr)+cr[2]*(Z[i]-Zsr); x1r[i]=x0-f*X0r[i]/Z0r[i]; y1r[i]=y0-f*Y0r[i]/Z0r[i]; } /*-------------误差方程中各偏导数的值--------------*/ for(i=0;i B[2*i][0]=((ar[0]*f+ar[2]*(xr[i]-x0)))/Z0r[i]; B[2*i][1]=((br[0]*f+br[2]*(xr[i]-x0)))/Z0r[i]; B[2*i][2]=((cr[0]*f+cr[2]*(xr[i]-x0)))/Z0r[i]; B[2*i][3]=(yr[i]-y0)*sin(wr)-((xr[i]-x0)*((xr[i]-x0)*cos(kr)-yr[i]*sin(kr))/f+f*cos(kr))*cos(wr); B[2*i][4]=-f*sin(kr)-(xr[i]-x0)*((xr[i]-x0)*sin(kr)+(yr[i]-y0)*cos(kr))/f; B[2*i][5]=yr[i]-y0; Lr[2*i]=xr[i]-x1r[i]; B[1+2*i][0]=((ar[1]*f+ar[2]*(yr[i]-y0)))/Z0r[i]; B[1+2*i][1]=((br[1]*f+br[2]*(yr[i]-y0)))/Z0r[i]; B[1+2*i][2]=((cr[1]*f+cr[2]*(yr[i]-y0)))/Z0r[i]; B[1+2*i][3]=-(xr[i]-x0)*sin(wr)-((yr[i]-y0)*((xr[i]-x0)*cos(kr)-(yr[i]-y0)*sin(kr))/f-f*sin(kr))*cos(wr); } } B[1+2*i][4]=-f*cos(kr)-(yr[i]-y0)*((xr[i]-x0)*sin(kr)+(yr[i]-y0)*cos(kr))/f;B[1+2*i][5]=-xr[i]+x0;Lr[1+2*i]=yr[i]-y1r[i];/*-------------------解法方程--------------------*/ transpose(&B[0][0],&Bt[0][0],2*N,6);//求A转置矩阵 mult(&Bt[0][0],&B[0][0],&result1r[0][0],6,2*N,6);//A矩阵 X A转置矩阵-> result1 inverse(result1r);// result1 求逆 mult(&Bt[0][0],Lr,&result2r[0][0],6,2*N,1);// A转置矩阵 X L-> result2 mult(&result1r[0][0],&result2r[0][0],&XXr[0],6,6,1);// result1 X result2-> XX Xsr+=XXr[0];Ysr+=XXr[1];Zsr+=XXr[2];qr+=XXr[3];wr+=XXr[4];kr+=XXr[5];nr++;BX=Xsr-Xs;//BX,BY,BZ BY=Ysr-Ys;BZ=Zsr-Zs;for(i=0;i<3;i++){//R1,R2赋值 R1[0][i]=a[i]; R1[1][i]=b[i]; R1[2][i]=c[i]; R2[0][i]=ar[i]; R2[1][i]=br[i]; R2[2][i]=cr[i];} RS1[0][0]=m1;RS1[1][0]=n1;RS1[2][0]=-f/1000;// 给 将要与R1,R2相乘的 RS矩阵和RSR矩阵 赋值 RS2[0][0]=m2;RS2[1][0]=n2;RS2[2][0]=-f/1000;RS3[0][0]=m3;RS3[1][0]=n3;RS3[2][0]=-f/1000;RS4[0][0]=m4;RS4[1][0]=n4;RS4[2][0]=-f/1000;RS5[0][0]=m5;RS5[1][0]=n5;RS5[2][0]=-f/1000; RSR1[0][0]=p1;RSR1[1][0]=q1;RSR1[2][0]=-f/1000;RSR2[0][0]=p2;RSR2[1][0]=q2;RSR2[2][0]=-f/1000;RSR3[0][0]=p3;RSR3[1][0]=q3;RSR3[2][0]=-f/1000;RSR4[0][0]=p4;RSR4[1][0]=q4;RSR4[2][0]=-f/1000;RSR5[0][0]=p5;RSR5[1][0]=q5;RSR5[2][0]=-f/1000; mult(&R1[0][0],&RS1[0][0],&XI1[0],3,3,1);//R1 X RS mult(&R1[0][0],&RS2[0][0],&XI2[0],3,3,1);mult(&R1[0][0],&RS3[0][0],&XI3[0],3,3,1);mult(&R1[0][0],&RS4[0][0],&XI4[0],3,3,1);mult(&R1[0][0],&RS5[0][0],&XI5[0],3,3,1);mult(&R2[0][0],&RSR1[0][0],&XII1[0],3,3,1);//R2 X RSR mult(&R2[0][0],&RSR2[0][0],&XII2[0],3,3,1);mult(&R2[0][0],&RSR3[0][0],&XII3[0],3,3,1);mult(&R2[0][0],&RSR4[0][0],&XII4[0],3,3,1);mult(&R2[0][0],&RSR5[0][0],&XII5[0],3,3,1);N1=(BX*XII1[2]-BZ*XII1[0])/(XI1[0]*XII1[2]-XI1[2]*XII1[0]);//给N1 赋值 有五个点 N2=(BX*XII2[2]-BZ*XII2[0])/(XI2[0]*XII2[2]-XI2[2]*XII2[0]);N3=(BX*XII3[2]-BZ*XII3[0])/(XI3[0]*XII3[2]-XI3[2]*XII3[0]);N4=(BX*XII4[2]-BZ*XII4[0])/(XI4[0]*XII4[2]-XI4[2]*XII4[0]);N5=(BX*XII5[2]-BZ*XII5[0])/(XI5[0]*XII5[2]-XI5[2]*XII5[0]);G[0][0]=Xs+N1*XI1[0];//五个点XA,YA,ZA计算G[i][j] i:第几个点,j:是x,y还是z G[0][1]=Ys+N1*XI1[1];G[0][2]=Zs+N1*XI1[2];G[1][0]=Xs+N2*XI1[0];G[1][1]=Ys+N2*XI1[1];G[1][2]=Zs+N2*XI1[2];G[2][0]=Xs+N3*XI1[0];G[2][1]=Ys+N3*XI1[1];G[2][2]=Zs+N3*XI1[2];G[3][0]=Xs+N4*XI1[0];G[3][1]=Ys+N4*XI1[1];G[3][2]=Zs+N4*XI1[2];G[4][0]=Xs+N5*XI1[0];G[4][1]=Ys+N5*XI1[1];G[4][2]=Zs+N5*XI1[2];/*----------------旋转矩阵R-----------------------*/ cout<<“--------左--------”< ”< cout<<“Ys ”< cout<<“Zs ”< cout<<“迭代次数为:”< ”< cout<<“Ysr ”< cout<<“Zsr ”< 5”< %-.5f %.5f %-.5f %.5f %-.5f n”,XI1[0],XI2[0],XI3[0],XI4[0],XI5[0]);printf(“ Y1 %-.5f %.5f %-.5f %.5f %-.5f n”,XI1[1],XI2[1],XI3[1],XI4[1],XI5[1]);printf(“ Z1 %-.5f %.5f %-.5f %.5f %-.5f n”,XI1[2],XI2[2],XI3[2],XI4[2],XI5[2]);printf(“ X2 %-.5f %.5f %-.5f %.5f %-.5f n”,XII1[0],XII2[0],XII3[0],XII4[0],XII5[0]);printf(“ Y2 %-.5f %.5f %-.5f %.5f %-.5f n”,XII1[1],XII2[1],XII3[1],XII4[1],XII5[1]);printf(“ Z2 %-.5f %.5f %-.5f %.5f %-.5f n”,XII1[2],XII2[2],XII3[2],XII4[2],XII5[2]); printf(“ N1 %-.5f %.5f %-.5f %.5f %-.5f nn”,N1,N2,N3,N4,N5);printf(“ XA %-.5f %.5f %-.5f %.5f %-.5f n”,G[0][0],G[1][0],G[2][0],G[3][0],G[4][0]);printf(“ YA %-.5f %.5f %-.5f %.5f %-.5f n”,G[0][1],G[1][1],G[2][1],G[3][1],G[4][1]);printf(“ ZA %-.5f %.5f %-.5f %.5f %-.5f n”,G[0][2],G[1][2],G[2][2],G[3][2],G[4][2]); } 摄影测量实习报告 一、引言: 数字摄影测量是基于测量的基本原理,通过对所获取的数字/数字化影像进行处理自动(半自动)提取被摄对象用数字方式表达的几何与物理信息,从而获得各种形式的数字产品和目视化产品,摄影测量实习报告。数字摄影测量实习实在学完《数字摄影测量学》课程之后,进行数字摄影测量操作基本技能强化的一个重要实践环节。 二、实验目的和要求: 1、了解数字摄影测量生产流程 2、掌握立体像对定向建模型过程 3、掌握数字摄影测量测图方法 三、实验内容 使用JX4G全数字摄影测量软件,按照相应的规范和规程,进行地理信息数据采集,完成全数字测图实习。利用JX4G数字化成图软件测绘地形图,具体内容包括:像对内定向、像对相对定向、像点坐标测量、匹配生成核线、数字地面模型(DEM)、编辑修改等高线、地形图测图。 四、实验步骤 1、建模1—1 新建工程 启动Geoway软件,点击“文件”→“新建工程”,在弹出的对话框中新建名为2196的工程,并指定新建工程的存储路径在D盘的名为0933的文件夹中。 a)点击“工程管理”菜单,弹出其下拉菜单; b)选择“创建工程目录”项,出现输入对话框如图22: 图22 航片创建工程 c)在输入对话框中,输入新建的工程目录名称2196;然后点击“浏览”,选择所建立的目录的保存路径; d)点击“确定”,完成建立工程目录,则在所建立的工程目录下生成21*.ini文件——该文件记录有关工程目录的配置信息,实习报告《摄影测量实习报告》。 a)单击“工程管理”菜单,弹出其下拉菜单; b)选择“选择工程目录”项,出现选择路径窗口如图23: 图23 航片选择工程 c)在选择路径窗口中,选择所需的目录文件夹; d)点击“确定”,完成工程目录选择。 输入相机信息时,点击“工程管理”→“输入文件”→“输入相机文件”,弹出相机信息输入窗口如图24: 图24 航片相机信息输入 相机信息要依据相机自身的有关报告输入。 在“焦距”栏输入相机焦距,单位为毫米。 鼠标左键双击列表框内部,在激活的文本条内输入框标坐标x和y值。 根据校正记录读取的变形值,设置透镜变形参数,用与框标相同的方法输入。 相机列表栏中,点击“新建”按钮创建新的相机文件; 点击“确认”按钮则在该相机文件中保存了当前对话框中的全部信息。 在“工程管理”菜单的“输入文件”子菜单项中 点击选择“输入文件”→“输入控制点文件”,弹出控制点输入窗口如图26: 图26 航片控制点输入 在该窗口中输入控制点坐标:点号XYZ。 设置航空影像立体模型建立所需的影像信息,点击“输入文件”→“设置影像路径”,设置航空影像放置目录。操作如下所述。 对于各单模型建立作业时,在创建像对之前需要设置影像放置目录。在工程目录下,要求用来建立像对的影像文件必须放在同一个目录下;然后,通过如下步骤进行影像目录设置: a)选择“输入文件”→“设置影像路径”,弹出设置路径窗口,如图28: 图28 航片设置影像路径 b)在该窗口中,只能通过单击“浏览”,在弹出的选择路径窗口选择影像放置路径; c)点击“确定”,完成影像目录设置,系统会记录该信息到当前操作的工程目录的ini文件中。 在“工程管理”菜单子项中,创建新像对。单击选择菜单“像对”→“建立新像对”,弹出输入像对信息对话框如图29: 图29 输入像对对话框 在像对信息对话框中,选择像片、建立像对,并进行像对有关的设置。 摄影测量实习报告 一、实习目的与要求 本次实习是在摄影测量的教学基础上,理论实际相联系的动手操作实习,是我们在学习测量专业的一个重要的实习环节。一方面是培养我们的实践操作能力和运用软件解算数据的能力,另一方面培养我们在今后遇到问题应该如何去解决的能力,通过实习发现自己在实践动手方面的不足并想办法解决,为以后的工作实践打下扎实的基础。使我们熟练地掌握摄影测量及遥感的原理,信息获取的途径,数字处理系统和应用处理方法。并进一步巩固和深化理论知识,使理论与实践相结合。切实加强我们大家的实践动手能力,提高大家对这门新技术的认识和把握,全面培养我们的应用能了、创新能力和探索精神。 二、实习地点 桂林市雁山区大埠乡 桂林理工大学博文管理学院机房 三、实习用具 小比例尺航片两张、画图板一个、透明纸两张、铅笔、橡皮;电子计算机、ENVI遥感图像处理系统、编程软件(MATLAB、Visual Basic) 四、实习任务与要求 掌握航片调绘的方法步骤 掌握使用编程软件设计解算移动曲面法数字高程模型内插子程序 掌握使用编程软件设计解算空间后方交会 掌握使用ENVI遥感图像处理系统处理遥感影像 五、实习步骤 航片调绘 本次实习的遥感图像调绘主要判读航片测区地物属性,在透明纸上勾出边界,必要时进行清绘。 在进行野外调绘之前,将调绘航片平放在画图板上,然后再将比调绘图稍大一些的透明纸盖于调绘航片上,用胶带粘好,连同调绘航片用夹子固定于画图板。 第一天先将测区走过一遍,确定绘图边界,确定调绘路线,并对测区的情况有一个大致的了解。比较实际测区和航片的差别,并知道那些地方的地物是发生了变化的,以便于以后的判读调绘工作进行。 接下来的两天根据预定路线进行测区航片的地物判读和属性的标注。一般按照由远及近、从总貌到碎部、边走边判,远看近判的原则进行 调绘时的注意事项: 即地物地貌的调绘要连续进行,避免调绘不连贯和遗漏。 当地理名称注记过密时,可适当取舍。 调绘工作应按照国家标准的地形图图式进行,说明性质的注记应采用“简注表”,不得任意命名。 调绘要按照实地情况严格进行,不得伪造、篡改。 在调绘好的透明纸上,图名注于调绘片正上方,调绘者姓名及调绘日期等信息在调绘航片的右下角。 编辑移动曲面法数字高程模型内插子程序 要求利用二次曲面拟合法:Z=Ax2+Bxy+Cy2+Dx+Ey+F,根据已知坐标(Xn,Yn,Zn)和待求点的平面坐标(Xn,Yn),求出待求点的高程P。 解算步骤: 读入已知点的坐标,建立以待定点为原点的局部坐标系; 建立误差方程式:v=Xi2A+XiYiB+Yi2C+XiD+YiE+F-Zi 组成法方程,解算六个系数:X=(MTPM)1MTPZ,其中pi=1/di2。 编辑空间后方交会程序 要求一直摄影机主距f四个控制点的像点坐标与相应的地面坐标,利用共线 方程的线性化形式,计算近似垂直摄影情况下像片的外方位元素。 解算步骤: 获取已知数据:m,x0,y0,f,Xtp,Ytp,Ztp; 量测控制点像点坐标:x,y; 确定未知数初值; 组成误差方程式:若P=I,X=(ATA)1ATL; 解求外方位元素改正数、外方位元素的近似值; 检查迭代是否收敛,是否需要重复计算。 使用ENVI系统处理遥感影像 主要要求学会使用ENVI系统对遥感影像进行监督分类和非监督分类 监督分类 制作分类模版:打开一幅遥感影像,在影像窗口打开Overlay-Region of interest,在Zoom窗口依次绘制可识别地物类别的区域; 监督分类:Classification-Supervised-Minimum Distance; 监督分类后处理:Classification-post Classification——Clump classes。 非监督分类 打开一幅遥感影像,单击主菜单Classification-Unsupervised-Isodata,得到非监督分类的结果; 点击Classification-post Classification-Combine classes合并相同或相似类别进行监督分类后处理 六、实习心得 摄影测量是一门专业的测绘学科,也是一门应用很广的学科,随着遥感技术的不断发展,这门学科正从几何学向信息科学发展。它的发展及运用对我们测绘来说是很有帮助的。而摄影测量实习则可以提高我们对摄影测量知识的理解,加强我们的实际运用能力。因此学校安排了三周的摄影测量实习,这对提升我们的摄影测量实际操作能力是很有帮助的。 此次实习分四个板块,分别是全数字立体测图;数字摄影测量的编程;遥感影像自动分类;像片的判读与调绘等。全数字立体测图是利用计算机代替解析测图仪、用数字影像代替模拟像片、用数字光标代替光学光标,直接在计算机上进行数字化测图的作业方法。这个实习要求我们学会使用ENVY软件构建立体模型,制作测区的DEM、DOM和等高线图,同时熟练使用交互式数字影像测图系统在立体影像上量测不同类地物,并时行地物数据采集及编辑,生成数字测图文件,按标准的制图符号将之输出为矢量地形图。数字摄影测量的编程则要求我们学习使用Matlab进行摄影测量编程,掌握移动曲面法数字高程模型内插子程序的设计方法和空间后方交会程序的设计方法。遥感影像自动分类则是让我们了解并掌握督与非督分类的过程和方法,并利用监督分类结果制作一幅影像地图。像片的判读与调绘则是让我们利用学过的几类常用遥感影像的判读技术与方法,完成航空像片或彩红外片的判读和外业调绘工作,掌握全野外调绘的基本技能。 为使学生明确本次实习的总体任务及每一实习项目具体的作业程序、作业方法,指导教师在各项实习内容开展之前进行集中讲解,做到任务明确、过程清晰;实习过程中,分组指导和定期集中讨论相 结合,启发学生解决作业中出现的实际问题。本次实习不仅使学生理论知识得到巩固、操作能力得到加强,同时也使学生运用知识的能力得到提高。 在航片调绘实习过程中不免出现些错误和困难,但是我们都没有因此而放弃。我个人觉得在实习过程中细心是非常必要的,例如在选择界点时,一不小心就有可能将航片像点中的界点找错。还有在航片调绘清绘时,如果我们不细心,在没有记住航片中现在有所改变的地方,我们的成果就会因我们的粗心大意而失去意义。所以我认为养成一个细心严谨的态度是非常必要的,这将减少一些不必要的错误和损失。其实,我觉得本次实习没有什么特别困难的地方,只要大家能够做到认真细心,我们的实习就会很顺利。 在全数字立体测图实习过程中让我深深体会到,理论指导实践这一真理。在本次全数字立体测图实习过程中,我发现我们要做的工作其实很简单,只要点击有关的按钮,计算机就自动帮我们完成要做的工作了。但是,如果我们没有扎实的基础知识,就无法正常并顺利地操作计算机去完成我们要的指令操作。当我们再次遇到类似的问题时就无法解决了。对于我们来说,如果只有理论知识,而实践操作为零,那也只是纸上谈兵;但是指挥操作,不懂理论知识,那也不能独立完成工作。所以,我们要好好学习理论知识,这样才能指导实践,加强我们的动手能力。将来毕业了,才能是个合格的测绘工作人员。 摄影测量实习只有三周,但是在这三周中我们学到了很多东西。比如刚开始的像片的判读与调绘,虽然我们刚开始时要天天去野外调 绘踏勘,可能有点辛苦,但也让我们学会了在野外如何建立判读标志,根据判读任务拟订判读编辑指示或技术补充指示;这室内判读收集调查判读样片资料,对那些难于识别和需要判读而不常见的地物,拍摄地面立体照片,建立作业区的判读标志库,对复杂地物提出誊建议预测,根据预测做好人员分工和组织工作等。这些东西都是我们平时在课堂上所不能学到和理解到的。在地理要素的调绘中,让我们学会了认真与仔细,因为调绘片上表示的各项地理要素一定要齐全,综合取舍要合理;在图面上的各种数字注记要齐全;位置要恰当。所有的这些都有助于我们养成做事认真负责的态度。 在这次实习中,我们学到了很多课堂上学不到的东西,也让我们了解了摄影测量的应用及以后的发展状况,让我们知道了摄影测量的重要性及对我们将来工作的重要性。同时这次实习也让我们对以后的测绘方式有了全新的了解与认识,增长了我们的知识及见解,也让我们对测绘工作有了更深刻的理解。 学 院 班 级 学生姓名 摄影测量实习报告 测绘与城市空间信息学院 专 业 学 号 指导教师 地理信息科学 一、实习目的.........................................................................................4 二、实习要求.........................................................................................4 三、实习过程.........................................................................................5 四、心得体会.....................................................................................12 一、实习目的 1.与实际工作结合,体验实际工作。 在学长指导下进行外业数据采集,在实习过程中了解实际工作的要求,与已经参与工作的学长交流从而习得实际工作经验,在实际的工作中结合课本理论,将理论与实践相结合,深入理解摄影测量在实际工作中怎样应用,将课本知识融会贯通。 2.对4D产品概念的认识与了解 4D产品的简述及其应用 数字高程模型(Digital Elevation Model,缩写DEM)是在某一投影平面(如高斯投影平面)上规则格网点的平面坐标(X,Y)及高程(Z)的数据集。DEM的格网间隔应与其高程精度相适配,并形成有规则的格网系列。根据不同的高程精度,可分为不同类型。为完整反映地表形态,还可增加离散高程点数据。 数字正射影像图(Digital Orthophoto Map,缩写DOM)是利用数字高程模型(DEM)对经扫描处理的数字化航空像片,经逐像元进行投影差改正、镶嵌,按国家基本比例尺地形图图幅范围剪裁生成的数字正射影像数据集。它是同时具有地图几何精度和影像特征的图像,具有精度高、信息丰富、直观真实等优点。 数字线划地图(Digital Elevation Model,缩写DLG)是现有地形图要素的矢量数据集,保存各要素间的空间关系和相关的属性信息,全面地描述地表目标。 数字栅格地图(Digital Raster Graphic,缩写DRG)是现有纸质地形图经计算机处理后得到的栅格数据文件。每一幅地形图在扫描数字化后,经几何纠正,并进行内容更新和数据压缩处理,彩色地形图还应经色彩校正,使每幅图像的色彩基本一致。数字栅格地图在内容上、几何精度和色彩上与国家基本比例尺地形图保持一致。 3.学习摄影测量相关软件(JX4,PHOTOMOD等) 熟悉4D产品的作业流程。结合平常上机练习积累经验知识在JX-4G平台下完成对城建校区及其周围区域DLG的制作,在PHOTOMOD软件中学习空三加密过程并完成DEM、DOM的制作。 二、实习要求 1.航带设计要求 像素14500*10000 焦距50mm 像元尺寸6.5微米 高差达到像对行高1/6 如有漏曝光需要航带补飞 2.外业要求: 外业利用GPS做像控,在学长指导下了解外业工作,实习过程中要求同学们注意安全,听从学长安排,利用GPS接收机进行RTK动态测量采集像控点数据,之后将数据挑拣汇总,为内业处理做准备。要求动态测量坐标误差不超过2cm 3.内业要求: 利用PHOTOMOD做空三加密,并制作DEM,制作DOM,挑选像对利用JX4制作DLG,主要掌握4D产品的制作过程,4.本次实习分为两个摄影测量测区: (1)平顶山新城区测区,(2)平顶山市区测区 1)测区与资料分析 测区分析:两个测区内部有楼房、道路、花坛、林地、操场、线杆等地物,也都有地形起伏,河流、湖泊等地物地貌,具有较强的地形地貌代表性。 资料分析:摄影主距35.6830mm,扫描影像像素大小为0.05mm,摄影比例尺为1:1000,航摄面积较小,航片的清晰度比较好,适合实习操作。2)成果要求: DEM透视图图片一幅:比例尺为1:1000,要求精度:等高线间隔 2m,DEM拼接中误差差限为2,大于3倍中误差的点所占的比率小于1%。DOM图片一幅,比例尺为1:1000,检查每个模型的接边处,保证影象无或很少变形及扭曲等错误。DLG图片,比例尺为1:1000。 上交成果过程截图保存至实习报告,最终每人上交实习报告一份。 三、实习过程 1.外业像控点采集 A.早晨到达指定实习地点,按照两人一个小组,分组领取各组仪器: 每组一台GPS接收机,一个手持杆,一个手溥,4块接收机电池,外业记录纸,水笔 B.由组长架设基准站,设定参数: 波特率9600,频道1,接口7 C.小组长负责连接手溥,并根据已知点检验精度 D.由学长带队进入测区开始测量 外业具体测量过程如下: a)连接接收机和手溥,准备好纸,笔 b)打开接收机,设置移动站,打开手溥,按照机器号蓝牙连接各自接收机 c)打开手溥软件,新建工程,以日期命名,d)移动到需要观测的地点,点击点测量,保存点名(字母+数字格式),同时在外业观测记录纸上记录点名。 E.当晚由组长汇总当天外业数据以备内业处理 2.JX4操作过程(PHOTOMOD软件操作) 1.安装、打开可以进行空三加密的软件 2.点击创建新工程,设置完成后,添加航带,如图所示 3.添加像片到列表,并完成格式转变 4.设置相机参数,焦距:50.2 像元大小X=6.8 Y= 6.8 打开外方位元素列表 5.导入EO 6.通过外方位元素划分航带,显示图像 7.设置相机方位角,进行同步 8.UAV自动空 三、自动匹配连接点、测区平差、设置参数、进行计算,结果如下 9.自动计算点,配置格网属性、提取点云 10.构建TIN、通过TIN创建DEM、保存滤波后的DEM DLG图 四、心得体会 本次摄影测量实习,不仅使学生理论知识得到巩固、操作能力得到加强,同时也使学生运用知识的能力得到提高。 在实习过程中不免出现些错误和困难,但是我们都没有因此而放弃。我个人觉得在实习过程中细心是非常必要的,例如在选择同名点时,一不小心就有可能将同名像点找错。还有在影像匹配后编辑时,如果我们不细心,在没有保存我们成果的情况下就关闭了窗口,我们的成果就会因我们的粗心大意而失去。所以我认为养成一个细心严谨的态度是非常必要的,这将减少一些不必要的错误和损失。其实,我觉得本次实习没有什么特别困难的地方,只要大家能够做到认真细心,我们的实习就会很顺利。 本次实习让我深深体会到,理论指导实践这一真理。在本次实习中,我发现我们要做的工作其实很简单,只要点击有关的按钮,计算机就自动帮我们完成要做的工作了。但是,如果我们没有扎实的基础知识,就无法正常并顺利地操作计算机去完成我们要的指令操作。当我们再次遇到类似的问题时就无法解决了。对于我们来说,如果只有理论知识,而实践操作为零,那也只是纸上谈兵;但是指挥操作,不懂理论知识,那也不能独立完成工作。所以,我们要好好学习理论知识,这样才能指导实践,加强我们的动手能力。将来毕业了,才能是个合格的测绘工作人员。 时间飞逝,两周的实习就这样结束了。虽然时间不长,我从中学到了许多在课堂中无法学会的知识,理解了许多在课堂上无法理解的知识。很珍惜这些天的实习,让我更加清晰的认识了摄影测量学这门学科,进一步了解了相关软件的操作和使用,锻炼了我的动手能力。最后,很感谢李军杰老师给我们提供的实习机会,每天不辞辛苦的陪伴着我们,给我们技术上的指导,生活上的管理。虽然,本次实习在学校机房,但依然当不住寒冬的侵袭,老师这样陪伴着我们,让我很感动。我知道只有优秀的实习报告与成果才能回报老师的辛欣工作,与默默付出。我相信,我的实习总结会让老师得到安慰,觉得一些付出都是值得的了。在今后的工作和学习中,这次实习会给我源源不绝的动力和力量,我相信我会更加自信的面对今后的生活和工作,更加努力的学习和工作。 通过这次实习我们的收获很大,在很多情况下我们都得到了很多意外的收获,获益匪浅!不仅对书本上的理论知识有了通盘的理解,更重要的是从实践中检验了它的真理,了解了它的适应范围之广和作用之大,为我们以后从事工作而需要它打下了坚实的理论基础与实践经验。第二篇:摄影测量空间后前交会VC++
第三篇:摄影测量实习报告
第四篇:摄影测量实习报告
第五篇:摄影测量实习报告