GCJ-02火星坐标系和WGS-84坐标系转换关系

WGS-84:GPS坐标系

GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用。

BD-09:百度坐标系,百度自研,百度地图使用。

GCJ-02 转WGS-84

公式

# -*- coding: utf-8 -*-

import json

import math

x_pi = 3.14159265358979324 * 3000.0 / 180.0

pi = 3.1415926535897932384626 # π

a = 6378245.0 # 长半轴

ee = 0.00669342162296594323 # 扁率

def wgs84togcj02(lng, lat):

"""

WGS84转GCJ02(火星坐标系)

:param lng:WGS84坐标系的经度

:param lat:WGS84坐标系的纬度

:return:

"""

if out_of_china(lng, lat): # 判断是否在国内

return lng, lat

dlat = transformlat(lng - 105.0, lat - 35.0)

dlng = transformlng(lng - 105.0, lat - 35.0)

radlat = lat / 180.0 * pi

magic = math.sin(radlat)

magic = 1 - ee * magic * magic

sqrtmagic = math.sqrt(magic)

dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)

dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)

mglat = lat + dlat

mglng = lng + dlng

return [mglng, mglat]

def gcj02towgs84(lng, lat):

"""

GCJ02(火星坐标系)转GPS84

:param lng:火星坐标系的经度

:param lat:火星坐标系纬度

:return:

"""

if out_of_china(lng, lat):

return lng, lat

dlat = transformlat(lng - 105.0, lat - 35.0)

dlng = transformlng(lng - 105.0, lat - 35.0)

radlat = lat / 180.0 * pi

magic = math.sin(radlat)

magic = 1 - ee * magic * magic

sqrtmagic = math.sqrt(magic)

dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)

dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)

mglat = lat + dlat

mglng = lng + dlng

return [lng * 2 - mglng, lat * 2 - mglat]

def transformlat(lng, lat):

ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + \

0.1 * lng * lat + 0.2 * math.sqrt(math.fabs(lng))

ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 *

math.sin(2.0 * lng * pi)) * 2.0 / 3.0

ret += (20.0 * math.sin(lat * pi) + 40.0 *

math.sin(lat / 3.0 * pi)) * 2.0 / 3.0

ret += (160.0 * math.sin(lat / 12.0 * pi) + 320 *

math.sin(lat * pi / 30.0)) * 2.0 / 3.0

return ret

def transformlng(lng, lat):

ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + \

0.1 * lng * lat + 0.1 * math.sqrt(math.fabs(lng))

ret += (20.0 * math.sin(6.0 * lng * pi) + 20.0 *

math.sin(2.0 * lng * pi)) * 2.0 / 3.0

ret += (20.0 * math.sin(lng * pi) + 40.0 *

math.sin(lng / 3.0 * pi)) * 2.0 / 3.0

ret += (150.0 * math.sin(lng / 12.0 * pi) + 300.0 *

math.sin(lng / 30.0 * pi)) * 2.0 / 3.0

return ret

def out_of_china(lng, lat):

"""

判断是否在国内,不在国内不做偏移

:param lng:

:param lat:

:return:

"""

if lng < 72.004 or lng > 137.8347:

return True

if lat < 0.8293 or lat > 55.8271:

return True

return False

if __name__ == '__main__':

[lng,lat]=[114.061202,22.529388]

[dstlng, dstlat] = gcj02towgs84(lng, lat)

print(dstlng, dstlat)

举例说明:

天安门

GCJ-02: 116.397477,39.908692

转换为WGS-84:116.39123343289631 39.9072885060602

高德坐标

google earth

火星坐标系 &lpar;GCJ-02&rpar; 与百度坐标系 &lpar;BD-09&rpar; 的转换算法

$x_pi = 3.14159265358979324 * 3000.0 / 180.0; //火星坐标系 (GCJ-02)转百度坐标系 (BD-09)算法 function bd_encrypt($ ...

【PHP版】火星坐标系 &lpar;GCJ-02&rpar; 与百度坐标系 &lpar;BD-09ll&rpar;转换算法

首先感谢java版作者@宋宋宋伟,java版我是看http://blog.csdn.net/coolypf/article/details/8569813 然后根据java代码修改成了php代码. & ...

&lbrack;转&rsqb;地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系

转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...

子坐标系C在父坐标系W中的旋转问题

关键词:空间旋转.旋转轴.刚体旋转 用途:相机位姿估计.无人机位姿估计 文章类型:概念.公式总结(本文不带推倒过程,若想了解公式是如何推出来的请自习搜索文献),C++函数展示 @Author:VSha ...

火星坐标系 &lpar;GCJ-02&rpar; 与百度坐标系 &lpar;BD-09&rpar; 的转换算法&lpar;android&rpar;

final double x_pi = 3.14159265358979324 * 3000.0 / 180.0; public GeoPoint bd_encrypt(GeoPoint point) ...

【转】火星坐标系 &lpar;GCJ-02&rpar; 与百度坐标系 &lpar;BD-09&rpar; 的转换算法

关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043 . 算法代码如下,其中 bd_encrypt 将 G ...

九度OJ 1016:火星A&plus;B (进制转换)

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4913 解决:1334 题目描述:     读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的, ...

02 java 基础:java 文件名与类名关系 CLASSPATH

java 类修饰符:通常情况下使用 public 修饰,此时,java 强制要求 .java 文件名需与该 public 修饰类名一致,否则无法编译通过.如若没有加修饰符,文件名与类名可无任何关联. ...

SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础

原文:SQL Server 2008空间数据应用系列二:空间索引(Spatial Index)基础 在前一篇博文中我们学习到了一些关于地理信息的基础知识,也学习了空间参照系统,既地球椭球体.基准.本初 ...

随机推荐

poj2217

Secretary Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1257   Accepted: 515 Descript ...

java多线程系类:JUC线程池:01之线程池架构

概要 前面分别介绍了"Java多线程基础"."JUC原子类"和"JUC锁".本章介绍JUC的最后一部分的内容--线程池.内容包括:线程池架构 ...

记录下ECharts的一些功能

用到ECharts记录下一些功能免得以后找文档找不到. 这个博客对ECharts讲解很全面 http://www.stepday.com/my.stepday/?echarts // 使用 requi ...

【转】开放api接口签名验证

不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候, ...

Linux - Ubuntu下JDK配置

系统版本: ubuntu 14.04 x64JDK版本: jdk-8u60-linux-x64 1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下 ...

Protocol Buffers in HBase

For early Hbase developers, it is often a nightmare to understand how the different modules speak am ...

Configuration所有配置简介

// 内存缓存的设置选项 (最大图片宽度,最大图片高度) 默认当前屏幕分辨率                // .memoryCacheExtraOptions(480, 800) // 硬盘缓存的 ...

Openjudge-计算概论(A)-回文串判断

描述: 任意给定一个非空的字符串,判断其是否是回文串.回文串是指正向看和反向看均相等的串,如AbcDcbA和cDDc.如果是回文串,则输出1,否则,输出0 输入长度不小于1不大于100的字符串输出如果 ...

关于&period;net后台的异步刷新的问题

我在.net后台做了一个功能.这里我简单话的描述这个功能. 一个下拉框,然后选择其中的不同的下拉信息,下面会有不同的材料表的显示. 其中一个表中如果有必填的字段,那么你切换这个的时候,会导致下拉框不会 ...

gcj-02 wgs-84 java_GCJ-02火星坐标系和WGS-84坐标系转换关系相关推荐

  1. 相机标定总结(像素坐标系、图像坐标系、相机坐标系和世界坐标系之间的转换关系说明)

    近期做了一些机器手臂和摄像头之间手眼标定的内容,在这里对相机的标定做一下总结,手眼标定内容后续更新. 关于三维重建基础知识可以关注更新:MVS学习(一):综述论文阅读记录 1. 相机成像原理说明 数码 ...

  2. 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]

    文章目录 前言 影像坐标系 相机坐标系 世界坐标系 影像坐标系与相机坐标系之间的相互转换 相机坐标系与世界坐标系之间的相互转换 前言   通过模拟人眼立体视觉,两个摄像机拍摄同一场景可构成双目成像模型 ...

  3. GCJ-02火星坐标系、BD-09百度坐标系和WGS-84坐标系转换

    WGS-84:GPS坐标系 GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用. BD-09:百度坐标系 GCJ-02火星坐标系和WGS-84坐标系转换关系 var pi = 3. ...

  4. STM32开发 -- 地球坐标系(WGS84),火星坐标系(GCJ02), 百度坐标系(BD09)坐标转换

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/99599071 STM32开发 – GPS模块开发详解 最后有提到一下: WGS84坐标系 ...

  5. 小程序火星坐标系 (GCJ-02) 转百度坐标系 (BD-09)和经纬度转度分秒格式

    酸狗先带大家看看效果: 地图咋实现的就不写了小程序的map的API写的很清楚,主要看下转百度经纬度,想是uniapp搭建的,为啥用uniapp,以为不想用小程序开发工具~ 获取下经纬度然后把经纬度存起 ...

  6. WGS84地球坐标系,GCJ02火星坐标系,BD09百度坐标系简介与转换,mybatis字段映射原理

    1.各坐标系简介 2.各坐标系转换 2.1坐标点实体类 2.2各坐标系转换工具类 3.测试 1.各坐标系简介 WGS84坐标系 即地球坐标系,国际上通用的坐标系. 设备一般包含GPS芯片或者北斗芯片获 ...

  7. php百度坐标转腾讯坐标,火星坐标系、百度坐标系、腾讯坐标系的相互转换

    /** * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 将 GCJ-02 坐标转换成 BD-09 坐标 * * @param gg_lat * @param gg_lon ...

  8. GPS坐标系(WGS84)、火星坐标系(GCJ02)、百度坐标系(BD-09)的相互转换

    WGS-84:  GPS坐标系,国际标准,GPS模块使用. GCJ-02:   火星坐标系,国测局坐标系,谷歌.高德.腾讯等使用. BD-09:     百度坐标系,百度地图使用. GCJ-02 转W ...

  9. 我国常用的投影坐标系_我国常用坐标系和高程系详解

    北京54坐标系(BJZ54) 北京54坐标系为参心大地坐标系,大地上的一点可用经度L54.纬度M54和大地高H54定位,它是以克拉索夫斯基椭球为基础,经局部平差后产生的坐标系. 新中国成立以后,我国大 ...

  10. GPS坐标系与实际地图坐标系

    转自博客园:http://www.cnblogs.com/jay-dong/archive/2013/03/13/2957648.html 在开始这个题目之前,先给大家再次扫扫盲,扫的不是坐标系统的盲 ...

最新文章

  1. win10安装MAYA失败,怎么强力卸载删除注册表并重新安装
  2. hdu 1398 Square Coins/hdu 1028 Ignatius and the Princess III
  3. Java基础学习总结(146)——开发人员日志实践规范
  4. python自动化测试工具开发_Python+Selenium自动化测试教程连载(2)
  5. 后台产品基本功:RBAC权限后台角色与权限设计
  6. ubuntu10.04以及10.10安装配置tftp服务
  7. Mac提高效率的小技巧:将Alfred与BetterZip搭配使用
  8. 计算机办公自动化取证,办公自动化课程总结范文
  9. 谷歌地图的标记样式_如何为Google地图设置样式
  10. 马云和卫哲:从不屑到仰慕 从朋友到诀别
  11. 侧滑菜单--狸菇凉_
  12. php的pdo mysql扩展模块_php pdo链接
  13. Spring boot + netty开发即时通讯 IM
  14. 图像修复 2021 最新综述——附综述论文分享
  15. 前端常用时间工具 -- Moment.js常见用法总结
  16. Math中和角度,弧长,tan等相关的算法
  17. LINUX 和ubu 分别设置Ip
  18. SQL 分组排序及命令行运行脚本的例子 PsTools
  19. 学习相关软件下载及破解
  20. 当音乐学博士搞起编程,用一本书改变了Java世界!

热门文章

  1. 文件同步工具GoodSync简介
  2. spurious retransmission timeouts理解
  3. uva 11137 Ingenuous Cubrency
  4. PHP手机深色模式,哪些手机深色模式比较好?六大主流品牌手机深色模式对比介绍...
  5. 【区块链2.0实战学习笔记】————11、搭建以太坊私有链
  6. JavaScript - 获取、修改 title 元素的内容
  7. 服务器上添加信任网站,如何将网站添加到信任站点
  8. html背景色不透明度,css怎么设置颜色不透明度?
  9. 纯c语言设计的打字母游戏代码,纯c语言编写的打字游戏代码
  10. 使用python编写十二进制与十进制转换程序