加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Oracle中高效地计算坐标之间的距离

发布时间:2020-12-12 13:13:30 所属栏目:百科 来源:网络整理
导读:我有一个大的Oracle数据库(720,000条记录aprox),其中每条记录都有自己的地理坐标(lat lng),我只需要选择距离某一点(特定半径内)特定距离的记录. 目前我已经实现了在oracle论坛中找到的距离函数(基于hasrsine),但由于数据库有点大,每次选择花费大约50秒. 关于
我有一个大的Oracle数据库(720,000条记录aprox),其中每条记录都有自己的地理坐标(lat& lng),我只需要选择距离某一点(特定半径内)特定距离的记录.

目前我已经实现了在oracle论坛中找到的距离函数(基于hasrsine),但由于数据库有点大,每次选择花费大约50秒.

关于如何有效地做任何建议?我知道有一个名为oracle spatial& amp;定位器,但我不知道我是否可以购买它甚至它是如何工作的.非常感谢提前.最好的祝福

解决方法

使用更好的算法.不需要计算需要平方根计算的实际欧几里德距离,而是选择仅需要减法和加法的线性距离.即如果您的点位于(10,10)且半径为5,则选择由(10 / – 5,10 / – 5)形成的正方形内的点的所有位置.

这将在广场的角落捕获少量误报.通过计算适当的欧几里德距离,仔细检查应用程序中的结果来消除这些.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读