Python 3.4 ImportError:没有名为' _gdal_array的模块'没有名为' _gdal_array'

时间:2017-07-24 20:15:19

标签: python arrays python-3.x numpy gdal

尽管几年前学过python(2.7),我才开始再次使用它。 我正在使用python 3.4.4并尝试使用GDAL包将栅格作为数组读取。 我按照这里列出的步骤:  https://sandbox.idre.ucla.edu/sandbox/tutorials/installing-gdal-for-windows 除了Python 3.4并从这里使用GDAL二进制文件:http://www.gisinternals.com/release.php

在测试基本功能时,我尝试读取如图所示的tiff文件

client.messages.page({ pageSize: 10 }, function pageReceived(page) {
  page.instances.forEach(function(message) {
    console.log(message);
  });
  if (page.nextPage) {
    page.nextPage().then(pageReceived);
  }
})

当我使用" rasArray = np.array(src_ds.ReadAsArray())"运行最后一个块时我收到以下错误代码:

import gdal as gdal
import numpy as np
import ogr
import osr
import os
import sys
e=('error has occurred')

# this allows GDAL to throw Python Exceptions
gdal.UseExceptions()

# open dataset
test = ('LE70130312004049EDC01_sr_adjacent_cloud_qa.tif')
print("file exists")


# getting metadata
gtif = gdal.Open(test)
print (gtif.GetMetadata())
print("metadata printed")

try:
    src_ds = gdal.Open(test)
    print("gdal.open success")
except (RuntimeError):
    print ('Unable to open INPUT.tif')
    print(e)

try:
    srcband = src_ds.GetRasterBand(1)
    print("get raster band 1 success")
except (RuntimeError):
    # for example, try GetRasterBand(10)
    print ('Band ( %i ) not found') % band_num
    print (e)


try:
    rasArray=np.array(src_ds.ReadAsArray())
    print("read as array")
except (RuntimeError):
    print (e)

我是如何安装GDAL或Python的? 我应该切换到Python 2.7吗? 我已经看到很多关于"没有名为"的模块的问题,但是没有多少涉及GDAL问题。

更新: 我只是从我下载的msi重新安装GDAL,它会自动修复它。谁会知道这很容易。谢谢!

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,这是我解决的方法:

pip3 uninstall gdal
pip3 install numpy
pip3 install gdal

我正在使用MAC OS BTW