我尝试通过操纵gdal_translate命令的压缩开关来减小简单的山体阴影地理位置的大小,灵感来自this伟大的博客条目。但是,使用-co COMPRESS=JPEG
运行命令会导致以下众所周知的错误:
ERROR 1: JPEGLib:Wrong JPEG library version: library is 62, caller expects 80
我确保删除了每个基于实例6的libjpeg库并安装了每个可能的基于8的libjpeg库,但问题仍然存在。我有GDAL版本2.0.0。在Ubuntu 16.04.1 Xenial上运行。
有没有人遇到同样的问题?
是输入(geotiff)还是与依赖项相关的问题?
答案 0 :(得分:0)
不幸的是,我还没有找到原始问题的解决方案,但我确实找到了一个很好的解决方法,将JPEG压缩应用到TIF栅格,这无论如何都是我原来的问题。
出于某种原因,在Python GDAL API中调用gdal_translate对"COMPRESS=JPEG"
选项没有问题。所以,这对我有用:
from osgeo import gdal
ds = gdal.Open("Raster.tif")
ds = gdal.Translate("Raster_compressed.tif", ds, creationOptions=['COMPRESS=JPEG'])
答案 1 :(得分:-1)
检查从gdal_translate引用的库:
ldd /bin/gdal_translate
ldd /bin/gdal_translate | grep jpeg
检查图书馆符号链接指向的位置,如here所述:
列出您的库文件夹中的所有文件,并列出您正在寻找的库的grep:
cd /usr/lib64/
ls -la | grep jpeg
cd /usr/local/lib
ls -la | grep jpeg
cd /usr/lib
ls -la | grep jpeg
确保所有符号链接指向正确的版本:
lrwxrwxrwx 1 root root 17 Mar 8 09:54 libjpeg.so -> libjpeg.so.62.0.0*
应该是
lrwxrwxrwx 1 root root 17 Mar 8 09:54 libjpeg.so -> libjpeg.so.8.3.0*
安装提供正确版本的库或手动创建符号链接。