跳转到主要内容

地球上的点工作模块

项目描述

简介

upoints 是一组用于在地球上或其他近球形物体上处理点的 GPL v3 许可模块。它允许您计算点之间的距离和方位,处理 xearth/xplanet 数据文件,与在线英国三角点数据库、NOAA 的气象站数据库以及其他此类位置数据库一起工作。

upoints 的早期版本被称为 earth_distance,但随着其应用范围的变化,名称已被更改。

需求

upoints 除了 Python 标准库之外的唯一严格需求是 aaarghlxml,因此应在 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 (499.5 kB 查看哈希值)

上传时间

upoints-0.12.2.tar.bz2 (488.2 kB 查看哈希值)

上传时间

构建分发

upoints-0.12.2-py2.py3-none-any.whl (72.2 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面