百度坐标系和火星坐标系互转

1、火星坐标转为百度坐标:

  1. function bd_encrypt(gg_lon, gg_lat){
  2. var X_PI = Math.PI * 3000.0 / 180.0;
  3. var x = gg_lon, y = gg_lat;
  4. var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
  5. var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
  6. var bd_lon = z * Math.cos(theta) + 0.0065;
  7. var bd_lat = z * Math.sin(theta) + 0.006;
  8. return {
  9. bd_lat: bd_lat,
  10. bd_lon: bd_lon
  11. };
  12. }

2、百度坐标转化为火星坐标:

  1. function bd_decrypt(bd_lon,bd_lat) {
  2. var X_PI = Math.Pi * 3000.0 / 180.0;
  3. var x = bd_lon - 0.0065;
  4. var y = bd_lat - 0.006;
  5. var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
  6. var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
  7. var gg_lon = z * Math.cos(theta);
  8. var gg_lat = z * Math.sin(theta);
  9. return {
  10. gg_lon: gg_lon,
  11. gg_lat: gg_lat
  12. }
  13. }

原文地址:https://www.cnblogs.com/bzluyang/p/8671185.html

时间: 2024-08-11 15:35:42

百度坐标系和火星坐标系互转的相关文章

百度地图坐标系和火星坐标系之间的互相转换

// 百度转火星 -(CLLocationCoordinate2D)hhTrans_GCGPS:(CLLocationCoordinate2D)baiduGps { CLLocationCoordinate2D googleGps; double bd_x=baiduGps.longitude - 0.0065; double bd_y=baiduGps.latitude - 0.006; double z = sqrt(bd_x * bd_x + bd_y * bd_y) - 0.00002

[C#]火星坐标系 (GCJ-02)与百度坐标系 (BD-09) 转换帮助类

关键代码: using System; using YanZhiwei.DotNet2.Utilities.Models; namespace YanZhiwei.DotNet2.Utilities.Common { /// <summary> /// 火星坐标系 (GCJ-02)与百度坐标系 (BD-09) 转换帮助类 /// </summary> public class BDGCJLatLonHelper { /* *参考: *BD09坐标系:即百度坐标系,GCJ02坐标系经

WGS84坐标系图层转火星坐标系(是整个图层转哟,不是转单点坐标)

开篇唠叨(着急的略过) 大天朝"火星坐标系"小科普:是一种国家保密插件,对真实坐标系统进行人为的加偏处理,将真实的坐标加密成虚假的坐标,加密后的坐标被称为火星坐标系统.所有的电子地图所有的导航设备,都需要加入国家保密插件. 地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标的电子地图,加密成"火星坐标",这样的地图才是可以出版和发布的,然后才可以让GPS公司处理. 所有的GPS公司,需要用到导航电子地图的,统统需要在软件中加入国家保密算法,将COM口读出来的真

使用百度地图API进行坐标系转换

最近在做移动APP的定位功能的时候发现系统GPS获取的位置信息再从百度地图API获取的实际地址总是有误差,偏离了好几个街道,但百度地图本身没这个问题.在网上查找一番发现了地图的坐标系一说,下面简单介绍一下主流的坐标系: 1.GCJ-02   俗称火星坐标系,由中国国家测绘局制订的地理信息系统的坐标系统.一般中国官方发布的地图上标注的经纬度都是这种坐标系的,与实际经纬度有偏差. 2.WGS84:World Geodetic System 1984,俗称地球坐标系,是为GPS全球定位系统使用而建立的

iOS7上地球坐标系到火星坐标系转换算法

2013年01月31日 ? 综合 ? 共 2595字 ? 字号 小 中 大 ? 评论关闭 今天在一个项目中需要用到地球坐标系到火星坐标系的转换,找了好几种实现方法,但都无法在iOS6以上的系统中使用,最后找到了一个C#的转换算法,对照着写了一个iOS版的,在这里分享给大家. 地球坐标和火星坐标的具体含义可以见:http://blog.sina.com.cn/s/blog_7581a4c301015230.html 目前网上的方法主要有以下几种: 1.在iOS4.3之前的系统上通过私有类MKLoc

Objective-C上地球坐标系到火星坐标系转换算法

Objective-C上地球坐标系到火星坐标系转换算法 http://blog.csdn.net/zhaoxy_thu/article/details/17033347

各地图坐标系转换(WGS84坐标系,GCJ02坐标系,BD09坐标系)

package position; import org.junit.Test; /** * 各地图API坐标系统比较与转换; * * WGS84坐标系:即地球坐标系,国际上通用的坐标系.设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,谷歌地图采用的是WGS84地理坐标系(中国范围除外); * * GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标系.谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系; *

百度经纬度和google经纬度互转

百度地图的坐标转换,由于百度地图在GCJ02协议的基础上又做了一次处理,变为 BD09协议的坐标,以下是坐标的转化方式,可以方便和其他平台转化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 private const double x_pi = 3.14159265358979324 * 3000.0 / 180.0; /// <summary> /// 中国正常坐标系GCJ02协议的坐标,转

百度坐标转火星坐标

下面是百度官方对百度坐标为何有偏移的解释:国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密.百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私. 百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换 API:坐标系 百度地图API:百度坐标 腾讯搜搜地图API:火星坐标 搜狐搜狗地图API:搜狗坐标* 阿里云地图API:火星坐标 图吧MapBar地图API:图吧坐标 高德MapABC地图API:火星坐标