获取WKT多边形的中心

5
我正在使用pandas,我得到了一个包含WKT格式位置列的数据集。例如:
POLYGON ((-58.4932 -34.5810,-58.4925 -34.5815,-58.4924 -34.5817))

这个例子中有很多点,精度更高,但我为了说明的目的缩短了它。另外,我不知道它是WKT还是字符串。如何获取此多边形的中心,以便将其用作坐标?提前致谢。


如果您只是将经度平均值和纬度平均值相加,那么它可能不会是精确的中心,但很可能在多边形内。否则,您需要应用重心公式。虽然建筑物与地球曲率相比较小,但在经度和纬度空间中天真地应用这样的公式可能会引入一些误差,为避免这种情况,您可能需要转换为笛卡尔坐标,应用重心公式,然后再转换回经度和纬度(忽略径向分量)。 - kpie
1个回答

7

你几乎已经有了WKT,但是多边形的线性环需要封闭。

Shapely有一个.centroid属性可以获取中心点:

from shapely import wkt
g = wkt.loads(
    'POLYGON ((-58.4932 -34.5810,-58.4925 -34.5815,-58.4924 -34.5817,-58.4932 -34.5810))')
print(g.centroid)  # POINT (-58.49270000000001 -34.5814)
print(g.centroid.coords[0])  # (-58.492700000000006, -34.581399999999995)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接