百度高德坐标系相互转换

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

百度坐标系: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)
相关推荐
刘马想放假3 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
2601_967987374 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
东姬AI4 小时前
文心5.5 Flash今日发布:内容管线连配音都自动化了,最后卡住的为什么是「会表演」?
百度·大模型·数字人·ai视频·moe·文心5.5·联合生成
卷无止境5 小时前
SALib敏感性分析的python库学习笔记
后端·python
duansamve6 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
特立独行的猫A6 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python
特立独行的猫A6 小时前
cj-tauri vs Rust/Tauri 同款播放器实测:编译 21 秒 vs 11 分钟,磁盘 12 MB vs 1.2 GB
java·后端·python
duansamve7 小时前
详解Flask中Session和Cookie
python·flask
威哥爱编程8 小时前
模拟面试智能体开发实战 04:面试聊到哪算哪?用状态机把整场面试编排起来
python·agent·harmonyos
威哥爱编程8 小时前
模拟面试智能体开发实战 03:AI 面试官太客气?人设 Prompt 让它像个真考官
python·agent·harmonyos