如何在多边形内找到适合标签的最佳位置

时间:2014-08-25 22:56:19

标签: c# wpf geometry polygon esri

多边形可能是凸的也可能不是凸的,不能旋转。 标签是一个也无法旋转的矩形。 我需要最大区域的中心来放置标签的中心。

(理想情况下,可以获得标签中心的可能位置的多边形。这样可以在重叠的多边形上不连贯地放置标签,但是它太多了......)

我正在使用几何服务(ESRI)来测试几何体(矩形,多边形等)是否在另一个多边形内(不规则多边形)。

Not a very good solution

1 个答案:

答案 0 :(得分:2)

实际上,解决方案很简单:

  1. 通过使用w,-w,h,-h翻译原始多边形来创建四个多边形 其中w和h是标签的半宽和半高。
  2. 将这四个多边形相交。
  3. 如果交集为空 - 标签不适合多边形。退出。
  4. 交叉点内的所有点都满足要求:将标签的中心放在其中一个点中。 enter image description here