- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要找到一个不规则形状多边形的视觉中心点。通过视觉中心,我的意思是视觉上看起来位于多边形大区域中心的点。应用是在多边形内部放置一个标签。
这是一个使用内部缓冲的解决方案:
如果要使用这个,有什么有效且快速的方法来找到缓冲区?如果要使用其他方式,是哪种方式?
真正困难的多边形的一个很好的例子是一个巨大的粗U(用Arial Black或Impact或其他类似字体书写)。
最佳答案
我从 MapBox 找到了一个非常好的解决方案,名为 Polylabel 。完整的源代码可以在他们的Github上找到。也是。
本质上,正如 T Austin 所说,它试图找到多边形的视觉中心。
某些细节表明这可能是一个实用的解决方案:
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/
我正在尝试在使用 jOOQ (3.9.x) 时在 MySQL POLYGON 类型和 Jts Polygon 之间进行无缝转换。理想情况下,我只想将数据库中的 WKT(众所周知的文本)解析为 Jts
文档字符串说: Polygon.contains 如果几何包含另一个则返回 True,否则返回 False Polygon.within 如果几何体在另一个几何体内部则返回 True,否则返回 Fal
我有一个包含 1000 个多个重叠多边形的大型 shapefile。我试图在这些多个重叠多边形之外合并区域,这些多边形不与图层中的任何多边形重叠。这些实际上是火灾多次燃烧的区域,我正在寻找火灾仅燃烧一
我有两个问题: 1.) 我刚刚找到了 boost 1.53 Polygon 实现(在 http://www.boost.org/doc/libs/1_53_0/libs/polygon 上)并且想测试
所以我想在 javascript 中合并相邻的多边形,这就是我的代码实际拥有的内容: 我想删除内部笔划但保留边框笔划。 所以我想从这里开始: 对此: 我想保留巴黎的洞 - 我可以定义必须对哪些多边形进
我有一个 geojson 文档,我想对其执行一些 GEOS 转换,例如:计算交点、从另一个多边形中减去多边形等。 我已经能够创建 geo_types::Polygon来自文档,但无法将其转换为 GEO
我正在尝试展示纽约州 COVID 病例的增长情况 这段代码得到了我想要的情节,但没有动画或时间方面。 完整错误: Error in insert_points(polygon$x, polygon$y
我正在尝试使用多边形实现地理围栏系统。基本上,如果用户进入地理围栏区域,用户应该会收到通知。经过许多研究后,我只能使用 Circular 找到 Geofence。到目前为止,我实现了该系统,但它仅通过
所以,我做了一个棱镜: width=30 thickness=15 polyhedron( points=[ [width,0,0],[width,0,thickness],
我正在尝试在 openscad 中创建一个风扇管道,将管道从圆形展平为椭圆形。有没有办法在openscad中做到这一点?如果没有,是否还有其他编程方式来生成这种类型的 3d 模型? 谢谢 丹尼斯 最佳
我有许多多边形,每个多边形都表示为一个点列表。我正在寻找一种快速算法来遍历多边形列表并取消所有交叉边,直到没有交叉边为止。 当前版本的伪代码: While True: For each pai
我在整个互联网和科学数据库中搜索了一篇关于单调多边形的 Delaunay 三角剖分的论文。我不是在寻找任意的多边形三角剖分,而是在寻找 Delaunay 三角剖分。有人知道这样的出版物,其中单调多边形
我有一个 2D 多边形,我想将其缩小特定的偏移量 (A) 以匹配原始多边形的特定面积比 (R)。 是否有解决此类问题的公式或算法?我对三角形/四边形的简单解决方案以及复杂多边形的解决方案感兴趣。 我附
我有一个由点列表组成的二维多边形,我想检查给定点是否位于该多边形中,但我找不到检查这个的好方法。 谁能指出我正确的方向? 最佳答案 http://en.wikipedia.org/wiki/Point
在我的调查过程中,我一直试图为拟议的风力涡轮机开发找到合适的位置,通过这个我计算了合适的区域,如图 1 所示。但我仍然试图找到一种方法来计算可能的涡轮机数量位于该多边形内部,由于涡轮机不能在彼此的 6
如何从一组固定位置的多边形中选择最少数量的多边形,其并集覆盖输入多边形? 例如,让我们考虑以下输入,其中绿色多边形是查询集,蓝色多边形是查询: 正确的覆盖应该是两个多边形: 如何计算哪些多边形最有效地
我正在使用传单绘制来创建多边形。我的要求是当用户绘制多边形时,它不应与现有多边形相交/重叠。我已经使用多边形传单中的点来检测点是否落在多边形内并且它正在工作,但问题是我无法检测一条线是否穿过另一个多边
我问是否有任何特定的顺序需要输入我的坐标集以使用 Java 中的 Graphics2D 类绘制多边形。 例如,对于 X 和 Y 坐标数组,我的坐标(X,Y)的值是否需要按降序/升序排列?或者另一个例子
我正在处理 IfcFace .我得到了一个带孔的简单多边形,我需要将它转换为多个没有孔的简单多边形,以便我的 CAD 进一步处理它。一个小演示说明: 我最好的方法是进行约束德劳内三角剖分并将三角形重新
我正在使用 NLCD 数据处理一个巨大的区域,7 个州的森林和非森林。在一些森林区域内有一 block 地 block (这是我正在研究的硕士论文)。我用这个大数据集让我问过的每个人都难过,但我们确信
我是一名优秀的程序员,十分优秀!