Gis 将geopandas几何体转换为shapleys多边形

Gis 将geopandas几何体转换为shapleys多边形,gis,geopandas,shapely,Gis,Geopandas,Shapely,一般来说,我对python非常陌生,但我有着良好的Fortran和Matlab编程背景。我试图找出一个看似简单的任务: 我正在使用GeoPandasread\u file命令导入一个Shapefile。它没有问题,并且包括几何体列,该列包含由所有顶点表示的多边形,正如您所期望的那样。数据是一行 我需要的是一个Shapely的多边形来传递到py3dep中,这样我就可以收集我需要的空间光栅,而我不知道如何将几何体条目转化为多边形 解决方法必须简单,但我已经搜索了好几个小时,尝试了上千种不同的方法,但

一般来说,我对python非常陌生,但我有着良好的Fortran和Matlab编程背景。我试图找出一个看似简单的任务:

我正在使用GeoPandas
read\u file
命令导入一个Shapefile。它没有问题,并且包括几何体列,该列包含由所有顶点表示的多边形,正如您所期望的那样。数据是一行

我需要的是一个Shapely的多边形来传递到py3dep中,这样我就可以收集我需要的空间光栅,而我不知道如何将几何体条目转化为多边形

解决方法必须简单,但我已经搜索了好几个小时,尝试了上千种不同的方法,但都无济于事。如果有人能帮我做一个简单的演示,我将万分感激

这里是我尝试做的一个片段,我已经验证了当我传递元组时代码是有效的,如果我尝试将“shape”传递给“geom”,则会失败,因为shape不是shapelys多边形。(我理解这是一个蹩脚的尝试,只是显示为“我正在尝试做什么”)

根据@PaulH提供的解决方案,将下面的代码更新为“工作”

import py3dep
import geopandas as gpd


shape = gpd.read_file("inputshape.shp")
print(shape.type)

geom = shape.loc[0, 'geometry']
dem = py3dep.get_map("DEM", geom, resolution=10, geo_crs="epsg:4326", crs="epsg:3857", output_dir="raster")

通过
您的\u gpdf.geometry.values
@swatchai可以获得所有多边形的列表。我得到的列表显示了一个几何数组mem位置,但无法(我可以管理)通过该数组?请发布相关代码,并研究如何提出一个好问题。@osop确保您拥有最新版本的GeoPandas(0.9.0)。