我想存储地理位置坐标经度和纬度,以便我以后可以在GORM中指定一个区域和查询:
SELECT * FROM Place
WHERE lat BETWEEN :x1 AND :x2
AND lng BETWEEN :y1 AND :y2
如何在我的域中存储坐标?我的底层数据库是MySQL。
我的建议是:
class Place {
double lat
double lng
}
我还读到有一个空间索引。你会建议用Grails吗?如果是这样,我如何映射我的域以适应这个?
答案 0 :(得分:0)
您需要类似Hibernate空间插件的内容:https://grails.org/plugin/hibernate-spatial
答案 1 :(得分:0)
空间索引或地理搜索与GORM本身无关,它是Postgres或Mongo等数据库的一个特性。因此,如果要使用它,则必须进行低级或特定于插件的查询。
如果你想要存储并查询你所显示的坐标对,那就没关系了。您可以通过将max float precision设置为6(相当于10米精度)来调整列,并在其上设置索引