问题描述
我正在尝试使用python获取一组坐标中的像素值 landsat图像,我的坐标是float类型,它不允许我进行相应的计算,但是我看不到错误,代码使我抛出“发生异常:TypeError'float'对象不可下标” 我正在使用gdal模块
import os,sys,time,gdal
from gdalconst import *
startTime = time.time()
xvalues = -103.6238888889
yvalues = 19.3344444444
directorio = str (input("ingrese el directorio de la imagen "))
os.chdir (directorio)
gdal.AllRegister()
ds = gdal.Open('AST_L1T_00302242018173601_20180226112641_11826_T.tif',GA_ReadOnly)
if ds is None:
print ('Could not open image')
sys.exit(1)
rows = ds.RasterYSize
cols = ds.RasterXSize
bands = ds.RasterCount
transform = ds.GetGeoTransform()
xOrigin = transform[0]
yOrigin = transform[3]
pixelWidth = transform[1]
pixelHeight = transform[5]
for i in range (1):
x = xvalues[i]
y = yvalues[i]
xOffset = int((x - xOrigin) / pixelWidth)
yOffset = int((y - yOrigin) / pixelHeight)
s = str(x) + ' ' + str(y) + ' ' + str(xOffset) + ' ' + str(yOffset) + ' '
for j in range(bands):
band = ds.GetRasterBand(j+1)
data = band.ReadAsArray(xOffset,yOffset,1,1)
value = data[0,0]
s = s + str(value) + ' '
print (s)
endTime = time.time()
print ('The script took ' + str(endTime - startTime) + ' seconds')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)