[Geoserver-devel] [JIRA] (GEOS-9832) Geoserver fails to read geotiff (but creating store and layer is OK)

Richard Duivenvoorde created an issue

GeoServer / BugGEOS-9832

Geoserver fails to read geotiff (but creating store and layer is OK)

Issue Type:

BugBug

Affects Versions:

2.18.1

Assignee:

Unassigned

Attachments:

stacktrace.txt

Created:

18/Dec/20 10:47 AM

Environment:

Both Windows and Linux Tested with 2.16, 2.18.1 and current nightly of Geoserver too (2020-12-18)

Priority:

MediumMedium

Reporter:

Richard Duivenvoorde

Geoserver fails to read geotiff (but creating store and layer is OK)

Both Windows and Linux Tested with 2.16, 2.18.1 and current nightly of Geoserver too (2020-12-18)

Having a rather large ecw (5Gb), and with every geoserver upgrade having troubles making the ecw work again I decided to create a geotiff from it, after some fiddling I ended up with a 13Gb geotiff.

I used the latest gdal_translate available in osgeo4w: GDAL 3.3.0dev, released 2021/99/99

gdal_translate -of GTiff -co “TILED=YES” -a_srs “EPSG:28992” -co “COMPRESS=JPEG” -co “JPEG_QUALITY=90” -co “BIGTIFF=YES” -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co COPY_SRC_OVERVIEWS=YES FL20_city.ecw FL20_city.tiff

(but also tried other gdal versions and params)

gdalinfo shows me:

Driver: GTiff/GeoTIFF
Files: city.tiff
Size is 98260, 149376
Coordinate System is:
PROJCRS["Amersfoort / RD New",
    BASEGEOGCRS["Amersfoort",
        DATUM["Amersfoort",
            ELLIPSOID["Bessel 1841",6377397.155,299.1528128,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4289]],
    CONVERSION["RD New",
        METHOD["Oblique Stereographic",
            ID["EPSG",9809]],
        PARAMETER["Latitude of natural origin",52.1561605555556,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8801]],
        PARAMETER["Longitude of natural origin",5.38763888888889,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Scale factor at natural origin",0.9999079,
            SCALEUNIT["unity",1],
            ID["EPSG",8805]],
        PARAMETER["False easting",155000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",463000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["easting (X)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["northing (Y)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["Engineering survey, topographic mapping."],
        AREA["Netherlands - onshore, including Waddenzee, Dutch Wadden Islands and 12-mile offshore coastal zone."],
        BBOX[50.75,3.2,53.7,7.22]],
    ID["EPSG",28992]]
Data axis to CRS axis mapping: 1,2
Origin = (132612.000000000000000,452813.400000000023283)
Pixel Size = (0.050000000000000,-0.050000000000000)
Metadata:
  AREA_OR_POINT=Area
  COLORSPACE=RGB
  COMPRESSION_RATE_TARGET=4
  VERSION=2
Image Structure Metadata:
  COMPRESSION=JPEG
  INTERLEAVE=PIXEL
  LAYOUT=COG
Corner Coordinates:
Upper Left  (  132612.000,  452813.400) (  5d 3'40.02"E, 52d 3'50.90"N)
Lower Left  (  132612.000,  445344.600) (  5d 3'41.78"E, 51d59'49.21"N)
Upper Right (  137525.000,  452813.400) (  5d 7'57.97"E, 52d 3'51.54"N)
Lower Right (  137525.000,  445344.600) (  5d 7'59.35"E, 51d59'49.85"N)
Center      (  135068.500,  449079.000) (  5d 5'49.78"E, 52d 1'50.40"N)
Band 1 Block=512x512 Type=Byte, ColorInterp=Red
  Description = Red
  Overviews: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
  Mask Flags: PER_DATASET ALPHA 
  Overviews of mask band: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
Band 2 Block=512x512 Type=Byte, ColorInterp=Green
  Description = Green
  Overviews: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
  Mask Flags: PER_DATASET ALPHA 
  Overviews of mask band: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
  Description = Blue
  Overviews: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
  Mask Flags: PER_DATASET ALPHA 
  Overviews of mask band: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291
Band 4 Block=512x512 Type=Byte, ColorInterp=Alpha
  Description = AllOpacity
  Overviews: 49130x74688, 24565x37344, 12282x18672, 6141x9336, 3070x4668, 1535x2334, 767x1167, 383x583, 191x291

The resulting geotiff shows and performs great in QGIS (both on Windows and Linux).

I can create a store from it, AND a layer, no problem.

But trying to retrieve the layer shows you nothing, no warning, only error logs.
(I now see that Image Structure Metadata shows me ‘LAYOUT=COG’, had not seen that earlier…)

But: it would be nicer if Geoserver tells you during registring either the datasource, OR the layer that it is unable to load a geotiff (of which I hope that it would be the easiest of all for fossness sake ).

Also I miss (geoserver) tools/message to determine the exact problem, any idea’s for that?
The error (Unsupported Image Type, null pointers) is not very helpfull.

I’m able to make both ecw and tiff available for people interested. Pls sent an email to richard@anonymised.com
Temporarily I will make them downloadable on https://duif.net/test.ecw and https://duif.net/test.tiff later today.
As said, I think geotiff should be THE format to use in foss (I think), so it would be nice if all tiffs ‘would just work’.
Off course I’m aware that tiff is a container format and there are A LOT of options for all parameters, but still, if gdal can create them, it would be great if other foss tools would then be able to use them.

Stracktrace attached

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100153-sha1:55cb54c)

Atlassian logo