Improve support for raster to vector (RasterToPolygonCoercer)

Related products: FME Form

  • Make it easier and faster to convert raster images to vector polygons.
  • Improve performance of RasterToPolygonCoercer and add more options for customizing the transformation.

FMEers, we are interested in knowing how important raster-to-vector conversion is to you. Please upvote if this is an operation you require, and comment to let us know what specifically you'd like to see. Any details you can provide on your use cases would be helpful.

Our production workspaces drop out of FME and into ArcMap for vectorization because the performance in FME is so slow. I would love to see performance gains.

 

 

As a comparison a 12,000 by 7,000 single band raster took 3.74 seconds to vectorize in Arcmap, but in FME takes about 15 seconds.

 

 

A 50,000x40,000 pixels raster is 33s vs 2m 9s.
Thanks @jdh this is helpful info!

 


If ArcScan functionality is whats in play here (sounds not, but just in case) it would reqiure an interactive component.

 

 


No, these tests were done with a classified raster, with 2 classes, using RasterToPolygonCoercer in FME and RasterToPolygon in Arcmap (no simplification).

 

 


Raster to Polygon conversion is something most of my FME workspaces rely on. A speed boost, or at least making it just as fast as the ArcGIS equivalent, would be very valuable to me. Please improve it, as well as other typical Raster transformers (i.e. RasterCellValueCalculator or RasterExpressionEvaluator with more than 2 inputs and ability to type a formula instead of just 7 operations...). Thank you.


Mainly the ability to select output cell size and determine raster attributes (I've never been able to successfully convert an ESRI shapefile to an ESRI GRID)...

 

 


Raster performance isn’t great. Converting an aerial photo to greyscale is particularly slow. Rastertopolygoncoercer is ok but it seems counter intuitive to read an entire raster, turn every cell to geometry and then merge those together. I’d like to read from the raster only those cells that meet a condition.


Vectorizing rasters is essential to our business. Machine learning extracts features from Sentinel imagery. The extractions are in GeoTiff but we need vector for our product. We cover the globe. Each GeoTiff is about 10 GB large and has cells about 10 meters wide at the best resolution. Although I am quite fanatic about FME, I must say that ArcGIS RasterToPolygon tool does the job in 20-25 minutes although FME's RasterToPolygonCoercer runs for days. Eventually at some point the log file no longer shows any sign of life. And it isn't clear whether it is still doing something or the system has run out of memory.

This dependence on ArcGIS is annoying and I would rather run the full chain in FME.


Thanks for letting us know. I've passed this on straight to the development team. It sounds like something we really ought to be better at. I'd be interested to see a log file if you are able to provide one (you can email me directly, mark.ireland@safe.com if you like). The one thing I did get from our documentation is this:

If memory usage becomes an issue while using this transformer, try adding a RasterCheckpointer before the RasterToPolygonCoercer.

So if you haven't tried that, it might be worth giving a go. I can't imagine it will turn the transformer into something as fast as ArcGIS, but it might produce some improvement.


Have there been updates to RasterToPolygonCoercer since 2019, especially to the performance? I'm using 2023.2, and raster to polygon conversion seems to be still very slow.