以下是一个用Python中的GDAL库编写的大学生大作业的示例:

from osgeo import gdal

def read_raster(file_path):
    dataset = gdal.Open(file_path)
    if dataset is None:
        print("无法打开栅格数据文件")
        return None
    else:
        return dataset

def get_raster_info(dataset):
    if dataset is None:
        print("无法获取栅格数据信息")
        return None
    else:
        info = {}
        info["宽度"] = dataset.RasterXSize
        info["高度"] = dataset.RasterYSize
        info["波段数"] = dataset.RasterCount
        info["投影"] = dataset.GetProjection()
        info["地理变换"] = dataset.GetGeoTransform()
        return info

def write_raster(file_path, data, info):
    driver = gdal.GetDriverByName("GTiff")
    dataset = driver.Create(file_path, info["宽度"], info["高度"], info["波段数"], gdal.GDT_Float32)
    dataset.SetProjection(info["投影"])
    dataset.SetGeoTransform(info["地理变换"])
    for i in range(info["波段数"]):
        band = dataset.GetRasterBand(i + 1)
        band.WriteArray(data[i])
        band.FlushCache()
    dataset = None

def main():
    # 读取栅格数据
    dataset = read_raster("input.tif")
    
    # 获取栅格数据信息
    info = get_raster_info(dataset)
    print("栅格数据信息:")
    for key, value in info.items():
        print(key + ": " + str(value))
    
    # 进行基础功能操作,例如裁剪、重投影、计算等
    
    # 写入结果
    write_raster("output.tif", data, info)

if __name__ == "__main__":
    main()

在这个示例中,我们首先通过read_raster函数读取栅格数据文件,并使用get_raster_info函数获取栅格数据的基本信息。然后,我们可以在main函数中对栅格数据进行各种基础功能操作,例如裁剪、重投影、计算等。最后,我们使用write_raster函数将结果写入到输出文件中。

请注意,这只是一个示例,具体的功能和操作需要根据实际需求进行编写。同时,还需要安装GDAL库才能运行以上代码

利用python中的gdal写一份大学生的大作业要求具有基础的功能

原文地址: https://www.cveoy.top/t/topic/h9oy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录