Apache点燃地理空间查询示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache点燃地理空间查询示例相关的知识,希望对你有一定的参考价值。

我正在寻找一个使用Apache Ignite的示例,其中我们有一堆地理点,例如城市中的示例位置,我们查询接近半径内某个点的点。

我找到了一个POLYGON搜索的例子:https://dzone.com/articles/geospatial-queries-with-apachereg-ignite

谢谢,路易斯奥斯卡

答案

Ignite使用Java Topology Suite来支持空间查询。据我所知,JTS不支持圆形几何。

但您仍然可以使用多边形近似圆。如果您确切需要适合圆形的点,则可以查询位于外接正多边形中的点,然后筛选出距离大于指定半径的点。可以在查询外部的代码中执行过滤。

另一答案

如上所述,您可以使用“更大的矩形或正方形”,这是包含圆圈的较小矩形。然后使用isignithaldistance(...)方法从您的orignal点遍历结果,以过滤矩形内的点但不在圆圈内。

然而,由于点燃使用JTS,这是一个平面表示,根据我的测试,你无法使用球形(或椭圆体)投影(如WGS84)进行精确搜索,并且许多结果都是错误的。很可能多边形搜索不准确,并且isWithinDistance不会正确过滤,除非您在距离原点不到10米的位置搜索。

以上是关于Apache点燃地理空间查询示例的主要内容,如果未能解决你的问题,请参考以下文章

mongoDb地理空间索引和查询

Solr 7 - 如何使用地理空间搜索进行全文搜索

用于地理定位/地理空间测试的有效地址列表/数据库

PostgreSQL 是不是实现地理空间关系查询?

地理空间索引的划分查询

如何使用 NoSQL 大规模运行地理空间查询?