分段累加法大地主题解算及高斯投影
- 格式:docx
- 大小:269.06 KB
- 文档页数:7
高斯平均引数大地主题解算程序设计田桂娥;谢露;马广涛【摘要】介绍了大地主题解算基本方法,以Visual Studio 2010作为开发平台,采用C#语言编写,设计实现了一套基于高斯平均引数的大地主题解算实用程序,指出该程序功能强大,实现了单点和批量大地主题解算,能方便的将计算结果保存在文本,且精度满足大地测量及相应工程的需求.【期刊名称】《山西建筑》【年(卷),期】2016(042)027【总页数】2页(P192-193)【关键词】大地主题解算;高斯平均引数法;Visual Studio 2010;批量解算【作者】田桂娥;谢露;马广涛【作者单位】华北理工大学,河北唐山063000;中铁十一局集团第一工程有限公司,湖北襄阳441104;河北省制图院,河北石家庄050000【正文语种】中文【中图分类】TU198在天文大地测量中,为了获得点的大地坐标,需要在椭球面上进行控制点间的坐标解算。
椭球面上两点间的大地坐标(大地经度、大地纬度)、大地线、大地方位角称为大地元素,已知一些大地元素,推求另一些大地元素,通常称为大地主题解算。
大地主题解算包含大地主题正算和大地主题反算两种,已知椭球面上一点P1的大地坐标(L1,B1),P1到P2点的大地线长度S及其大地方位角A12,计算P2点的大地坐标(L2,B2)和大地线长度S在P2点的反方位角A21,称为大地主题正解;反之,已知P1和P2点的大地坐标(L1,B1)和(L2,B2),计算P1至P2的大地线长度S及其正反方位角A12和A21,称为大地主题反解。
由于椭球计算的复杂性,带来大地主题解算的复杂性,有的需要进行迭代计算逐步趋近,给人工计算带来极大困难。
随着计算机技术的飞速发展,计算机在大地主题解算上的应用也得到了快速的发展,迭代计算已经不再是难题,而且,可以根据精度的需要而自行确定迭代次数,极大的提高了计算效率。
同时,随着大地主题解算在空间技术领域的广泛运用,大地主题解算已经成为一项重要的研究工作。
该投影按照投影带中央子午线投影为直线且长度不变和赤道投影为直线的条件,确定函数的形式,从而得到高斯一克吕格投影公式。
投影后,除中央子午线和赤道为直线外,其他子午线均为对称于中央子午线的曲线。
设想用一个椭圆柱横切于椭球面上投影带的中央子午线,按上述投影条件,将中央子午线两侧一定经差范围内的椭球面正形投影于椭圆柱面。
将椭圆柱面沿过南北极的母线剪开展平,即为高斯投影平面。
取中央子午线与赤道交点的投影为原点,中央子午线的投影为纵坐标x轴,赤道的投影为横坐标y轴,构成高斯克吕格平面直角坐标系。
高斯-克吕格投影在长度和面积上变形很小,中央经线无变形,自中央经线向投影带边缘,变形逐渐增加,变形最大之处在投影带内赤道的两端。
由于其投影精度高,变形小,而且计算简便(各投影带坐标一致,只要算出一个带的数据,其他各带都能应用),因此在大比例尺地形图中应用,可以满足军事上各种需要,能在图上进行精确的量测计算。
高斯-克吕格投影分带 按一定经差将地球椭球面划分成若干投影带,这是高斯投影中限制长度变形的最有效方法。
分带时既要控制长度变形使其不大于测图误差,又要使带数不致过多以减少换带计算工作,据此原则将地球椭球面沿子午线划分成经差相等的瓜瓣形地带,以便分带投影。
通常按经差6度或3度分为六度带或三度带。
六度带自0度子午线起每隔经差6度自西向东分带,带号依次编为第1、2…60带。
三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自 1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第1、2…120带。
我国的经度范围西起73°东至135°,可分成六度带十一个,各带中央经线依次为75°、81°、87°、……、117°、123°、129°、135°,或三度带二十二个。
六度带可用于中小比例尺(如1:250000)测图,三度带可用于大比例尺(如1:10000)测图,城建坐标多采用三度带的高斯投影。
《大地测量学基础》习题与思考题一 绪论1.试述您对大地测量学的理解?2.大地测量的定义、作用与基本内容是什么?3.简述大地测量学的发展概况?大地测量学各发展阶段的主要特点有哪些?4.简述全球定位系统(GPS )、激光测卫(SLR )、 甚长基线干涉测量(VIBL )、 惯性测量系统(INS )的基本概念? 二 坐标系统与时间系统1.简述是开普勒三大行星定律? 2.什么是岁差与章动?什么是极移? 3.什么是国际协议原点 CIO?4.时间的计量包含哪两大元素?作为计量时间的方法应该具备什么条件? 5.恒星时、 世界时、 历书时与协调时是如何定义的?其关系如何? 6.什么是大地测量基准?7.什么是天球?天轴、天极、天球赤道、天球赤道面与天球子午面是如何定义的 ? 8.什么是时圈 、黄道与春分点?什么是天球坐标系的基准点与基准面? 9.如何理解大地测量坐标参考框架?10.什么是椭球的定位与定向?椭球的定向一般应该满足那些条件? 11.什么是参考椭球?什么是总地球椭球?12.什么是惯性坐标系?什么协议天球坐标系 、瞬时平天球坐标系、 瞬时真天球坐标系?13.试写出协议天球坐标系与瞬时平天球坐标系之间,瞬时平天球坐标系与瞬时真天球坐标系的转换数学关系式。
14.什么是地固坐标系、地心地固坐标系与参心地固坐标系?15.什么协议地球坐标系与瞬时地球坐标系?如何表达两者之间的关系?16.如何建立协议地球坐标系与协议天球坐标系之间的转换关系,写出其详细的数学关系式。
17.简述一点定与多点定位的基本原理。
18.什么是大地原点?大地起算数据是如何描述的?19.简述1954年北京坐标系、1980年国家大地坐标系、 新北京54坐标系的特点以及它们之间存在相互关系。
20.什么是国际地球自传服务(IERS )、国际地球参考系统(ITRS) 、国际地球参考框架(ITRF)? ITRS 的建立包含了那些大地测量技术,请加以简要说明?21. 站心坐标系如何定义的?试导出站心坐标系与地心坐标系之间的关系?22.试写出不同平面直角坐标换算、不同空间直角坐标换算的关系式?试写出上述两种坐标转换的误差方程式? 23.什么是广义大地坐标微分方程(或广义椭球变换微分方程)?该式有何作用? 三 地球重力场及地球形状的基本理论1.简述地球大气中平流层、对流层与电离层的概念。
该投影按照投影带中央子午线投影为直线且长度不变和赤道投影为直线的条件,确定函数的形式,从而得到高斯一克吕格投影公式。
投影后,除中央子午线和赤道为直线外,其他子午线均为对称于中央子午线的曲线。
设想用一个椭圆柱横切于椭球面上投影带的中央子午线,按上述投影条件,将中央子午线两侧一定经差范围内的椭球面正形投影于椭圆柱面。
将椭圆柱面沿过南北极的母线剪开展平,即为高斯投影平面。
取中央子午线与赤道交点的投影为原点,中央子午线的投影为纵坐标x轴,赤道的投影为横坐标y轴,构成高斯克吕格平面直角坐标系。
高斯-克吕格投影在长度和面积上变形很小,中央经线无变形,自中央经线向投影带边缘,变形逐渐增加,变形最大之处在投影带内赤道的两端。
由于其投影精度高,变形小,而且计算简便(各投影带坐标一致,只要算出一个带的数据,其他各带都能应用),因此在大比例尺地形图中应用,可以满足军事上各种需要,能在图上进行精确的量测计算。
高斯-克吕格投影分带 按一定经差将地球椭球面划分成若干投影带,这是高斯投影中限制长度变形的最有效方法。
分带时既要控制长度变形使其不大于测图误差,又要使带数不致过多以减少换带计算工作,据此原则将地球椭球面沿子午线划分成经差相等的瓜瓣形地带,以便分带投影。
通常按经差6度或3度分为六度带或三度带。
六度带自0度子午线起每隔经差6度自西向东分带,带号依次编为第1、2…60带。
三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自 1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第1、2…120带。
我国的经度范围西起73°东至135°,可分成六度带十一个,各带中央经线依次为75°、81°、87°、……、117°、123°、129°、135°,或三度带二十二个。
六度带可用于中小比例尺(如1:250000)测图,三度带可用于大比例尺(如1:10000)测图,城建坐标多采用三度带的高斯投影。
大地主题的数值解法范业明1,王解先1,2,刘慧芹1(1 同济大学测量与国土信息工程系,上海 200092;2 现代工程测量国家测绘局重点实验室,上海 200092)摘要:本文基于椭球面上大地线的微分方程,将法截弧方位角与大地线方位角之间的关系作为初始条件,通过用数值方法求解大地线的微分方程,进行大地主题的正反解。
并以实际数据验证了其正确性与可行性。
本法均采用封闭公式计算,精度高,公式简单,特别适用于计算机解算。
关键词:大地线;微分方程;数值解法中图分类号:P226+1文献标识码:BAbstract :Based on differential equation of geodesic on the surface of ellipsoid,the problem of direct and inverse solution of geodetic is solved through numerical method.The relationship of normal arc and geodesic is deduced and introduced as the initial condition for the differential equation.Numerical experiments are given,and the validity and feasibility of the method proposed in this paper have been proved.Besides,all the formulas are close,simple and easy to be realized by computer.Key words :geodesic;differential equation;numerical method 收稿日期:2006 02 15;修订日期:2006 05 10作者简介:范业明(1982-),男(汉族),辽宁沈阳人,硕士研究生.0 引言一直以来由于计算工具的限制,大地主题解算一般都采用级数展开形式,如短距离的高斯平均引数法,长距离的贝塞尔-赫尔默特方法等等。
海岸线长度量算方法的研究刘春杉;王华接;沈亮【摘要】Coastline is the important and valuable natural resource, and accurate calculation of the coastline length is the premise of understanding the status of marine resources, and effective management of coast. But there is no uniform method of calculating the length of the coastline. This paper proposes using Ellipsoid-Length algorithm based on Gauss mid-latitude formula to calculate the length of the Earth's surface curves, and running MapBasic programming to automatically get the length. Through the verification and comparison, the results show that Ellipsoid-length algorithm is more accurate than Plane-Length algorithm, and worth the promotion in future work.%海岸线是重要而宝贵的自然资源,准确量算海岸线长度是摸清海洋家底和实施有效管理的前提.但目前海洋界没有统一的海岸线长度量算方法.提出基于高斯平均引数的椭球面长度算法,并采用MapBasic语言的实现海岸线长度的自动化计算,通过验证和比对,比目前海洋界普遍采用的平面长度算法更准确,可在实际工作中推广.【期刊名称】《海洋通报》【年(卷),期】2011(030)005【总页数】6页(P481-486)【关键词】海岸线;椭球面长度算法;高斯平均引数【作者】刘春杉;王华接;沈亮【作者单位】广东省海洋与渔业环境监测中心,广东广州510222;广东省海洋与渔业环境监测中心,广东广州510222;广东省海洋与渔业环境监测中心,广东广州510222【正文语种】中文【中图分类】P229.2海岸线是重要而宝贵的战略资源,既是港口、旅游、养殖等海洋产业发展重要载体,也是海洋生态多样性重要的来源,具有一定的稀缺性和不可再生性质。
高斯投影分带的方法高斯投影是一种常用的地图投影方法,在不同的纬度带采用不同的中央经线和偏移量对地球表面进行投影。
高斯投影被分为若干个带区,每个带区的数据使用相同的投影参数进行计算,以保证地图的准确性和一致性。
以下是10条关于高斯投影分带的方法:1. 球形还是椭球?对于高斯投影分带的计算,选择的数据是基于球形模型还是椭球模型。
对于小范围的地图,使用球形模型计算更为简单,但对于大范围地图,椭球模型更能精确地模拟地球的形状。
2. 中央经线的选择高斯投影分带中要选定中央经线的位置,一般取为地理范围中心线或者是地理经度整数度线。
不同的国家和地区也有自己的经验和规则来确定中央经线的位置。
3. 都需要哪些参数在进行高斯投影分带的计算时,需要的参数有:椭球体长短半轴,扁率,中央子午线经度,比例因子和假东偏移量。
这些参数经过计算后将决定不同纬度带的投影坐标计算方式。
4. 针对不同需求选择投影方式高斯投影分带的方式可以使用传统的高斯投影形式,也可以使用高端的UTM方式进行计算。
选择哪种投影方式取决于地图的需求和投资预算。
5. 将地球表面分割成不同的区域在进行高斯投影分带之前,需要将地球表面分割成不同的带区。
这些带区根据纬度的区间和中央经线的位置进行命名和编号。
以中国为例,中国采用3度分带方式。
6. 编号的规则高斯投影分带时,标准的编号规则是按照地球表面上每度纬度带的长度来进行计算的。
在中国的北京市,经度的每一度分割成200个小分段,每个小分段长度约为30米,纬度的度数分割成了30个带区。
7. 纵向方向和横向方向的计算高斯投影分带的计算可以分为两个方向:纵向方向和横向方向。
纵向方向是指垂直于中央经线的方向,而横向方向是指与中央经线平行的方向。
8. 计算精度掌握由于高斯投影分带涉及到许多计算参数和技术细节,因此计算精度是非常重要的。
计算精度可以通过更精细的划分和参数选择进行改善,以保证地图的精度和它所描绘的现实一致。
9. 相关软件的应用在进行高斯投影分带时,需要使用相关的软件和算法进行计算。
分段累加法大地主题解算与高斯投影C语言程序大地主题解算与高斯投影正反算程序设计测绘一班 XX [1**********]96一、大地主题解算:程序源码:#include#include#define PI 3.[1**********]98int main(void){double bx,by,bz,B1,lx,ly,lz,L1,ax,ay,az,A1,S;double dB,dL,dA;double e2=0.[**************],a=6378245.0000000000;double M1,N1,W1,N2,W2;double B2,L2,A2;int Bx,By,Lx,Ly,Ax,Ay;double Bz,Lz,Az;printf("请输入大地线起点纬度\n ° ′ ″\n");scanf("%lf%lf%lf",&bx,&by,&bz);printf("请输入大地线起点经度\n ° ′ ″\n");scanf("%lf%lf%lf",&lx,&ly,&lz);printf("请输入大地方位角\n ° ′ ″\n");scanf("%lf%lf%lf",&ax,&ay,&az);printf("请输入大地线长度\n");scanf("%lf",&S);double W,M,N,C;B1 = (bx + by / 60 + bz / 3600) * PI / 180; L1 = (lx + ly / 60 + lz / 3600) * PI / 180; A1 = (ax + ay / 60 + az / 3600) * PI / 180; W = sqrt(1 - e2 * (sin(B1) * sin(B1)));M = a * (1 - e2) / (W * W * W);N = a / W;C = N * cos(B1) * sin(A1);int n ,i; double s;n = (int)(S / 4000 + 1);s = S / n;for (i = 1; i{dB = cos(A1) * s / M;dL = sin(A1) * s / N / cos(B1);B2 = B1 + dB;L2 = L1 + dL;W = sqrt(1 - e2 * (sin(B2) * sin(B2)));M = a * (1 - e2) / (W * W * W);N = a / W;A2 = asin(C / N / cos(B2));B1 = B2; L1 = L2; A1 = A2;}Bx=B2/PI*180;By=(B2/PI*180-Bx)*60;Bz=fabs(((B2/PI*180-Bx)*60-By)*60);Lx=L2/PI*180;Ly=(L2/PI*180-Lx)*60;Lz=fabs(((L2/PI*180-Lx)*60-Ly)*60);Ax=A2/PI*180;Ay=(A2/PI*180-Ax)*60;Az=fabs(((A2/PI*180-Ax)*60-Ay)*60);printf("大地线终点纬度为%d°%d′%f″\n",Bx,By,Bz);printf("大地线终点经度为%d°%d′%f″\n",Lx,Ly,Lz);printf("终点大地方位角为%d°%d′%f″\n",Ax,Ay,Az);return 0;程序运行截图:高斯正算程序源码:#include#include#define PI 3.[**************]2int main(void){printf("高斯投影算\n\n");int o;printf("请选择采用的椭球参数\n1.克拉索夫斯基椭球体 2.1975年国际椭球体3.WGS-84椭球体 4.CGCS2000\n");scanf("%d",&o);double a = 0,e12,e2;if(o==1){a=6378245.0000000000; e2=0.[**************]; e12=0.[**************]; }else if(o==2){a=6378140.0000000000; e2=0.[**************]; e12=0.[**************]; }else if(o==3){a=6378137.0000000000; e2=0.[1**********]13; e12=0.[1**********]227; }else if(o==4){a=6378137.0;e2=0.[1**********]290; e12=0.[1**********]548; }int k;printf("\n执行高斯投影算法正算\n\n");double bx,by,bz,lx,ly,lz;double m0, m2, m4, m6, m8, a0, a2, a4, a6, a8, N, B, L, X, Bb, cosB ,sinB , ρ, η2, t, l, d, x, y; printf("请输入大地纬度\n ° ′ ″\n");scanf("%lf%lf%lf",&bx,&by,&bz);printf("请输入大地经度\n ° ′ ″\n");scanf("%lf%lf%lf",&lx,&ly,&lz);B=bx+by/60+bz/3600;L=lx+ly/60+lz/3600;Bb = B * PI / 180;m0 = a * (1 - e2);m2 = 3 * e2 * m0 / 2;m4 = 5 * e2 * m2 / 4;m6 = 7 * e2 * m4 / 6;m8 = 9 * e2 * m6 / 8;a0 = m0 + (m2 / 2) + ((3 * m4) / 8) + ((5 * m6) / 16) + ((35 * m8) / 128); a2 = m2 / 2 + m4 / 2 + 15 * m6 / 32 + 7 * m8 / 16;a4 = m4 / 8 + 3 * m6 / 16 + 7 * m8 / 32;a6 = m6 / 32 + m8 / 16;a8 = m8 / 128;ρ = 180 * 3600 / PI;cosB = cos(Bb);sinB = sin(Bb);η2 = e12 * cosB * cosB;t = tan(Bb);d = (int)(L / 6) + 1;l = abs(L - (6 * d - 3)) * 3600;N = a / sqrt(1 - e2 * sinB * sinB);X = a0 * Bb - sinB * cosB * ((a2 - a4 + a6) + (2 * a4 - 16 * a6 / 3) * sinB * sinB + 16 *a6 * sinB * sinB * sinB * sinB / 3);x = X + N * sinB * cosB * l * l / (2 * ρ * ρ) + N * sinB * cosB * cosB * cosB * (5 - t * t+ 9 * η2) * l * l * l * l / (24 * ρ * ρ * ρ * ρ) + N * sinB * cosB * cosB * cosB * cosB * cosB * (61 - 58 * t * t + t * t * t * t) * l * l * l * l * l * l / (720 * ρ * ρ * ρ * ρ * ρ * ρ);y = N * cosB * l / ρ + N * cosB * cosB * cosB * (1 - t * t + η2) * l * l * l / (6 * ρ * ρ *ρ)+ N * cosB * cosB * cosB * cosB * cosB * (5 - 18 * t * t + t * t * t * t) * l * l * l * l * l/ (120 * ρ * ρ * ρ * ρ * ρ);printf("x为%.4lfm\n",x);printf("y为%.4lfm\n",y);}程序截图:高斯反算程序源码:#include#include#define PI 3.[1**********]98int main(void){printf("高斯投影反算\n\n");int o;printf("请选择采用的椭球参数\n1.克拉索夫斯基椭球体 2.1975年国际椭球体3.WGS-84椭球体 4.CGCS2000\n");scanf("%d",&o);double a,e12,e2;if(o==1){a=6378245.0000000000;e2=0.[**************];e12=0.[**************];}else if(o==2){a=6378140.0000000000;e2=0.[**************];e12=0.[**************];}else if(o==3){a=6378137.0000000000;e2=0.[1**********]13;e12=0.[1**********]227;}else if(o==4){a=6378137.0;e2=0.[1**********]290;e12=0.[1**********]548;}double x,y;doublem0,m2,m4,m6,m8,a0,a2,a4,a6,a8,Bf,Bf1,B,Mf,W,Nf,tf,ηf2,n2,n4,n6,n8,l; printf("plaese enter x,y:\n");scanf("%lf %lf",&x,&y);m0=a* (1-e2);m2=3*e2*m0/2;m4=5*e2*m2/4;m6=7*e2*m4/6;m8=9*e2*m6/8;a0=m0+(m2/2)+((3*m4)/8)+((5*m6)/16)+((35*m8)/128);a2=m2/2+m4/2+15*m6/32+7*m8/16;a4=m4/8+3*m6/16+7*m8/32;a6=m6/32+m8/16;a8=m8/128;Bf1=0;Bf=x/a0;while(abs(Bf-Bf1)>1E-10){Bf1=Bf;double sinB=sin(Bf1);double cosB=cos(Bf1);double sin2B=sinB*cosB*2;double sin4B=sin2B*(1-2*sinB*sinB)*2;double sin6B=sin2B*sqrt(1-(sin4B*sin4B)+sin4B*sqrt(1-sin2B*sin2B));Bf=(x-(-a2/2.0*sin2B+a4/4.0*sin4B-a6/6.0*sin6B))/a0;}double sinBf=sin(Bf);double cosBf=cos(Bf);ηf2=e12*cosBf*cosBf;tf=tan(Bf);W=sqrt(1-e2*sinBf*sinBf);Mf=a*(1-e2)/(W*W*W);Nf=a/W;B=Bf-tf*y*y/(2*Mf*Nf)+tf*(5+3*tf*tf+ηf2-9*ηf2*tf*tf)*y*y*y*y/(24*Mf*Nf*Nf*Nf)-tf*(61+90*tf*tf+45*tf*tf*tf*tf)*y*y*y*y*y*y/(720*Mf*Nf*Nf*Nf*Nf*Nf);l=y/(Nf*cosBf)-(1+2*tf*tf+ηf2)*y*y*y/(6*Nf*Nf*Nf*cosBf)+(5+28*tf*tf+24*tf*tf*tf*tf+6*ηf2+8*ηf2*tf*tf)*y*y*y*y*y/(120*Nf*Nf*Nf*Nf*Nf*cosBf);int Bx,By,lx,ly;double Bz,lz;Bx=(B/PI*180);By=((B/PI*180-Bx)*60);Bz=abs(((B/PI*180-Bx)*60-By)*60);By=abs(By);lx=(l/PI*180);ly=((l/PI*180-lx)*60);lz=abs(((l/PI*180-lx)*60-ly)*60);ly=abs(ly);printf("大地纬度为%d°%d′%lf″\n",Bx,By,Bz); printf("经度差为%d°%d′%lf″\n",lx,ly,lz); return 0;}程序截图:。
第八章 高斯投影地面-----椭球面-----平面熟悉,简单地图投影高斯—克吕格投影(高斯投影)§8.1高斯投影概述8.1.1投影与变形所谓地球投影,简略说来就是将椭球面各元素(包括坐标、方向和长度)按一定的数学法则投影到平面上。
研究这个问题的专门学科叫地图投影学。
这里所说的数学法则可用下面两个方程式表示:),(),(21B L F y B L F x == (8-1)式中L ,B 是椭球面上某点的大地坐标,而y x ,是该点投影后的平面(投影面)直角坐标。
式(8-1)表示了椭球面上一点同投影面上对应点之间坐标的解析关系,也叫做坐标投影公式。
投影问题也就是建立椭球面元素与投影面相对应元素之间的解析关系式。
投影的方法很多,每种方法的本质特征都是由坐标投影公式F 的具体形式体现的。
椭球面是一个凸起的、不可展平的曲面,若将这个曲面上的元素(比如一段距离、一个角度、一个图形)投影到平面上,就会和原来的距离、角度、图形呈现差异,这一差异称作投影的变形。
地图投影必然产生变形。
投影变形一般分为角度变形、长度变形和面积变形三种。
在地图投影时,我们可根据需要使某种变形为零,也可使其减小到某一适当程度。
因此,地图投影中产生了所谓的等角投影(投影前后角度相等,但长度和面积有变形)、等距投影(投影前后长度相等,但角度和面积有变形)、等积投影(投影前后面积相等,但角度和长度有变形)等。
8.1.2控制测量对地图投影的要求1.应采用等角投影(又称正形投影)。
这样①保证了在三角测量中大量的角度元素在投影前后保持不变,免除了大量的投影工作;②所测制的地图可以保证在有限的范围内使得地图上图形同椭球上原形保持相似,给国民经济建设中识图用图带来很大方便。
如图多边形,相应角度相等,但长度有变化,投影面上的边长与原面上的相应长度之比,称为长度比。
图中, EA A E AB B A m ''==''=即在微小范围内保证了形状的相似性,当ABCDE 无限接近时,可把该多边形看作一个点,因此在正形投影中,长度比m 仅与点的位置有关,与方向无关,给地图测制及地图的使用等带来极大方便。
大地测量学基础(高起专)单选题1. _______要求在全球范围内椭球面与大地水准面有最佳的符合,同时要求椭球中心与地球质心一致或最为接近。
(A) 地心定位(B) 单点定位(C) 局部定位(D) 多点定位标准答案:A2. _______用于研究天体和人造卫星的定位与运动。
(4分)(A) 参心坐标系(B) 空间直角坐标系C) 天球坐标系(D) 站心坐标系标准答案:C3. 地球坐标系分为大地坐标系和_______两种形式。
(4分)(A) 天球坐标系(B) 空间直角坐标系(C) 地固坐标系(D) 站心坐标系标准答案:B4. 地球绕地轴旋转在日、月等天体的影响下,类似于旋转陀螺在重力场中的进行,地球的旋转轴在空间围绕黄极发生缓慢旋转,形成一个倒圆锥体,旋转周期为26000年,这种运动成为_______。
(4分)(A) 极移(B) 章动(C) 岁差(D) 潮汐标准答案:C5. 以春分点作为基本参考点,由春分点周日视运动确定的时间,称为_______。
(4分)(A) 恒星时(B) 世界时(C) 协调世界时(D) 历书时标准答案:A 多选题6. 下列属于参心坐标系的有:_______。
(4分)(A) 1954年北京坐标系(B) 1980年国家大地坐标系(C) WGS-84世界大地坐标系(D) 新1954年北京坐标系标准答案:A,B,D 7. 下列关于大地测量学的地位和作用叙述正确的有:_______。
(4分)(A) 大地测量学在国民经济各项建设和社会发展中发挥着基础先行性的重要保证作用。
(B) 大地测量学在防灾、减灾、救灾及环境监测、评价与保护中发挥着独具风貌的特殊作用。
(C) 大地测量是发展空间技术和国防建设的重要保证。
(D) 大地测量在当代地球科学研究中的地位显得越来越重要。
标准答案:A,B,C,D8. 大地测量学的发展经历了下列那几个阶段:_______。
(4分)(A) 地球圆球阶段(B) 地球椭球阶段(C) 大地水准面阶段(D) 现代大地测量新阶段标准答案:A,B,C,D9. 地固坐标系分为_______。
大地测量编程实习报告班号:XXXX 学号:XXXXXXXXXX 姓名:XXX大地主题解算(分段累加法正算)结果截图:主要代码:privatevoid button1_Click(object sender, EventArgs e){double bx, by, bz, B1, lx, ly, lz, L1, ax, ay, az, A1, S;double dB, dL;double e2 = 0.006693421622966, a = 6378245.0000000000;double M, N, W, C;double B2 = 0, L2 = 0, A2 = 0;int Bx, By, Lx, Ly, Ax, Ay;double Bz, Lz, Az;bx = Convert.ToDouble(du1.Text); by = Convert.ToDouble(fen1.Text); bz = Convert.ToDouble(miao1.Text);lx = Convert.ToDouble(du2.Text); ly = Convert.ToDouble(fen2.Text); lz = Convert.ToDouble(miao2.Text); ax = Convert.ToDouble(du3.Text); ay = Convert.ToDouble(fen3.Text); az = Convert.ToDouble(miao3.Text); S = Convert.ToDouble(m.Text);double PI = Math.PI;B1 = (bx + by / 60 + bz / 3600) * PI / 180;L1 = (lx + ly / 60 + lz / 3600) * PI / 180;A1 = (ax + ay / 60 + az / 3600) * PI / 180;W = Math.Sqrt(1 - e2 * (Math.Sin(B1) * Math.Sin(B1)));M = a * (1 - e2) / (W * W * W);N = a / W;C = N * Math.Cos(B1) * Math.Sin(A1);int n ,i; double s;n = (int)(S / 4000 + 1);s = S / n;for (i = 1; i <= n; i++){dB = Math.Cos(A1) * s / M;dL = Math.Sin(A1) * s / N / Math.Cos(B1);B2 = B1 + dB;L2 = L1 + dL;W = Math.Sqrt(1 - e2 * (Math.Sin(B2) * Math.Sin(B2)));M = a * (1 - e2) / (W * W * W);N = a / W;A2 = Math.Asin(C / N / Math.Cos(B2));B1 = B2; L1 = L2; A1 = A2;}Bx =(int)( B2 / PI * 180);By = (int)((B2 / PI * 180 - Bx) * 60);Bz = Math.Abs(((B2 / PI * 180 - Bx) * 60 - By) * 60);By = Math.Abs(By);Lx = (int)(L2 / PI * 180);Ly = (int)((L2 / PI * 180 - Lx) * 60);Lz = Math.Abs(((L2 / PI * 180 - Lx) * 60 - Ly) * 60);Ly = Math.Abs(Ly);Ax = (int)(A2 / PI * 180);Ay = (int)((A2 / PI * 180 - Ax) * 60);Az = Math.Abs(((A2 / PI * 180 - Ax) * 60 - Ay) * 60);Ay = Math.Abs(Ay);du4.Text = Bx.ToString(); fen4.Text = By.ToString(); miao4.Text = Bz.ToString("0.0000"); du5.Text = Lx.ToString(); fen5.Text = Ly.ToString(); miao5.Text = Lz.ToString("0.0000"); du6.Text = Ax.ToString(); fen6.Text = Ay.ToString(); miao6.Text = Az.ToString("0.0000"); }高斯投影正、反算结果截图:正算:反算:主要代码:正算:privatevoid button1_Click(object sender, EventArgs e){double a = 0 , e12 = 0, e2 = 0;double PI = Math.PI;string tt;try{tt = boBox1.Items[boBox1.SelectedIndex].ToString();}catch{MessageBox.Show("请选择坐标系!"); return;}if (pareTo("1954年北京坐标系") == 0){a = 6378245;e2 = 0.006693421622966;e12 = 0.006738525414683;}if (pareTo("1980年国家大地坐标系") == 0){a = 6378140;e2 = 0.006694384999588;e12 = 0.006739501819473;}if (pareTo("WGS-84") == 0){a = 6378137;e2 = 0.00669437999013;e12 = 0.00673949674227;}if (pareTo("CGCS2000") == 0){a = 6378137;e2 = 0.00669438002290;e12 = 0.00673949677548;}double m0, m2, m4, m6, m8, a0, a2, a4, a6, a8, N, B, L, X, Bb, cosB ,sinB , ρ, η2, t, l, d, x, y;B = Convert.ToDouble(du1.Text) + (Convert.ToDouble(fen1.Text) / 60) + (Convert.ToDouble(miao1.Text) / 3600); L = Convert.ToDouble(du2.Text) + (Convert.ToDouble(fen2.Text) / 60) +(Convert.ToDouble(miao2.Text) / 3600);Bb = B * PI / 180;m0 = a * (1 - e2);m2 = 3 * e2 * m0 / 2;m4 = 5 * e2 * m2 / 4;m6 = 7 * e2 * m4 / 6;m8 = 9 * e2 * m6 / 8;a0 = m0 + (m2 / 2) + ((3 * m4) / 8) + ((5 * m6) / 16) + ((35 * m8) / 128);a2 = m2 / 2 + m4 / 2 + 15 * m6 / 32 + 7 * m8 / 16;a4 = m4 / 8 + 3 * m6 / 16 + 7 * m8 / 32;a6 = m6 / 32 + m8 / 16;a8 = m8 / 128;ρ = 180 * 3600 / PI;cosB = Math.Cos(Bb);sinB = Math.Sin(Bb);η2 = e12 * cosB * cosB;t = Math.Tan(Bb);d = Math.Floor(L / 6) + 1;l = Math.Abs(L - (6 * d - 3)) * 3600;N = a / Math.Sqrt(1 - e2 * sinB * sinB);X = a0 * Bb - sinB * cosB * ((a2 - a4 + a6) + (2 * a4 - 16 * a6 / 3) * sinB * sinB + 16 * a6 * sinB * sinB * sinB * sinB / 3);x = X + N * sinB * cosB * l * l / (2 * ρ * ρ) + N * sinB * cosB * cosB * cosB * (5 - t * t + 9 * η2) * l * l * l * l / (24 * ρ * ρ * ρ * ρ) + N * sinB * cosB * cosB * cosB * cosB * cosB * (61 - 58 * t * t + t * t * t * t) * l * l * l * l * l * l / (720 * ρ * ρ * ρ * ρ * ρ * ρ);y = N * cosB * l / ρ + N * cosB * cosB * cosB * (1 - t * t + η2) * l * l * l / (6 * ρ * ρ* ρ)+ N * cosB * cosB * cosB * cosB * cosB * (5 - 18 * t * t + t * t * t * t) * l * l * l * l * l/ (120 * ρ * ρ * ρ * ρ * ρ);x1.Text = x.ToString("0.0000")+"m";y1.Text = y.ToString("0.0000")+"m";}反算:privatevoid button2_Click(object sender, EventArgs e){double a = 0, e12 = 0, e2 = 0;double PI = Math.PI;string tt;try{tt = boBox2.Items[boBox2.SelectedIndex].ToString();}catch{MessageBox.Show("请选择坐标系!"); return;}if (pareTo("1954年北京坐标系") == 0){a = 6378245;e2 = 0.006693421622966;e12 = 0.006738525414683;}if (pareTo("1980年国家大地坐标系") == 0){a = 6378140;e2 = 0.006694384999588;e12 = 0.006739501819473;}if (pareTo("WGS-84") == 0){a = 6378137;e2 = 0.00669437999013;e12 = 0.00673949674227;}if (pareTo("CGCS2000") == 0){a = 6378137;e2 = 0.00669438002290;e12 = 0.00673949677548;}double x, y, m0, m2, m4, m6, m8, a0, a2, a4, a6, a8, Bf, Bf1, B , Mf , W, Nf, tf, ηf2, n2, n4, n6, n8 , l;x = Convert.ToDouble(x2.Text);y = Convert.ToDouble(y2.Text);m0 = a * (1 - e2);m2 = 3 * e2 * m0 / 2;m4 = 5 * e2 * m2 / 4;m6 = 7 * e2 * m4 / 6;m8 = 9 * e2 * m6 / 8;a0 = m0 + (m2 / 2) + ((3 * m4) / 8) + ((5 * m6) / 16) + ((35 * m8) / 128);a2 = m2 / 2 + m4 / 2 + 15 * m6 / 32 + 7 * m8 / 16;a4 = m4 / 8 + 3 * m6 / 16 + 7 * m8 / 32;a6 = m6 / 32 + m8 / 16;a8 = m8 / 128;Bf1 = 0;Bf = x / a0;while (Math.Abs(Bf - Bf1) > 1E-10){Bf1 = Bf;double sinB = Math.Sin(Bf1);double cosB = Math.Cos(Bf1);double sin2B = sinB * cosB * 2;double sin4B = sin2B * (1 - 2 * sinB * sinB) * 2;double sin6B = sin2B * Math.Sqrt(1 - sin4B * sin4B) + sin4B * Math.Sqrt(1 - sin2B * sin2B);Bf = (x - (-a2 / 2.0 * sin2B + a4 / 4.0 * sin4B - a6 / 6.0 * sin6B)) / a0;}double sinBf = Math.Sin(Bf);double cosBf = Math.Cos(Bf);ηf2 = e12 * cosBf * cosBf;tf = Math.Tan(Bf);W = Math.Sqrt(1 - e2 * sinBf * sinBf);Mf = a * (1 - e2) / (W * W * W);Nf = a / W;B = Bf - tf * y * y / (2 * Mf * Nf) + tf * (5 + 3 * tf * tf + ηf2 - 9 * ηf2 * tf * tf) * y * y * y * y / (24 * Mf * Nf * Nf * Nf) - tf * (61 + 90 * tf * tf + 45 * tf * tf * tf * tf) * y * y * y * y * y * y / (720 * Mf * Nf * Nf * Nf * Nf * Nf);l = y / (Nf * cosBf) - (1 + 2 * tf * tf + ηf2) * y * y * y / (6 * Nf * Nf * Nf * cosBf) + (5 + 28 * tf * tf + 24 * tf * tf * tf * tf + 6 * ηf2 + 8 * ηf2 * tf * tf) * y * y * y * y * y / (120 * Nf * Nf * Nf * Nf * Nf * cosBf);int Bx, By, lx, ly;double Bz, lz;Bx = (int)(B / PI * 180);By = (int)((B / PI * 180 - Bx) * 60);Bz = Math.Abs(((B / PI * 180 - Bx) * 60 - By) * 60);By = Math.Abs(By);lx = (int)(l / PI * 180);ly = (int)((l / PI * 180 - lx) * 60);lz = Math.Abs(((l / PI * 180 - lx) * 60 - ly) * 60);ly = Math.Abs(ly);du3.Text = Bx.ToString();fen3.Text = By.ToString();miao3.Text = Bz.ToString("0.0000");du4.Text = lx.ToString(); fen4.Text = ly.ToString();miao4.Text = lz.ToString("0.0000");}。