获得一个WKT多边形
问题描述:
我使用熊猫,我所获得的数据集的中心具有在WKT格式的位置的列。例如:获得一个WKT多边形
hospital.get_value(1,'WKT')
POLYGON ((-58.4932 -34.5810,-58.4925 -34.5815,-58.4924 -34.5817))
还有很多更多的积分,并在这个例子中更大的精确度,但我缩短了它用于说明目的。另外,我不知道它是一个WKT还是一个字符串。我如何获得这个多边形的中心,所以我可以用它作为坐标?提前致谢。
答
你几乎有WKT,不同之处在于多边形线性环需要关闭。
身材匀称有.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)
这不会是确切的中心,但它可能会在多边形内,如果你只是平均经度在一起,平均纬度在一起。否则,你将要应用的质心公式,而建筑都是相对比较小天真地应用在经度和纬度空间这样一个公式可能会引入一些错误地球的曲率,以避免这一点,你可能会想转换到笛卡尔坐标,应用质心公式,然后转换回经度和纬度(忽略径向分量)。 – kpie