gps数据转为笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换

合集下载

GPS测量中坐标系统、坐标系的转换过程

GPS测量中坐标系统、坐标系的转换过程

GPS测量中坐标系统、坐标系的转换过程【摘要】GPS测量中的坐标系统和坐标系转换是利用全球定位系统(GPS)进行地理测量和定位的关键。

本文从引言开始,概述了GPS测量中坐标系统和坐标系的转换过程。

接着介绍了GPS坐标系统的概念和作用,以及常用的坐标系及其特点。

随后详细讨论了GPS坐标系统的转换方法和转换工具,帮助读者更好地理解和应用这些技术。

通过实际案例分析展示了GPS测量中坐标系统和坐标系转换的实际应用。

在总结了本文探讨的内容,并展望了未来GPS测量技术的发展方向。

通过本文的阐述,读者可以更深入地了解GPS测量中坐标系统和坐标系的转换过程,为相关领域的研究和应用提供了参考和指导。

【关键词】GPS测量、坐标系统、坐标系、转换过程、引言、GPS坐标系统、常用坐标系、特点、转换方法、转换工具、实际案例、分析、总结、未来发展、展望1. 引言1.1 GPS测量中坐标系统、坐标系的转换过程概述GPS测量中的坐标系统和坐标系转换是一项关键技术,广泛应用于各种领域。

在现代GPS测量中,我们常常需要将不同坐标系统之间的数据进行转换,以确保数据的准确性和一致性。

在这个过程中,我们需要了解GPS坐标系统的基本原理和常用的坐标系,掌握不同坐标系之间的转换方法,并使用相应的工具进行数据处理和分析。

GPS坐标系统是一种地理坐标系统,由经度、纬度和高度三个参数组成。

常用的坐标系包括WGS84、GCJ-02和BD-09等,它们各有自己的特点和适用范围。

在GPS测量中,我们需要根据具体的需求选择合适的坐标系,并进行必要的转换。

GPS坐标系转换方法包括基本的数学转换和大地测量学方法。

我们可以通过公式计算或使用专业软件来进行坐标系转换,确保数据的准确性和一致性。

一些专门的GPS坐标系转换工具也可以帮助我们快速、准确地实现坐标系转换。

通过实际案例分析,我们可以更好地理解GPS测量中坐标系统和坐标系转换的重要性和实际应用。

结合实际情况,总结经验教训,提出今后改进的方向,并展望未来发展的方向和前景。

GPS地形测量中坐标系统间的转换过程

GPS地形测量中坐标系统间的转换过程

GPS地形测量中坐标系统间的转换过程摘要:常规的地形测量是由控制测量和碎部测量两部分构成。

而测图方法通常是先设定局域网,对该网络进行控制,再对各控制点进行加密处理,来测定地物、地貌碎布点的平面位置和高度,最后进行数据处理和绘制成图。

控制点密度不足、测站间通视条件差等问题通常是影响传统地形测量的因素,导致测量有偏差,效率低下。

GPS在测量领域得到了广泛的应用,本文主要将介绍GPS地形测量中坐标系统间的转换过程,当中也会主要涉及到所采集到的WGS-84坐标转换成工程所需的坐标和GPS-RTK测量技术的过程。

关键词:GPS;坐标系统;坐标系;转换GPS的概述1.1GPS的发展GPS即全球定位系统(Global Positioning System),美国从1960年就开始对GPS进行研制,共耗资200亿美元。

在20世纪90年代,美国就已经建立卫星导航定位系统。

经过二十多年的发展,GPS定位系统已经在诸如航空、航天、军事、交通运输、资源勘探、通信气象等众多领域有所发展,并在这些领域被广泛应用于地形测量定位系统。

追溯GPS在我国的应用和发展,从最初用于高精度地测量和控制测量,建立各种类型和等级的测量控制网,发展到现在运用于测量领域的其它方面,如用于各种类型的工程测量、变形观测、海洋测量和地理信息系统中地理数据的采集等。

GPS测量技术优势在于测量精度高;仪器体积小,操作简便;测量结果统一在WGS84坐标下,数据信息可以自动进行接收、存储,有效地避免了过多的中间处理环节、高效益等显著特点,在测绘领域,该技术得到广泛地认可。

1.2GPS-RTK工作原理GPS-RTK,简称实时动态卫星全球定位技术,它的工作原理是:通过一台基准站和若干台移动站组成的测量系统,并使用无线数据将基准站和移动站之间有效地链接到一起。

移动站的正参数是通过基准站的已知数据获得,测量数据则是通过基准站和移动站同时接收卫星信号得到,同时基准站又把测量修正参数通过数据传输系统传递到移动站,测量数据在移动站得到改正而获得所需要的测量数据,通过这一方式使各种测量工作可以实时、方便、快捷地进行。

GPS测量中坐标系的转换

GPS测量中坐标系的转换

GPS测量中坐标系的转换摘要:为满足GPS测量用户统一坐标系统需求,拓展GPS测量应用领域,本文对GPS的组成及其在工程测量中的坐标转换问题作了介绍。

关键字:测量GPS换算公式转换坐标系1.坐标系统的介绍1.1 WGS—84坐标系统WGS—84坐标系是目前GPS所采用的坐标系统,是由美国国防部制图局建立,于1987年取代了当时GPS所采用的坐标系统(WGS—72坐标系统)而成为GPS目前所使用的坐标系统。

WGS—84坐标系的坐标原点位于地球的质心,Z 轴指向BIHl984.0定义的协议地球极方向,X轴指向BIHl984.0的起始子午面和赤道的交点,Y轴与X轴和Z轴构成右手系。

WGS—84系所采用椭球参数为:a=6378138m;f=1/298.257223563。

1.2 1954年北京坐标系1954年北京坐标系是我国目前广泛采用的大地测量坐标系。

该坐标系源自于原苏联采用过的1942年普尔科夫坐标系。

建国前,我国没有统一的大地坐标系统,建国初期,在苏联专家的建议下,我国根据当时的具体情况,建立起了全国统一的1954年北京坐标系。

该坐标采用的参考椭球是克拉索夫斯基椭球,该椭球的参数为:a=6378245m;f=1/298.3。

该椭球并未依据当时我国的天文观测资料进行重新定位。

而是由前苏联西伯利亚地区的一等锁,经我国的东北地区传算过来的,该坐标的高程异常是以前苏联1955年大地水准面重新平差的结果为起算值,按我国天文水准路线推算出来的,而高程又是以1956年青岛验潮站的黄海平均海水面为基准。

2.GPS测量常用的坐标系统一般情况下,我们使用的是1954年北京坐标系,而GPS测定的坐标是WGS-84坐标系坐标,需要进行坐标系转换。

对于非测量专业的工作人员来说,虽然GPS定位操作非常容易,但坐标转换则难以掌握,EXCEL是比较普及的电子表格软件,能够处理较复杂的数学运算,用它的公式编辑功能,进行GPS坐标转换,会非常轻松自如。

坐标转换源代码--GPS定位程序(C++)

坐标转换源代码--GPS定位程序(C++)

#include "stdlib.h"
//WGS-84椭球体参数
const double a=6378137.0;//长半轴
const double flattening=1/298.257223563;//扁率
const double delta=0.0000001;
typedef struct tagCRDCARTESIAN{
pct->upping=pctp->range*sin(pctp->elevation);
}
double x;
double y;
double z;
}CRDCARTESIAN;
typedef CRDCARTESIAN *PCRDCARTESIAN;
//笛卡尔坐标系
typedef struct tagCRDGEODETIC{
double longitude;
double latitude;
}CRDTOPOCENTRICPOLAR;
typedef CRDTOPOCENTRICPOLAR *PCRDTOPOCENTRICPOLAR;
//站心地平坐标系(极坐标形式)
//由笛卡尔坐标转换为大地坐标
void CartesianToGeodetic (PCRDGEODETIC pcg, PCRDC尔坐标
void GeodeticToCartesian (PCRDCARTESIAN pcc, PCRDGEODETIC pcg,
double dSemiMajorAxis, double dFlattening)
{
double e2;//第一偏心率的平方

GPS测量中坐标系统及坐标系的转换

GPS测量中坐标系统及坐标系的转换
2 GPS测量常用的坐标系统
2.1 WGS-84坐标系 WGS-84坐标系是目前GPS所采用的坐
标系统,GPS所发布的星历参数就是基于此 坐标系统的。 WGS-84坐标系统的全称是
World Geodical System-84(世界大地坐标系-84),它 是一个地心地固坐标系统。WGS-84坐标系统由美国国 防部制图局建立,于1987年取代了当时GPS所采用的 坐标系统-WGS-72坐标系统而成为GPS的所使用的坐 标系统。WGS-84坐标系的坐标原点位于地球的质心, Z轴指向BIH1984.0定义的协议地球极方向,X 轴指向 BIH1984.0的启始子午面和赤道的交点,Y 轴与X 轴和 Z轴构成右手系。采用椭球参数为: a = 6 378 137m, f = 1/298.257 223 563。 2.2 1954年北京坐标系
3 坐标系统的转换
在工程应用中使用GPS卫星定位系统采集到的数 据是WGS-84坐标系数据,而目前我们测量成果普遍使 用的是以1954年北京坐标系或是地方(任意)独立坐 标系为基础的坐标数据。因此必须将WGS-84坐标转换 到BJ-54坐标系或地方(任意)独立坐标系。
目前一般采用布尔莎公式(七参数法)完成
转换成工程所需坐标的过程。将空间直角坐标系转换成大地坐标系,得到大地坐标,转换成任意独立坐标系,得到独立坐标。
关键词: GPS;坐标系统;坐标系;转换
中图分类号:P27
文献标识码:A
1 概述GPS及其应用
GPS即全球定位系统(Global Positioning System)是美国从20世纪70年代开始研制, 历时20年,耗资200亿美元,于1994年全面 建成的卫星导航定位系统。作为新一代的卫 星导航定位系统经过20多年的发展,已成为 在航空、航天、军事、交通运输、资源勘 探、通信气象等所有的领域中一种被广泛采 用的系统。我国测绘部门使用GPS也近十年 了,它最初主要用于高精度大地测量和控制 测量,建立各种类型和等级的测量控制网, 现在它除了继续在这些领域发挥着重要作用 外还在测量领域的其它方面得到充分的应 用,如用于各种类型的工程测量、变形观 测、航空摄影测量、海洋测量和地理信息系 统中地理数据的采集等。GPS以测量精度高; 操作简便,仪器体积小,便于携带; 全天候 操作;观测点之间无须通视;测量结果统一在 WGS84坐标下,信息自动接收、存储,减少 繁琐的中间处理环节、高效益等显著特点,赢 得广大测绘工作者的信赖。

几种常用的GPS坐标转换方法

几种常用的GPS坐标转换方法

2008年第4期几种常用的GPS 坐标转换方法程连柱(郑州市国土资源调查测绘院,河南郑州450052)摘要:随着GPS 技术的应用和普及,越来越多的工程需要利用GP S 卫星定位系统来进行测量。

由于存在多种坐标系,实际操作过程中也要进行GPS 坐标的转换。

本文针对具体情况,介绍了几种常见GPS 坐标转换方法。

关键词:GPS 卫星定位系统;坐标系;坐标转换中图分类号:P228文献标识码:ASeveral Commonly Used Method of GPS Coor dinate ConversionCHENG Lian-zhu(Zhengzhou Land and Resources Prospecting and M apping Institute ,Henan Zhengzho u 450052)Key wor ds:global positioning system;coordinate system;coordinate tr ansformation作者简介程连柱(),男,河南省郑州市人,大学本科,工程师,主要研究方向地籍测绘。

1引言随着GPS 技术的应用和普及,越来越多的工程需要利用GPS 卫星定位系统来进行测量。

GPS 卫星定位系统采集到的坐标(B,L ,H )是1984年世界大地坐标系(WordGeodetic Sys-tem 1984即WGS-84)的坐标。

其中,B 为纬度,L 为经度,H 为大地高即是到WG S-84椭球面的高度,属于地心坐标系。

而目前测量一般情况下使用的是1954年北京坐标系或1980西安坐标系。

在局部和个别地区,甚至使用的是地方独立坐标系。

因此,必须将WGS-84坐标转换到测区实际使用的坐标系中。

2GPS 测量常用的坐标系统2.1WGS-84坐标系WGS-84坐标系是目前GPS 所采用的坐标系统,GPS 所发布的星历参数就是基于此坐标系统的。

WGS-84坐标系是美国国防部研制确定的大地坐标系,是一种协议地球坐标系。

GPS测量数据处理中的基线解算与坐标转换方法

GPS测量数据处理中的基线解算与坐标转换方法

GPS测量数据处理中的基线解算与坐标转换方法GPS(全球定位系统)是一种使用卫星技术进行地理测量和定位的先进工具。

在实际的测绘和测量工作中,GPS测量数据处理是一个重要的环节。

其中,基线解算与坐标转换方法是其中的核心内容之一。

基线解算是指根据通过GPS观测得到的卫星观测数据,计算出两个或多个测站之间的距离和方向的过程。

对于两个测站之间的基线,首先需要解算出基线长度,即测站之间的直线距离。

然后,根据相同的基线长度,可以得到基线的坐标方向。

基线解算方法主要有静态基线解算、动态基线解算和RTK(实时动态差分)基线解算。

静态基线解算是利用长时间内(通常为几个小时到一天)的GPS观测数据,通过一些统计学方法计算出基线的精度。

这种方法适用于不需要实时性的测量任务,例如大范围的地形测量和控制网的建立。

静态基线解算的优点是计算结果精度高,但缺点是耗时较长。

动态基线解算是利用运动中的GPS接收机,通过较短时间内的观测数据,计算出基线的精度。

这种方法适用于需要实时性的测量任务,例如航空和航海等应用。

动态基线解算的优点是计算速度快,但相对于静态基线解算,精度稍低。

RTK(实时动态差分)基线解算是一种利用两个或多个接收机之间的无线电链路,进行实时差分校正的方法。

这种方法适用于需要高精度和实时性的测量任务,例如建筑物和道路测量。

RTK基线解算的优点是计算精度高且实时性强,但缺点是对设备的要求较高。

坐标转换是指将GPS观测得到的坐标转换为地理坐标系统或工程坐标系统中的相应坐标的过程。

常用的坐标转换方法有七参数法、四参数法和三参数法等。

七参数法是指通过观测得到的七个参数,包括三个旋转参数、三个平移参数和一个尺度参数,来实现坐标转换的方法。

这种方法适用于大范围的坐标转换,例如全球定位系统和国家坐标系之间的转换。

七参数法的优点是转换精度高,但缺点是计算复杂。

四参数法是指通过观测得到的四个参数,包括两个平移参数和两个尺度参数,来实现坐标转换的方法。

关于GPS测量中坐标的转换过程论述

关于GPS测量中坐标的转换过程论述

关于GPS测量中坐标的转换过程论述摘要:GPS是工程测量中不可缺少的仪器,本文介绍将GPS所采集到的坐标转换成工程所需坐标的过程,供同行参考。

关键词:GPS;坐标系统;转换1 概述GPS以测量精度高、操作简便、仪器体积小、便于携带、全天候操作、观测点之间无须通视、测量结果统一在WGS一84坐标下,信息自动接收、存储,减少繁琐的中间处理环节、高效益等显著特点,赢得广大测绘工作者的信赖。

GPS使用的是地心地固坐标系统,而我国绝大多数应用都集中在各种参心坐标系统上,显然必须解决两种不同的空间坐标系的转换才能更好的发挥GPS的作用。

2 我国测绘中常用的坐标系统2.1 1954年北京坐标系归结其要点为:1.1954年北京坐标系的参考椭球是属于克拉索夫斯基椭球常用基本参数如下:长半轴a=6378245m 4±2m,扁率f=1:298.32.1954北京坐标系的大地原点在前苏联的普尔科夫;3.采用多点定位进行了椭球定位;(1)高程基准为1956年青岛验潮站求出的黄海平均海水面;(2)高程异常以前苏联1955年大地水准面重新平差结果为起算数据,按我国天文水准路线推算而得。

我国地形图上的平面坐标位置都是以这个数据为基准推算的。

2.2 1980西安坐标系归结1980西安坐标系的要点为:1.该坐标系大地原点定在我国中部,即陕西省泾阳县永乐镇。

2.采用IAG 1975年推荐的地球椭球参数:长半轴a=6378140m扁率f=1:298.2573.定向明确:1980年国家大地坐标系的椭球短轴平行于地球质心指向地极原点JYD(1968.0)方向,起始大地子午面平行于格林尼治平均天文台的子午面;4.椭球定位参数以我国范围内高程异常值平方和等于最小为条件求定;5.大地点高程以1956年青岛验潮站求出的黄海平均海水面为基准;6.建立两套1980年国家大地坐标系和地心坐标系。

前者是在后者的基础上通过精确求定位坐标变化参数,换算成地心坐标。

GPS坐标和国家大地坐标之间的转换

GPS坐标和国家大地坐标之间的转换

GPS坐标和国家大地坐标之间的转换一、前言WGS-84坐标系是目前GPS所采用的坐标系统,GPS所发布的星历参数就是基于此坐标系统的。

WGS-84坐标系统的全称是World Geodical System-84(世界大地坐标系-84),它是一个地心地固坐标系统。

WGS-84坐标系统由美国国防部制图局建立,于1987年取代了当时GPS所采用的坐标系统-WGS-72坐标系统而成为GPS的所使用的坐标系统。

WGS-84坐标系的坐标原点位于地球的质心,轴指向BIH1984.0定义的协议地球极方向,轴指向BIH1984.0的启始子午面和赤道的交点。

采用椭球参数为:a=6 378 137m,f= 1/298.257 223 563。

北京54 坐标系、西安80 坐标系—属于参心坐标系, 北京54 坐标系采用克拉索夫斯基椭球参数,长轴a= 6 3 78 2 4 5 米, 扁率f=l : 2 98.3 ;西安80 大地系坐标系椭球参数采用国际大=地测量和地球物理联合19 7 5 后推荐的地球椭球参数, 长轴a= 6 3 7 8 140 米, 扁率f1 : 298.257,大地原点在我西安市径阳县永乐镇。

西安80 坐标系的建立是在54 年北京坐标系的基础上完成的。

在实际的工作中,对于GPS的测量数据。

我们需要将其转换成所需要的54或80坐标系,才能够使用。

或是将其转换成相应的地方坐标系。

在转换的过程中需要进行一系列的变换。

本文将对其过程做详细的说明。

二、转换过程(1)数据测量:在实际操作中,首先进行的是数据的观测。

根据实际工作需要,采用相应的观测方法进行观测,得到合格的测量成果。

本文主要是针对GPS控制网的转换来说明的。

(2)平差:在GPS控制网的测量工程中,在进行完基线测量(地面坐标和高程)后,需要对测量结果进行平差,得到相应的平差结果。

下面对相应的条件平差①做具体说明:AV-W=0 [1]L#=L+V [2]基础方程和它的解:设有r个平差线性条件方程:[3]式中a i,b i…r i(i=1,2,…n)为条件方程系数,a0,b0…r0为条件方程常数项。

gps坐标怎么转换

gps坐标怎么转换

GPS坐标的转换方法1. 介绍GPS(Global Positioning System)全球定位系统是一种由美国提供的导航系统,通过一系列卫星和地面设施确定地球上的位置。

GPS坐标是一种用于标识地理位置的方式,由纬度(Latitude)和经度(Longitude)组成。

在实际应用中,我们可能需要将GPS坐标转换为其他常见的坐标系,如百度坐标系、火星坐标系等。

本文将介绍几种常见的GPS坐标转换方法。

2. WGS84坐标系WGS84坐标系是最广泛使用的GPS坐标系统,它是由全球卫星定位系统所采用的基准系统。

WGS84坐标系下的纬度范围是-90到90,经度范围是-180到180。

3. 百度坐标系百度坐标系是由百度地图采用的一种地理坐标系统。

与WGS84坐标系相比,百度坐标系使用的是BD-09偏移算法,将GPS坐标进行了适量的平移和旋转。

在百度坐标系下,纬度和经度的范围与WGS84坐标系相同。

4. 火星坐标系火星坐标系,也称为国测局坐标系(GCJ-02),是中国国家测绘局在保护国家安全的目的下对GPS数据进行了加密偏移处理的结果。

火星坐标系下的纬度和经度范围与WGS84坐标系相同。

5. GPS坐标转百度坐标将GPS坐标转换为百度坐标可以通过使用百度地图提供的开放API接口实现。

这些API接口可以将GPS坐标作为输入,返回对应的百度坐标。

具体实现方法可以参考百度地图开发者文档中的相关说明。

6. GPS坐标转火星坐标将GPS坐标转换为火星坐标可以使用国测局坐标加密算法实现。

这个算法可以对WGS84坐标进行加密处理,得到火星坐标系下的坐标。

目前有许多开源库可以用于实现此功能,如百度地图的coordtransform库。

7. 火星坐标转GPS坐标将火星坐标转换为GPS坐标可以使用逆加密算法进行。

逆加密算法可以将火星坐标系下的坐标还原为WGS84坐标系下的坐标。

同样,许多开源库可以用于实现此功能。

8. 总结GPS坐标的转换是地理信息处理中的常见问题。

gps如何转换坐标系

gps如何转换坐标系

GPS如何转换坐标系
全球定位系统(GPS)是一种用来测量地球上某一点的位置和时间的技术。

使用GPS时,最常用的是经纬度坐标系。

然而,在实际应用中,我们经常需要将GPS获取到的坐标转换到其他坐标系,如UTM坐标系或高斯-克吕格坐标系。

本文将介绍GPS坐标系转换的基本原理和常用的转换方法。

GPS坐标系简介
GPS坐标系是一种基于地球椭球体的坐标系,用经度和纬度来表示地球上的某一点的位置。

经度指的是地球表面某点距离本初子午线的角度,可以在东经0°到西经180°之间取值;纬度指的是地球表面某点距离赤道的角度,可以在南纬90°到北纬90°之间取值。

GPS坐标系使用不同单位的数字格式表示。

例如,度分秒(DMS)表示法将经度和纬度表示为度、分和秒的组合,如40°26’46。

gps数据转为笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换

gps数据转为笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换

gps数据转为笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换GPS数据处理中为了满足不同的需要,处理的数据要进行坐标转换,得到在不同坐标系统下的结果,下面是笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换源代码:头文件:#ifndef _COORDCOVERT_H#define _COORDCOVERT_H#include "stdlib.h"//WGS-84椭球体参数const double a=6378137.0;//长半轴const double flattening=1/298.257223563;//扁率const double delta=0.0000001;typedef struct tagCRDCARTESIAN{double x;double y;double z;}CRDCARTESIAN;typedef CRDCARTESIAN *PCRDCARTESIAN;//笛卡尔坐标系typedef struct tagCRDGEODETIC{double longitude;double latitude;double height;}CRDGEODETIC;typedef CRDGEODETIC *PCRDGEODETIC;//大地坐标系typedef struct tagCRDTOPOCENTRIC{double northing;double easting;double upping;}CRDTOPOCENTRIC;typedef CRDTOPOCENTRIC *PCRDTOPOCENTRIC;//站心地平坐标系(线坐标形式)typedef struct tagCRDTOPOCENTRICPOLAR{double range;double azimuth;double elevation;}CRDTOPOCENTRICPOLAR;typedef CRDTOPOCENTRICPOLAR *PCRDTOPOCENTRICPOLAR;//站心地平坐标系(极坐标形式)//由笛卡尔坐标转换为大地坐标void CartesianToGeodetic (PCRDGEODETIC pcg, PCRDCARTESIAN pcc,double dSemiMajorAxis, double dFlattening);//pcg:指向所转换出的大地坐标的指针;//pcc:指向待转换的笛卡尔坐标的指针;//dSemiMajorAxis:参考椭球的长半轴;//dFlattening:参考椭球的扁率。

关于GPS坐标转换(转)

关于GPS坐标转换(转)

关于GPS坐标转换(转)关于GPS坐标转换(转)(一)说到转换,我不得不先提几个概念:1. 84坐标系――美国的GPS就用这个坐标系,也就是说我们从GPS接收过来的地心大地坐标就是在这个坐标系下的;2. 54坐标系――中国常用的坐标系,一般来说,我们就是要得到该坐标系下的平面直角坐标;3. 地心大地坐标――就是经纬度表示的大地位置数据(B、L、H);4. 地心直角坐标--是以地心为原点,但表示方式采样直角坐标(X、Y、Z);5. 平面直角坐标――不用多解释了,就是我们平常用来表示位置的坐标(x、y、z);6. 椭球参数――地心大地坐标转换到地心直角坐标需要使用的参数;7. 七参数――不同椭球系下的地心直角坐标互换所使用到的参数;8. 投影参数――同一椭球系下,地心大地坐标转换为平面直角坐标所使用的参数;9. 四参数――同一椭球系下,不同平面坐标系之间的转换所使用的参数。

有了以上概念,只要知道转换过程就OK了。

下面我就不罗嗦了,直接用方向线来说明过程,其中我以常用的北京54坐标系作为目标坐标系:从GPS中接收到84坐标系下的地心大地坐标↓使用84坐标系的椭球参数转换为84坐标系下的地心直角坐标↓使用七参数转换为54坐标系下的地心直角坐标↓使用54坐标系的椭球参数转换为54坐标系下的地心大地坐标↓使用投影参数转换为54坐标系下的平面直角坐标↓使用四参数转换为其它区域坐标系下的平面直角坐标(二)下面说一下84坐标系下的地心大地坐标如何使用84坐标系的椭球参数转换为84坐标系下的地心直角坐标。

先来看看84坐标系的椭球参数:椭圆长半径A:6378137.000000椭圆短半径B:6356752.314245179497根据椭圆长短半径,我们很容易就能算出椭圆第一偏心率e1,计算公式如下:e1 =sqrt(A×A-B×B)/ A;注意这里sqrt是开方的意思。

OK,上面我们通过一个简单的公式就计算出了椭圆的第一偏心率e1,下面,我们就利用这个参数把地心大地坐标转换为地心直角坐标。

GPS各种地图坐标系转换(转载)

GPS各种地图坐标系转换(转载)

GPS各种地图坐标系转换(转载)地图供应商⽐较多,产⽣了许多地图坐标。

地图坐标正确转换是个问题。

在之前开发地图应⽤的时候发现从WGS84坐标系(GPS)转换成某个地图坐标系都⽐较困难。

然后只能使⽤地图供应商提供的webservice接⼝转换。

百度也提供了免费的webservice接⼝(限制并发量)。

对于少数点的转换性能还可以,但是对于⾮常多点的转换压⼒⽐较⼤(使⽤多线程并⾏计算).个⼈感觉⽐较繁琐,⽽且很难保证转换的稳定性。

这下使⽤地图转换就⽐较准确了。

java版本:/*** 坐标转换程序** WGS84坐标系:即地球坐标系,国际上通⽤的坐标系。

EarthGCJ02坐标系:即⽕星坐标系,WGS84坐标系经加密后的坐标系。

MarsBD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。

Bd09搜狗坐标系、图吧坐标系等,估计也是在GCJ02基础上加密⽽成的。

** 百度地图API 百度坐标腾讯搜搜地图API ⽕星坐标搜狐搜狗地图API 搜狗坐标*阿⾥云地图API ⽕星坐标图吧MapBar地图API 图吧坐标⾼德MapABC地图API ⽕星坐标灵图51ditu地图API ⽕星坐标** @author fankun**/public class CoordinateConvert {private static double PI = Math.PI;private static double AXIS = 6378245.0; //private static double OFFSET = 0.00669342162296594323; //(a^2 - b^2) / a^2private static double X_PI = PI * 3000.0 / 180.0;//GCJ-02=>BD09 ⽕星坐标系=>百度坐标系public static double[] gcj2BD09(double glat, double glon){double x = glon;double y = glat;double[] latlon = new double[2];double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);latlon[0] = z * Math.sin(theta) + 0.006;latlon[1] = z * Math.cos(theta) + 0.0065;return latlon;}//BD09=>GCJ-02 百度坐标系=>⽕星坐标系public static double[] bd092GCJ(double glat, double glon){double x = glon - 0.0065;double y = glat - 0.006;double[] latlon = new double[2];double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);latlon[0] = z * Math.sin(theta);latlon[1] = z * Math.cos(theta);return latlon;}//BD09=>WGS84 百度坐标系=>地球坐标系public static double[] bd092WGS(double glat, double glon){double[] latlon = bd092GCJ(glat,glon);return gcj2WGS(latlon[0],latlon[1]);}// WGS84=》BD09 地球坐标系=>百度坐标系public static double[] wgs2BD09(double wgLat, double wgLon) {double[] latlon = wgs2GCJ(wgLat,wgLon);return gcj2BD09(latlon[0],latlon[1]);}// WGS84=》GCJ02 地球坐标系=>⽕星坐标系public static double[] wgs2GCJ(double wgLat, double wgLon) {double[] latlon = new double[2];if (outOfChina(wgLat, wgLon)){latlon[0] = wgLat;latlon[1] = wgLon;return latlon;}double[] deltaD = delta(wgLat,wgLon);latlon[0] = wgLat + deltaD[0];latlon[1] = wgLon + deltaD[1];return latlon;}//GCJ02=>WGS84 ⽕星坐标系=>地球坐标系(粗略)public static double[] gcj2WGS(double glat,double glon){double[] latlon = new double[2];if (outOfChina(glat, glon)){latlon[0] = glat;latlon[1] = glon;return latlon;}double[] deltaD = delta(glat,glon);latlon[0] = glat - deltaD[0];latlon[1] = glon - deltaD[1];return latlon;}//GCJ02=>WGS84 ⽕星坐标系=>地球坐标系(精确)public static double[] gcj2WGSExactly(double gcjLat,double gcjLon){double initDelta = 0.01;double threshold = 0.000000001;double dLat = initDelta, dLon = initDelta;double mLat = gcjLat - dLat, mLon = gcjLon - dLon;double pLat = gcjLat + dLat, pLon = gcjLon + dLon;double wgsLat, wgsLon, i = 0;while (true) {wgsLat = (mLat + pLat) / 2;wgsLon = (mLon + pLon) / 2;double[] tmp = wgs2GCJ(wgsLat, wgsLon);dLat = tmp[0] - gcjLat;dLon = tmp[1] - gcjLon;if ((Math.abs(dLat) < threshold) && (Math.abs(dLon) < threshold))break;if (dLat > 0) pLat = wgsLat; else mLat = wgsLat;if (dLon > 0) pLon = wgsLon; else mLon = wgsLon;if (++i > 10000) break;}double[] latlon = new double[2];latlon[0] = wgsLat;latlon[1] = wgsLon;return latlon;}//两点距离public static double distance(double latA, double logA, double latB,double logB){int earthR = 6371000;double x = Math.cos(latA*Math.PI/180) * Math.cos(latB*Math.PI/180) * Math.cos((logA-logB)*Math.PI/180);double y = Math.sin(latA*Math.PI/180) * Math.sin(latB*Math.PI/180);double s = x + y;if (s > 1)s = 1;if (s < -1)s = -1;double alpha = Math.acos(s);double distance = alpha * earthR;return distance;}public static double[] delta(double wgLat, double wgLon){double[] latlng = new double[2];double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);double radLat = wgLat / 180.0 * PI;double magic = Math.sin(radLat);magic = 1 - OFFSET * magic * magic;double sqrtMagic = Math.sqrt(magic);dLat = (dLat * 180.0) / ((AXIS * (1 - OFFSET)) / (magic * sqrtMagic) * PI);dLon = (dLon * 180.0) / (AXIS / sqrtMagic * Math.cos(radLat) * PI);latlng[0] =dLat;latlng[1] =dLon;return latlng;}public static boolean outOfChina(double lat, double lon){if (lon < 72.004 || lon > 137.8347)return true;if (lat < 0.8293 || lat > 55.8271)return true;return false;}public static double transformLat(double x, double y){double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x)); ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(y * PI) + 40.0 * Math.sin(y / 3.0 * PI)) * 2.0 / 3.0;ret += (160.0 * Math.sin(y / 12.0 * PI) + 320 * Math.sin(y * PI / 30.0)) * 2.0 / 3.0;return ret;}public static double transformLon(double x, double y){double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));ret += (20.0 * Math.sin(6.0 * x * PI) + 20.0 * Math.sin(2.0 * x * PI)) * 2.0 / 3.0;ret += (20.0 * Math.sin(x * PI) + 40.0 * Math.sin(x / 3.0 * PI)) * 2.0 / 3.0;ret += (150.0 * Math.sin(x / 12.0 * PI) + 300.0 * Math.sin(x / 30.0 * PI)) * 2.0 / 3.0;return ret;}}。

GPS数据的坐标变换

GPS数据的坐标变换

3 "4 的推算较复杂 " 我们只写出结果 &
%&’ 房 建 成 ! 万 德 钧 !()* 组 合 导 航 系 统 在 车 辆 导
航中的应用 %+’! 南大学报 !&,,- !".#/
! 上接第 "# 页 $ 能性较大 ! 主要是后靠装置不起征作
用!
&%$ 用万用表检查其相应线路继电器是否能正常
工作 " 触点接触是否可靠 ! 若仍不能排除 " 则应考虑刀 架内部机械配合是否松动 ! 有时会出现由于内齿盘上 有 碎 屑 造 成 夹 紧 不 牢 而 使 定 位 不 准 "此 时 "应 调 整 其 机械装配并清洁内齿盘 !
一个典型公式 !
! 收稿日期 ""##!)#!)#2 !作者简介 " 陈信 !,1/’) &" 男 " 广东茂名人 " 广东省茂名学院技术物理系教师 " 研究方向 ’ 通信工程 $ , ;< ,
七参数坐标变换公 式 " 除布尔莎公式外 " 还 有莫洛琴斯公式和范土 公式 " 这三种公式 " 它们 间的七个参数相差较 大 " 但各自构成完整的 数学模型 " 参数间存在 明确的解析关系 " 可以 相 互 转 换 "分 别 用 它 们 来 换 算 点 的 坐 标 时 " 其 结 果 完 全相同的 ! 因此 " 这三种公式是等价的 " 不再在此一一 详述 ! 是中央子午线的经度 " 其中 " 子午时线弧长 + " 对 于 克 拉索夫斯基椭球按下公式计算 & 式换算精度为 0!00#2 " 式中 "5 为卯圈曲率半径 "

gps坐标系统之间的转换

gps坐标系统之间的转换

WGS-84坐标与BJ-54坐标转换步骤
(1)将wgs84坐标变换为对应空间直角
坐标 (2)按不同地区选用或求取适当的转换 参数
(3)根据参数将wgs84空间直角坐标变 换为bj54空间直角坐标
(4)将bj54空间直角坐标变为bj54大地 坐标

THANKS
二、不同大地坐标系之间的换算
在布尔萨7参数的基础上,还要增加两个转换参数(da,dα)
三、大地坐标(B,L)→高斯平面坐标(x,y)
WGS-84与BJ-54坐标之间的转换
在进行WGS-84坐标与BJ-54坐 标的转换时,需首先求出坐标转 换参数。只有知道了转换参数, 才能进行坐标转换。转换参数因 坐标系不同而异。坐标转换可以 分为7参数转换模式和3参数转换 模式。坐标转换参数不但包括平 移参数还包括旋转参数和尺度变 化参数。
x
公式:D=G+ c R
转换参数:坐标系统之间的转换需要求出转换参数
转换参数一般是利用重合点(重合点即为在两坐标系中坐标均为 已知的点)的两套坐标值通过一定的数学模型进行计算
利用已知重合点 的两套坐标值 A(x,y,z)和 A(x’,y’,z’),采取一 定的方法可以求 得转换参数,继 而可以进行各点 的坐标转换。
坐标系统之间的转换
●不同空间直角坐标系统之间的转换 ●不同大地坐标系的换算
●将大地坐标(B,L)转换为高斯平面坐标(x,
y)
一、不同空间直角坐标系统之间的
转换
GPS地心坐标系→地面参心坐标系
(1)地心坐标系:以地球质心为原点建立的空间直角坐标系(以球心与 地球质心重合的地球椭球面为基准面所建立的大地坐标系) (2)参心坐标系:以参考椭球的集合中心为原点的大地坐标 G=(X,Y,Z)表示GPS地心坐标向量,D=(X’,Y’,Z’)表示地面参心坐标 向量 方法:布尔萨7参数法(△X, △ Y,△Z,K,ε,ε,y ε)z

关于GPS坐标转换的一些基本知识

关于GPS坐标转换的一些基本知识

关于GPS坐标转换的一些基本知识由于经常涉及到GPS程序的编写,现在貌似这个GPS是越来越火,越来越多的朋友在编写GPS程序,估计是个人都会遇到这个GPS坐标转换的问题,很惭愧的是,作为一个测量专业出身的学生,我还得时不时的要把这些概念翻过来覆过去的看好几遍,每次看书都能有新的收获,我希望这次用这篇博客能够详细具体的把GPS坐标转换讲清楚。

这里我就不赘述有关什么GPS测量原理已经GPS通信等问题了,GPS测量原理有空大家自己翻书去看,核心原理就是由已知卫星的位置通过距离来反算GPS位置坐标,测量上叫后方交会吧!GPS通信问题其实也就是个串口通讯原理,在WINDOWS MOBILE 5.0版本上更是已经被封装好了,方便使用由于懒的打字,本人这里的文字都是从网上转载,我只选经典,解释正确的放这里!地球椭球体大地基准面投影坐标系统定义转自:/bbs/viewthread.php?tid=128地球椭球体(Ellipsoid)大地基准面(Geodetic datum)投影坐标系统(Projected Coordinate Systems )GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid)、大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系。

地球椭球体(Ellipsoid)众所周知我们的地球表面是一个凸凹不平的表面,而对于地球测量而言,地表是一个无法用数学公式表达的曲面,这样的曲面不能作为测量和制图的基准面。

假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。

地球椭球体表面是一个规则的数学表面,可以用数学公式表达,所以在测量和制图中就用它替代地球的自然表面。

因此就有了地球椭球体的概念。

地球椭球体有长半径和短半径之分,长半径(a)即赤道半径,短半径(b)即极半径。

GPS测量常用坐标系统及相互转换

GPS测量常用坐标系统及相互转换

GPS测量常用坐标系统及坐标转换摘要:本文GPS测量常用坐标系统,以及GPS静态、动态测量中坐标变换的参数和方法。

关键词:GPS;坐标系统;坐标转换GPS(Global Positioning System)即全球定位系统,是由美国建立的一个卫星导航定位系统。

它具有全球性、全天候、连续性和实时性的精密三维导航与定位功能,现已广泛用于大地测量、工程测量、航空摄影测量以及地形测量等各个方面。

相对于常规测量来说,GPS 测量具有测量精度高、测站间无需通视、观测时间短、仪器操作简便、全天候作业、可提供三维坐标等特点。

大大地提高了测量效率和精度。

但是由于坐标系统的不同,面临着大量的坐标转换问题。

对GPS技术的推广使用造成了一定的障碍。

本文就GPS测量常用坐标系统及坐标转换的原理和方法,根据作者的理解介绍如下。

一、GPS测量常用坐标系统及投影一个完整的坐标系统是由坐标系和基准两方面要素所构成的。

坐标系指的是描述空间位置的表达形式,而基准指的是为描述空间位置而定义的一系列点、线、面。

在大地测量中的基准一般是指为确定点在空间中的位置,而采用的地球椭球或参考椭球的几何参数和物理参数,及其在空间的定位、定向方式,以及在描述空间位置时所采用的单位长度的定义。

大地基准面是利用特定椭球体对特定地区地球表面的逼近,每个国家或地区均有各自的大地基准面,因此相对同一地理位置,不同的大地基准面,它们的经纬度坐标是有差异的。

基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面。

1、坐标系统的分类1.1、空间直角坐标系空间直角坐标系的坐标系原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向起始子午面与赤道的交点,Y轴位于赤道面上,且按右手系与X轴呈90 夹角。

某点在空间中的坐标可用该点在此坐标系的各个坐标轴上的投影来表示。

1.2、空间大地坐标系空间大地坐标系是采用大地经度(L)、大地纬度(B)和大地高(H)来描述空间位置的。

GPS测量中常用的几种坐标系统及相应的坐标转换

GPS测量中常用的几种坐标系统及相应的坐标转换

GPS测量中常用的几种坐标系统及相应的坐标转换摘要:本文主要介绍了GPS测量中常用的几种坐标系统的建立及其相关技术参数,并针对日常生产常用到的这几种坐标系统的相互转换作了简单的总结关键词:GPS 测量坐标系统坐标转换1、GPS测量概述GPS(Global Positioning System全球定位系统)经过多年的发展已发展成为一种被广泛采用的系统,目前,它在航空、航天、军事、交通、运输、资源勘探、通信、气象等几乎所有的领域中,都被作为一项非常重要的技术手段和方法。

在测量中,它最初主要用于高精度大地测量和控制测量,建立各种类型和等级的测量控制网;它在测量领域的其它方面也得到充分的应用,如用于各种类型的施工放样、测图、变形观测、航空摄影测量、海测和地理信息系统中地理数据的采集等。

尤其是在各种类型的测量控制网的建立这一方面,GPS定位技术已基本上取代了常规测量手段,成为了主要的技术手段。

2、GPS测量中常用的几种坐标系统2.1 WGS-84坐标系WGS-84坐标系是目前GPS所采用的坐标系统,GPS所发布的星历参数就是基于此坐标系统的。

WGS-84坐标系统的全称是World Geodical System-84(世界大地坐标系-84),它是一个地心地固坐标系统。

WGS-84坐标系统由美国国防部制图局建立。

WGS-84坐标系的坐标原点位于地球的质心,Z轴指向BIH1984.0定义的协议地球极方向,X轴指向BIH1984.0的启始子午面和赤道的交点,Y轴与X轴和Z轴构成右手系。

WGS-84系所采用椭球参数为:2.2 1954年北京坐标系1954年北京坐标系是我国目前广泛采用的大地测量坐标系。

建国前,我国没有统一的大地坐标系统,建国初期,在苏联专家的建议下,我国根据当时的具体情况,建立起了全国统一的1954年北京坐标系。

该坐标系采用的参考椭球是克拉索夫斯基椭球,该椭球的参数为:但是该椭球并未依据当时我国的天文观测资料进行重新定位,而是由前苏联西伯利亚地区的一等锁,经我国的东北地区传算过来的,该坐标系的高程异常是以前苏联1955年大地水准面重新平差的结果为起算值,按我国天文水准路线推算出来的,而高程又是以1956年青岛验潮站的黄海平均海水面为基准。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double height;
}CRDGEODETIC;
typedef CRDGEODETIC *PCRDGEODETIC;
//大地坐标系
typedef struct tagCRDTOPOCENTRIC{
double northing;
double easting;
double upping;
double N;//卯酉圈半径
e2=2*dFlattening-dFlattening*dFlattening;
N=dSemiMajorAxis/sqrt(1-e2*sin(pcg->latitude)*sin(pcg->latitude));
pcc->x=(N+pcg->height)*cos(pcg->latitude)*cos(pcg->longitude);
//由站心地平直角坐标转换为站心地平极坐标
void TopocentricToTopocentricPolar (PCRDTOPOCENTRICPOLAR pctp,
PCRDTOPOCENTRIC pct);
//pctp:指向所转换出的站心地平极坐标的指针;
//pct:指向待转换的站心地平坐标的指针;
PCRDTOPOCENTRICPOLAR pctp)
{
pct->northing=pctp->range*cos(pctp->elevation)*cos(pctp->azimuth);
pct->easting=pctp->range*cos(pctp->elevation)*sin(pctp->azimuth);
pctp->azimuth=atan(pct->easting/pct->northing);
pctp->elevation=asin(pct->upping/pctp->range);
}
//由站心地平极坐标转换为站心地平直角坐标
void TopocentricPolarToTopocentric (PCRDTOPOCENTRIC pct,
}
//由大地坐标转换为笛卡尔坐标
void GeodeticToCartesian (PCRDCARTESIAN pcc, PCRDGEODETIC pcg,
double dSemiMajorAxis, double dFlattening)
{
double e2;//第一偏心率的平方
pct->upping=pctp->range*sin(pctp->elevation);
}
+cos(pd->longitude)*dy;
pct->upping=cos(pd->latitude)*cos(pd->longitude)*dx
+cos(pd->latitude)*sin(pd->longitude)*dy
+sin(pd->latitude)*dz;
free(pd);
}CRDTOPOCENTRIC;
typedef CRDTOPOCENTRIC *PCRDTOPOCENTRIC;
//站心地平坐标系(线坐标形式)
typedef struct tagCRDTOPOCENTRICPOLAR{
double range;
double azimuth;
double elevation;
pct->northing=-sin(pd->latitude)*cos(pd->longitude)*dx
-sin(pd->latitude)*sin(pd->longitude)*dy
+cos(pd->latitude)*dz;
pct->easting=-sin(pd->longitude)*dx
while(1)
{
W=sqrt(1-e2*sin(B1)*sin(B1));
N1=dSemiMajorAxis/W;
B=atan((pcc->z+N1*e2*sin(B1))/sqrt(pcc->x*pcc->x+pcc->y*pcc->y));
if(fabs(B-B1)<delta)
double dSemiMajorAxis,
double dFlattening);
//pct:指向所转换出的站心地平坐标的指针;
//pcc:指向待转换的笛卡尔坐标的指针;
//pccCenter:指向站心的笛卡尔坐标的指针;
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁率。
PCRDCARTESIAN pcc,
PCRDCARTESIAN pccCenter,
double dSemiMajorAxis,
double dFlattening)
{
double dx,dy,dz;
dx=pcc->x-pccCenter->x;
dy=pcc->y-pccCenter->y;
#endif
源文件:
#include "CoordCovert.h"
#include "math.h"
void CartesianToGeodetic (PCRDGEODETIC pcg, PCRDCARTESIAN pcc,
double dSemiMajorAxis, double dFlattening)
dz=pcc->z-pccCenter->z;
PCRDGEODETIC pd;
pd=(PCRDGEODETIC)malloc(sizeof(CRDGEODETIC));
CartesianToGeodetic (pd,pccCenter,dSemiMajorAxis,dFlattening);
{
double e2;//第一偏心率的平方
e2=2*dFlattening-dFlattening*dFlattening;
pcg->longitude=atan(pcc->y/pcc->x);
double W,N,N1=0,B,B1;
B1=atan(pcc->z/sqrt(pcc->x*pcc->x+pcc->y*pcc->y));
void GeodeticToCartesian (PCRDCARTESIAN pcc, PCRDGEODETIC pcg,
double dSemiMajorAxis, double dFlattening);
//pcc:指向所转换出的笛卡尔坐标的指针;
//pcg:指向待转换的大地坐标的指针;
double x;
double y;
double z;
}CRDCARTESIAN;
typedef CRDCARTESIAN *PCRDCARTESIAN;
//笛卡尔坐标系
typedef struct tagCRDGEODETIC{
double longitude;
le latitude;
GPS数据处理中为了满足不同的需要,处理的数据要进行坐标转换,得到在不同坐标系统下的结果,下面是笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换源代码:
头文件:
#ifndef _COORDCOVERT_H
#define _COORDCOVERT_H
#include "stdlib.h"
break;
else
B1=B;
}
pcg->latitude=B;
N=dSemiMajorAxis/sqrt(1-e2*sin(pcg->latitude)*sin(pcg->latitude));
pcg->height=sqrt(pcc->x*pcc->x+pcc->y*pcc->y)/cos(B)-N;
//由站心地平极坐标转换为站心地平直角坐标
void TopocentricPolarToTopocentric (PCRDTOPOCENTRIC pct,PCRDTOPOCENTRICPOLAR pctp);
//pct:指向所转换的站心地平坐标的指针;
//pctp:指向待转换的站心地平极坐标的指针;
double dSemiMajorAxis, double dFlattening);
//pcg:指向所转换出的大地坐标的指针;
//pcc:指向待转换的笛卡尔坐标的指针;
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁率。
//由大地坐标转换为笛卡尔坐标
//dSemiMajorAxis:参考椭球的长半轴;
//dFlattening:参考椭球的扁率。
//由笛卡尔坐标转换为站心地平坐标
void CartesianToTopocentric (PCRDTOPOCENTRIC pct,
PCRDCARTESIAN pcc,
PCRDCARTESIAN pccCenter,
pcc->y=(N+pcg->height)*cos(pcg->latitude)*sin(pcg->longitude);
相关文档
最新文档