geotiff-jai を使用して GeoTiff データを読み取ろうとすると、GeoTIFFDescriptor を登録できません。
@Test
public void canGetTiffDecoder() {
Iterator<ImageReader> reader = ImageIO.getImageReadersByFormatName("tiff");
assertNotNull(reader);
assertTrue(reader.hasNext());
GeoTIFFDescriptor.register(); // this line is causing errors
}
このテストを実行すると、「tiff」という名前の記述子が「レンダリング」モードで登録されていません。
Exception in thread "main" java.lang.IllegalArgumentException: No descriptor by name "tiff" is registered under mode "rendered".
at javax.media.jai.OperationRegistry.registerFactory(OperationRegistry.java:1173)
at javax.media.jai.ThreadSafeOperationRegistry.registerFactory(ThreadSafeOperationRegistry.java:330)
at javax.media.jai.OperationRegistry.registerRIF(OperationRegistry.java:2176)
at org.libtiff.jai.operator.XTIFFDescriptor.register(XTIFFDescriptor.java:132)
at org.geotiff.image.jai.GeoTIFFDescriptor.register(GeoTIFFDescriptor.java:48)
at in.drifted.tiler.GeoTiffFile.main(GeoTiffFile.java:18)
私のPOM:
<repositories>
<repository>
<id>jai-repo</id>
<url>http://dev.mapfish.org/maven/repository/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_codec</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
<!-- installed manually -->
<!-- http://sourceforge.net/projects/geotiff-jai -->
<dependency>
<groupId>net.sf.geotiff-jai</groupId>
<artifactId>geotiff-jai</artifactId>
<version>2.0</version>
</dependency>
<!-- http://sourceforge.net/projects/xtiff-jai/ -->
<dependency>
<groupId>net.sf.xtiff-jai</groupId>
<artifactId>xtiff-jai</artifactId>
<version>0.3</version>
</dependency>
</dependencies>
JDK1.8、Win7
TIFFを正しく登録できない理由は何ですか?
ありがとう、ヤン