I am trying to use FME to draw polygons around the extents of road using aerial imagery.

I have a Road Centreline table that I have buffered 5m and put this through a RasterGCPClipper so only the road and a meter or so off the road is shown on the aerial photography (depending on road width). I have the output going through the RasterResampler and then to the RastertoPolygonCoercer.

After this transformer I am stuck since I know the output will be thousands of little polygons the size of the designated cell size I have specified in the RasterResampler.

What I want to do is group on a certain RGB range or something similar. I know this may be a little crude but I just want to see if I can do something like this, and some of the roads have tree coverage that will muck it up too.

I want to output this to MapInfo and I am using an ECW file for the imagery.

  • 1
    Firstly, I'm not sure that you need the RasterGCPClipper. A normal Clipper should do. You should be able to use a RasterExpressionEvaluator to pull through the RGB Values that you want. However, I imagine roads would have greatly varying RGB Values. Without an infrared band you're prone to errors. But it's worth a shot. Also a screenshot of your workspace would be very helpful.
    – Fezter
    May 11, 2016 at 4:57

1 Answer 1


As Fetzer says, it's going to be prone to error because the RGB values will vary. However - for what it's worth - here is an FME workspace that you can probably adapt to your requirements.

I made this workspace to detect swimming pools in aerial imagery. Basically it extracts the RGB values and compares them to each other. I was looking for cells where blue > red and green > red (also blue and green values should be > 50).

The technique works - it's just that you'll have a harder time picking out roads I think. Pools were easier because so few things in an image are blue.

Anyway, hope this helps!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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