类型错误:在Python中使用OGR/GDAL读取ESRI shapefile驱动程序

类型错误:在Python中使用OGR/GDAL读取ESRI shapefile驱动程序,python,gdal,ogr,Python,Gdal,Ogr,我尝试在Python中使用gdal_polygonize,使用以下代码将光栅转换为shapefile: #定义输出形状文件 驱动程序\u name=“ESRI形状文件” drv=ogr.GetDriverByName(驱动程序名称) dst_ds=drv.CreateDataSource(DataDirectory+OutputShapefile) dst_layer=dst_ds.CreateLayer(数据目录+dst_layername,srs=Projection) 但是,在按名称读取

我尝试在Python中使用gdal_polygonize,使用以下代码将光栅转换为shapefile:

#定义输出形状文件
驱动程序\u name=“ESRI形状文件”
drv=ogr.GetDriverByName(驱动程序名称)
dst_ds=drv.CreateDataSource(DataDirectory+OutputShapefile)
dst_layer=dst_ds.CreateLayer(数据目录+dst_layername,srs=Projection)
但是,在按名称读取驱动程序时,我不断遇到以下错误:

GetDriverByName中的文件“/home/s0923330/miniconda2/lib/python2.7/site packages/osgeo/ogr.py”,第7262行 返回_ogr.GetDriverByName(*args) TypeError:在方法“GetDriverByName”中,参数1的类型为“char const*” 我正在读取的光栅非常好,我可以从命令行用gdal打开它,没有问题。这似乎是OGR和Python的一个问题。我想知道以前是否有人遇到过这个问题?这是GDAL版本2.1.0


提前谢谢你

我通过在代码中添加注释行(或删除)解决了这个问题:


#如果有人有同样的问题,我认为这是gdal中的一个错误。我最终使用了rasterio和shapely,这两种方法都非常有效。Rasterio具有将光栅多边形化为多边形的功能。 # from __future__ import unicode_literals