Преобразование GeoTIFF в JPEG и извлечение заголовков GeoTIFF в Python - PullRequest
6 голосов
/ 26 мая 2010

Я делаю скрипт на Python, который будет читать в файле GeoTIFF, и будет делать и то, и другое: преобразовать GeoTIFF в статический JPEG (размер которого намного меньше) и создать отдельный текстовый файл, содержащий заголовки GeoTIFF.

Используя API Python GDAL, я могу получить скрипт, который откроет файл GeoTIFF и распечатает такие детали, как RasterXSize, RasterYSize, RasterCount и т. Д.

Проблема в сохранении JPEG. Я исследовал метод driver.CreateCopy(), однако все, что он делает, это создает очень большой файл JPEG, который является пустым и не может быть открыт.

Кроме того, какой метод извлекает все заголовки GeoTIFF, которые я могу сохранить в файл?

Я не эксперт по GeoTIFF и не GDAL, и я очень ценю помощь!

1 Ответ

7 голосов
/ 26 мая 2010

Я сам разобрался с гуглом.

Чтобы сохранить файл .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

...