寻求算法以最小间距放置约束区域内的最大点数?


17

我有一个描述约束的多边形层;我希望在这一领域内加点。我想添加尽可能多的点,但是它们之间的距离必须最小。使用GIS可以做到这一点吗?

为了澄清,最好是可以生成有序网格,因为这样可以保证最多的点数。但是,约束很少会允许这样做,因此最好删除点以允许偏移量更好地适合约束。


1.是的 2.您想要随机的还是有序的(网格)?
Brad Nesom 2011年

似乎是两个问题。您是否希望算法在软件之外执行此操作?还是您想知道什么GIS系统可以做到这一点?
Brad Nesom 2011年

1
这些点是否受到约束,以使它们必须> =距多边形边界的最小距离?如果是这样,那么问题可能会更明确地表述为:如何将最大数量的圆包装到多边形中?
Kirk Kuykendall,

以某种方式相关:gis.stackexchange.com/q/4927/162
2011年

1
@qva没有,因为可以找到的精确解是不对称的,并且即使对于简单的形状(如矩形)也很难获得。我发现的最佳计算方法是基于空间模拟退火(即使需要大量计算,它们也可以很好地工作)。使用它们,我研究了许多形状不同的多边形的解决方案。显然,多边形边界控制着靠近边界的解;在内部深处,它们趋向于近似盘的六边形堆积。
ub

Answers:



9

我不知道有什么GIS工具可以做到这一点,但是我对算法有一个想法。

首先,可以使用以下公式获得最大点数的近似值:

Nb = 4.A / Pi.d^2

(哪里A是多边形面积和d最小间距)。

然后,要尝试将这些点定位到多边形中,最好的图案不是正方形网格,而是六角形网格。看到:

正方形与六角形网格

最后,可以使用一些使用力模型的优化技术来完善点的相对位置。

注意:这是晶体学中一个众所周知的问题。


gis工具可以做到这一点... ian-ko.com地理向导多边形中的随机点。
Brad Nesom 2011年

1
谢谢!但是问题不完全是关于多边形中的随机点,对吗?
julien 2011年

作为一种快速的近似方法,六角形的包装行之有效。但是,它几乎从来都不是最佳的。我希望潜在的改进与多边形的周长成正比,因此对于具有许多点的非曲折多边形来说,这不是一个坏方法。
Whuber

6

请参阅/math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon中的线程。特别是,请注意对“泊松磁盘过程”的引用(在注释中)并进行一些Web搜索。与当前问题的联系是,当您可以均匀地分配给定数量的点时,则可以系统地增加该数量,直到不能再将任何点放入多边形中为止,解决了最大化受点约束的点数的问题。最小距离要求。(从技术上讲,这两个问题是双重优化问题,其中目标和约束互换。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.