我从两个角度解决了这个问题,但是我肯定缺少PostGIS库的知识来实际执行我的需求。多边形点离质心最远的距离
基本上我有一个单独的Polygon(没有多面体)包含在一个名为“geom”的列中。它们都是非常简单的城市边界形状。我已经决定如何计算质心,但我想查询多边形中最长的点离质心的距离。
更直接:我很难找出如何从我的几何列中分出点,在顶点和质心之间运行ST_Distance()
并输出最长距离。
我怀疑我必须使用ST_DumpPoints()
但我不知道如何编写表达式来完成剩下的工作。
我的解决方案已经看过类似:
SELECT max(ST_Distance(ST_DumpPoints(geom), ST_Centroid(geom))) AS distance
感谢您对此的帮助!我会给你更多的细节,因为你的解决方案只有一半解释了我需要去的地方。我的几何值实际上是一个封闭的多边形 - 通常具有各种形状的10-15个顶点。问题是我想计算从质心到每个多边形的距离以确定最长点。我可以使用最小边界圆来做到这一点,但似乎是不必要的复杂。 – ddibiase
我工作的一个不同的解决方案,也许更优: SELECT ST_AsText(ST_CENTROID(ST_MinimumBoundingCircle(GEOM)::几何形状)), ST_AsText(ST_MinimumBoundingCircle(GEOM)::几何) FROM “地区” 我在想,如果我找到MBC并且它的质心可以计算从MBC中返回的任何多边形的距离。 现在我需要弄清楚如何从质心或直径计算半径。这是一种圆满的方式来完成我想要但可能工作。 – ddibiase
我完全不理解这些评论。帕特里克的答案如何解决您的问题?什么是“封闭”多边形而不是多边形?由于积分没有长度,什么是“最长”的一点?这是一种X-Y情况,您尚未描述您的实际问题,而是询问了您认为的解决方案? – user464502