I have been struggling with this issue for two days. In summary, I am reading in some locations with the intent of creating mapping tiles only for those locations (the territory I am covering is huge, so an overall raster + raster tiler is not an option). The flow of the workspace is as follows:
- Read the "Sample.csv"
- Calculate the tile boundaries and tiles index numbers based in the PyTileMaker script
- Sort the tiles so that similar tiles are grouped (in TileSorter)
- Generate the tiles bands, raster and points-in-tile in PyMakePoints
In the last step, I need to produce 4 bands (as in RGBA). The raster and bands are 256x256. I can generate the 4 bands if I use FME_INTERPRETATION_UINT8 for the band properties and a UInt8BandTilePopulator to generate the band. Unfortunately, the resulting raster has no idea which band is which in terms of RGB or alpha.
So it seems logical that one would generate bands with the proper interpretation property, such as FME_INTERPRETATION_RED8 and a band populator for the RED8 type. But that does not work, it results in "Failed to create FMEBand." error message. I tried to put an exception catcher around the offending statement, but it contained the same message.
For the sake of completeness, I also tried to generate one band only with the type FME_INTERPRETATION_RGBA32, but that failed with the similar message.
I have included a small workspace and data file that illustrate the problem.
--------------------------------------------------------------------------------------
On another (albeit related topic)... The API documentation suggests that one does not need to specify a noValue parameter when calling the band tile populator. That is not accurate. If one omits the noValue parameter in fmeobjects.FMEBand(), the function executes but the workspace fails with the message that it cannot write to the workspace file. If one sets the noValue to "None", the call returns "Failed to create FMEBand". Just thought this may be useful to some people :-)
Frederic
Workspace and data file: