为什么这个RethinkDB查询
r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,10))返回真和此查询
r.polygon(r.point(0,0), r.point(0,10), r.point(10,10), r.point(10,0)).includes(r.point(10,9))返回false
发布于 2016-06-10 20:13:15
这很可能是浮点四舍五入的工件,无论是在值本身还是在交集算法中。在一般情况下,对于多边形外直线上的点,交点和包含没有很好的定义。这就像对有限精度的浮点数进行相等比较。
你用一个最小小于10的数字来代替这个点的经度,你应该得到稳定的结果。
https://stackoverflow.com/questions/37750510
复制相似问题