datasette-haversine 作者 simonw

星标

README 源代码

datasette-haversine

PyPI Changelog Tests License

一个 Datasette 插件,添加了一个用于计算半正矢(haversine)距离的自定义 SQL 函数

将此插件安装到与 Datasette 相同的环境中,以启用 haversine() SQL 函数。

datasette install datasette-haversine

此插件基于 haversine 库构建。

使用 haversine() 计算距离

select haversine(lat1, lon1, lat2, lon2);

这将返回由 (lat1, lon1) 定义的点与由 (lat2, lon2) 定义的点之间的距离(单位为千米)。

演示

您可以在这里使用 Datasette Lite 尝试此函数

select haversine(
  40.7128, -74.0060, -- New York
  37.7749, -122.4194, -- San Francisco
  'mi'
) as distance_in_miles;

自定义单位

默认情况下,haversine() 返回结果的单位是千米 (km)。您可以传入可选的第三个参数来指定不同的单位:

  • ft 代表英尺
  • m 代表米
  • in 代表英寸
  • mi 代表英里
  • nmi 代表海里
  • km 代表千米 (默认)
select haversine(lat1, lon1, lat2, lon2, 'mi');