7

我正在制作一个 Python 脚本,该脚本将读取 GeoTIFF 文件,并将同时执行以下操作:将 GeoTIFF 转换为静态 JPEG(大小要小得多),并创建一个包含 GeoTIFF 标头的单独文本文件。

使用 Python GDAL API,我可以获取脚本来打开 GeoTIFF 文件,并打印详细信息,例如RasterXSizeRasterYSizeRasterCount等。

问题在于保存JPEG。我研究了这个driver.CreateCopy()方法,但是,它所做的只是创建一个非常大的 JPEG 文件,该文件是空白且无法打开。

另外,哪种方法可以检索我可以保存到文件中的所有 GeoTIFF 标头?

我既不是 GeoTIFF 专家,也不是 GDAL 专家,非常感谢您的帮助!

4

1 回答 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

于 2010-05-26T18:53:19.643 回答