百度高德坐标系相互转换

一、百度与高德坐标系互换

百度坐标系:bd09

高德坐标系: gcj02

python 复制代码
import math


# 坐标系转换:百度转高德,高德转百度
class CoordinateSystem:
    @staticmethod
    def bd09_to_gcj02(bd_lon, bd_lat):
        '''
        百度坐标系:bd09  转成高德坐标系 gcj02
        Args:
            bd_lon: 百度坐标系纬度
            bd_lat: 百度坐标系经度
        Return:
            (高德坐标系纬度,高德坐标系经度)
        '''
        bd_lon = float(bd_lon)
        bd_lat = float(bd_lat)
        x = bd_lon - 0.0065
        y = bd_lat - 0.006
        z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * math.pi)
        theta = math.atan2(y, x) - 0.000003 * math.cos(x * math.pi)
        gcj_lon = z * math.cos(theta)
        gcj_lat = z * math.sin(theta)
        return gcj_lon, gcj_lat

    @staticmethod
    def gcj02_to_bd09(lon, lat):
        '''
        高德坐标系:gcj02   转成高德坐标系 bd09
        Args:
            lon: 高德坐标系纬度
            lat: 高德坐标系经度
        Return:
            (高德坐标系纬度,高德坐标系经度)
        '''
        lon = float(lon)
        lat = float(lat)
        z = math.sqrt(lon * lon + lat * lat) + 0.00002 * math.sin(lat * math.pi)
        theta = math.atan2(lat, lon) + 0.000003 * math.cos(lon * math.pi)
        bd_lon = z * math.cos(theta) + 0.0065
        bd_lat = z * math.sin(theta) + 0.006
        return bd_lon, bd_lat

if __name__ == '__main__':
    lon = 23.0534260666666
    lat = 113.40712125
    gd_lob,gd_lat = CoordinateSystem.bd09_to_gcj02(bd_lon=lon,bd_lat=lat)
相关推荐
智能体与具身智能8 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
2601_962294619 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
青 春 记 忆10 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马10 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
白山编程大哥11 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
落羽的落羽12 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
Chasing__Dreams12 小时前
大模型应用开发--13--RAG 查询优化策略
python
“AI国潮设计-小江”12 小时前
《Python实战 | SDXL大模型批量生成“英歌舞海浪”蛋糕IP,附核心Prompt控制代码与IP授权变现思路》
人工智能·python·prompt·aigc
znnnk12 小时前
【Python】GUI 开发从入门到实战(三):PyQt/PySide 进阶之路
开发语言·python·pyqt
触底反弹14 小时前
面试被问到 Text2SQL,我用 DeepSeek 自己实现了一个
python·sqlite