【问题标题】:Find radius from centroid从质心求半径
【发布时间】:2014-06-20 16:32:04
【问题描述】:

感谢RGeo,我正在将 KML 文件转换为存储在我的数据库中的多边形

我需要质心:@area.centroid,我想在我的形状上找到近似半径。 我不知道这是否可能。我的数据库字段是geometry。这意味着我可以存储多边形和多多边形。我的区域类型是RGeo::Geos::CAPIMultiPolygonImpl

最后我想我需要检查该区域是一个简单的多边形还是一个倍数。如果它是一个简单的,我想找到半径。别的什么都没有。

感谢您的帮助!

【问题讨论】:

  • 似乎是这样,但我无法使用我的 CAPIMultiPolygonImpl 变量类型通过 active-record 调用此方法。你还有什么秘诀吗?感谢您的帮助。
  • somewhat readable code for ST_MinimumBoundingCircle 显示了可能提供一些想法的底层逻辑。例如,它在凸包的每对点之间进行蛮力距离搜索。您可以将其简化为仅外环和质心。
  • 我不能做外环,因为我正在使用MultiPolygon 类型。我可以找到每个多边形的每个半径,并将其添加到到其中一个质心的最大距离上。我会看看它。谢谢。
  • 你可以用多多边形的凸包来得到多边形的外环。

标签: ruby-on-rails postgis polygons rgeo


【解决方案1】:

我终于做到了:

  1. 凸壳
  2. 这个凸包的质心
  3. 凸包点之间的最小距离(感谢exterior_ring 函数)和质心

顺便说一句,我不知道为什么我必须采取最低限度。这是为了适应我的规模。我真的不明白如何找到多边形的质心(可能具有非常奇怪的形状)。

无论如何,这要归功于前面编写的 3 个步骤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多