主頁 > 知識庫 > SQLSERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離差示例

SQLSERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離差示例

熱門標(biāo)簽:Linux服務(wù)器 呼叫中心市場需求 地方門戶網(wǎng)站 鐵路電話系統(tǒng) 服務(wù)外包 網(wǎng)站排名優(yōu)化 百度競價(jià)排名 AI電銷
SQL SERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離的公式
復(fù)制代碼 代碼如下:

go
--創(chuàng)建經(jīng)緯度距離計(jì)算函數(shù)
CREATEFUNCTION [dbo].[fnGetDistance]
--LatBegin 開始經(jīng)度
--LngBegin 開始維度
(@LatBegin REAL, @LngBegin REAL, @LatEnd REAL, @LngEnd REAL)
RETURNSFLOAT
AS
BEGIN
--距離(千米)
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

@Distance的單位為:千米
您可能感興趣的文章:
  • 基于jquery實(shí)現(xiàn)控制經(jīng)緯度顯示地圖與衛(wèi)星
  • 使用百度地圖api實(shí)現(xiàn)根據(jù)地址查詢經(jīng)緯度
  • 百度地圖經(jīng)緯度轉(zhuǎn)換到騰訊地圖/Google 對應(yīng)的經(jīng)緯度

標(biāo)簽:蘭州 衡水 湖南 銅川 湘潭 仙桃 崇左 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQLSERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離差示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266