2

I am trying to generate GeoTiff rasters using FME Desktop 2015.1. My input is an 8 bit raster that has areas with pixel values of 0 around its edges. I want to set these to NoData.

I tried using the RasterBandNodataSetter to set the values to NoData. This was technically successful but pixels with a value of 0 in the middle of my raster were set to NoData as well which is not what I want.

I have also experimented with using the clipper to extract the areas I want hoping that the areas I do not extract would be set to NoData. However the clipper transformer uses the rectangular extent of my clipper feature to clip while I need it to be tapered to the extent of my study area.

I have also tried to write an alpha8 band to the GeoTiff in addition to my main Gray8 band. I was hoping to set the alpha8 to 0 where there is no data so nothing would be displayed. However the GeoTiff writer seems to insist on turning by alpha8 band into a UINT8.

What is the best approach to achieve this?

1

I believe the solution lies in using the RasterCellColorReplacer tool only after you apply a Perimeter polygon. Specifically, you apply a perimeter by thresholding the 0-value pixels on the exterior only. The perimeter polygon should be "inside" this exclusion area (so that the 0-value pixels are "outside" the perimeter.) Next, apply the RCCR tool to only the ClippedOutside result set from the perimeter clipper...use the RCCR to change the 0-pixels to NoData values only outside. This should give you a full-sized image with NoData mask pixels on the outside and 0-valued pixels un-effected within.

For more details, check out this FME blog post which uses a similar (but not exactly the same approach.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.