在PostGIS中有很多计算多边形质心的方法,甚至我们也可以找到内部质心(代表点)。 但是有没有什么方法可以根据多边形的面积来计算加权质心。
例如我有一个包含两个多边形的多多边形(假设P1
和P2
分别具有区域A1
和A2
和A1
>> {{1} }。
但是从几何角度看,它们的实际质心位于两个多边形的外部,但为A2
>> A1
,因此我需要将此质心移近A2
。
答案 0 :(得分:3)
根据ST_Centroid
的文档:
...对于[MULTI] POLYGON,“重量”被认为是面积..
话说回来,您的质心将放置在最靠近较大区域的位置。
示例:
MULTIPOLYGON (((8.55 48.23,12.07 48.23,12.07 47.41,8.55 47.41,8.55 48.23)),
((13.34 53.47,22.62 53.47,22.62 51.68,13.34 51.68,13.34 53.47)))
使用ST_Centroid
计算质心将为您提供以下几点..
SELECT
ST_AsText(
ST_Centroid('MULTIPOLYGON (((8.55 48.23,12.07 48.23,12.07 47.41,8.55 47.41,8.55 48.23)),
((13.34 53.47,22.62 53.47,22.62 51.68,13.34 51.68,13.34 53.47)))'));
st_astext
------------------------------------------
POINT(16.8445429181027 51.8710758247169)
(1 Zeile)
..按面积加权,因此更接近于您的多多边形的较大多边形: