使用Geopandas将包含多边形坐标的元组保存到Shapefile
我无法将包含多边形顶点坐标的元组转换为形状文件 元组对我来说是一种非常不熟悉的格式;如果它在一个数据帧中,我可以用geopandas轻松地完成它使用Geopandas将包含多边形坐标的元组保存到Shapefile,pandas,tuples,shapefile,geopandas,shapely,Pandas,Tuples,Shapefile,Geopandas,Shapely,我无法将包含多边形顶点坐标的元组转换为形状文件 元组对我来说是一种非常不熟悉的格式;如果它在一个数据帧中,我可以用geopandas轻松地完成它 shape= ({'type': 'Polygon', 'coordinates': [[(-148.7285301097261, 60.42704276401832), (-148.7285301097261, 60.42693172262919), (-148.7285856304207, 60.42693172262919),
shape= ({'type': 'Polygon',
'coordinates': [[(-148.7285301097261, 60.42704276401832),
(-148.7285301097261, 60.42693172262919),
(-148.7285856304207, 60.42693172262919),
(-148.72830802694787, 60.42704276401832),
(-148.7285301097261, 60.42704276401832)]]},
1.0)
我无法通过pd.dataframe(shape)
转换为数据帧;无法通过shape['coordinates']
或pd.DataFrame(list(shape))
对元组进行子集设置以访问坐标。我已经复习过了,但是我仍然坚持要从元组结构中获取坐标
给定此处所示结构的元组,如何创建形状文件(通过Geopandas)?您应该能够通过读取元组的第一个元素将其转换为
DataFrame
:
pd.DataFrame(形状[0]).explode('坐标')
出[1]:
类型坐标
0多边形(-148.7285301097261,60.42704276401832)
0多边形(-148.7285301097261,60.42693172262919)
0多边形(-148.7285856304207,60.42693172262919)
0多边形(-148.72830802694787,60.42704276401832)
0多边形(-148.7285301097261,60.42704276401832)
如果您需要分成x
和y
两部分,只需从系列中选取项目即可:
df=pd.DataFrame(形状[0])。分解('coordinates')。重置索引(drop=True)
df=df.join(df['coordinates'].apply(pd.Series)).rename(columns={0:'x',1:'y'}.drop('coordinates',axis=1)
出[2]:
xy型
0多边形-148.728530 60.427043
1多边形-148.728530 60.426932
2多边形-148.728586 60.426932
3多边形-148.728308 60.427043
4多边形-148.728530 60.427043
我可能错了,但在我看来,你在同一时间问的问题太多了。1) ; 2) ; (三)。我投票以“需要更多关注”结束这个问题。