gps坐标

GPS坐标(大地坐标)转高斯平面坐标,并计算 GPS 坐标(大地坐标)两点间的距离

元气小坏坏 提交于 2020-03-29 07:06:21
不知道啥时候在网上找到的算法,经实验发现貌似挺精确的,经修改后备用: #include <cmath> //高斯平面坐标系 struct CRDCARTESIAN { double x; double y; double z; } ; //大地坐标系(可以是 北京54坐标系,西安80坐标系,WGS84坐标系(GPS 坐标)) struct CRDGEODETIC { double longitude; //经度 double latitude; //纬度 double height; //大地高,可设为0 }; #define WGS84 84 //WGS84坐标系(GPS 坐标) #define BJ54 54 //北京54坐标系 #define XIAN80 80 //西安80坐标系 #define ZONEWIDE3 3 //投影带宽度 3 #define ZONEWIDE6 6 //投影带宽度 6 //--------------------------------------------------------------------------- void BLTOXY(CRDCARTESIAN * pcc, CRDGEODETIC * pcg, int Datum, int zonewide) { double B = pcg->latitude; //纬度

GPS时间序列分析(二)matlab语言分析

て烟熏妆下的殇ゞ 提交于 2020-02-12 12:25:03
GPS时间序列分析(二) matlab语言分析 1.简单的GPS时间序列 load E:\RMTE.txt yuanshi_dataWeidu = RMTE ( :,4 ) ';%将原始坐标赋值 yuanshi_dataJingdu=RMTE(:,3)' ; yuanshi_dataGaochen = RMTE ( :,5 ) ' ; yuanshi_data = [ yuanshi_dataWeidu ; yuanshi_dataJingdu ; yuanshi_dataGaochen ] ; [ col,raw ] = size ( yuanshi_data ) ; llh_Z_xyz = llh2xyz ( yuanshi_data ) ; %经纬度高程转换成xyz平面坐标,输出格式为:3行n列 %第一次转换后的xyz坐标减去第一次观测的xyz坐标,组成xyz变化量矩阵 llh_Z_xyz_X = llh_Z_xyz ( 1,: ) -mean ( llh_Z_xyz ( 1,: )) ; llh_Z_xyz_Y = llh_Z_xyz ( 2,: ) -mean ( llh_Z_xyz ( 2,: )) ; llh_Z_xyz_Z = llh_Z_xyz ( 3,: ) -mean ( llh_Z_xyz ( 3,: )) ; llh_Z_xyz_XYZ = [ llh_Z

随机GPS数据(地图坐标)

牧云@^-^@ 提交于 2020-02-03 04:37:19
随机GPS数据(地图坐标) 昨天又接了个小任务,还是GPS的,要做一个随机生成GPS坐标数据的工具,而且要求生成的数据不能太"离谱",也就是说要在一定范围之内,因为是模拟车行,所以可能有个限速的要求吧,不能一辆汽车每小时1w公里的速度行驶。。那就~~! 快下班接的任务~~!然后。。马上关机回家。。吃饭,看了会电视~~!11点了。。才想起来有任务。打开电脑~~! 既然是不能太离谱。。那就要在某个范围内移动。。唉,百度了下经纬度的2点距离公式~~! double lat1,long1;// 经度 , 纬度 1 double lat2,long2;// 经度 , 纬度 2 const float pi = float(3.1415926);//pi const float EarthRadiu = float(6378.245);// 地球半径 float Wei_Km = ( pi * EarthRadiu )/180 ; // 每度纬度多少公里 double lat0; // 比较纬度,取两点小纬度的那个 if(lat1<lat2) lat0 = lat1; else lat0 = lat2; Jing_Km = (pi * (EarthRadiu * float( cos(Lat*pi/180 ))))/180;// 在 lat0 上,每度经度间的距离 double cx, cy,

关于lbs(各地图系统)的一些基本信息

非 Y 不嫁゛ 提交于 2019-12-07 21:22:24
第一部分 各种坐标系详解 1、大地坐标系统 WGS-84 用来表述地球上点的位置的一种地区坐标系统。它采用一个十分近似于地球自然形状的参考椭球作为描述和推算地面点位置和相互关系的基准面。一个大地坐标系统必须明确定义其三个坐标轴的方向和其中心的位置。通常人们用旋转椭球的短轴与某一规定的起始子午面分别平行干地球某时刻的平均自转轴和相应的真起始子午面来确定坐标轴的方向。若使参考椭球中心与地球平均质心重合,则定义和建立了地心大地坐标系。它是航天与远程武器和空间科学中各种定位测控测轨的依据。若椭球表面与一个或几个国家的局部大地水准面吻合最好,则建立了一个国家或区域的局部大地坐标系。大地坐标系中点的位置是以其大地坐标表示的,大地坐标均以椭球面的法线来定义。其中,过某点的椭球面法线与椭球赤道面的交角为大地纬度;包含该法线和大地子午面与起始大地子午面的二面角为该点的大地经度;沿法线至椭球面的距离为该点的大地高。大地纬度、大地经度和大地高分别用大写英文字母B、L、H表示。 国内的互联网公司,都不会使用GPS坐标,因为这不符合国家政策。所以大家都会使用GCJ-02坐标系。 2、火星坐标系统 GCJ-02 国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照几行代码的 算法 ,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏

GPS、谷歌、百度、高德坐标相互转换

别说谁变了你拦得住时间么 提交于 2019-12-05 04:09:17
转:https://blog.csdn.net/bopisky/article/details/80756322 public class GpsUtil { public static double pi = 3.1415926535897932384626; public static double x_pi = 3.14159265358979324 * 3000.0 / 180.0; public static double a = 6378245.0; public static double ee = 0.00669342162296594323; 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