#1 Fri 15 October 2010 14:44
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
[FW tools]GDAL_RETILE pour découpage ECW
Bonjour
J'essaie de découper un raster ECW en dalles à l'aide dela commande GDAL_RETILE.
Ma commande est la suivante:
gdal_retile -of ECW -ps 10000 10000 -targetDir C:\GDAL\ECW Image.ecw
J'arrive à avoir 4 dalles et après j'obtiens ce message:
Traceback (most recent call last):
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 941, in ?
sys.exit(main(sys.argv))
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 858, in main
dsCreatedTileIndex = tileImage(minfo,ti)
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 336, in tileImage
createTile(minfo, offsetX, offsetY, width, height,tilename,OGRDS)
File "C:\PROGRA~1\FWTOOL~1.7\bin\gdal_retile.py", line 507, in createTile
data = s_band.ReadRaster( 0,0,readX,readY,readX,readY, t_band.DataType )
File "C:\PROGRA~1\FWTOOL~1.7\pymod\gdal.py", line 851, in ReadRaster
buf_xsize, buf_ysize,buf_type)
MemoryError
S'agit-il d'un problème de mémoire?
Merci
Hors ligne
#2 Fri 15 October 2010 16:49
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [FW tools]GDAL_RETILE pour découpage ECW
Vraissemblablement oui. Ca vient de la taille énorme des tuiles que tu demandes en sortie et j'ai l'impression que gdal_retile fait la requête en un seul coup pour produire une tuile. Donc il doit falloir 10000 x 10000 x 3 = 300 MB pour le buffer natif (C++) et autant pour le buffer Python correspondant. Et peut être encore autant pour écrire le buffer vers le fichier de sortie. Donc il n'est pas impossible qu'au moins en transitoire ça demande 1.2 GB, sans tenir compte de la mémoire bouffée par le SDK ECW qui est toujours quelque chose d'un peu mystérieux à évaluer...
Hors ligne