Hi,
JPEG2000 is complicated. You can guess it by looking at the default compression parameters of ECW JPEG 2000 SDK v3.5.0.4:
Sprofile=PROFILE0
Scap=no
Sextensions=0
Ssize={12000,12000}
Sorigin={0,0}
Stiles={12000,12000}
Stile_origin={0,0}
Scomponents=4
Ssigned=no,no,no,no
Sprecision=8,8,8,1
Ssampling={1,1},{1,1},{1,1},{1,1}
Sdims={12000,12000},{12000,12000},{12000,12000},{12000,12000}
Cycc=yes
Cmct=0
Clayers=1
Cuse_sop=no
Cuse_eph=yes
Corder=RPCL
Calign_blk_last={no,no}
Clevels=8
Cads=0
Cdfs=0
Cdecomp=B(-:-
Creversible=yes
Ckernels=W5X3
Catk=0
Cuse_precincts=yes
Cprecints={128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{128,128},{64,64}
Cblk=64,64}
Cmodes=0
Qguard=1
Qabs_ranges=10,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11,12,11,11
Most parameters are selectable which means that a JPEG2000 image can be compressed literally in millions of different ways. Differend JPEG2000 SDKs use a bit different strategies and JPEG2000 written by ECW JPEG 2000 SDK is not necessarily best for JP2MrSID and GDAL adds its own features to the combination.
I have some very old timings about converting a lossless JPEG2000 image (3-channel, 10000 by 10000 pixels) into GeoTIFF with different GDAL drivers and a native Kakadu utility
GDAL-JP2KAK (Kakadu) (FWtools 2.0.4) timing: 340 seconds
GDAL-JP2ECW (ECW-JPEG2000) FWTools 2.4.7 timing: 514 seconds
GDAL-JP2MrSID FWTools 2.4.8 timing: 263 seconds
Kakadu kdu_expand timing: 194 seconds
Do not trust in these numbers but notice the big differences. All drivers are better today. My sample image was compressed with Kakadu and obviously my parameters were good for it. Numbers would have been different if the test image was optimized for JP2ECW or JP2MrSID. Do your own tests but do not generalize your results too much. Numbers may tell that some SDK is slow with your images but the same SDK may be fast with a bit different images.
-Jukka Rahkonen-
···
Fernando Lacunza Prieto wrote:
Hi Jukka,
The file is made with ER Mapper. From Kdu_show I can see that the code stream comment is ECW JPEG 2000 SDK v4.2.0.64 – Licensee: ERDAS IMAGINE/ER Mapper Pro Unlimited
We have another JPEG 2000 made with the same software, only smaller (207000x185680 pixels). GeoServer seems to cope with this file well.
Regards,
Fernando Lacunza
De: Rahkonen Jukka [mailto:jukka.rahkonen@anonymised.com]
Enviado el: martes, 02 de abril de 2013 15:06
Para: ‘geoserver-users@lists.sourceforge.net’
Asunto: Re: [Geoserver-users] Performance with huge JPEG2000
Hi,
Could you send information about how your JPEG2000 image is created? You can for example download Kakadu demo programs from http://kakadusoftware.com/index.php?option=com_content&task=view&id=26&Itemid=22 and open your image with Kdu_show. From File – Properties menu item you will find lots of useful information.
If you need another JPEG2000 as a reference you can try to get a Finnish topomap from here
It is open data under attribution only license but the torrent is not very active.
-Jukka Rahkonen-
Fernando Lacunza Prieto wrote:
Hello everyone,
I have a really big JPEG2000 file (598240x638720 pixels, about 54 GB) published in a WMS by GeoServer 2.2 and the GDAL extension. The file is accessed with a JP2MrSID store. The purpose of that WMS is to serve tiles to MapProxy to build a WMTS cache.
Unfortunately, the performance is appalling: each GetMap request lasts 10 to 15 seconds, and after that GeoServer stops responding for another 15 to 20 seconds. At this rate, my WMTS cache would be done in about 5 years, and I do not want to wait so long.
¿Is there some tweaking I can do to increase the performance to acceptable levels? I am a newbie in both GeoServer and MapProxy, and I fear that my approach to the problem could be wrong. Therefore, any suggestions to accomplish the task of building a restful WMTS cache from a JPEG2000 file are welcome.
Thanks!
AVISO SOBRE CONFIDENCIALIDAD: La información incluida en este mensaje es CONFIDENCIAL y de uso EXCLUSIVO a su FINALIDAD. Su posterior divulgación será responsabilidad de quien la realice
AVISO SOBRE CONFIDENCIALIDAD: La información incluida en este mensaje es CONFIDENCIAL y de uso EXCLUSIVO a su FINALIDAD. Su posterior divulgación será responsabilidad de quien la realice