2 yzsunlight yzsunlight 于 2016.09.23 12:07 提问

求两个经纬度范围内的数据 1C

已知可视区域内的【可视区域左下角】至 【可视区域右上角】的经纬度
求这个区域内地经纬度SQL语句怎么写。 目前用的是sqlserver数据库

1个回答

feng1790291543
feng1790291543   Ds   Rxr 2016.09.23 14:50

参考:
http://blog.csdn.net/blade2001/article/details/50512081
http://www.tot.name/html/20141224/20141224211233.htm

这里用到的算法和地球半径等数据均来自网络,此文只作整理记录。

地球半径值采用赤道半径 6378137.0米,这是1980年的国际标准数据。
下面是在数据库中写的自定义函数,传入两个经纬度点的数据,共4个参数,返回以米为单位的两点之间的距离

CREATE FUNCTION f_GetDistance,
@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


Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!