So, let's run through what happens here. Apologies if this is too basic in places, but I like to be thorough.
Consider the boundary of the raster object. It is a rectangle. It has to be. When FME reprojects that raster, what was a rectangular boundary can now be slightly distorted by the reprojection. Because a raster dataset must be rectangular, FME fills in the gaps between the new boundary shape and the smallest rectangular area that fits around it.
This is the black border you are seeing. It can't be clipped or removed, because it would leave a non-rectangular shape. The color is black because the default is 0 (so 0,0,0). I'm not sure how you're getting 0,1,1, but I suspect it's the InterpretationCoercer that you are using, which can rescale values.
Anyway. If you are both reprojecting and mosaicking inside FME, then the simplest solution is to create the mosaic first, then reproject. Then you won't get the black borders in the output.
Another solution is to mosaic the rasters in a set order so that the one with the black border is mosaicked underneath one with the actual data.
But what I think is the most common solution is to make the black borders transparent. One way is to use Nodata. Nodata isn't a separate value, it is simply a marker that this specific raster value signifies "no data" (basically a raster null).
So if you add a RasterBandNodataSetter transformer before the CsmapReprojector, then you can set this Nodata value, and that will be used as the "border". For example, if I set Nodata to 200, then this border will become 200,200,200 (instead of 0,0,0).
Whatever tool you use to mosaic the raster together should recognize that 200,200,200 is Nodata, and render that transparent. So no black (or other coloured) borders.
The problem there is what happens if some data is actually 200,200,200 (or 0,0,0) in the dataset? Then it will be rendered invisible in your mosaic. That's not good.
To solve that I would tweak the data so that you have a free value to use for nodata. Use a RasterCellValueReplacer transformer to replace values equal to 0 to 1. So 0,0,0 becomes 1,1,1. Now you can use 0,0,0 as nodata without interfering with other cell values.
So the workspace would be:
- RasterCellValueReplacer (to replace 0 with 1)
- RasterBandNodataSetter (to set 0 as Nodata)
- CsmapReprojector (to reproject the data)
Because the border is now nodata, it should be transparent in any operations and viewers, and your mosaic should not show it as a border.
Incidentally, if your format doesn't support nodata, then you would need instead to make the actual values invisible. For that you would do the same as above, but add an alpha band (RasterBandAdder) and make the border cells have 0 for alpha (RasterExpressionEvaluator where the expression tests A=0 and A1=0 and A=0 and if so sets A to 0 too). But I doubt this would be necessary.