构造gdal open类

2024-10-01 09:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python(2.6)的新手,有一个使用gdal打开geotif的简单函数。它返回图像数组和图像大小(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

我想把它转换成类,得到img,img.x和img.y作为输出。有人能帮我吗?你知道吗

谢谢你, 杰伊


Tags: andpath图像imgisostypefile
1条回答
网友
1楼 · 发布于 2024-10-01 09:32:25

这是一个名为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()

以及如何使用它

filepath=“路径/光栅_名称.tif““

光栅=IMG(文件路径)

xsize=raster.X()

ysize=光栅.Y()

数组=光栅.RasterArray()

相关问题 更多 >