Question

Batch process images


I'm having a bit of a struggle with batch processing of images.

I have a set of (usually iPhone) inspection images with GPS coordinates that are to be downscaled and put into a MapInfo TAB as points with a hotlink field containing filename. Using either the JpegGPSPointreplacer (or with Stringreplacer and Expressionevaluator both) works - when I'm using workspace. But, when I batch deploy the workspace the factory pipeline empties between each image and then restarts, effectively overwriting the TAB-file with only the last processed image. Scaling works great using Rasterresampler.

The result being a lot of downscaled images and a TAB-file with only one point, containing the last processed image.

What have I missed?


10 replies

Userlevel 1
Badge +21

You cannot update TAB files, only overwrite which is why you only see the entry from the last process. I would suggest writing the hotlinks and the points/coordinates for each point into a format that was updateable/appendable and then creating a tab file from this at the end of the process

Badge +3

Are you calling workspace for each image?

Use a reader in advanced mode and process the images as features. (calling workspace once)

Hmm I need to clarify. It works just fine when I run the workspace from FME. It does not work when running it as batch deployed, from Bat-file. I run it once from desktop and it works. I try to run the batch but then the workspace for some reason is called once for each image. At least I think that is what's happening.

I don't want to update an existing TAB file. I want the TAB file to contain all image points, not just the last processed image.

 

 

Running FME 2017 so no advanced browser is available(?)

 

 

@egomm @gio
Userlevel 1
Badge +21

Hmm I need to clarify. It works just fine when I run the workspace from FME. It does not work when running it as batch deployed, from Bat-file. I run it once from desktop and it works. I try to run the batch but then the workspace for some reason is called once for each image. At least I think that is what's happening.

I don't want to update an existing TAB file. I want the TAB file to contain all image points, not just the last processed image.

 

 

Running FME 2017 so no advanced browser is available(?)

 

 

@egomm @gio
How are the jpgs read into the workspace controlled/selected?

 

 

Can you confirm that the workspace is being called multiple times? e.g. put an inspector in and see it pop up multiple times

 

 

Badge +16

Hi @rydentobbe,

When you run it via desktop the very first lines in the logfile is the command line that you can use for running the ws via cmd or saved as a bat file batched via windows scheduler.

Hope this helps.

batch-log.txtworkspace-log.txt

Don't really know what I'm looking for here, but in the Batch log the summary states Features read & written is 1, three times over. In the Workspace log it says 3 features R/W once.

 

The Workspace log is from the workspace and the batch log from the exact same workspace but called from a bat file created via batch deploy.

Badge +16

This is what you are looking for, and it is only visible when running the workspace in the workbench application.

 

 

Badge +16

batch-log.txtworkspace-log.txt

Don't really know what I'm looking for here, but in the Batch log the summary states Features read & written is 1, three times over. In the Workspace log it says 3 features R/W once.

 

The Workspace log is from the workspace and the batch log from the exact same workspace but called from a bat file created via batch deploy.

This is what you are looking for, and it is only visible when running the workspace in the workbench application.

 

 

Userlevel 2
Badge +17

batch-log.txtworkspace-log.txt

Don't really know what I'm looking for here, but in the Batch log the summary states Features read & written is 1, three times over. In the Workspace log it says 3 features R/W once.

 

The Workspace log is from the workspace and the batch log from the exact same workspace but called from a bat file created via batch deploy.

Hi @rydentobbe, @egomm has provided the answer already. The Batch Deploy method runs workspace multiple times for each source file separately and therefore the destination MapInfo dataset saves only the information of the final JPEG (i.e. everything will be overwritten by the final JPEG information). The process is different from Workbench Run command.

 

If you need to run the workspace with the Batch Depoly method anyway, consider using an insertable/updatable data format (e.g. PostGIS etc.) instead of MapInfo, as @egomm mentioned.

 

Otherwise, consider running the workspace from a command line as @itay mentioned.

 

See also here to learn more about batch processing with command line:

 

Batch Processing Method 1: Command Line or Batch File

 

Ah, ok. Sorry. Thanks for the update & the help everyone!

Reply