This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 85769b95422b47d58977deeca18b9c33b94e97fa Author: Martin Desruisseaux <[email protected]> AuthorDate: Tue May 17 15:28:16 2022 +0200 Avoid misleading error message for unsupported JPEG compression in GeoTIFF. Documentation update. --- storage/sis-earth-observation/pom.xml | 2 +- .../sis/storage/geotiff/ImageFileDirectory.java | 19 +++++++++++++++++-- .../org/apache/sis/storage/geotiff/package-info.java | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/storage/sis-earth-observation/pom.xml b/storage/sis-earth-observation/pom.xml index f224bf9a0d..a3c9b828da 100644 --- a/storage/sis-earth-observation/pom.xml +++ b/storage/sis-earth-observation/pom.xml @@ -39,7 +39,7 @@ <artifactId>sis-earth-observation</artifactId> <name>Apache SIS Earth Observation storage</name> <description> - Landsat and MODIS metadata files to ISO 19115 metadata. + Read a directory of Landsat files as a single resource. </description> diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java index f0b9a2cb78..23eee30271 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/ImageFileDirectory.java @@ -72,7 +72,7 @@ import org.apache.sis.image.DataType; * @author Johann Sorel (Geomatys) * @author Thi Phuong Hao Nguyen (VNSC) * @author Martin Desruisseaux (Geomatys) - * @version 1.2 + * @version 1.3 * * @see <a href="http://www.awaresystems.be/imaging/tiff/tifftags.html">TIFF Tag Reference</a> * @@ -83,8 +83,9 @@ final class ImageFileDirectory extends DataCube { /** * Possible value for the {@link #tileTagFamily} field. That field tells whether image tiling * was specified using the {@code Tile*} family of TIFF tags or the {@code Strip*} family. + * JPEG was also used to have its own set of tags. */ - private static final byte TILE = 1, STRIP = 2; + private static final byte TILE = 1, STRIP = 2, JPEG=3; /** * Possible value for {@link #sampleFormat} specifying how to interpret each data sample in a pixel. @@ -609,6 +610,19 @@ final class ImageFileDirectory extends DataCube { tileByteCounts = type.readVector(input(), count); break; } + /* + * Legacy tags for JPEG formats, to be also interpreted as a tile. + */ + case Tags.JPEGInterchangeFormat: { + setTileTagFamily(JPEG); + tileOffsets = type.readVector(input(), count); + break; + } + case Tags.JPEGInterchangeFormatLength: { + setTileTagFamily(JPEG); + tileByteCounts = type.readVector(input(), count); + break; + } //////////////////////////////////////////////////////////////////////////////////////////////// //// //// @@ -1195,6 +1209,7 @@ final class ImageFileDirectory extends DataCube { if (imageHeight < 0) throw missingTag(Tags.ImageLength); final short offsetsTag, byteCountsTag; switch (tileTagFamily) { + case JPEG: // Handled as strips. case STRIP: { if (tileWidth < 0) tileWidth = Math.toIntExact(imageWidth); if (tileHeight < 0) tileHeight = Math.toIntExact(imageHeight); diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/package-info.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/package-info.java index 208d60ac3d..129ebd3913 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/package-info.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/package-info.java @@ -32,7 +32,7 @@ * @author Thi Phuong Hao Nguyen (VNSC) * @author Minh Chinh Vu (VNSC) * @author Martin Desruisseaux (Geomatys) - * @version 1.2 + * @version 1.3 * @since 0.8 * @module */
