首页 > 解决方案 > 将 geopandas 几何转换为 shapleys 多边形

问题描述

总的来说,我对 python 非常陌生,但来自 Fortran 和 Matlab 的良好编程背景。我试图弄清楚似乎是一个简单的任务:

我正在使用 GeoPandasread_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")

标签: gisgeopandasshapely

解决方案


推荐阅读