gpt4 book ai didi

polygon - 找到不规则多边形的 "visual"中心的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-03 05:05:34 33 4
gpt4 key购买 nike

我需要找到一个不规则形状多边形的视觉中心点。通过视觉中心,我的意思是视觉上看起来位于多边形大区域中心的点。应用是在多边形内部放置一个标签。

这是一个使用内部缓冲的解决方案:

https://web.archive.org/web/20150708063910/http://proceedings.esri.com/library/userconf/proc01/professional/papers/pap388/p388.htm

如果要使用这个,有什么有效且快速的方法来找到缓冲区?如果要使用其他方式,是哪种方式?

真正困难的多边形的一个很好的例子是一个巨大的粗U(用Arial Black或Impact或其他类似字体书写)。

最佳答案

我从 MapBox 找到了一个非常好的解决方案,名为 Polylabel 。完整的源代码可以在他们的Github上找到。也是。

本质上,正如 T Austin 所说,它试图找到多边形的视觉中心。

enter image description here

某些细节表明这可能是一个实用的解决方案:

Unfortunately, calculating [the ideal solution ] is both complex and slow. The published solutions to the problem require either Constrained Delaunay Triangulation or computing a straight skeleton as preprocessing steps — both of which are slow and error-prone.

For our use case, we don’t need an exact solution — we’re willing to trade some precision to get more speed. When we’re placing a label on a map, it’s more important for it to be computed in milliseconds than to be mathematically perfect.

关于使用的快速说明。源代码非常适合开箱即用的 Javascript,但是如果您打算将其与“普通”多边形一起使用,那么您应该将其包装在一个空数组中,因为这里的函数采用 GeoJSONPolygons而不是普通的多边形,即

var myPolygon = [[x1, y1], [x2, y2], [x3, y3]];
var center = polylabel([myPolygon]);

关于polygon - 找到不规则多边形的 "visual"中心的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203135/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com