编码错误-'ascii'编解码器无法解码。 Python 2

时间:2019-02-24 07:14:03

标签: python ascii raster gdal utf

我使用GDAL函数更改栅格值。 由于某种原因,一切正常,突然我得到一个错误:

  

UnicodeDecodeError:“ ascii”编解码器无法解码位置中的字节0xe2   46:序数不在范围内(128)

我检查并发现在代码中生成错误的相关行是这样的:

dst_ds=driver.Create(nameToSave, tableshape[1], tableshape[0], 1, gdal.GDT_Float32)

这是包含以下行的函数:

def NDVI(red, nir, nameToSave):

    red=gdal.Open(red)
    if red is None:
        sys.exit(1)
    r=np.array(red.GetRasterBand(1).ReadAsArray(), dtype=float)

    nir=gdal.Open(nir)
    if nir is None:
        sys.exit(1)

    n=np.array(nir.GetRasterBand(1).ReadAsArray(), dtype=float)
    geotr=red.GetGeoTransform()
    proj=red.GetProjection()
    tableshape=r.shape
    np.seterr(divide='ignore', invalid='ignore')

    calc=(n-r)/(n+r)

    driver=gdal.GetDriverByName('GTiff')
    dst_ds=driver.Create(nameToSave, tableshape[1], tableshape[0], 1, gdal.GDT_Float32)
    dst_ds.SetGeoTransform(geotr)
    dst_ds.SetProjection(proj)
    dst_ds.GetRasterBand(1).WriteArray(calc)
    return 1

我使用Anaconda和Python 2.7。 我很乐意解决。谢谢

0 个答案:

没有答案