1
wesley Oct 10, 2016
计算距离最近的
|
2
wanderingFaker OP @wesley 嗯 我也是这样想的 但怎样实现呢,数据全部取出来再计算比较吗?
|
3
shlabc Oct 10, 2016
CREATE FUNCTION GetDistance
( @GPSLng DECIMAL(12,6), @GPSLat DECIMAL(12,6), @Lng DECIMAL(12,6), @Lat DECIMAL(12,6) ) RETURNS DECIMAL(12,4) AS BEGIN DECLARE @result DECIMAL(12,4) SELECT @result = 6378137.0*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI())) RETURN @result END GO 这是一个在网上找的 SQL Server 的 2 个地图标记距离计算函数,实测有效,具体调用这个函数的 SQL 语句自己写即可, mysql 版、 oracle 版都可类似修改 |
4
akira Oct 10, 2016
mysql 5.6 以后 支持坐标类型和坐标距离计算了
|
5
mcfog Oct 10, 2016
补充楼上,
mysql 版本老的话,存 geohash 字符串前缀 like 不限 mysql 的话, redis / mongo 都支持 |