【问题标题】:Store Geolocation coordinates in Grails Domain models?在 Grails 域模型中存储地理位置坐标?
【发布时间】:2015-07-17 12:49:57
【问题描述】:

我想存储地理位置坐标的经度和纬度,以便以后可以在 GORM 中指定区域并进行如下查询:

SELECT * FROM Place 
WHERE lat BETWEEN :x1 AND :x2
AND lng BETWEEN :y1 AND :y2

如何将坐标存储在我的域中?我的底层数据库是 MySQL。

我的建议是:

class Place {
  double lat
  double lng
}

我还读到有一个空间索引。你会推荐在 Grails 中使用它吗?如果是这样,我如何映射我的域以适应这个?

【问题讨论】:

    标签: mysql hibernate grails


    【解决方案1】:

    你需要像 Hibernate 空间插件这样的东西:https://grails.org/plugin/hibernate-spatial

    【讨论】:

    • Last Updated: 30 September 2011hmmm
    • 我也找到了这个插件,但它已经过时了。没有其他人一起使用mysql空间索引和Grails吗?
    • mysql 5.5 中是否包含空间扩展?我没有找到任何安装方法。
    【解决方案2】:

    空间索引或地理搜索与 GORM 本身无关,它是 Postgres 或 Mongo 等数据库的功能。因此,如果要使用它,则必须进行低级或特定于插件的查询。

    如果你想存储和查询你所展示的坐标对,那很好。您可以通过将最大浮点精度设置为 6(对应于 10 米精度)来调整列并在它们上设置索引

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多