【问题标题】:Is there support for geodesic DWithin query in geomesa?geomesa 中是否支持测地线 DWithin 查询?
【发布时间】:2018-04-17 13:09:59
【问题描述】:

我正在努力处理 geomesa 中的 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 米的点(地图上的点 2、3、4)。 但是 geomesa 给了我比预期更多的分数。 此查询将返回地图中的所有点 (1,2,3,4,5,6)。

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

那么,有什么方法可以使 DWITHIN 查询与 geomesa 一起正常工作(以测地线方式)?

谢谢!

【问题讨论】:

  • 由于该地图位于 Web Mercator 中,因此椭圆是正确的“圆”
  • @IanTurton 当然,图形表示可能会令人困惑..

标签: geoserver geotools geomesa


【解决方案1】:

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

目前,您最好的选择是使用 geotools GeodeticCalculator 类创建一个覆盖您的查询区域的多边形并在相交过滤器中使用它。或者,您可以使用大地计算器对结果进行后过滤。

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

【讨论】:

  • 感谢您的澄清和创建票证!
猜你喜欢
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多