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
|