如何使用 bivrp::is_point_inside 检查点是否在正方形内

问题描述 投票:0回答:1

我正在尝试

bivrp::is_point_inside
检查一个点是否在正方形内,但无论我尝试什么,我总是得到FALSE,即使在最明显的情况下......我做错了什么?

我的代码:

polyg=data.frame(c(15, 15, 0, 0), c(15, 0, 0, 15))
point=c(5,5)
bivrp::is_point_inside(point, polyg)

我认为我们都同意

5,5
处的点将位于坐标为
15,15
15,0
0,0
0,15
的正方形内,但是:

> bivrp::is_point_inside(point, polyg)
[1] FALSE

我在这里做错了什么吗?

注意我优先使用

bivrp::is_point_inside
;我有一些旧代码,我使用过它并且从来没有任何问题,如果它不再正常工作,我将不得不修改旧代码。

编辑

这个函数显然不起作用...有人可以建议一个具有相同功能(检查点是否在多边形内)但有效的函数吗?我将不得不使用它修改我的旧代码......

r polygon point square
1个回答
0
投票

好消息。我刚刚用

secr
测试了你的示例,它似乎工作得很好。

这是示例代码:

library(secr)
polyg <- data.frame(x = c(0, 15, 15, 0),
                    y = c(0, 0, 15, 15))

# Here is your point
point_inside <- matrix(c(5, 5), ncol = 2)
secr::pointsInPolygon(point_inside, polyg)

# Here is an arbitrary point outside
point_outside <- matrix(c(16, 5), ncol = 2)
secr::pointsInPolygon(point_outside, polyg)

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.