地球上的点工作模块
项目描述
简介
upoints 是一组用于在地球上或其他近球形物体上处理点的 GPL v3 许可模块。它允许您计算点之间的距离和方位,处理 xearth/xplanet 数据文件,与在线英国三角点数据库、NOAA 的气象站数据库以及其他此类位置数据库一起工作。
upoints 的早期版本被称为 earth_distance,但随着其应用范围的变化,名称已被更改。
需求
upoints 除了 Python 标准库之外的唯一严格需求是 aaargh 和 lxml,因此应在 Python 2.6 或更高版本上运行 [1]。如果 upoints 无法与您安装的 Python 版本一起工作,请给我发邮件 mail,我将尽力修复。
这些模块已在许多类 UNIX 系统上进行了测试,包括 Linux 和 OS X,但它们也应该在其他系统上运行良好。模块和脚本包含大量测试,可以使用 nose2 进行检查。
示例
展示 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°
所有的类定义、方法和独立函数都包含在文档字符串中希望有用的使用示例。API 文档是用 Sphinx 构建的,并在 doc/html/api/ 中提供。
有关 point.py(以前称为 edist.py)的一些辅助文本和示例,请参阅 geolocation and path cross。有关 xearth.py 的更多示例,请参阅 xearth and path cross。有关 trigpoints.py 的背景和更多示例,请参阅在线的 Trigpointing and point.py。有关 cities.py 的使用示例,请参阅 Cities and cities.py。最后,Pythons on a plane 包含有关 weather_stations.py 的信息。
感谢
以下人员提交了补丁、测试和反馈
Cédric Dufour - edist.py 的 CSV 导入,以及飞行计划输出
Thomas Traber - GPX 支持增强,点过滤和一些酷的使用场景
Kelly Turner - Xearth 导入想法和大量测试
Simon Woods - 测试
API 稳定性
API 稳定性在版本之间无法保证,尽管不会做出无用的更改。
当发布 upoints 1.0 时,API 将被冻结,任何不向后兼容的更改都将导致主要版本号的增加。
限制
这些模块假设调用者会注意有效数字和输出格式 [2]。所有结果都返回为您安装的 Python 或系统生成的任何精度;不直观的浮点表示、舍入误差、瑕疵等。
推理很简单,调用者应该始终知道需要什么,任何添加到代码中的启发式方法都只是猜测,可能会出错。
upoints 模块不考虑展平,因为在地球上人口最多的地区进行的计算中,忽略地球展平引入的错误相当小。如果限制成为实际使用中的问题,未来的版本可能会改变。
尽管这并不是一个限制,但还应小心使用基于同一基准的数据源,甚至在两个使用同一基准的数据源中,你也应确保它们使用相同的表示。例如,从美国获取的数据源指定格林尼治以西的经度为正值并不罕见。
未来的版本可能包括更多的标准输出定义,但没有计划添加“魔法”数据混乱。
错误
如果你发现了一个错误,请不要犹豫,给我发邮件jnrowe@gmail.com,最好包括一个最小化测试用例,或者更好的是一个补丁!
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源分发
构建分发
upoints-0.12.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c63f6bec854e5118541aaa81b671d38f6051d8241a9c59aa13157d68674b33c |
|
MD5 | 5baeaecc30e83dead825d12ef354b745 |
|
BLAKE2b-256 | 25623d2930a1148bf8c08ebcedfc36d5c1f9fed2897cb6177af9ef2cb058bd4f |
upoints-0.12.2.tar.bz2 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13be0d9817ec06cae29fdf8e18bb45f97eea588bef8fde769a0a1c5c3851a55c |
|
MD5 | d5e2683a10d1b1278611ed53d299524f |
|
BLAKE2b-256 | 2cd30fb4119b01a8329000e0f75b0890e68b9e64c44b253583f62f919e6d203e |
upoints-0.12.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 932e826d310cb04e6177ee101b2eab040470334772753c62561b8e4a51bdd889 |
|
MD5 | c48d9081e03f4e9b9223e08fc46b6312 |
|
BLAKE2b-256 | 5cb9f6a74ec75ef6c4f1f82f8b80268ab815278915ea4bcf56894bae2c925049 |