使用地球上的点的模块
upoints的Python项目详细描述
警告
在此点{TT1} $仅存在以帮助已经使用的用户。 多年来,i绝对donot建议新用户使用它。
简介
upoints是用于处理的GPL v3许可模块的集合 地球上的点,或其他近球形物体。它允许你计算 点之间的距离和方向,损坏xearth/xplanet数据文件, 使用英国TrigPoint在线数据库,NOAA的气象站数据库和 其他此类位置数据库。
以前的upoints版本被称为earth_distance,但名称 已更改,因为它不再反映包的大多数用途 目标是。
要求
upoints除了Python标准库之外,唯一严格的要求是 aaargh和lxml,因此应该与python 2.6或更新的[1]一起运行。如果 upoints与您安装的python版本不兼容,请删除我 一个mail我会努力修复它。
这些模块已经在许多类unix系统上进行了测试,包括linux和os 但是在其他系统上也应该可以。模块和脚本 包含可使用nose2检查的大量测试集合。
[1] | If you still use Python v2.5 only small changes are required, for example to the property definitions. |
[2] | Some tests may fail due to rounding errors depending on the system the tests are being run on, but such instances should be obvious even to the casual user and some effort has been put in to reduce the likelihood of such failures. |
示例
演示upoints如何工作的最简单方法是通过示例,这里是:
>>> from upoints import point >>> Home = point.Point(52.015, -0.221) >>> Telford = point.Point(52.6333, -2.5000) >>> print("%d kM, with an initial bearing of %d°" ... % (Home.distance(Telford), Home.bearing(Telford))) 169 kM, with an initial bearing of 294°
所有的类定义、方法和独立函数都希望包含 docstrings中的有用用法示例。api文档是用 Sphinx,在doc/html/api/中可用。
前面有一些point.py的附带文本和示例 edist.py,在geolocation and path cross中提供。更多的例子是 可用于xearth and path cross中的xearth.py。一些背景和 有关trigpoints.py的更多示例在Trigpointing and point.py中联机。 Cities and cities.py中提供了cities.py的用法示例。以及 最后,Pythons on a plane包含有关weather_stations.py的信息。
谢谢
以下人员已提交修补程序、测试和反馈:
- Cédric dufour-^{TT10}$的CSV导入和飞行计划输出
- thomas traber-gpx支持增强、点过滤和一些很酷的 使用场景
- kelly turner-Xearth导入理念,并进行大量测试
- 西蒙·伍兹-测试
API稳定性
api的稳定性不能保证跨版本,尽管琐碎的更改不会 被制造。
当upoints1.0被释放时,api将被冻结,并且任何更改 不向后兼容将强制主版本碰撞。
限制
模块假设调用者将处理有效数字,并输出 格式化[2]。不管python返回的结果有多精确 安装或系统生成;不直观的浮点表示,舍入错误, 疣和所有的。
道理很简单,打电话的人应该总是知道需要什么 在代码中添加的启发式方法只是猜测,可以也可以 错了。
upoints模块不考虑扁平化,如在计算中 在地球上大多数人口稠密的地区,忽略 地球的扁率很小。如果 在实际使用中,限制成为一个问题。
虽然这不是一个真正的限制,但是也应该小心使用数据源 基于相同的数据,甚至在使用 同样的数据你应该确保它们使用同样的表示。不是的 不常见的是从美国发现的数据源,这些数据源指定了 比如说格林威治。
[3] | A future release may include more standard output definitions, but there is no intention to add “magic” data mangling. |
错误
如果你发现一个bug,请毫不犹豫地给我一个mail最好包括 一个最小的测试用例,或者更好的补丁!