[GRASS-user] importing Mars DEM takes too long

Helmut Kudrnovsky hellik at web.de
Sun Nov 20 15:42:22 PST 2016


Even Rouault-2 wrote
> On dimanche 20 novembre 2016 17:38:19 CET Anna Petrášová wrote:
>> On Sun, Nov 20, 2016 at 5:02 PM, Helmut Kudrnovsky <

> hellik@

> > wrote:
>> >>11 seconds can be pretty long depending on the size of the file. Try
>> >>to convert it to tif and load again, it will be probably much faster.
>> >>
>> > the gdal_translated uncompressed geotif has about ~150MB (jp2 ~48 MB).
>> > 
>> > the import takes about 7 seconds.
>> > 
>> > there is some difference in importing time ; maybe cause of compressed
>> vs.
>> > uncompressed.
>> > 
>> > it's worth to ask on the GDAL ML about performance of GDAL'S jpeg2000
>> > driver.
>> 
>> I just tested it on in wingrass both standalone and from OSGeo4W and
>> it's very slow with ~50MB JP2 file. I tested this one:
>> http://www.uahirise.org/PDS/DTM/ESP/ORB_020600_020699/ESP_020673_1750_ESP_02
>> 0528_1750/ESP_020528_1750_RED_C_01_ORTHO.JP2
>> 
>> How could you import it in 11 s? Maybe the problem appears only with
>> certain files?
> 
> When enabling GDAL debug messages (CPL_DEBUG=ON), one can see:
> 
> OPENJPEG: nX0 = 0
> OPENJPEG: nY0 = 0
> OPENJPEG: nTileW = 7552
> OPENJPEG: nTileH = 19113
> OPENJPEG: nTilesX = 1
> OPENJPEG: nTilesY = 1
> OPENJPEG: mct = 0
> OPENJPEG: psImage->x0 = 0
> OPENJPEG: psImage->y0 = 0
> OPENJPEG: psImage->x1 = 7552
> OPENJPEG: psImage->y1 = 19113
> OPENJPEG: psImage->numcomps = 1
> 
> The tile dimensions are the same as the image, meaning the image is single 
> tiled.
> The OpenJPEG library must thus decompress the whole time into memory since
> it 
> doesn't support decompressing a region of interest within a tile. To avoid 
> exposing a block size so large, GDAL exposes a 1024x1024 artificial
> blocking, 
> which will in fact the image to be decompressed each time one of those
> blocks 
> is read.
> 
> I've committed in GDAL trunk r36357 "OpenJPEG: add a USE_TILE_AS_BLOCK=YES 
> open option that can help with whole image conversion"
> thats add the open option :
> 
> USE_TILE_AS_BLOCK=YES/NO
*
> : (GDAL > 2.2) Whether to always use the 
> JPEG-2000 block size as the GDAL block size
> Defaults to NO. Setting this option can be useful when doing whole image
> decompression and the image is single-tiled. Note however that the tile
> size
> must not exceed 2 GB since that's the limit supported by GDAL.
> </li>
> (note: this limitation of 2GB is reached unfortunately with other images
> as 
> ESP_020528_1750_IRB_A_01_ORTHO.JP2)
> 
> $ time GDAL_CACHEMAX=150 gdal_translate ESP_020528_1750_RED_C_01_ORTHO.JP2  
> out.tif -co TILED=YES -oo USE_TILE_AS_BLOCK=YES -co COMPRESS=DEFLATE
> real	0m22.981s
> user	0m22.756s
> sys	0m0.220s
> 
> GDAL_CACHEMAX must be larger than width * height * data_type_size * 
> number_of_bands = 7552 * 19113 * 1 * 1 = 144 MB, so as to avoid the block 
> corresponding to the JPEG-2000 image to be evicted from the GDAL block
> cache.

Even, thanks for the insight and improvements on GDAL's level!



-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/importing-Mars-DEM-takes-too-long-tp5296530p5296689.html
Sent from the Grass - Users mailing list archive at Nabble.com.


More information about the grass-user mailing list