Hi @nicholas, a possible way is:
- Create a workspace that converts a single GeoTIFF to an ECW.
- Create another workspace: read GeoTIFF file paths in a specified folder with a PATH reader, call the first workspace with a WorkspaceRunner (Wait for Job to Complete: Yes) to convert GeoTIFF to ECW, and remove the source GeoTIFF file whenever a translation completed.
The second workspace looks like this.

# PythonCaller Script Example: Remove a file.
import os
def processFeature(feature):
os.remove(feature.getAttribute('path_unix'))
I have it almost, but not quite, working
There is an error with the PythonCaller
WorkspaceRunner: Successfully ran workspace `D:/2019/07/tif2ecw/geotiff2ecw.fmw'
PythonFactory failed to load python symbol `FeatureProcessor'
Factory proxy not initialized
PythonCaller(PythonFactory): PythonFactory failed to process feature
Path Reader: Closing the PATH Reader
A fatal error has occurred. Check the logfile above for details
Translation FAILED with 4 error(s) and 1 warning(s) (0 feature(s) output)
My settings for the PythonCaller are;
Class or Function to Process Features: FeatureProcessor
# PythonCaller Script Example: Remove a file.
import os
def processFeature(feature):
os.remove(feature.getAttribute('path_windows'))
I have it almost, but not quite, working
There is an error with the PythonCaller
WorkspaceRunner: Successfully ran workspace `D:/2019/07/tif2ecw/geotiff2ecw.fmw'
PythonFactory failed to load python symbol `FeatureProcessor'
Factory proxy not initialized
PythonCaller(PythonFactory): PythonFactory failed to process feature
Path Reader: Closing the PATH Reader
A fatal error has occurred. Check the logfile above for details
Translation FAILED with 4 error(s) and 1 warning(s) (0 feature(s) output)
My settings for the PythonCaller are;
Class or Function to Process Features: FeatureProcessor
# PythonCaller Script Example: Remove a file.
import os
def processFeature(feature):
os.remove(feature.getAttribute('path_windows'))
You have to set the name of function or class which you intend to execute - "processFeature" in my example - to the Class or Function to Process Features parameter in the PythonCaller.
See also the help on the transformer: PythonCaller
I have found a solution, which is to replace the PythonCaller with a SystemCaller.
This works for me, because the dos command is quite simple
del @Value(path_windows)
I realise that PythonCaller is more flexible, but I don't know Python well enough to make it work