Him*_*shu 7 grails geospatial spatial-query spatial-index
我正在使用MySql处理Grails 1.3.2.我需要在数据库中存储某些位置的纬度和经度,然后根据用户的当前位置,我需要返回该位置特定半径范围内的项目.所以,我们基本上有以下要求:
我一直在研究我们在这里的各种选项,并想知道您对此有何看法/建议.我们这里有各种选择:
Lucene Spatial Search(http://wiki.apache.org/lucene-java/SpatialSearch)并研究如何使用它进行搜索
Grails Solr插件(http://www.grails.org/plugin/solr).但是这不会返回域对象.
Grails Stitches Plugin(http://www.grails.org/plugin/stitches).除了作者的网站(http://www.philliprhodes.com/content/stitches-30-seconds)之外,没有很多文档.
MySql空间扩展以及域类的所有字段上的全文索引.如果我们走这条路,那么我们就不会使用可搜索的了.
我相信这是与地图集成的任何应用程序中的一个非常基本的要求.
所以,我真的很想知道实现这个功能的最合适的方法.
谢谢
(我使用经度/纬度制作了一个原型来查找半径内的行,但现在已放弃该原型,转而使用英国可用的 GridRef 系统)
第一步,不要使用基于计算字段的 WHERE 条件(例如,基于给定坐标和行坐标的实际距离)。
相反,试试这个:
实际上这意味着:
这意味着您只需进行非常简单的计算即可获得覆盖比实际圆大 30% 左右的区域的模糊子集。如果您也想添加文本搜索,请选择 SELECT FROM(子查询)或在上面的简单比较之后添加文本子句,因为文本搜索的计算成本很高。
| 归档时间: |
|
| 查看次数: |
2980 次 |
| 最近记录: |