现在我在Oracle 10g数据库中有LAT(FLOAT)
和LNG(FLOAT)
列的表。
任务是查找给定点(中心)的特定距离(半径)内的所有条目。应用程序本身是Java,Hibernate用作JPA实现。
经过一番研究后,我发现需要使用Oracle Spatial。但是,无法将我的列转换为SDO_GEOMETRY
,因此我无法使用Oracle的SDO_WITHIN_DISTANCE
函数。
是否有解决方法来实现此类功能?
目前我只是查询所有条目并使用Haversine公式迭代它们 - 这很快就会成为瓶颈: - )
感谢您的协助!
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您无法更改目标表上的列,则可以使用触发器将单独表中的数据实现为sdo_geometry,使用sdo_within_distance然后将行连接到原始表。