• 计算2点间距离


    单位米,算法来自百度http://api.map.baidu.com/library/GeoUtils/1.2/src/GeoUtils.js

    CREATE FUNCTION [dbo].[ToDistance] 
    (
        @Lng1 FLOAT,
        @Lat1 FLOAT,
        @Lng2 FLOAT,
        @Lat2 FLOAT
    )
    RETURNS FLOAT
    AS
    BEGIN
        -- Declare the return variable here
        DECLARE
            @Distance FLOAT
    
        SET @Lng1 = PI() * @Lng1 / 180
        SET @Lat1 = PI() * @Lat1 / 180
        SET @Lng2 = PI() * @Lng2 / 180
        SET @Lat2 = PI() * @Lat2 / 180
    
        -- Add the T-SQL statements to compute the return value here
        SET @Distance = 6370996.81 * ACOS((SIN(@Lat1) * SIN(@Lat2) + COS(@Lat1) * COS(@Lat2) * COS(@Lng2 - @Lng1))) / 1000
    
        -- Return the result of the function
        RETURN @Distance
    
    END

     单位米,算法来自高德

    CREATE FUNCTION [dbo].[ToDistance] 
    (
    	-- Add the parameters for the function here
    	@Lng1 FLOAT,@Lat1 FLOAT,@Lng2 FLOAT,@Lat2 FLOAT
    )
    RETURNS FLOAT
    AS
    BEGIN
    	-- Declare the return variable here
    	DECLARE
    		@Distance FLOAT,
    		@Sin FLOAT,
    		@SIN2 FLOAT,
    		@SIN3 FLOAT,
    		@SIN4 FLOAT
    
    	SET @Lng1 = PI() * @Lng1 / 180
    	SET @Lat1 = PI() * @Lat1 / 180
    	SET @Lng2 = PI() * @Lng2 / 180
    	SET @Lat2 = PI() * @Lat2 / 180
    
    	SET @Sin = Sin(@Lng1);
        SET @Sin2 = Sin(@Lat1);
        SET @Sin3 = Sin(@Lng2);
        SET @Sin4 = Sin(@Lat2);
    
    	SET @Lng1 = Cos(@Lng1);
        SET @Lat1 = Cos(@Lat1);
    	SET @Lng2 = Cos(@Lng2);
    	SET @Lat2 = Cos(@Lat2);
    
    	-- Add the T-SQL statements to compute the return value here
        SET @Distance = Asin(Sqrt(((POWER((@Lng1 * @Lat1 - @Lng2 * @Lat2), 2)) + (POWER((@Lat1 * @Sin - @Lat2 * @Sin3), 2))) + (POWER((@Sin2 - @Sin4), 2))) / 2) * 1.27420015798544E7 / 1000
    
    	-- Return the result of the function
    	RETURN @Distance
    END
    

      

  • 相关阅读:
    HDOJ 1588 Gauss Fibonacci
    HDOJ 1494 跑跑卡丁车
    初识Linux
    大数据教程
    80后上班族
    人际交往,七种心态最惹人讨厌
    商人初步
    分页存储过程
    父母生日
    dephi小技巧
  • 原文地址:https://www.cnblogs.com/varorbc/p/4860203.html
Copyright © 2020-2023  润新知