火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法

原创 2013年02月04日 17:43:10

关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043

算法代码如下,其中 bd_encrypt 将 GCJ-02 坐标转换成 BD-09 坐标, bd_decrypt 反之。

#include <math.h>

const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;

void bd_encrypt(double gg_lat, double gg_lon, double &bd_lat, double &bd_lon)
{
    double x = gg_lon, y = gg_lat;
    double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);
    double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);
    bd_lon = z * cos(theta) + 0.0065;
    bd_lat = z * sin(theta) + 0.006;
}

void bd_decrypt(double bd_lat, double bd_lon, double &gg_lat, double &gg_lon)
{
    double x = bd_lon - 0.0065, y = bd_lat - 0.006;
    double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);
    double theta = atan2(y, x) - 0.000003 * cos(x * x_pi);
    gg_lon = z * cos(theta);
    gg_lat = z * sin(theta);
}

相关文章推荐

地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

原文 WGS-84 到 GCJ-02 的转换(即 GPS 加偏)算法是一个普通青年轻易无法接触到的“公开”的秘密。这个算法的代码在互联网上是公开的,详情请使用 Google 搜索 "wgtoch...
  • coolypf
  • coolypf
  • 2013年03月18日 12:39
  • 75566

火星坐标系统简介

我想有很多的朋友会遇到这样的情况:你用GPS定位,结果发现地图上的位置不是自己真实的位置,和自己的位置有500米左右的偏差。这个现象就是由火星坐标系统影响的结果。        火星坐标系统是我们国...
  • giswens
  • giswens
  • 2013年04月08日 22:25
  • 6656

各种经纬度坐标系转换-百度坐标系、火星坐标系、国际坐标系

各种经纬度坐标系转换-百度坐标系、火星坐标系、国际坐标系 WGS84:国际坐标系,为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。 GCJ02:火星坐标系,是由中国国家测绘局...

谈谈火星坐标与地图坐标的那点坑

火星       火星坐标?你在逗我玩儿?没错,哈哈,在天朝总有一些词我们要去学习的。 1.火星坐标是个什么鬼?       我们知道在具有地图显示的app里,一定会用到定位功能...
  • wu__di
  • wu__di
  • 2016年09月05日 23:19
  • 2945

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

今天在一个项目中需要用到地球坐标系到火星坐标系的转换,找了好几种实现方法,但都无法在iOS6以上的系统中使用,最后找到了一个C#的转换算法,对照着写了一个iOS版的,在这里分享给大家。...

关于火星坐标系统

[转载]关于火星坐标系统   2011-09-08 23:11:57|  分类: 默认分类 |字号 订阅 偶然得知中国有一种火星坐标系统。其原理是这样的:保密局开发了一个系统,能将实际的坐...
  • giswens
  • giswens
  • 2013年04月08日 22:46
  • 5987

地球坐标,火星坐标,百度坐标转换

标准地球坐标

火星坐标和百度坐标之间的转换算法

本文转自http://blog.sina.com.cn/s/blog_bd048c480101e27i.html
  • KB261
  • KB261
  • 2016年08月23日 11:00
  • 1857

地球坐标,火星坐标,百度坐标转换的php实现

coordinate.class.php

火星坐标、百度坐标、WGS84坐标转换代码(JS、python版)

给大家分享下坐标转换的代码的JS和Python两个版本的源码 一、JS版本源码 /** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09...
  • yzyssg1
  • yzyssg1
  • 2017年07月26日 10:15
  • 1102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法
举报原因:
原因补充:

(最多只允许输入30个字)