一个 Datasette 插件,添加了一个用于计算半正矢(haversine)距离的自定义 SQL 函数
将此插件安装到与 Datasette 相同的环境中,以启用 haversine() SQL 函数。
datasette install datasette-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');