def raster2array(rasterfn):
raster = gdal.Open(rasterfn)
band = raster.GetRasterBand(1)
nodata = band.GetNoDataValue()
array = band.ReadAsArray()
proj = raster.GetProjection()
inproj = osr.SpatialReference()
inproj.ImportFromWkt(proj)
geoTransform = raster.GetGeoTransform()
minx = geoTransform[0]
maxy = geoTransform[3]
maxx = minx + geoTransform[1]*raster.RasterXSize
miny = maxy + geoTransform[5]*raster.RasterYSize
extent = [minx, maxx, miny, maxy]
pixelSizeXY = [geoTransform[1], geoTransform[5]]
del raster, band
return [array, nodata, extent, inproj, pixelSizeXY]
#clip a raster by vector
评论列表
文章目录