Android Java  GPS坐标与高斯坐标相互转换(二)

高斯坐标转GPS坐标:

前边写了GPS坐标转高斯坐标了,详情可以查看:Android Java GPS坐标与高斯坐标相互转换(一) GPS坐标转高斯坐标。反向相互在开发的时候遇到了很大的问题,根据已查的资料,反转之后的坐标数据误差太大,根本不能满足生产条件的使用。所以就又根据已有的资料进行整合和调整,做出了段转换代码,其误差在可接受的范围内,一般在分米基本上。

同样在做平面坐标转GPS坐标的时候,也是两步(正转的步骤逆向):

1.将平面坐标去掉矫正之后,然后减去偏差,得到高斯坐标;

2.高斯坐标再转成GPS坐标;

高斯 --> GPS 转换的计算公式:

public static double[] Gauss2LonLat(double X, double Y) {double e² = 0.0066943799901;// e的平方double e´² = e² / (1 - e²);// e撇的平方double a = 6378137;// WGS84椭球double b = 6356752.3142;// 短半轴double L0 = 117.0;// 北京的中央子午线(根据所在城市设置中央子午线)double e1 = (1 - (b / a)) / (1 + (b / a));double k0 = 1;double FN = 0;double FE = 500 * 1000;double Mf = (X - FN) / k0;double ψ = Mf / (a * (1 - (e² / 4) - (3 * e² * e²) / 64 - (5 * e² * e² * e²) / 256));double Bf = ψ + (3 * e1 / 2 - 27 * Math.pow(e1, 3) / 32) * Math.sin(2 * ψ) + (21 * Math.pow(e1, 2) / 16 - 55 * Math.pow(e1, 4) / 32)* Math.sin(4 * ψ) + (151 * Math.pow(e1, 3) / 96) * Math.sin(6 * ψ) + (1097 * Math.pow(e1, 4) / 512) * Math.sin(8 * ψ);double Nf = a / Math.sqrt(1 - e² * Math.sin(Bf) * Math.sin(Bf));double Tf = Math.tan(Bf) * Math.tan(Bf);double Cf = e´² * Math.cos(Bf) * Math.cos(Bf);double D = (Y - FE) / (k0 * Nf);Log.e("TAG", "e1 = " + e1 + ",e² = " + e²);double Rf = a * (1 - (e1 + e²) / 1.55) / Math.pow((1 - e² * Math.sin(Bf) * Math.sin(Bf)), 3 / 2);double B = Bf - (Nf * Math.tan(Bf) / Rf) * (Math.pow(D, 2) / 2 - (5 + 3 * Tf + Cf - 9 * Tf * Cf) * Math.pow(D, 4) / 24 + (61 + 90 * Tf + 45 * Math.pow(Tf, 2)) * Math.pow(D, 6) / 720);double L = (1 / Math.cos(Bf)) * (D - (1 + 2 * Tf + Cf) * Math.pow(D, 3) / 6 + (5 + 28 * Tf + 6 * Cf + 8 * Tf * Cf + 24 * Math.pow(Tf, 2))* Math.pow(D, 5) / 120);double Lat = B * 180 / Math.PI;double Lon = L * 180 / Math.PI + L0;北京市:117double LonLat[] = new double[2];LonLat[0] = Lon;LonLat[1] = Lat;return LonLat;}

返回的结果就是标准的GPS坐标。

Android Java GPS坐标与高斯坐标相互转换(二)相关推荐

  1. 经纬度坐标与高斯坐标的转换代码

    经纬度坐标与高斯坐标的转换代码 /* 功能说明: 将绝对高斯坐标(y,x)转换成绝对的地理坐标(wd,jd).        */ // double y;     输入参数: 高斯坐标的横坐标,以米 ...

  2. 经纬度转高斯坐标 java_经纬度坐标与高斯坐标的转换代码

    /* 功能说明: 将绝对高斯坐标(y,x)转换成绝对的地理坐标(wd,jd).        */ // double y;     输入参数: 高斯坐标的横坐标,以米为单位 // double x; ...

  3. Java经纬度坐标与高斯坐标的转换

    以中央子午线114.0为例. // 由高斯投影坐标反算成经纬度public static double[] GaussToBL(double X, double Y){double[] output ...

  4. 【转载】osgeo和pyproj:经纬度坐标和高斯坐标互相转换

    一.前言 搞地图和自动驾驶的都知道,坐标转换是非常频繁的事情,有时候需要在各种坐标之间来回的转换,最近使用python代码处理地图数据,在使用osgeo库中的gdal时,发现了gdal v2和V3的一 ...

  5. 关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法

    关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法 百度显示坐标经过了两次加密所以需要转换. <pre name="code" class="j ...

  6. android gps 火星坐标,GPS真实坐标与火星地图坐标/百度地图坐标的转换

    #include #include #include static const uint32_t GPSBaud = 9600; TinyGPSPlus gps; HardwareSerial ss( ...

  7. gps转百度地图坐标 java,GPS坐标与百度地图坐标转换

    空间坐标公式: image.png 上述四个方程式中待测点坐标x. y. z 和Vto为未知参数,其中di=c△ti (i=1.2.3.4). di (i=1.2.3.4) 分别为卫星1.卫星2.卫星 ...

  8. gps坐标转百度坐标 java_BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换...

    为什么不统一用WGS84地理坐标系这就是国家地理测绘总局对于出版地图的要求,出版地图必须符合GCJ02坐标系标准了,也就是国家规定不能直接使用WGS84地理坐标系.所以定位大家感觉不准确很多又叫出版地 ...

  9. 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版...

    转自:https://www.cnblogs.com/fwc1994/p/5884115.html 火星坐标.百度坐标.WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版 火星坐标 ...

最新文章

  1. 错误 1 “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制...
  2. day12 装饰器进阶
  3. Element-ui自定义主题换肤
  4. 25+AI技术主题演讲及项目展示!英特尔AI全球影响力嘉年华开启,全球AI人才线上群聚
  5. 信息安全系统第十三周学习总结 20135218 姬梦馨
  6. C语言九十四之请编写函数fun(char *str, int n),其功能是:使字符串str的前导*号不能多余n个,若多于n个,则删除多余的*号,若少于或等于n个,则不做处理。
  7. tensorflow计算网络占用内存_详细图解神经网络梯度下降法(tensorflow计算梯度)...
  8. Java中实现定时任务的3种方法!
  9. struct多种声明定义写法的小结
  10. Ubuntu中DenyHosts安装及配置
  11. python 正则表达式学习-group
  12. mock.js那点事(上)
  13. Client network socket disconnected before secure TLS connection was establishedView in Conso
  14. 四象限原则+番茄时间管理法
  15. 台式计算机无线网卡怎么找,win7台式机找不到无线网卡怎么办
  16. other|钱海物流接口上传运单号开发
  17. 【2019新年计划】
  18. 【转】一生必看的成功学书(转载)
  19. python程序设计机械工业出版社课后答案-Python 3程序设计基础
  20. org.eclipse.jdt版本更新导致包引入问题

热门文章

  1. 如何在github上提交PR(Pull Request)
  2. 生信自学笔记(二)生物信息
  3. privilege_role
  4. DaisyDisk----Mac文件目录管理神器
  5. Boolan CEO 李建忠致辞2020全球产品经理大会:产品改变世界
  6. Windows系统读写ext2/3/4文件系统的工具「ext2fsd」
  7. FreeRTOS详解
  8. Python日常用法—将列表信息写入到csv文件、列表中的元素直接更改
  9. 《从0开始写一个微内核操作系统》4-关于mmu
  10. 工业智能网关BL110应用之二十一: 如何添加LAN口采集的设备