文档章节

百度GIS 算距离函数 SqlServer上扒的

吹比龙
 吹比龙
发布于 2017/02/17 16:34
字数 186
阅读 47
收藏 0

ALTER FUNCTION [dbo].[fnGetDistanceBaidu](@LatBegin REAL, @LngBegin REAL, @LatEnd REAL, @LngEnd REAL) RETURNS FLOAT
  AS
BEGIN
--距离(米)
  DECLARE @Distance FLOAT
  DECLARE @b INT SET @b = -180
  DECLARE @c INT SET @c = 180
  DECLARE @d INT SET @d = -74
  DECLARE @e INT SET @e = 74
  DECLARE @X_PI REAL SET @X_PI = 3.14159265358979323846
  if(@LngBegin > @c)
  begin
  set @LngBegin = @LngBegin-(@c - @b)
  end
  if(@LngBegin < @b)
  begin 
  set @LngBegin = @LngBegin+(@c - @b)
  end

  if(@LngEnd > @c)
  begin
  set @LngEnd = @LngEnd-(@c - @b)
  end
  if(@LngEnd < @b)
  begin 
  set @LngEnd = @LngEnd+(@c - @b)
  end
  
  if(@LatBegin < @d)
  begin
  set @LatBegin = @d
  end
  if(@LatBegin > @e)
  begin 
  set @LatBegin = @e
  end
  
  if(@LatEnd < @d)
  begin
  set @LatEnd = @d
  end
  if(@LatEnd > @e)
  begin 
  set @LatEnd = @e
  end
  
  DECLARE @aX REAL SET @aX = @X_PI*@LngBegin/180
  DECLARE @aY REAL SET @aY = @X_PI*@LatBegin/180
  DECLARE @bX REAL SET @bX = @X_PI*@LngEnd/180
  DECLARE @bY REAL SET @bY = @X_PI*@LatEnd/180
  
  set @Distance = 6370996.81*ACOS(SIN(@aY)*SIN(@bY)+ COS(@aY) * COS(@bY) * COS(@bX - @aX))
  RETURN @Distance
END

 

© 著作权归作者所有

共有 人打赏支持
吹比龙
粉丝 2
博文 116
码字总数 34765
作品 0
合肥
程序员
sqlserver,你的delete语句表名为什么不能别名?

前几天写了几行sql,用于清除环境里面的脏数据,平时开发用的是oracle数据库,看了下里面的语句,处理concat字符串拼接函数看起来稍微特殊点,其它都没有啥问题。百度了下,cancat可以用在收...

heshifk
04/23
0
0
WAF Bypass数据库特性(MSsql探索篇)

0x01 背景 探索玩了Mysql特性,继续来探索一下MSsql特性。 0x02 测试 常见有5个位置即:select * from admin where id=1【位置一】union【位置二】select【位置三】1,2,db_name()【位置四】f...

bypass
2017/07/02
0
0
在Linux上使用mssql-conf工具配置SQL Server 2017

在Linux上使用mssql-conf工具配置SQL Server 2017 mssql-conf是在Linux上安装SQL Server 2017后的一个配置脚本。你可以使用这个实用工具设置以下参数: 使用贴士: l 对于AlwaysOn可用性组和...

UltraSQL
07/30
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
07/20
0
0
php连接mssql数据库的几种方式

数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。 php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。 首先,php...

blazeq
2013/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7全局安装composer

1. 下载composer-setup.php到当前目录 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" 2. 安装 php composer-setup.php 3. 将composer设置成全局 mv c......

月夜中徘徊
25分钟前
1
0
20180920上课截图

小丑鱼00
32分钟前
1
0
基于TCP的远程服务调用

前言 上篇,分析了基于HTTP方式的RPC调用。本篇将在上篇的基础上,分析基于TCP方式的RPC调用。代码的整体思路是一致的,可以看作是在上篇功能上的扩展——即通信的方式。 代码:https://git...

MarvelCode
34分钟前
1
0
67:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

1、shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断、循环等语法: 可以自定义函数,目的是减少重复的代码: shell是系统命令的集合...

芬野de博客
58分钟前
1
0
json schema

json schema是用来验证和描述json对象结构的。 在线验证:https://www.jsonschemavalidator.net/ json schema 编辑器,推荐VSCode,写上"$schema": "https://raw.githubusercontent.com/jso......

谷永权
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部