获取 WKT 多边形的中心
Obtaining the center of a WKT polygon
我正在使用 pandas,我获得的数据集有一个 WKT 格式的位置列。例如:
hospital.get_value(1,'WKT')
POLYGON ((-58.4932 -34.5810,-58.4925 -34.5815,-58.4924 -34.5817))
这个例子中有更多的点和更高的精度,但为了说明的目的我缩短了它。另外,我不知道它是 WKT 还是只是一个字符串。如何获取此多边形的中心以便将其用作坐标?提前致谢。
你几乎有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)
我正在使用 pandas,我获得的数据集有一个 WKT 格式的位置列。例如:
hospital.get_value(1,'WKT')
POLYGON ((-58.4932 -34.5810,-58.4925 -34.5815,-58.4924 -34.5817))
这个例子中有更多的点和更高的精度,但为了说明的目的我缩短了它。另外,我不知道它是 WKT 还是只是一个字符串。如何获取此多边形的中心以便将其用作坐标?提前致谢。
你几乎有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)