大地坐标直角空间坐标转换计算公式
- 格式:doc
- 大小:199.50 KB
- 文档页数:10
⼤地坐标与直⾓空间坐标转换计算公式⼤地坐标与直⾓空间坐标转换计算公式⼀、参⼼⼤地坐标与参⼼空间直⾓坐标转换1名词解释:A :参⼼空间直⾓坐标系:a) 以参⼼0为坐标原点;b) Z轴与参考椭球的短轴(旋转轴)相重合;c) X轴与起始⼦午⾯和⾚道的交线重合;d) Y轴在⾚道⾯上与 X轴垂直,构成右⼿直⾓坐标系O-XYZ ;e) 地⾯点P的点位⽤(X,Y,Z)表⽰;B :参⼼⼤地坐标系:a) 以参考椭球的中⼼为坐标原点,椭球的短轴与参考椭球旋转轴重合;b) ⼤地纬度B :以过地⾯点的椭球法线与椭球⾚道⾯的夹⾓为⼤地纬度 B ;c) ⼤地经度L:以过地⾯点的椭球⼦午⾯与起始⼦午⾯之间的夹⾓为⼤地经度L;d) ⼤地⾼H:地⾯点沿椭球法线⾄椭球⾯的距离为⼤地⾼H ;e) 地⾯点的点位⽤(B,L,H)表⽰。
2参⼼⼤地坐标转换为参⼼空间直⾓坐标:X =(N +H )* cosB* cosLY =(N +H )* cosB* sin L ?Z =[N * (I _e2) +H]* sin B”公式中,N为椭球⾯卯⾣圈的曲率半径,e为椭球的第⼀偏⼼率,a、b椭球的长短半径,f椭球扁率,W为第⼀辅助系数a2 -b22* f -1e 或e =a fW = . (1 -g*sin2BN aW西安80椭球参数:长半轴 a=6378140⼟ 5( m)短半轴 b=6356755.2882m扁率a =1/298.2573参⼼空间直⾓坐标转换参⼼⼤地坐标Z* (N + H) (X2 Y2)* N* (1 -e2) HX2 Y2cosB⼆⾼斯投影及⾼斯直⾓坐标系1、⾼斯投影概述⾼斯-克吕格投影的条件:1.是正形投影;2.中央⼦午线不变形⾼斯投影的性质: 1.投影后⾓度不变; 2.长度⽐与点位有关,与⽅向⽆关;3.离中央⼦午线越远变形越⼤为控制投影后的长度变形,采⽤分带投影的⽅法。
常⽤3度带或6度带分带,城市或⼯程控制⽹坐标可采⽤不按 3度带中央⼦午线的任意带。
7.5 常用坐标系之间的关系与转换一、大地坐标系和空间大地直角坐标系及其关系大地坐标系用大地纬度企丈地经度L 和丈地髙H 来表示点的位置°这种坐标系是经 典大地测量甬:両用座标紊7屜据地图投影的理论,大地坐标系可以通过一定的投影转 化为投影平面上的直角坐标系,为地形测图和工程测量提供控制基础。
同时,这种坐标系 还是研究地球形状和大小的 种有用坐标系°所以大地坐标系在大地测量中始终有着重要 的作用.空间大地直角坐标系是-种以地球质心为原点购亘墮®坐标系,一般用X 、化Z 表 示点BSSTSTT 逐碇SS 範菇飞両H 绕禎扭转冻其轨道平面随时通过 地球质心。
对它们的跟踪观测也以地球质心为坐标原点,所以空间大地直角坐标系是卫星 大地测量中一种常用的基本坐标系。
现今,利用卫星大地测量的手段*可以迅速地测定点的空间大地直角坐拯,广泛应用于导航定位等空间技术。
同时经过数学变换,还可求岀点 的大地坐标I 用以加强和扩展地面大地网,进行岛屿和洲际联测,使传统的大地测量方法 发生了深刻的变化,所以空间大地宜角坐标系对现今大地测量的发展’具有重要的意义。
、大地坐标系和空间大地直角坐标系的转换如图7- 23所示’尸点的位置用空间 大地直角坐标〔X, Y, Z)表示,其相应 的大地坐标为(E, L)a 将该图与图?一5上式表明了 2种基本坐标系之间的关系。
加以比较可见,图7-5中的子午椭圆平面 相当于图7-23中的OJVP 平面.其中 PPz=Z.相当于图7-5中的j7;OP 3相当 丫于图7-5中的仏两平面的经度乙可视为相同,等于"叽 于是可以直接写岀X=jrcQsi f Y=jrsinL, Z=y将式(7-21).式(7-20)分别代入上式, 井考虑式(7-26)得X=Ncos^cosZr ”Y =NcQsBsinL > (7—78)Z=N (1—护〉sin^ ;BB 7-231.由大地坐标求空间大地直角坐标当已知椭球面上任一点P 的大地坐标(B, L)时,可以按式(7-78)直接求该点的 空间大地直角坐标(X, Y, Z)。
高斯正反算及空间直角坐标与大地地理坐标转换一、实验目的与要求1.对以上理论内容的验证与应用。
2.通过学习掌握测绘软件开发过程与方法,初步具备测绘软件开发基本技能。
3.熟练掌握Visual C++编程环境的使用,了解其特点与程序开发过程,掌软件调试、测试的技术方法。
4.分析测绘程序设计技术课程中相关软件的结构和模块功能,掌握结构化程序设计方法和技术,掌握测绘数据处理问题的基本特点。
5.开发相关程序功能模块,独立完成相关问题概念结构分析、程序结构设计、模块设计、代码编写、调试、测试等工作。
二、实验安排1.实验时数12学时。
2.每实验小组可以由3~4人组成,或独立完成。
若由几个人完成程序设计,应进行合理的分工。
三、实验步骤和要点1.熟悉程序设计任务书的基本内容,调查了解软件需求状况,进行需求分析;2.进行总体设计。
根据所调查收集的资料和任务书的要求,对系统的硬件资源进行初步设计,提出硬件配置计划;进行软件总体设计,设计出软件程序功能的模块;3.根据总体设计的结果,进行详细设计,进行数据存储格式设计、算法等,写出逻辑代码;4.编写程序代码,调试运行;5.程序试运行。
最后同学们可根据自己的选题,写出软件开发设计书一份,打印程序代码和运行结果。
四实验原理高斯正反算:高斯正反算包括两部分内容:高斯正算和高斯反算。
简单的说就是大地地理坐标系坐标(B,L)与其对应的高斯平面直角坐标系坐标(x,y)之间的转换。
若已知大地地理坐标系坐标(B,L)解求对应的高斯平面直角坐标系坐标(x,y)称为高斯正算;反之,则为高斯反算。
空间直角坐标与大地地理坐标转换:地球表面可用一个椭球面表示。
设空间直角坐标系为OXYZ,当椭球的中心与空间直角坐标系原点重合,空间坐标系Z 轴与地球旋转重合(北极方向为正),X 轴正向经度为零时,就可以确定空间直角坐标系与大地地理坐标系的数学关系。
⎪⎩⎪⎨⎧+-=+=+=B H e N Z LB H N Y L B H N X sin ])1([sin cos )(cos cos )(2 式中 N 为卯酉圈曲率半径,B e a N 22sin 1-=; e 为椭球偏心率,222a b a e -=(a ,b 为椭球长半轴和短半轴)。
坐标转换之计算公式一、参心大地坐标与参心空间直角坐标转换1名词解释:A :参心空间直角坐标系:a) 以参心0为坐标原点;b) Z 轴与参考椭球的短轴(旋转轴)相重合;c) X 轴与起始子午面和赤道的交线重合;d) Y 轴在赤道面上与X 轴垂直,构成右手直角坐标系0-XYZ ;e) 地面点P 的点位用(X ,Y ,Z )表示;B :参心大地坐标系:a) 以参考椭球的中心为坐标原点,椭球的短轴与参考椭球旋转轴重合;b) 大地纬度B :以过地面点的椭球法线与椭球赤道面的夹角为大地纬度B ;c) 大地经度L :以过地面点的椭球子午面与起始子午面之间的夹角为大地经度L ;d) 大地高H :地面点沿椭球法线至椭球面的距离为大地高H ;e) 地面点的点位用(B ,L ,H )表示。
2 参心大地坐标转换为参心空间直角坐标:⎪⎭⎪⎬⎫+-=+=+=B H e N Z L B H N Y L B H N X sin *])1(*[sin *cos *)(cos *cos *)(2公式中,N 为椭球面卯酉圈的曲率半径,e 为椭球的第一偏心率,a 、b 椭球的长短半径,f 椭球扁率,W 为第一辅助系数ab a e 22-= 或 f f e 1*2-= W a N BW e =-=22sin *1(3 参心空间直角坐标转换参心大地坐标[]N BY X H H e N Y X H N Z B XY L -+=+-++==cos ))1(**)()(*arctan()arctan(22222 二 高斯投影及高斯直角坐标系1、高斯投影概述高斯-克吕格投影的条件:1. 是正形投影;2. 中央子午线不变形高斯投影的性质:1. 投影后角度不变;2. 长度比与点位有关,与方向无关;3. 离中央子午线越远变形越大为控制投影后的长度变形,采用分带投影的方法。
常用3度带或6度带分带,城市或工程控制网坐标可采用不按3度带中央子午线的任意带。
2、高斯投影正算公式:522242532236425442232)5814185(cos 120)1(cos 6cos )5861(cos sin 720 495(cos sin 24cos sin 2l t t t B N l t B N Bl N y l t t B B N l t B B N Bl B N X x ηηηηη-++-++-+=+-+++-++=)3、高斯投影反算公式:()()()⎥⎥⎦⎤⎪⎪⎭⎫ ⎝⎛+++⎪⎪⎭⎫ ⎝⎛⎢⎣⎡-++-⎪⎪⎭⎫ ⎝⎛-=⎥⎥⎥⎥⎦⎤⎪⎪⎭⎫ ⎝⎛+++++⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛++-⎪⎪⎭⎫ ⎝⎛=442222224222422224590613601 9351211286242851201 )21(611cos 1f f f f f f f f f f f f f f f f f f f f f f f N y t t N y t t N y y M t B B N y t t t N y t N y B l ηηηηη四参数模型:。
目前国内所用GNSS (Global Navigation Satellite System)即全球卫星导航系统,已经发展到多星,尤其随着北斗导航系统的逐步完善,正在向CGCS2000椭球过渡,但还是以WGS-84 坐标系统为主流,即仍以美国GPS为主,所发布的星历参数也是基于此坐标系统。
WGS-84 坐标系统(World Geodetic System-84,世界大地坐标系-84) 的坐标原点位于地球的质心,Z 轴指向BIH1984.0定义的协议地球极方向,X 轴指向BIH1984.0的启始子午面和赤道的交点,Y 轴与X轴和Z 轴构成右手系。
WGS-84 系所采用椭球参数为:长半轴6378137;扁率1:298.25 7223563。
而我国目前广泛采用的大地测量坐标系有3种:①北京1954 坐标系。
该坐标系采用的参考椭球是克拉索夫斯基椭球,该椭球的主要参数为:长半轴6378245;扁率1:298.3。
②1980 年国家大地坐标系。
该坐标系是参心坐标系,采用地球椭球基本参数为1975 年国际大地测量与地球物理联合会第十六届大会推荐的数据,大地原点设在我国中部的陕西省泾阳县永乐镇,也称西安80 坐标系。
长半轴6378140±5;扁率1:298.257。
③2000 中国大地坐标系。
该坐标系是地心坐标系,与WGS-84坐标类似。
原点在包括海洋和大气的整个地球的质量中心;定向在1984.0时与BIH(国际时间局)。
长半轴6378137.0;扁率1:298.257 222 101。
各坐标系之间的转换是工作中的经常遇到的问题,主要的转换方法有三参数、四参数和七参数法,而这三种方法中,七参数是一种空间直角坐标系的转换模型,是基于椭球间的三维转换,精度最高。
如果用七参数法来实现WGS84 坐标系与1980 年国家大地坐标系的转换,求解前必须确定控制网中各点对的距离。
如果两点间距离超过15 公里,必须考虑曲面因素即两种不同坐标系的椭球参数,避免因椭球的差异,导致转换后所得坐标残差过大,精度过低,为了保证精度必须采用七参数法。
大地坐标系与空间直角坐标系的相互转换Python在地理信息系统(GIS)中,常常需要将大地坐标系(地理坐标系)与空间直角坐标系(笛卡尔坐标系)进行相互转换。
大地坐标系使用经纬度来表示地球表面上的任意点,而空间直角坐标系使用直角坐标来表示点在三维空间中的位置。
Python提供了一些库和工具,可以方便地进行这种转换。
大地坐标系与空间直角坐标系的基本概念大地坐标系(地理坐标系)大地坐标系是一种用经纬度来表示地球表面上任意点的坐标系。
经度表示点相对于本初子午线的位置(东经为正、西经为负),纬度表示点相对于赤道的位置(北纬为正、南纬为负)。
空间直角坐标系(笛卡尔坐标系)空间直角坐标系是一种使用直角坐标来表示点在三维空间中的位置的坐标系。
在空间直角坐标系中,每个点的位置由其相对于三个互相垂直的坐标轴的坐标值确定。
大地坐标系与空间直角坐标系的转换大地坐标系与空间直角坐标系之间的转换涉及到各种地球椭球参数和数学公式。
幸运的是,Python的一些库和工具已经实现了这些转换,使得我们可以很方便地进行转换操作。
Geopy库Geopy是一个Python库,提供了许多地理坐标系之间相互转换的功能。
使用Geopy,我们可以方便地进行大地坐标系到空间直角坐标系的转换。
首先,我们需要安装Geopy库。
可以使用pip命令来进行安装:pip install geopy接着,我们可以使用以下代码将大地坐标系的经纬度转换为空间直角坐标系的三维坐标:```python from geopy import Point from geopy.distance import distance定义大地坐标系的经纬度latitude = 40.7128 longitude = -74.0060将经纬度转换为空间直角坐标系的三维坐标point = Point(latitude, longitude) x, y, z = point.to_cartesian() print(f。
大地坐标与空间直角坐标转换在地理空间相关的领域中,大地坐标和空间直角坐标是两种常用的坐标系统。
大地坐标通常用经度和纬度表示,是为了描述地球表面上的点的位置而设计的坐标系统;而空间直角坐标则是一种常用的三维笛卡尔坐标系,用来描述平面内的点的位置。
在实际应用中,有时候我们需要将一个点从大地坐标系转换到空间直角坐标系,或者反过来进行转换,这就需要进行一定的坐标转换计算。
大地坐标的表示大地坐标通常是以经度(Longitude)和纬度(Latitude)表示的。
经度表示东西方向,是一个0到360度的值,通常以东经为正值,西经为负值。
纬度表示南北方向,是一个-90到90度的值,赤道为0度,南纬为负值,北纬为正值。
空间直角坐标的表示空间直角坐标是以直角坐标系表示的,通常是三维笛卡尔坐标系,包括X、Y和Z三个坐标轴。
X轴和Y轴在平面内垂直,Z轴垂直于平面,组成一个右手坐标系。
一个点在空间直角坐标系中的位置可以由其X、Y和Z坐标值表示。
大地坐标与空间直角坐标的转换大地坐标和空间直角坐标之间的转换涉及到地球的椭球面和大地水准面的关系,通常需要考虑椭球体参数、大地水准面的高度等因素。
实际转换过程中可能涉及到大圆距离、球面三角计算等复杂的数学运算。
结论大地坐标与空间直角坐标之间的转换是地理信息处理中一个重要的问题,通常需要借助专业的地理信息系统软件或者编程语言进行计算。
在进行坐标转换时,需要考虑到地球的椭球体特征以及大地水准面的高度影响,以确保转换的准确性。
对于从事地理测绘、地图制作、地理信息系统等领域的人员,熟练掌握大地坐标与空间直角坐标之间的转换方法是非常重要的。
以上就是关于大地坐标与空间直角坐标转换的一些内容,希望对您有所帮助。
7.5 常用坐标系之间的关系与转换一、大地坐标系和空间大地直角坐标系及其关系 大地坐标系用大地纬度企丈地经度L 和丈地髙H 来表示点的位置°这种坐标系是经 典大地测量甬:両用座标紊7屜据地图投影的理论,大地坐标系可以通过一定的投影转 化为投影平面上的直角坐标系,为地形测图和工程测量提供控制基础。
同时,这种坐标系 还是研究地球形状和大小的 种有用坐标系°所以大地坐标系在大地测量中始终有着重要 的作用.空间大地直角坐标系是-种以地球质心为原点购亘墮®坐标系,一般用X 、化Z 表 示点BSSTSTT 逐碇SS 範菇飞両H 绕禎扭转冻其轨道平面随时通过 地球质心。
对它们的跟踪观测也以地球质心为坐标原点,所以空间大地直角坐标系是卫星 大地测量中一种常用的基本坐标系。
现今,利用卫星大地测量的手段*可以迅速地测定点的空间大地直角坐拯,广泛应用于导航定位等空间技术。
同时经过数学变换,还可求岀点 的大地坐标I 用以加强和扩展地面大地网,进行岛屿和洲际联测,使传统的大地测量方法 发生了深刻的变化,所以空间大地宜角坐标系对现今大地测量的发展’具有重要的意义。
、大地坐标系和空间大地直角坐标系的转换如图7- 23所示’尸点的位置用空间 大地直角坐标〔X, Y, Z)表示,其相应 的大地坐标为(E, L)a 将该图与图?一5加以比较可见,图7-5中的子午椭圆平面 相当于图7-23中的OJVP 平面.其中 PPz=Z.相当于图7-5中的j7;OP 3相当 丫于图7-5中的仏两平面的经度乙可视为相同,等于"叽 于是可以直接写岀X=jrcQsi f Y=jrsinL, Z=y将式(7-21).式(7-20)分别代入上式, 井考虑式(7-26)得X=Ncos^cosZr ”Y =NcQsBsinL > (7—78)Z=N (1—护〉sin^ ;上式表明了 2种基本坐标系之间的关系。
BB 7-231.由大地坐标求空间大地直角坐标当已知椭球面上任一点P 的大地坐标(B, L)时,可以按式(7-78)直接求该点的 空间大地直角坐标(X, Y, Z)。
大地坐标与直角空间坐标转换计算公式大地坐标与直角空间坐标转换计算公式一、参心大地坐标与参心空间直角坐标转换1名词解释:A :参心空间直角坐标系: a) 以参心0为坐标原点;b) Z 轴与参考椭球的短轴(旋转轴)相重合; c) X 轴与起始子午面和赤道的交线重合;d) Y 轴在赤道面上与X 轴垂直,构成右手直角坐标系0-XYZ ; e) 地面点P 的点位用(X ,Y ,Z )表示; B :参心大地坐标系:a) 以参考椭球的中心为坐标原点,椭球的短轴与参考椭球旋转轴重合; b) 大地纬度B :以过地面点的椭球法线与椭球赤道面的夹角为大地纬度B ;c) 大地经度L :以过地面点的椭球子午面与起始子午面之间的夹角为大地经度L ;d) 大地高H :地面点沿椭球法线至椭球面的距离为大地高H ; e) 地面点的点位用(B ,L ,H )表示。
2 参心大地坐标转换为参心空间直角坐标:⎪⎭⎪⎬⎫+-=+=+=B H e N Z L B H N Y L B H N X sin *])1(*[sin *cos *)(cos *cos *)(2公式中,N 为椭球面卯酉圈的曲率半径,e 为椭球的第一偏心率,a 、b 椭球的长短半径,f 椭球扁率,W 为第一辅助系数a b a e 22-=或 f f e 1*2-= W aN B W e =-=22sin *1(西安80椭球参数:长半轴a=6378140±5(m ) 短半轴b=6356755.2882m 扁 率α=1/298.2573 参心空间直角坐标转换参心大地坐标[]NBY X H He N Y X H N Z B X Y L -+=+-++==cos ))1(**)()(*arctan()arctan(22222二 高斯投影及高斯直角坐标系1、高斯投影概述高斯-克吕格投影的条件:1. 是正形投影;2. 中央子午线不变形高斯投影的性质:1. 投影后角度不变;2. 长度比与点位有关,与方向无关; 3. 离中央子午线越远变形越大为控制投影后的长度变形,采用分带投影的方法。
大地坐标与直角空间坐标转换计算公式一、参心大地坐标与参心空间直角坐标转换1名词解释:A :参心空间直角坐标系: a) 以参心0为坐标原点;b) Z 轴与参考椭球的短轴(旋转轴)相重合; c) X 轴与起始子午面和赤道的交线重合;d) Y 轴在赤道面上与X 轴垂直,构成右手直角坐标系0-XYZ ; e) 地面点P 的点位用(X ,Y ,Z )表示; B :参心大地坐标系:a) 以参考椭球的中心为坐标原点,椭球的短轴与参考椭球旋转轴重合; b) 大地纬度B :以过地面点的椭球法线与椭球赤道面的夹角为大地纬度B ; c) 大地经度L :以过地面点的椭球子午面与起始子午面之间的夹角为大地经度L ; d) 大地高H :地面点沿椭球法线至椭球面的距离为大地高H ; e) 地面点的点位用(B ,L ,H )表示。
2 参心大地坐标转换为参心空间直角坐标:⎪⎭⎪⎬⎫+-=+=+=B H e N Z L B H N Y L B H N X sin *])1(*[sin *cos *)(cos *cos *)(2 公式中,N 为椭球面卯酉圈的曲率半径,e 为椭球的第一偏心率,a 、b 椭球的长短半径,f 椭球扁率,W 为第一辅助系数a b a e 22-=或 f f e 1*2-= WaN B W e =-=22sin *1(西安80椭球参数:长半轴a=6378140±5(m )短半轴b=6356755.2882m 扁 率α=1/298.2573 参心空间直角坐标转换参心大地坐标[]NBY X H He N Y X H N Z B X YL -+=+-++==cos ))1(**)()(*arctan()arctan(22222二 高斯投影及高斯直角坐标系1、高斯投影概述高斯-克吕格投影的条件:1. 是正形投影;2. 中央子午线不变形高斯投影的性质:1. 投影后角度不变;2. 长度比与点位有关,与方向无关; 3. 离中央子午线越远变形越大为控制投影后的长度变形,采用分带投影的方法。
常用3度带或6度带分带,城市或工程控制网坐标可采用不按3度带中央子午线的任意带。
2、高斯投影正算公式:522242532236425442232)5814185(cos 120)1(cos 6cos )5861(cos sin 720495(cos sin 24cos sin 2l t t t B N l t B NBl N y l t t B B N l t B B NBl B N X x ηηηηη-++-++-+=+-+++-++=)3、高斯投影反算公式:()()()⎥⎥⎦⎤⎪⎪⎭⎫⎝⎛+++⎪⎪⎭⎫ ⎝⎛⎢⎣⎡-++-⎪⎪⎭⎫ ⎝⎛-=⎥⎥⎥⎥⎦⎤⎪⎪⎭⎫ ⎝⎛+++++⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛++-⎪⎪⎭⎫ ⎝⎛=442222224222422224590613601 9351211286242851201 )21(611cos 1fff f f f f f f ff f fff f f f ff f ff N y t t N y t t N yy M t B B N y t t t N y t N y B l ηηηηη1 坐标转换简介坐标系统之间的坐标转换既包括不同的参心坐标之间的转换,或者不同的地心坐标系之间的转换,也包括参心坐标系与地心坐标系之间的转换以及相同坐标系的直角坐标与大地坐标之间的坐标转换,还有大地坐标与高斯平面坐标之间的转换。
在两个空间角直坐标系中,假设其分别为O--XYZ 和O--XYZ ,如果两个坐标系的原点相同,通过三次旋转,就可以使两个坐标系重合;如果两个直角坐标系的原点不在同一个位置,通过坐标轴的平移和旋转可以取得一致;如果两个坐标系的尺度也不尽一致,就需要再增加一个尺度变化参数;而对于大地坐标和高斯投影平面坐标之间的转换,则需要通过高斯投影正算和高斯投影反算,通过使用中央子午线的经度和不同的参考椭球以及不同的投影面的选择来实现坐标的转换。
如何使用ArcGIS 实现WGS84经纬度坐标到BJ54高斯投影坐标的转换?这是很多从事GIS 工作或者测绘工作者普遍遇到的问题。
本文目的在于帮助用户解决这个问题。
我们通常说的WGS-84坐标是指经纬度这种坐标表示方法,北京54坐标通常是指经过高斯投影的平面直角坐标这种坐标表示方法。
为什么要进行坐标转换?我们先来看两组参数,如表1所示:表1 BJ54与WGS84基准参数很显然,WGS84与BJ54是两种不同的大地基准面,不同的参考椭球体,因而两种地图下,同一个点的坐标是不同的,无论是三度带六度带坐标还是经纬度坐标都是不同的。
当要把GPS 接收到的点(WGS84坐标系统的)叠加到BJ54坐标系统的底图上,那就会发现这些GPS 点不能准确的在它该在的地方,即“与实际地点发生了偏移”。
这就要求把这些GPS 点从WGS84的坐标系统转换成BJ54的坐标系统了。
有关WGS84与BJ54的坐标转换问题,实质是WGS-84椭球体到BJ54椭球体的转换问题。
如果我们是需要把WGS84的经纬度坐标转换成BJ54的高斯投影坐标,那就还会涉及到投影变换问题。
因此,这个转换过程,一般的GPS 数据处理软件都是采用下述步骤进行的: 1)(B ,L )84——(X ,Y ,Z )84,空间大地坐标到空间直角坐标的转换。
2)(X ,Y ,Z )84——(X ,Y ,Z )54,坐标基准的转换,即Datum 转换。
通常有三种转换方法:七参数、简化三参数、Molodensky。
3)(X,Y,Z)54——(B,L)54,空间直角坐标到空间大地坐标的转换。
4)(B,L)54——(x,y)54,高斯投影正算。
从以上步骤不难看出,转换的关键是第二步,转换的参数。
鉴于我国曾使用不同的坐标基准(BJ54、State80、Correct54),各地的重力值又有很大差异,所以很难确定一套适合全国且精度较好的转换参数。
在WGS-84坐标和北京54坐标之间是不存在一套转换参数可以全国通用的,在每个地方会不一样。
必须了解,在不同的椭球之间的转换是不严密的。
那么,两个椭球间的坐标转换应该是怎样的呢?一般而言比较严密的是用七参数法,即3个平移因子(X平移,Y平移,Z平移),3个旋转因子(X旋转,Y旋转,Z旋转),一个比例因子(也叫尺度变化K)。
国内参数来源的途径不多,一般当地测绘部门会有。
通行的做法是:在工作区内找三个以上的已知点,利用已知点的BJ54坐标和所测WGS84坐标,通过一定的数学模型,求解七参数。
若多选几个已知点,通过平差的方法可以获得较好的精度。
如果区域范围不大,最远点间的距离不大于30Km(经验值),这可以用三参数,即只考虑3个平移因子(X平移,Y平移,Z平移),而将旋转因子及比例因子(X旋转,Y旋转,Z旋转,尺度变化K)都视为0,所以三参数只是七参数的一种特例。
北京54和西安80也是两种不同的大地基准面,不同的参考椭球体,他们之间的转换也是同理。
在ArcGIS中提供了三参数、七参数转换法。
而在同一个椭球里的转换都是严密的,在同一个椭球的不同坐标系中转换需要用到四参数转换,举个例子,在深圳既有北京54坐标又有深圳坐标,在这两种坐标之间转换就用到四参数,计算四参数需要两个已知点2 ArcGIS坐标转换例子2.1 应注意问题使用ArcGIS如何实现WGS84经纬度坐标到BJ54高斯投影坐标的转换呢?在ArcGIS中,这个坐标转换步骤简化了,用户只需要两个步骤就能够直接从最初的WGS84经纬度坐标转换到BJ54高斯投影坐标。
这就是ArcGIS的强大之处。
接下来,我们做一个例子。
假设我们已经知道了7参数,应该如何操作呢?在具体的操作前,请大家一定注意以下三点:WGS84的经纬度坐标值是用度来表示,而不能是度分秒表示七参数的平移因子单位是米,旋转因子单位是秒,比例因子单位是百万。
在ArcGIS中,7参数法的名字是Coordinate_Frame 方法。
有人在用ArcGIS进行不同椭球体间的坐标转换时,转换出来的结果不对,然后就写文章说变形如何如何,很可能是由于他们没有注意上面这三个关键的问题造成的。
2.2 转换步骤a、定义7参数的地理转换(Create Custom Geographic Transformation)在Arctool中打开Create Custom Geographic Transformation工具,如图1所示:在弹出的窗口中,输入一个转换的名字,如wgs84ToBJ54。
在定义地理转换方法下面,在Method中选择合适的转换方法如 COORDINATE_FRAME,然后输入平移参数、旋转角度和比例因子,如图2所示:b、投影变换打开工具箱下的Projections and Transformations>Feature>Project,在弹出的窗口中输入要转换的数据以及Output Coordinate System,然后输入第一步自定义的地理坐标系如wgs84ToBJ54,开始投影变换,如图3所示:点击“确定”,完成坐标转换。
3结束语我国现已启用新的坐标系统2000国家大地坐标系,2000国家大地坐标系与现行国家大地坐标系转换、衔接的过渡期仍需一段较长时期,在实际工作、工程中还遇到不同坐标系之间转换,本文针对在生产中从事测绘工作遇到的坐标转换问题提供解决方法和经验,希望对同行有所参考。
【参考文献】[1] 孔祥元、郭际明、刘宗泉.《大地测量学基础》.武汉大学出版社,第一版,2001年9月[2] 李征航、黄劲松.《GPS测量与数据处理》.武汉大学出版社,第一版,2005年3月[3] MAPGIS使用教程大地坐标空间直角坐标转换(2009-10-22 21:12:41)转载▼标签:杂谈程序计算大地坐标与空间直角坐标转换#include <stdio.h>#include <math.h>#define PI 3.14932384626433832795double a,b,c,B,L,N,e,X,Y,Z,W,H;int choice;double B1=0.0,B2=0.0;double delta=0.0;int main(){printf("please insert long r a\n");scanf("%f",&a);printf("please insert short r b\n ");scanf("%f",&b);e=sqrt(a*a-b*b)/a;c=a*a/b;printf("1kongzhitodadi\n2daditokongzhi\0exit"); scanf("%d",&choice);while(choice!=0){ if(choice==2){printf("jingduL");scanf("%f",&L);printf("weiduB");scanf("%f",&B);printf("gaoduH");scanf("%f",&H);W=sqrt(1-e*e*sin(B)*sin(B));N=a/W;X=(N+H)*cos(B)*cos(L);Y=(N+H)*cos(B)*sin(L);Z=(N*(1-e*e)+H)*sin(B);printf("X=%f,Y=%f,Z=%f",X,Y,Z);}if(choice==1){printf("zuobiao:\nX=");scanf("%f",&X);printf("zuobiao:\nY=");scanf("%f",&Y);printf("zuobiao:\nZ=");scanf("%f",&Z);L=atan(Y/X);// double PP2=Z;B1=atan(Z/sqrt(X*X+Y*Y));delta=PI/(180*60*60*1000.0);while((B1-B2)>=delta){ B2=B1;B1=atan((Z+N*e*e*sin(B1))/sqrt(X*X+Y*Y));}B=B1;H=Z/sin(B)-N*(1-e*e);printf("L=%f,B=%f,H=%f");}else printf("enter error,please enter again");printf("1kongzhitodadi\n2daditokongzhi\0exit");scanf("%d",&choice);}return 0;}/高斯投影正、反算//高斯投影正、反算//////6度带宽54年北京坐标系//高斯投影由经纬度(Unit:DD)反算大地坐标(含带号,Unit:Metres)void GaussProjCal(double longitude, double latitude, double *X, double *Y) {int ProjNo=0; int ZoneWide; ////带宽double longitude1,latitude1, longitude0,latitude0, X0,Y0, xval,yval;double a,f, e2,ee, NN, T,C,A, M, iPI;iPI = 0.99433; ////3.14/180.0;ZoneWide = 6; ////6度带宽a=6378245.0; f=1.0/298.3; //54年北京坐标系参数////a=6378140.0; f=1/298.257; //80年西安坐标系参数ProjNo = (int)(longitude / ZoneWide) ;longitude0 = ProjNo * ZoneWide + ZoneWide / 2;longitude0 = longitude0 * iPI ;latitude0=0;longitude1 = longitude * iPI ; //经度转换为弧度latitude1 = latitude * iPI ; //纬度转换为弧度e2=2*f-f*f;ee=e2*(1.0-e2);NN=a/sqrt(1.0-e2*sin(latitude1)*sin(latitude1));T=tan(latitude1)*tan(latitude1);C=ee*cos(latitude1)*cos(latitude1);A=(longitude1-longitude0)*cos(latitude1);M=a*((1-e2/4-3*e2*e2/64-5*e2*e2*e2/256)*latitude1-(3*e2/8+3*e2*e2/32+45*e2* e2*e2/1024)*sin(2*latitude1)+(15*e2*e2/256+45*e2*e2*e2/1024)*sin(4*latitude1)-(35*e2*e2*e2/3072)*sin(6*l atitude1));xval = NN*(A+(1-T+C)*A*A*A/6+(5-18*T+T*T+72*C-58*ee)*A*A*A*A*A/12 0);yval = M+NN*tan(latitude1)*(A*A/2+(5-T+9*C+4*C*C)*A*A*A*A/24+(61-58*T+T*T+600*C-330*ee)*A*A*A*A*A*A/720);X0 = 1000000L*(ProjNo+1)+500000L;Y0 = 0;xval = xval+X0; yval = yval+Y0;*X = xval;*Y = yval;}//高斯投影由大地坐标(Unit:Metres)反算经纬度(Unit:DD)void GaussProjInvCal(double X, double Y, double *longitude, double *latitude) {int ProjNo; int ZoneWide; ////带宽double longitude1,latitude1, longitude0,latitude0, X0,Y0, xval,yval;double e1,e2,f,a, ee, NN, T,C, M, D,R,u,fai, iPI;iPI = 0.99433; ////3.14/180.0;a = 6378245.0; f = 1.0/298.3; //54年北京坐标系参数////a=6378140.0; f=1/298.257; //80年西安坐标系参数ZoneWide = 6; ////6度带宽ProjNo = (int)(X/1000000L) ; //查找带号longitude0 = (ProjNo-1) * ZoneWide + ZoneWide / 2;longitude0 = longitude0 * iPI ; //中央经线X0 = ProjNo*1000000L+500000L;Y0 = 0;xval = X-X0; yval = Y-Y0; //带内大地坐标e2 = 2*f-f*f;e1 = (1.0-sqrt(1-e2))/(1.0+sqrt(1-e2));ee = e2/(1-e2);M = yval;u = M/(a*(1-e2/4-3*e2*e2/64-5*e2*e2*e2/256));fai = u+(3*e1/2-27*e1*e1*e1/32)*sin(2*u)+(21*e1*e1/16-55*e1*e1*e1*e1/32)*sin (4*u)+(151*e1*e1*e1/96)*sin(6*u)+(1097*e1*e1*e1*e1/512)*sin(8*u);C = ee*cos(fai)*cos(fai);T = tan(fai)*tan(fai);NN = a/sqrt(1.0-e2*sin(fai)*sin(fai));R = a*(1-e2)/sqrt((1-e2*sin(fai)*sin(fai))*(1-e2*sin(fai)*sin(fai))*(1-e2*sin(fai)*sin (fai)));D = xval/NN;//计算经度(Longitude) 纬度(Latitude)longitude1 = longitude0+(D-(1+2*T+C)*D*D*D/6+(5-2*C+28*T-3*C*C+8*ee+24 *T*T)*D*D*D*D*D/120)/cos(fai);latitude1 = fai -(NN*tan(fai)/R)*(D*D/2-(5+3*T+10*C-4*C*C-9*ee)*D*D*D*D/ 24+(61+90*T+298*C+45*T*T-256*ee-3*C*C)*D*D*D*D*D*D/720);//转换为度DD*longitude = longitude1 / iPI;*latitude = latitude1 / iPI;}如果有需要程序的,可以直接跟我联系,呵呵附:高斯正反算参数pi=0.0174532925 ※※0.99433 //π长半轴a=6378245.0; 扁率f=1.0/298.3; //54年北京坐标系参数长半轴a=6378140.0; 扁率f=1/298.257; //80年西安坐标系参数长半轴a=6378137m;扁率f=1:298.257223563。