墨卡托坐标系和gcj03坐标系转换
使用pytho将百度系的坐标点转换成经纬度,如图下所示的样例:
转换代码:
#!/usr/bin/python
#-*- coding=utf-8 -*-import mathMCBAND = (12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0)
MC2LL = ([1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331,200.9824383106796, -187.2403703815547, 91.6087516669843, - 23.38765649603339,2.57121317296198, -0.03801003308653, 17337981.2],[-7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289,96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737,-16.50741931063887, 2.28786674699375, 10260144.86],[-3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616,59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908,-3.29883767235584, 0.32710905363475, 6856817.37],[-1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744,0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204,-0.04625736007561, 4482777.06],[3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901,-0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953,-0.00466043876332, 2555164.4],[2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032,-0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773,-0.00000323890364, 826088.5])X_PI = 3.14159265358979324 * 3000.0 / 180.0class GISError(Exception):"""GIS Exception"""def convert_MCT_2_BD09(lon, lat):"""将墨卡托坐标转换成BD09Args:lon: float, 经度lat: float, 维度Returns:(x, y): tuple, 经过转换的x, y"""ax = None# 获取常量axfor j in range(len(MCBAND)):if lat >= MCBAND[j]:ax = MC2LL[j]breakif ax is None:raise GISError("error lat:%s" % lat)e = ax[0] + ax[1] * abs(lon)i = abs(lat) / ax[9]aw = ax[2] + ax[3] * i + ax[4] * i * i + ax[5] * i * i * i +\ax[6] * i * i * i * i + ax[7] * i * i * i * i * i + ax[8] * i * i * i * i * i * iif lon < 0:e *= -1if lat < 0:aw *= -1return e,awdef convert_BD09_2_GCJ03(lon, lat):"""坐标转换,将BD09转成GCJ03Args:lon: float, 经度lat: float, 维度Returns:(x, y): tuple, 转换后的结果"""x = lon - 0.0065y = lat - 0.006z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * X_PI)theta = math.atan2(y, x) - 0.000003 * math.cos(x * X_PI)gg_lon = z * math.cos(theta)gg_lat = z * math.sin(theta)return gg_lon, gg_latif __name__ == '__main__':e,aw = convert_MCT_2_BD09(13443381.59,3653567.71)gcj_lng,gcj_lat = convert_BD09_2_GCJ03(e,aw)print(gcj_lng,gcj_lat)
墨卡托坐标系和gcj03坐标系转换相关推荐
- python实现坐标系转换_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
importmathclassLngLatTransfer():def __init__(self): self.x_pi= 3.14159265358979324 * 3000.0 / 180.0s ...
- python读取数据文件、并把里面的数据变成x的二维坐标_(数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换...
importmathclassLngLatTransfer():def __init__(self): self.x_pi= 3.14159265358979324 * 3000.0 / 180.0s ...
- neu坐标系和xyz坐标系转换_航测必知的坐标系详解和转换关系
在航测中可能经常会遇到不知道如何选择正确的坐标系和坐标系之间的转换,现在我们针对于航测坐标系做详细的讲解. 首先简单介绍一下航测中地理坐标系.投影坐标系以及地图投影的概念:地理坐标系:为球面坐标. 参 ...
- 全局坐标系与车身坐标系转换
在学习资料满天飞的大环境下,知识变得非常零散,体系化的知识并不多,这就导致很多人每天都努力学习到感动自己,最终却收效甚微,甚至放弃学习.我的使命就是过滤掉大量的无效信息,将知识体系化,以短平快的方式直 ...
- 各种经纬度坐标系转换-百度坐标系、火星坐标系、国际坐标系
各种经纬度坐标系转换-百度坐标系.火星坐标系.国际坐标系 (文章代码参考网上 测试没什么问题, 汇总整理希望对大家有帮助-dou )WGS84:国际坐标系,为一种大地坐标系,也是目前广泛使用的GPS全 ...
- 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
本篇博客为转载,我对其中的细节添加了一些说明. 原文链接:https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理 ...
- 世界坐标系,相机坐标系和图像坐标系的转换(Python)
世界坐标系,相机坐标系和图像坐标系的转换(Python) 相机内参外参说明:相机内参外参_pan_jinquan的博客-CSDN博客_相机内参 计算机视觉:相机成像原理:世界坐标系.相机坐标系.图像坐 ...
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换(转载)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理了& ...
- wgs-84,gcj-02,bd-09的相互转换,高德,世界测量,百度坐标系的相互转换,坐标系转换
高德使用的是gcj-02坐标系,百度使用的是bd09坐标系,注意其间的相互转换 1.首先创建一个GPS对象类 public class Gps {private double wgLat;privat ...
- 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系
三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...
最新文章
- java记录每个元素出现几次_哪位师傅帮用Java我计算出数组中每个元素出现的次数...
- UA MATH563 概率论的数学基础 中心极限定理12 强大数定律 版本2:Etemadi定理
- python 中文件输入输出及os模块对文件系统的操作
- delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)
- python库怎么绘画_python基础,安装并使用matplotlib库画图
- jquery实现多行滚动效果
- 程序的灵魂-----算法
- [Leedcode][JAVA][第72题][动态规划]
- CTS 2019 Pearl
- URAL1018 Binary Apple Tree
- 12.4!移动云 TeaTalk 即将抵达深圳,不要错过!
- 软件测试面试题小结(一)
- 规划设计计算机配置,平面设计电脑配置
- UMLChina公众号文章精选(20220619更新精选)
- 平面离散点集Delaunay三角化
- 户口从海峡人才迁入到厦门人才
- JSON数组形式字符串转换为Map数组
- python字符串的定界符可以是_Python中,字符串不能用以下哪个符号作为定界符(): \|'|'''|;...
- SK6805MICRO-2427RGB灯珠 2427RGB内置IC灯珠 适用显示领域、智能应用、蓝牙WiFi装饰
- 布局文件:报警告 This inspection highlights unknown XML attributes in Android resource files and Andro...