python pi表示_python 算pi
"有做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相关推荐
- 用python求pi的近似值_python求pi的方法
本文实例讲述了python求pi的方法,是一篇翻译自国外网站的文章,分享给大家供大家参考. 具体实现方法如下: #_*_ coding=utf-8 *_* ## {{{ http://code.act ...
- 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) ...
- 用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 ...
- python计算定积分_python编程通过蒙特卡洛法计算定积分详解
这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解,具有一定借鉴价值,需要的朋友可以参考下. 想当初,考研的时候要是知道有这么个好东西,计算定积分...开玩笑,那时候计算定积分根本没有这么 ...
- 哪些模块可用于python性能分析_Python调用C模块以及性能分析
一.c,ctypes和python的数据类型的对应关系 ctypes type ctype Python type c_char char 1-character string c_wchar wch ...
- python及其应用_Python及其应用部分答案
#P25页求直角三角形的面积,# #a2+b2=c2 long=float(input('请输入直角三角形的长:')) wide=float(input('请输入直角三角形的宽:')) high=fl ...
- python变量运算符_Python基础 — 变量和运算符
序言:这一章我们将学习变量以及常见的类型,我们将以案例和代码相结合的方式进行梳理,但是其中所有的案例和知识点 都是Python3 版本. 变量和运算符 1.1 初步介绍 在程序设计中,变量是一种存 ...
- python教程三角函数_Python入门之三角函数tan()函数实例详解
描述 tan() 返回x弧度的正弦值. 语法 以下是 tan() 方法的语法: import math math.tan(x) 注意:tan()是不能直接访问的,需要导入 math 模块,然后通过 m ...
- python 字符串 数字_Python基础教程:数字、字符串
Python 数字 Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时数字对象将被创建: var1 = 1 ...
最新文章
- 继爆款超级账本后,IBM再次推出新产品
- POJ 3461 还是两种方法
- linux id命令用来查看账户的uid和gid及所属分组及用户名
- 求解带时间窗车辆路径问题的多目标模因算法
- OpenCV使用VideoCapture和VideoWriter的实例(附完整代码)
- mysql int做主键_mysql5.5 uuid做主键与int做主键的性能实测
- 一个回滚段收缩的实例
- 介绍Cassandra中的压缩
- 上游供应链厂商确认高通已获准向华为出售4G芯片
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- Atitit 2016 技术趋势与没落技术 目录 1.1. 离线优先Web应用程序(Offline first web applications)	1 1.2. 依照产品而不是项目(product
- Cisco交换机链路聚合配置
- C4D怎么设置默认工程默认场景?
- 以生活中的例子快速理解十个设计模式
- socket编程到底是什么
- 非洲越来越多年轻人希望用加密货币支付
- czl蒻蒟的一周总结(9.4~9.10)
- 爱创科技行业观察:中药全链条监管进入新阶段!
- 一些有难度的网络流问题
- 编译链接脚本lds文件
热门文章
- SQL语句查询不同年龄段人数
- 汇编jmp指令的理解与用法
- Python爬取当当网APP数据
- 那些年啊,那些事——一个程序员的奋斗史 ——14
- 【广州芯享家】服务器维护过程中,你需要了解的5个小常识
- marvell raid linux,联想ThinkStation工作站板载Marvell阵列创建方法
- ASW3410设计说明|双通道 2切1/1切2 USB3.1 多路切换器设计|USB3.1/2.0双向切换方案
- STM32学习之DS18B20数字温度传感器
- 2014年注电考试心得
- 2019年我的技术自我救赎之路