如何在 T-SQL 中使用大圆距离计算
我如何从工作表中控制团队和客户的纬度和经度,并具有合理的误差范围?
如果两个值彼此接近,我将返回“true”,如果不是“false”,则
工作表(如下所示):
JobID CustomerID TeamID
2 13 1
3 13 2
团队表:
TeamID Latitude Longitude
1 41.019 28.965
2 42.019 27.165
客户表
ID Latitude Longitude
13 13.557 13.667
How can i control the latitude and the longitude of the Team and the Customer with reasonable error margin from the Job Table?
if the two values are close to eachother i will return it "true", if not "false"
Job Table (like this) :
JobID CustomerID TeamID
2 13 1
3 13 2
Team Table :
TeamID Latitude Longitude
1 41.019 28.965
2 42.019 27.165
Customer Table
ID Latitude Longitude
13 13.557 13.667
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
功能:
The function:
我假设你的意思是:如果两个纬度和经度彼此相距 x 英里以内,我该如何编写一个 select 语句来返回 true...或者类似的东西?
查找“great_circle_distance”,
编写一个将客户链接到团队的查询。
对两个纬度和经度执行大圆距离计算。
将其与您想要的距离进行比较。
使用解码或一些类似的构造将其转换为“True”或“False”值。
i assume you mean: how can i write a select statement to return true if two latitudes and longitudes are within x miles of each other... or something like that?
look up 'great_circle_distance'
write a query that links the customer to the team.
perform the great circle distance calculation on the two lats and longs.
compare this to you desired distance.
use decode or some similar construct to turn that into a 'True' or 'False' value.
SQL 有一个地理数据类型和一个计算两者之间距离的方法。将您的纬度、经度对隐藏到地理位置。
http://msdn.microsoft.com/en -us/library/microsoft.sqlserver.types.sqlgeography.stdistance.aspx
然后你可以使用一个函数来返回 true 或 false。
SQL has a geography datatype and a method to calculate the distance between two. Covert your Lat, Long pairs to geography.
http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.types.sqlgeography.stdistance.aspx
Then you could use a function to return a true or false.