【发布时间】:2019-02-10 18:24:30
【问题描述】:
出现了这样一个问题:使用一些 * .tiff,当尝试使用 NASA WorldWind 库类 GeotiffReader 中的 readDataRaster() 方法获取 DataRaster [] 时,抛出异常:
ERROR j.l.Throwable - java.io.IOException: TIFF 文件缺少一个 必需的 tagStripOffsets
以下是与 * .tiff 一起使用的代码。 代码:
private GeotiffReader reader;
private ByteBufferRaster raster;
...
reader = new GeotiffReader(file);
listDataRaster.add(reader.readDataRaster());
...
DataRaster[] dataRaster = listDataRaster.get(iter);
raster = (ByteBufferRaster)dataRaster[0];
...
raster.setDoubleAtPosition(y, x, value);
错误发生在以下行:
listDataRaster.add(reader.readDataRaster());
该方法尝试返回 DataRaster[] 并给出上述错误。
我的任务是获取* .tiff ByteBufferRaster,然后在一些计算后使用setDoubleAtPosition 对网格进行更改并重写* .tiff。如何修复此错误?如果没有,还有其他方法可以完成我的任务吗?
【问题讨论】:
-
您好,欢迎来到 StackOverflow!在发布上述异常消息时,请始终包含完整的堆栈跟踪,并在您发布的代码中指出异常发生在哪一行。话虽如此,我认为您的代码没有问题,这是 TIFF 文件的问题,它们不符合 TIFF 规范,并且缺少必需的标签。您可能想要添加(或链接) TIFF 文件以确认这确实是问题所在。
-
@haraldK,错误出现在以下行:
listDataRaster.add(reader.readDataRaster());该方法尝试返回一个DataRaster[]并给出上述错误 -
当被要求澄清时,请用所有必要的细节更新问题。不要只在 cmets 中回答。一个更好的问题将帮助你增加得到一个好答案的机会。 ??????
标签: java tiff geotiff worldwind