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点燃地理空间查询示例的主要内容,如果未能解决你的问题,请参考以下文章