云服务器网:购买云服务器和VPS必上的网站!

MSSQL实现快速计算两点经纬度距离

SQL Server在微软面向服务器环境中提供了一个强大的关系数据库管理系统(RDBMS),可使用T-SQL语言实现快速计算两点经纬度距离。通过使用T-SQL语句,我们可以计算两个给定点之间的距离,以英里,千米或米为单位。在本文中,我们将使用SQL Serve

SQL Server在微软面向服务器环境中提供了一个强大的关系数据库管理系统(RDBMS),可使用T-SQL语言实现快速计算两点经纬度距离。通过使用T-SQL语句,我们可以计算两个给定点之间的距离,以英里,千米或米为单位。在本文中,我们将使用SQL Server及相关的T-SQL函数来实现这一功能。

所有的实现都建立在要求地理位置信息表格内有两个经纬度列的情况下。这两个列名称可使用符号”lat(latitude)”和”long(longtitude)”。因此,在创建地理位置信息表格时,我们需要创建这两列。

计算两点之间距离,我们可使用T-SQL函数GEOGRAPHY()。该函数使用给定的参数,以固定顺序返回提供的地理信息。最重要的sharepoint这类参数是两个给定点,它们以以下字符串格式给出: “POINT(lat long)”。因此,我们可使用以下T-SQL语句计算指定点之间的距离:

“`sql

SELECT GEOGRAPHY:: STDistance (GEOGRAPHY:: Point (lat1, lon1, 4326), GEOGRAPHY:: Point (lat2, lon2, UNITS:: Miles) );


以上T-SQL语句将返回两个给定点之间的距离,以英里为单位。另外,我们还可以调剂函数中的UNITS::这个参数,以指定区别的距离单位。例如,我们可使用以下语句计算两点之间的距离,以千米为单位:

```sql
SELECT GEOGRAPHY:: STDistance (GEOGRAPHY:: Point (lat1, lon1, 4326), GEOGRAPHY:: Point (lat2, lon2, UNITS:: Kilometers) );

另外,还可以将GEOGRAPHY()T-SQL函数与其他类型的函数组合使用,以精确表达客户的需求,例如根据给定限制,挑选出两点之间某个距离的记录:

“`sql

SELECT *

FROM table_name

WHERE GEOGRAPHY:: STDistance (GEOGRAPHY:: Point (lat1, lon1, 4326), GEOGRAPHY:: Point (lat2, lon2, UNITS:: Miles) )


从上述T-SQL查询,我们可以得出在距离阈值100英里之内的所有数据记录。

总之,通过使用SQL Server及其相关的T-SQL函数,我们可以快速实现计算两点经纬度距离的功能。它可以用于实现区别精度和类型的定位要求,从而满足区别客户的区别需求。

本文来源:https://www.yuntue.com/post/114101.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注