作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试建立一个程序来获得 k 个最近的邻居点到具有选定 ID 的点。我需要在不使用任何空间定位器功能(如 sdo_geometry 或 nn)的情况下执行此操作。
基本上我在 oracle 中有一个表,其 ID、Data_X、Data_Y。假设我的表中有 10 个条目,我需要 3 个最接近虚构点 target_x、target_y 的点。
我们需要计算表中每个点与我给定的虚构点的欧氏距离。我只是不知道 pl/sql 中的算法会返回最近的邻居 ID。
最佳答案
计算每个点与所选点之间的距离(毕达哥拉斯),并按距离排序。伪sql:
select id from points
order by sqrt(sqr(Data_x - target_x) + sqr(Data_y - target_y))
前 3 行是最近的 3 个点。
关于algorithm - oracle中带点数据的表没有索引的最近邻查询的pl/sql代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538323/
我是一名优秀的程序员,十分优秀!