我正在制作一个 Python 脚本,该脚本将读取 GeoTIFF 文件,并将执行以下操作:将 GeoTIFF 转换为静态 JPEG(尺寸小得多),并创建一个单独的文本文件,其中包含 GeoTIFF header 。
使用 Python GDAL API,我能够获取打开 GeoTIFF 文件的脚本,并打印详细信息,例如 RasterXSize
、RasterYSize
、 RasterCount
等
问题在于保存 JPEG。我研究了 driver.CreateCopy()
方法,但是,它所做的只是创建一个非常大的 JPEG 文件,该文件是空白的且无法打开。
此外,哪种方法可以检索我可以保存到文件中的所有 GeoTIFF header ?
我既不是 GeoTIFF 方面的专家,也不是 GDAL 方面的专家,非常感谢您的帮助!
最佳答案
我通过谷歌搜索自己弄明白了。
要保存不同质量级别的 .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
关于python - 将 GeoTIFF 转换为 JPEG 并在 Python 中提取 GeoTIFF header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913208/