为 gdal open 构建 class
Construct class for gdal open
我是 python (2.6) 的新手,有一个使用 gdal 打开 geotif 的简单功能。它 returns 图像数组和图像大小 (x,y)。
def gdal_open(raster_file):
if type(raster_file) is str and os.path.isfile(raster_file):
gd_img = gdal.Open(raster_file)
img_x = gd_img.RasterXSize # column
img_y = gd_img.RasterYSize # row
img = gd_img.ReadAsArray(0, 0, img_x, img_y)
elif type(raster_file) is str and not os.path.isfile(raster_file):
raise IOError
return img, img_x, img_y
我想将其转换为 class 以获得 img、img.x 和 img.y 作为输出。有人可以帮助我吗?
谢谢,
周杰伦
这里是 class 它的名字是 IMG
class IMG:
def __init__(self,path):
if type(path)==str and os.path.isfile(path):
self.path=path
self.Raster=gdal.Open(path)
elif type(path)==str and not os.path.isfile(path):
raise IOError
def X(self):
return self.Raster.RasterXSize
def Y(self):
return self.Raster.RasterYSize
def RasterArray(self):
return self.Raster.ReadAsArray()
并使用它
文件路径="path/raster_name.tif"
光栅=IMG(文件路径)
xsize=raster.X()
ysize=raster.Y()
数组=raster.RasterArray()
我是 python (2.6) 的新手,有一个使用 gdal 打开 geotif 的简单功能。它 returns 图像数组和图像大小 (x,y)。
def gdal_open(raster_file):
if type(raster_file) is str and os.path.isfile(raster_file):
gd_img = gdal.Open(raster_file)
img_x = gd_img.RasterXSize # column
img_y = gd_img.RasterYSize # row
img = gd_img.ReadAsArray(0, 0, img_x, img_y)
elif type(raster_file) is str and not os.path.isfile(raster_file):
raise IOError
return img, img_x, img_y
我想将其转换为 class 以获得 img、img.x 和 img.y 作为输出。有人可以帮助我吗?
谢谢, 周杰伦
这里是 class 它的名字是 IMG
class IMG:
def __init__(self,path):
if type(path)==str and os.path.isfile(path):
self.path=path
self.Raster=gdal.Open(path)
elif type(path)==str and not os.path.isfile(path):
raise IOError
def X(self):
return self.Raster.RasterXSize
def Y(self):
return self.Raster.RasterYSize
def RasterArray(self):
return self.Raster.ReadAsArray()
并使用它
文件路径="path/raster_name.tif"
光栅=IMG(文件路径)
xsize=raster.X()
ysize=raster.Y()
数组=raster.RasterArray()