Answers:
有许多方法可以加权距离以构造蒂森多边形。 构造它们的基本思想是基于比较任意点x与两个固定点p和q之间的距离;您需要确定x是否比p更“接近” q。为此,至少在概念上,我们考虑了距离dp = d(x,p)和dq = d(x,q)。加权通常以两种方式发生:可以为点赋予正数值权重wp和wq,并且可以转换距离本身。
从某种意义上说,变换(我将写为f)应随着距离的增加而增加;也就是说,每当d'> d> = 0时,f(d')> f(d)。此类转换的示例为f(d)= d + 1,f(d)= d ^ 2(零售引力的赖利定律) ),f(d)= 1-1 / d(假设所有距离均小于1),f(d)= log(d),f(d)= exp(d)-1。
然后我们说x恰好在什么时候比p更接近于q
f(d(x,p))/ wp <f(d(x,q))/ wq。
注意权重除法,而不是乘法:这意味着较大的权重将趋向于“拉入”更远距离的点。您将在下面的运行示例中看到这一点。
这是一件很美的事情,也是这个有点抽象的论述的全部要点:尽管所得的蒂森地区可能具有复杂且极难计算的边界,但使用基于网格的表示法则相对容易计算。 这是食谱:
对于每个输入点p,计算其欧几里得距离网格[d(p)]。
使用地图代数应用f和权重,从而将每个距离网格重新表示为
[fp] = f([d(p)])/ wp。
这是一个使用f(d)= 100 + d ^(3/2)的示例;比例是400 x 600。
随着f(d)的增加,该值将变暗。显然,此示例中的距离是相对于中心红点的距离;其他四个点分别获得各自的距离计算(未显示)。点的面积与它们的权重成正比,分别为2、10、3、4和5。
计算所有这些网格的局部最小值[fp]。称它为[f]。这是一个例子。
通过将[f]与每个[fp]进行比较,向每个网格单元分配[f]> = [fp] 的第一个p的标识符。(例如,这可以通过最低位置操作一步完成。)
(我怀疑在任何地方都存在一种算法,它将为此加权函数f计算矢量格式的解决方案。)
显然,如果您有几个点p,您将编写脚本,并且如果它们的数量达到数千,您可能会放弃在计算上不可行的尝试(尽管有许多方法可以通过平铺来加速计算)。
在/gis//a/17377/上显示了另一个示例,该示例在椭圆体上显示了蒂森多边形。
您想要的是一个加权的Voronoi图:http : //en.wikipedia.org/wiki/Weighted_Voronoi_diagram 在二维平面中使用乘法权重时也称为圆形Dirichlet细分。似乎有人构建了arcgis 9扩展来构建这些扩展:http : //arcscripts.esri.com/details.asp? dbid=15481 此处提供了用户指南, 网址为http://geography.unt.edu/~pdong/software .htm 和发表在Dong,P.上的论文,2008。为GIS中的点,线和面要素生成和更新加权加权Voronoi图。计算机与地球科学,第34卷,第4期,第411-421页。
为此,最近有一篇有关基于矢量的算法的文章(我假设P Dong的算法是基于栅格的)。 http://www.sciencedirect.com/science/article/pii/S0098300411003037 摘要说,其中包含c#代码。