我有一个非常大的数据集,由(x,y)坐标组成。我需要知道这些点中哪些位于2D空间的某些区域内。这些区域由2D域中的4条线界定(其中一些边缘略微弯曲)。
对于较小的数据集,我使用了冗长的for循环来测试每个点是否属于每个区域。由于数据集的大小,这似乎不再是一个好的选择。
有更好的方法吗?
例如:
如果我有一组点: (0,1) (1,2) (3,7) (1,4) (7,5)
以及由以下线条界定的区域:
对于较小的数据集,我使用了冗长的for循环来测试每个点是否属于每个区域。由于数据集的大小,这似乎不再是一个好的选择。
有更好的方法吗?
例如:
如果我有一组点: (0,1) (1,2) (3,7) (1,4) (7,5)
以及由以下线条界定的区域:
y=2
y=5
y=5*sqrt(x) +1
x=2
我希望找到一种方法来识别该区域中的点(或点)。
谢谢。
精确的代码在另一台计算机上,但是从记忆中它大致是这样的:
point_list = []
for i in range(num_po):
a=5*sqrt(points[i,0]) +1
b=2
c=2
d=5
if (points[i,1]<a) && (points[i,0]<b) && (points[i,1]>c) && (points[i,1]<d):
point_list.append(points[i])
这不是精确的代码,但应该可以给您一个我尝试过的想法。