2017-06-20 30 views
3

我試圖用Python的範圍內使用gdal_polygonize下面的代碼爲柵格轉換爲shape文件ESRI shape文件驅動程序:類型錯誤:閱讀使用OGR/GDAL在Python

# define output shapefile 
driver_name = "ESRI Shapefile" 
drv = ogr.GetDriverByName(driver_name) 
dst_ds = drv.CreateDataSource(DataDirectory+OutputShapefile) 
dst_layer = dst_ds.CreateLayer(DataDirectory+dst_layername, srs = Projection) 

不過,我不斷收到以下在驅動程序讀取錯誤時的名字:

File "/home/s0923330/miniconda2/lib/python2.7/site-packages/osgeo/ogr.py", line 7262, in GetDriverByName 
    return _ogr.GetDriverByName(*args) 
TypeError: in method 'GetDriverByName', argument 1 of type 'char const *' 

柵格,我正在讀的是完全沒有問題,我可以與沒有問題的命令行@中打開它。它似乎是OGR和Python的一個問題。我想知道有沒有人遇到過這個問題?它是GDAL版本2.1.0。

預先感謝您!

+0

如果任何人有同樣的問題,我認爲這是GDAL中的錯誤。我結束了使用rasterio和勻稱,完美的工作。 Rasterio具有將柵格多邊形化爲整齊多邊形的功能。 https://gis.stackexchange.com/questions/187877/how-to-polygonize-raster-to-shapely-polygons – FClubb

回答

0

我在我的代碼註釋行解決了這個問題(或只是刪除):

# from __future__ import unicode_literals
+0

這解決了我的問題,謝謝! – FClubb