2013-07-19 63 views
0

我有這個錯誤問題GDAL/的Python:GDAL錯誤 - Access窗口超出範圍RasterIO()

INPUT_raster = "E:\myraster.asc" 
ds = gdal.Open(INPUT_raster, gdal.GA_ReadOnly) 
band = ds.GetRasterBand(1) 
data = band.ReadAsArray(9658, 11599, 1, 1) 
ERROR 5: E:\myraster.asc, band 1: Access window out of range in RasterIO(). Requested 
(9658,11599) of size 1x1 on raster of 9658x16934. 

是否有可能使用try:和期待:避免這個錯誤?

我會感謝您的意見/建議。

問候, 詹尼

回答

1

嘗試/預期不避免的錯誤,他們處理它們。

您正在嘗試從光柵中不存在的位置讀取數據。如果你想要最外層的元素,你應該使用9657,因爲索引從零開始,所以x尺寸是9658個元素。

所以使用:

data = band.ReadAsArray(9657, 11599, 1, 1) 

或最後x位置:

data = band.ReadAsArray(ds.RasterXSize-1, 11599, 1, 1) 
+0

感謝,但假設你有幾個點,有的點在圖像內鋪設 –