我正在计算两个经纬度值之间的距离,单位为米 -
40.1844441 -77.2252771 和
40.319166 -76.7880552
40.319166 -76.7880552
我在以下两个网站上测试了这两点之间的距离 -
http://www.nhc.noaa.gov/gccalc.shtml 和
http://www.movable-type.co.uk/scripts/latlong.html
这两个网站都返回大约40014米。
所以,我再次使用SQL Server的GEOGRAPHY数据类型来计算这两点之间的距离,它返回48927米。对我来说这是一个巨大的差异。
下面是我的代码,欢迎提出任何建议。
declare @latlong1 GEOGRAPHY
declare @latlong2 GEOGRAPHY
DECLARE @distance float
set @latlong1 = GEOGRAPHY::STGeomFromText('POINT(40.1844441 -77.2252771)', 4326)
set @latlong2 = GEOGRAPHY::STGeomFromText('POINT(40.319166 -76.7880552)', 4326)
SET @distance = @latlong1.STDistance(@latlong2)
SELECT @distance -- this returns 48927 meters