首页 文章

在geomesa中是否支持测地线DWithin查询?

提问于
浏览
1

我正在使用几何中的DWithin查询 .

我从OSM中获取了许多地理位置,并希望进行DWithin查询 .

我有以下代码用于查询: val query = new Query("t1", ECQL.toFilter("DWITHIN(geo_point, POINT (14.453943 60.499611), 5000, meters)"))

我希望geomesa能够回答距离 POINT (14.453943 60.499611) 不到5000米的地方( Map 上的2,3,4点) . 但是几何学给了我比预期更多的分数 . 为此查询返回 Map 中的所有点(1,2,3,4,5,6) .

似乎geomesa无法正确过滤出DWithin查询的点,因为它不支持测地距离检查 .

那么,有没有办法让DWITHIN查询与geomesa正确(以测地线方式)?

谢谢!

example points

1 回答

  • 1

    GeoMesa使用geotools dwithin过滤器函数进行此类查询 . 不幸的是,该功能仅支持原生距离(即WGS84中的度数) .

    目前,最好的办法是使用geotools GeodeticCalculator类创建覆盖查询区域的多边形,并在交叉过滤器中使用它 . 或者,您可以使用大地测量计算器对结果进行后期过滤 .

    展望未来,我已经创建了一张票,以便在GeoMesa中更好地处理这个用例:https://geomesa.atlassian.net/browse/GEOMESA-2263

相关问题