2017-06-20 15 views
3

にOGR/GDALを使用してESRIシェープファイルドライバを読んで、私は次のコードを使用してシェープファイルにラスタを変換するためのPython内gdal_polygonizeを使用しようとしている:私は次のことを得続けるしかし型エラー: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 *' 

私が読んでいるラスタが完全に大丈夫です、と私は何の問題もなく、コマンドラインからGDALでそれを開くことができます。 OGRとPythonには問題があるようです。誰かが以前にこの問題に遭遇したのかどうか疑問に思っていましたか? GDALバージョン2.1.0です。

ありがとうございます!

+0

誰もが同じ問題を抱えている場合、私はそれはGDAL内のバグだと思います。私は完璧に働いていた、ラスティリオと整形を使って終わりました。 Rasterioにはラスタを多角形にポリゴン化する機能があります。 https://gis.stackexchange.com/questions/187877/how-to-polygonize-raster-to-shapely-polygons – FClubb

答えて

0

私は自分のコードにコメント行で、この問題を解決する(あるいは単に削除):

# from __future__ import unicode_literals
+0

これは私の問題を解決しました、ありがとうございます! – FClubb

関連する問題