【问题标题】:RethinkDB Polygon.includesRethinkDB Polygon.includes
【发布时间】:2023-03-19 19:53:01
【问题描述】:

为什么要进行 RethinkDB 查询

r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,10))

返回 true 和这个查询

r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,9))

返回 false

【问题讨论】:

    标签: rethinkdb


    【解决方案1】:

    这很可能是值本身或相交算法中的浮点舍入伪影。通常,对于恰好位于多边形外线上的点,没有很好地定义相交和包含。这就像对有限精度浮点数使用相等比较。

    如果您将点的经度替换为至少小于 10 的数字,您应该会得到稳定的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2016-08-04
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多