【发布时间】:2011-06-11 01:13:26
【问题描述】:
有没有一种有效的方法来查看 N 个 (x,y) 点是否在 K 个矩形内?现在我正在做一个蛮力方法并遍历所有点和矩形,但它需要大约 2 分 30 秒,有 200,000 个点和 44 个矩形。
我正在使用 Google 地图并创建一个程序来检查点是否靠近地图上的路线。我沿路径计算多个矩形和圆形,并测试现有点是否位于这些矩形和圆形内。
1.根据路线的性质,矩形可以重叠。
2.点必须在一个的矩形
3.如果该点位于矩形的边缘,我想让它算在矩形内(但如果它更容易不计算,那么我不会计算它)
4.矩形取决于我想在路线外搜索的区域。通常,它们高 2 英里(从点的每个方向 1 英里)和从点 1 到点 2 的距离宽。
【问题讨论】:
-
两个问题:您通常处理的矩形区域有多大(只是想知道为什么要处理这么多点),以及您已经尝试过哪些方法(如果有的话)?
-
好问题!但是,请澄清您如何定义矩形?它们可以重叠吗?你会测试每个点是否在所有矩形中,还是一个矩形就足够了?
-
1) 矩形是否重叠? 2)我可以假设矩形与点在同一个笛卡尔平面上? 3) 位于矩形边缘的点算作矩形内吗?
-
@FinalForm @mkilmanas @normalocity 嘿伙计们,我编辑了帖子来回答你的问题
-
删除了 PHP 标记,因为这并不是 PHP 所特有的。
标签: performance coordinates routes coordinate-systems