是否有任何逐点查找的算法?考虑一下我是否有多边形列表,我得到了2个形状:
形状1: x和y
[10,10,]
[10,40,]
[40,10,]
[40,40,]
形状2: x和y
[40,40,]
[40,80,]
[80,40,]
[120,120,]
如果我有一点可以说 第1点用x和y
[119,199]
这意味着我选择了形状2, 是否有任何算法可以从点确定形状?
答案 0 :(得分:2)
有许多不同的数据结构可用于执行此类查询 - 大多数是树结构,它们表示某种空间层次结构中的多边形。我个人最喜欢的是R树,它有一个very good implementation in recent versions of the boost libraries。您可以从多边形列表构建一个R树,然后对一个给定点执行查询以查看它所在的多边形,这是一个非常简单(高效)的问题。
答案 1 :(得分:0)
它是开源的,因此您可以研究他们的代码。请查看Geometry.contains()方法以了解您的具体问题。