Je rencontre des difficultés depuis plus d'une semaine pour lire et transformer un fichier raster étendu au format ECW (orthophotographie avec une résolution de 5 cm et une taille de 30 Go) sur ue version FME 2020. Je sollicite des aides.
Merci d’avance
Mouhamed
Page 1 / 1
Hello,
I have been having difficulties for over a week to read and transform an extended raster file in ECW format (orthophotography with a resolution of 5 cm and a size of 30 GB) on a FME 2020 version. I am asking for help.
Thanks in advance
Mouhamed
Can you describe what you try to achieve exactly?
ECW is a highly compressed format, loading and converting can be resource intense. General best practices:
While developing a workspace, make use of a small sample file to reduce processing time, this will iterate faster and will be easier to work on.
When running the full file (a production run) disbale Feature Caching. When feature caching is enabled, all transformers will save each step to disk which will generate a lot of I/O and probably kill the run with large datasets like this.
Bonjour,
Merci pour votre réponse !!!
j’ai désactivé la mise en cache et ca m’a générer un fichier en sortie de 36 go avec des zones noires
alors que dans le système : Le disque principal (C:) dispose de plus de 200 Go d’espace libre.
Problèmes constatés :
Décompression importante lors de la lecture :
Pendant le traitement, le fichier ECW semble être décompressé temporairement, consommant énormément d'espace disque. Après seulement 15 % du traitement, plus de 150 Go sont utilisés dans le répertoire temporaire. Cela mène probablement à une saturation de l’espace avant la fin du processus.
Erreur rencontrée à 16 % du traitement :
Le processus échoue avec le message suivant :
FFS writer: Completed 16.65% of intermediate processing
Failed to write to file 'C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.frs'. Please ensure that you have sufficient privileges to write this file, and that sufficient disk space is available
Stored 1 feature(s) to FME feature store file `C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.ffsupdating'
Saving spatial index into file 'C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.fsi'
Finished saving spatial index into file 'C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.fsi'
ECW Feature Recorder -1 2147549186 (RecorderFactory): Failed to write feature data to `C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.ffsupdating'
Saving spatial index into file 'C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.fsi'
Finished saving spatial index into file 'C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.fsi'
Failed to write feature data to `C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.ffsupdating'
Translation FAILED with 3 error(s) and 1 warning(s) (0 feature(s) output)
END - ProcessID: 22200, peak process memory usage: 12116100 kB, current process memory usage: 203108 kB
Failed to write feature data to `C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.ffsupdating'
Program Terminating
Translation FAILED.
The FFS file `C:\Users\msambe\AppData\Local\Temp\wb-cache--blPBpr\Principal_ECW -1 2 -1 0 293da2a0fdbd338a7bafc699619596d2bca3b252.ffs' failed the CRC check. It is corrupt, and cannot be read
Impossible de spécifier l'index d'entités comme contrainte des données source.
Donc, je pense que le fichier ECW semble être décompressé en interne par FME, nécessitant bien plus d'espace disque que prévu.
À 16 %, le processus échoue faute d’espace temporaire disponible, bien qu’à la base, l’espace libre sur le disque est envviron : plus de 250 Go pour un traitement d'un fichier de ECW de 30 Go.
La mise en cache des entités semble "peut-être un facteur aggravant (écriture répétée sur disque).
Sur ce j'ai désactivé l'option "Activer la mise en cache des entités" Est-ce la solution ? j'attends le résultat...
Le répertoire temporaire utilisé par FME (dans C:\Users\msambe\AppData\Local\Temp) pourrait être limité en termes de gestion des grands volumes. Et comment faire si l'espace libre des autres répertoires disponibles est environ 200 Go. Comme solution, Est ce obligatoire d'augmenter ou d'avoir un stockage suffisant ?
Demandes et besoins d’optimisation :
Réduire l’utilisation de l’espace disque temporaire :
Est-il possible d'optimiser la gestion de la décompression des fichiers ECW dans FME ?
Changer le répertoire temporaire :
Comment configurer un répertoire temporaire différent sur un disque disposant de plus d’espace libre ?
Suggestions d’amélioration du traitement :
Existe-t-il un moyen de traiter le fichier ECW en plusieurs parties (par exemple, en tuiles) ou de réduire temporairement sa résolution pour alléger la charge ?
Je vous remercie d’avance pour votre aide afin de résoudre ce problème.
Cordialement,
SAMBE
Hi,
It's annoying that FME is decompressing the ECW so much but then again FME is not really known for its great performance when it comes to rasters at all which is a shame. At least for the changing for your temp location take a look at this explanation i found:
I hope this works for you though it won't improve the processing time, at least the workbench might not terminate because it ran out of space. Another option is to check if the performance is better in a newer version of FME though that might be possible if your version is company controlled.
I still do not know what you try to achieve exactly. Do you want to convert the ECW to a different format?
As Birgit pointed out, it seems that FME is not the best tool for this job due to how it handles ECW. If I needed to do this I would try and use a different tool.
According to ChatGPT ECW to GeoTIFF conversion can be done using GDAL or QGIS, which are both open source tools, but I have not tried this myself. Some of our team use Global Mapper to process ECW, but this is a licensed tool.
Merci pour vos réponses, j’ai voulu faire une découpage selon une emprise.
Pour plus de détail, j'ai des difficultés à découper une image ortho photographique de 5 m de résolution (30 Go) en format ECW (avec les zones blanches visibles sur la capture) sur une prise (en violet) pour supprimer les zones blanches, mais je n'ai pas réussi.
Lorsque j'active la lecture avec mise en cache, mon stockage ne suffit pas malgré 300go d'espace libre donc problèmes de stockage
Comme solution j'ai désactivé la mise en cache sur FME:
Aprés le découpage pour un traitement de 24h cela m'a générer une image en sortie de 36go avec des zones noires (probablement des valeurs no data ) que j'arrives pas à enlever:
Finalement, j'ai généré des tuiles de 5 km de côté de l'orthophoto de base (voir capture ci-dessous avec le fond blanc) pour optimiser le découpage, mais les images découpées ont toujours des zones noires. j'ai essayer de les enlever mais les valeurs nodata sont plusieurs impossibles de les connaitres manuellement. je ne sais pas si y a moyen de découper le aster de base sans qu'il me génére de zones noirs sur FME . Rappel je suis une version 2020.1
les images:
Typically FME wont read the raster data until it has to in the workflow. With Feature Caching on as others have pointed out FME will translate the whole image into an FFS file which is what is used by the FME Data Inspector. This 100% needs to be avoided.
If your process is to just read an ECW and clip the data covering a footprint then it should be ale to leverage the index of the ECW and only read the sections you need. This is at least how it works for GeoTiff and I assume that ECW has the same flexibility.
Have you had any success yet?
Finalement, j'ai généré des tuiles de 5 km de côté de l'orthophoto de base (voir capture ci-dessous avec le fond blanc) pour optimiser le découpage, mais les images découpées ont toujours des zones noires. j'ai essayer de les enlever mais les valeurs nodata sont plusieurs impossibles de les connaitres manuellement. je ne sais pas si y a moyen de découper le aster de base sans qu'il me génére de zones noirs sur FME . Rappel je suis une version 2020.1
Ah right, the black is indeed because of the background colour used when clipping etc. if you wanted to you could use a RasterInterpretationCoercer before the Clipper from RGB24 > RGBA32. This will add in an ALPHA band which will instead be transparent. This is always my preffered method.
It will make your output images bigger by a little but I always like the result better.
Merci pour votre réponse
toujours pas de succès, je veux écrire l’image en ECW (format plus adapté pour les rasters volumineux) pour des raisons de stockage car vu que la taille de l’ensemble des tuiles font plus 40go, je pense que si je l’exporte en format GeoTIFF cela décompresse l’image alors que j’ai seulement une stockage de 300go disponible;
Pour le transformer: RasterInterpretationCoercer , j’ai une version 2020.1; y’a til d’autre transformer équivalent
Pour le transformer: RasterInterpretationCoercer , j’ai une version 2020.1; y’a til d’autre transformer équivalent
Yep this one is in FME 2020
Merci je l’ai vu !!!
du coup y a que le paramètre : type d’interprétation en sortie qu’il faut changer, je l’ai appliqué avec le fichier en sortie que j’avais découpé.