所以我读了一个带有pandas的.csv文件。我希望读取一个特定的行和列,有一个多边形的坐标可用。它看起来像这个"(-117.878472193291,33.9258862905858),(-117.959630976464,33.9287353414733),(-117.988036550575,33.8445186678524),(-117.871292762472,33.8478889307759)"
。
现在我想把它转换成一个实际的多边形,我可以使用Shapely。
我的代码看起来像这样:
df = pd.read_csv(thecsv.csv)
print(df['coodinates'].iloc[:1])
display: 0 (-117.878472193291,33.9258862905858),(-117.959...
我尝试将其转换为多边形:
poly = Polygon(df['coordinates'].iloc[:1])
现在我得到了这个错误:
ValueError:LinearRing必须至少有3个坐标元组
有什么建议吗?我说的对吗?谢谢!
1条答案
按热度按时间lx0bsm1f1#
你的坐标似乎是在一个Python的文字一样的语法。你可以在将它传递给
Polygon
之前使用ast.literal_eval
解析它:a.csv:
输出: