"有做gps 模块的 数据便宜 纠正的 给点 意见啊######不能沉了啊, 有谁做过 gps模块数据解析的, 给个 方向啊######

这是几年前用的办法,不保证能100%用。

#!/usr/bin/env python

#coding=utf-8

import math

pi = 3.14159265358979324

a = 6378245.0

ee = 0.00669342162296594323

#纠偏函数

def transform(wgLat,wgLon):

latlng = [0]*2

if outOfChina(wgLat, wgLon):

latlng[0] = wgLat;

latlng[1] = wgLon;

dLat = transformLat(wgLon - 105.0, wgLat - 35.0)

dLon = transformLon(wgLon - 105.0, wgLat - 35.0)

radLat = wgLat / 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)

dLon = (dLon * 180.0) / (a / sqrtMagic * math.cos(radLat) * pi)

latlng[0] = wgLat + dLat

latlng[1] = wgLon + dLon

return latlng

def outOfChina(lat,lon):

if (lon < 72.004 or lon > 137.8347):

return True

if (lat < 0.8293 or lat > 55.8271):

return True

return False

def transformLat(x,y):

ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * math.sqrt(abs(x))

ret += (20.0 * math.sin(6.0 * x * pi) + 20.0 * math.sin(2.0 * x * pi)) * 2.0 / 3.0

ret += (20.0 * math.sin(y * pi) + 40.0 * math.sin(y / 3.0 * pi)) * 2.0 / 3.0

ret += (160.0 * math.sin(y / 12.0 * pi) + 320 * math.sin(y * pi / 30.0)) * 2.0 / 3.0

return ret

def transformLon(x,y):

ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * math.sqrt(abs(x))

ret += (20.0 * math.sin(6.0 * x * pi) + 20.0 * math.sin(2.0 * x * pi)) * 2.0 / 3.0

ret += (20.0 * math.sin(x * pi) + 40.0 * math.sin(x / 3.0 * pi)) * 2.0 / 3.0

ret += (150.0 * math.sin(x / 12.0 * pi) + 300.0 * math.sin(x / 30.0 * pi)) * 2.0 / 3.0

return ret

######我用这个算过一下, (GCJ-02) 与百度坐标系 (BD-09) 这两个转一下还行, WGS84 的就不对了, 不知道是不是 gps模块返回的数据 不是WGS84, 或者要处理啊, 按理来说不应该啊######

已经解决,

纬度

ddmm.mmmm(

度分

)

格式

(

前面的

0

也将被传输

), 主要是这个格式没明白, dd是度数, mm是分, 0.mmmm是秒(格式是分, 要转成秒),  然后转成小数10进制, 然后用上面的 转换方式 就对了 ######???没明白"

python pi表示_python 算pi相关推荐

  1. 用python求pi的近似值_python求pi的方法

    本文实例讲述了python求pi的方法,是一篇翻译自国外网站的文章,分享给大家供大家参考. 具体实现方法如下: #_*_ coding=utf-8 *_* ## {{{ http://code.act ...

  2. python变量pi和pi被看作相同的变量_python分享pi的方法 两种用python分享p

    两种用python分享pi的方法,必须按照两种计算方def pisum(n): pi=3 sign=1 for i in range(1,n+1): pi+=sign*4.0/((i+1)*(i+2) ...

  3. 用python实现正弦信号sin((pi/2)*t)、sin(pi*t)、 sin((3pi/2)*t)

    正弦信号的表示.编写代码实现正弦信号sin((pi/2)t).sin(pit). sin((3pi/2)*t) 方法一(多线表示) 源代码: import numpy as np import mat ...

  4. python计算定积分_python编程通过蒙特卡洛法计算定积分详解

    这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解,具有一定借鉴价值,需要的朋友可以参考下. 想当初,考研的时候要是知道有这么个好东西,计算定积分...开玩笑,那时候计算定积分根本没有这么 ...

  5. 哪些模块可用于python性能分析_Python调用C模块以及性能分析

    一.c,ctypes和python的数据类型的对应关系 ctypes type ctype Python type c_char char 1-character string c_wchar wch ...

  6. python及其应用_Python及其应用部分答案

    #P25页求直角三角形的面积,# #a2+b2=c2 long=float(input('请输入直角三角形的长:')) wide=float(input('请输入直角三角形的宽:')) high=fl ...

  7. python变量运算符_Python基础 — 变量和运算符

    序言:这一章我们将学习变量以及常见的类型,我们将以案例和代码相结合的方式进行梳理,但是其中所有的案例和知识点 都是Python3 版本. 变量和运算符 1.1 初步介绍 ​ 在程序设计中,变量是一种存 ...

  8. python教程三角函数_Python入门之三角函数tan()函数实例详解

    描述 tan() 返回x弧度的正弦值. 语法 以下是 tan() 方法的语法: import math math.tan(x) 注意:tan()是不能直接访问的,需要导入 math 模块,然后通过 m ...

  9. python 字符串 数字_Python基础教程:数字、字符串

    Python 数字 Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时数字对象将被创建: var1 = 1 ...

最新文章

  1. 继爆款超级账本后,IBM再次推出新产品
  2. POJ 3461 还是两种方法
  3. linux id命令用来查看账户的uid和gid及所属分组及用户名
  4. 求解带时间窗车辆路径问题的多目标模因算法
  5. OpenCV使用VideoCapture和VideoWriter的实例(附完整代码)
  6. mysql int做主键_mysql5.5 uuid做主键与int做主键的性能实测
  7. 一个回滚段收缩的实例
  8. 介绍Cassandra中的压缩
  9. 上游供应链厂商确认高通已获准向华为出售4G芯片
  10. 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
  11. Atitit 2016 技术趋势与没落技术 目录 1.1. 离线优先Web应用程序(Offline first web applications) 1 1.2. 依照产品而不是项目(product
  12. Cisco交换机链路聚合配置
  13. C4D怎么设置默认工程默认场景?
  14. 以生活中的例子快速理解十个设计模式
  15. socket编程到底是什么
  16. 非洲越来越多年轻人希望用加密货币支付
  17. czl蒻蒟的一周总结(9.4~9.10)
  18. 爱创科技行业观察:中药全链条监管进入新阶段!
  19. 一些有难度的网络流问题
  20. 编译链接脚本lds文件

热门文章

  1. SQL语句查询不同年龄段人数
  2. 汇编jmp指令的理解与用法
  3. Python爬取当当网APP数据
  4. 那些年啊,那些事——一个程序员的奋斗史 ——14
  5. 【广州芯享家】服务器维护过程中,你需要了解的5个小常识
  6. marvell raid linux,联想ThinkStation工作站板载Marvell阵列创建方法
  7. ASW3410设计说明|双通道 2切1/1切2 USB3.1 多路切换器设计|USB3.1/2.0双向切换方案
  8. STM32学习之DS18B20数字温度传感器
  9. 2014年注电考试心得
  10. 2019年我的技术自我救赎之路