Olá Duarte,

Obrigado pelos contributos, vou testar juntamente com o que fui construindo até ao momento com os contributos anteriores e que consiste em criar novas imagens com compressão JPEG, a opção YCBCR e TILED. Posteriormente construo pirâmides e por fim um mosaico.

Acabei agora mesmo de correr este ultimo teste, por isso ainda não fiz muitas comparações mas está já consideravelmente melhor que no inicio.

O conjunto original de imagens tinha 5GB
O conjunto das imagens processadas (mais os ovr) fica em 12GB e demora cerca de 1h10 a criar. (Antes de usar a compressão JPEG ficava com 90GB e demorava 1h00 a criar. Sem a opção YCBCR, o desempenho era muito mau).

O script que estou a usar é o seguinte:

#!/bin/bash

touch log.txt
echo "Starting: "`date +"%Y-%m-%d_%H-%M-%S"` >> log.txt
mkdir original_files
mkdir optimized

for FILE in *.jpg
do
  echo "Processing "$FILE
  BASE=`basename $FILE .jpg`
  TILEFILE=tl_t_${BASE}.tif
gdal_translate -of GTiff -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR -co TILED=YES -a_srs EPSG:27493 $FILE $TILEFILE gdaladdo -ro --config INTERLEAVE_OVERVIEW PIXEL --config COMPRESS_OVERVIEW JPEG $TILEFILE 2 4 8 16 32 64 128 256 512 1024
done

gdalbuildvrt mosaic.vrt tl_t_*.tif
mv *.j* original_files
mv tl_t_* optimized
mv mosaic.vrt optimized

echo "Ending: "`date +"%Y-%m-%d_%H-%M-%S"` >> log.txt



On 03/12/2012 12:21 AM, duartecarreira wrote:
Rui,

Parece-me que usar um vrt é lento em escalas pequenas porque o mapserver tem
de abrir todos os ficheiros... ao fazer zoom in o desempenho vai ficando
cada vez melhor.

Quando criaste um mosaico jpeg obtiveste um tamanho maior que o original? A
opção YCBCR é importante nos ficheiros tiff com compressão jpeg para manter
o tamanho 2-3x menor que o default.

Se o mosaico jpeg não deu bons resultados, podes usar uma abordagem mista,
que me tem dado bons desempenhos - criar um mosaico "intermédio" com 4x a
resolução do original.

Ou seja, para escalas grandes que usufruem dos ortos originais mostras no
mapserver o vrt de todos os ortos (mesmo sem pirâmides, mas isso podes
testar se é melhor criar ou não). Para escalas menores usas no mapserver
este tal mosaico com 4x menos resolução, e com pirâmides.

Como tens imagens de 10cm eu tentaria com 6 ou 8x menos resolução... mas só
testando.

Ou seja, usando o vrt que "cola" todos os originais, crias o tal mosaico
intermédio, e aumentas o tamanho do pixel 4x, usando o gdal_translate com a
opção -outsize 25% 25%, e as outras opções todas que usaste:
-of gtiff -co compress=jpeg -co tiled=yes -co tfw=yes -co bigtiff=yes

E crias as pirâmides, só acrescentando a config do ycbcr:
gdaladdo --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR
--config INTERLEAVE_OVERVIEW PIXEL -ro mosaico.tif 2 4 8 16 32 64 128......

Isto cria um ficheiro .ovr que podes usar como uma imagem no qgis para ver o
desempenho. Se quiseres um tamanho menor podes experimentar valores de
compressão com a opção "--config JPEG_QUALITY_OVERVIEW 0-100". Já usei
valores de 60 sem que os utilizadores reparassem muito, mas degrada a
imagem...

Para testar tudo gosto de usar o qgis. Adiciono o mosaico vrt e limito-o à
escala recomendada pelo qgis. Adiciono o novo mosaico e faço-o ser visível
"depois" desta escala. Para testar faço zoom ao mosaico, e depois zoom in
sucessivos até chegar à escala dos originais. Em principio o desempenho deve
ser óptimo.

Em resumo:
layer 1 =  vrt dos originais
layer 2 = tif + ovr

--
View this message in context: 
http://osgeo-org.1560.n6.nabble.com/Carregamento-de-dados-raster-tp4562923p4568618.html
Sent from the OSGeo Portuguese Local Chapter mailing list archive at Nabble.com.


_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal

Responder a