一个 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');