Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Geopandas将包含多边形坐标的元组保存到Shapefile_Pandas_Tuples_Shapefile_Geopandas_Shapely - Fatal编程技术网

使用Geopandas将包含多边形坐标的元组保存到Shapefile

使用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),

我无法将包含多边形顶点坐标的元组转换为形状文件

元组对我来说是一种非常不熟悉的格式;如果它在一个数据帧中,我可以用geopandas轻松地完成它

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) ; (三)。我投票以“需要更多关注”结束这个问题。