zoukankan      html  css  js  c++  java
  • 计算经纬度之间距离

    传递两个经纬度,计算中间的距离,单位km

    USE [Witbank_Times]
    GO
    /****** Object:  UserDefinedFunction [dbo].[fnGetDistance]    Script Date: 2016/9/9 15:23:10 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:        <gaoxing>
    -- Create date: <2015-09-22>
    -- Description:    <计算两个经纬度之间的距离>
    -- =============================================
    --创建经纬度距离计算函数
     ALTER FUNCTION [dbo].[fnGetDistance] 
     --LatBegin 开始经度
     --LngBegin 开始维度
    (@LatBegin float, @LngBegin float, @LatEnd float, @LngEnd float)  RETURNS FLOAT
           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 Round(@Distance,2)
    END
     
  • 相关阅读:
    1 从瀑布到敏捷——漫画解读软件开发模式变迁史(转载)
    xshell 常用命令1
    Python---3基础输入方法
    React 初试
    Js 入门文档
    SpringCloud 入门知识篇
    SpringBoot mysql, redis 配置
    工作常用命令
    Java 内置锁 重入问题
    牛顿迭代法, 开根号
  • 原文地址:https://www.cnblogs.com/happygx/p/5856813.html
Copyright © 2011-2022 走看看