求地球经纬度间距

转载 2017年08月04日 19:05:23
 CREATE FUNCTION [dbo].[fnGetDistance] 
 --LatBegin 开始经度
 --LngBegin 开始维度
(@LatBegin REAL, @LngBegin REAL, @LatEnd REAL, @LngEnd REAL) 
       RETURNS FLOAT
       AS
BEGIN
       --距离(千米)  www.2cto.com  
       DECLARE @Distance      REAL
       DECLARE @EARTH_RADIUS  REAL
       SET @EARTH_RADIUS = 6378.137 
       
       DECLARE @RadLatBegin  REAL,
               @RadLatEnd    REAL,
               @RadLatDiff   REAL,
               @RadLngDiff   REAL
       
       SET @RadLatBegin = @LatBegin *PI()/ 180.0 
       SET @RadLatEnd = @LatEnd *PI()/ 180.0 
       SET @RadLatDiff = @RadLatBegin - @RadLatEnd 
       SET @RadLngDiff = @LngBegin *PI()/ 180.0 - @LngEnd *PI()/ 180.0 
       
       SET @Distance = 2 *ASIN(
               SQRT(
                   POWER(SIN(@RadLatDiff / 2), 2)+COS(@RadLatBegin)*COS(@RadLatEnd) 
                   *POWER(SIN(@RadLngDiff / 2), 2)
               )
           )
       
       SET @Distance = @Distance * @EARTH_RADIUS 
       --SET @Distance = Round(@Distance * 10000) / 10000 
       
       RETURN @Distance
END

相关文章推荐

给定地球上两点的经纬度,求两点之间沿地球表面最短的弧线距离

给定地球上两点的经纬度,计算两点之间的距离           问题: 设地球上的两点A和B的的经纬度分别为A:a1, a2 (a1,a2的单位为度,a1表示经度,a2表示纬度,B亦然) 和B:b1,...

通过经纬度计算地球两点间的距离

设两点A、B的经、纬度分别为(jA,wA)(jB,wB),则半径为R的球面上两点间的最短距离(大圆弧)为: 弧AB=R*arccos[sin(wA)sin(wB)+cos(wA)cos(wB...
  • meeweed
  • meeweed
  • 2011年08月15日 09:50
  • 1305

如何通过经纬度粗略计算地球两点之间的距离?直接上代码

我们通过两点之间的经纬度,可以知道两点之间大致的夹角是多少度(相对地心来说)。这个可以通过勾股定理大致求得,当然这样求出来的角度不是很准,但足够用了。 可以通过下列式子计算两点之间的夹角。x1,y1为...

根据地球上任意两点的经纬度计算两点间的距离

地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。...

JS实现的根据经纬度计算地球上两点之间的距离

最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下。 计算地球表面两点间的距离大概有两种办法。 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫...

项目总结-通过经纬度将地球表面分块

来源:http://chenjingbo.iteye.com/blog/2002499 1 前言     最近做了一个项目,需求是某一个母体,通过手机摇一摇寻找身边同时在摇的人,然...

poj 3608 Bridge Across Islands(旋转卡壳求俩凸包间最小间距)

神呐!!!!!!! 折腾了两天多!!!(其实有效率地去想去写应该一天吧)。。 原来的想法很淳朴(好吧,很笨),就是找出来卡壳的那两条线,然后算出每条线离它相应的那条边的角度,然后旋转。 分为三种情况 ...

hdu 4521 小明系列问题——小明序列(求间距大于d的最长上升序列)

小明系列问题——小明序列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) T...

求两个点(经纬度)的距离.

  • 2013年09月05日 17:11
  • 990B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求地球经纬度间距
举报原因:
原因补充:

(最多只允许输入30个字)