在Python中将GeoTIFF转换为JPEG并提取GeoTIFF头信息
我正在写一个Python脚本,这个脚本可以读取GeoTIFF文件,并且完成两个任务:把GeoTIFF文件转换成一个静态的JPEG文件(这个JPEG文件会小很多),同时还会创建一个单独的文本文件,里面包含GeoTIFF的头信息。
通过使用Python的GDAL库,我可以让这个脚本打开一个GeoTIFF文件,并打印出一些细节,比如RasterXSize
(横向像素大小)、RasterYSize
(纵向像素大小)、RasterCount
(波段数量)等等。
问题出在保存JPEG文件上。我查阅了driver.CreateCopy()
这个方法,但它只会生成一个非常大的空白JPEG文件,根本打不开。
另外,哪个方法可以获取所有的GeoTIFF头信息,以便我保存到文件中呢?
我对GeoTIFF和GDAL都不是很精通,非常感谢大家的帮助!
1 个回答
8
我自己通过搜索解决了这个问题。
要保存不同质量的 .jpg 文件,你需要使用以下代码:
# Assume this retrieves the dataset from a GeoTIFF file.
dataset = getDataSet(tiffFileLocation)
saveOptions = []
saveOptions.append("QUALITY=75")
# Obtains a JPEG GDAL driver
jpegDriver = gdal.GetDriverByName("JPEG")
# Create the .JPG file
jpegDriver.CreateCopy("imageFile.jpg", dataset, 0, saveOptions)
我需要的参数存储在 theDataset.GetGeoTransform()
和 theDataset.GetProjection()
这两个方法里。
特别感谢这个网站:http://adventuresindevelopment.blogspot.com/2008/12/python-gdal-set-jpeg-quality-values-and.html