Skip to main content
Question

Filter out cells from a georaster using attribute values with as little spatial/geometry processing as possible?

  • January 15, 2026
  • 2 replies
  • 50 views

aron
Enthusiast
Forum|alt.badge.img+16

Found that I had an old thread on the same subject. 

My question now should be: Are there any new methods that are faster than those suggested in the thread above? 

 

--original question---

I am trying to speed up a work bench. 

What I have: DTM georasters where the highest (statCalcMax) cell value of each raster has been extracted into an attribute. The other cells have been given a nodata value. 

What I want: I need to find the x-y postiton of the cells that have a value in each raster as fast as possible. I would like to find a way to somehow filter out only pixels that have a value before any spatial/geometry processing. 

What I tried but found to slow:

The methods below convert the cells into points before identifying the cells I need. This makes them really slow.

  1. RasterPolygonCoercer › CentrePointReplacer › CordinateExtractor
  2. RasterCellCoercer › CordinateExtractor
  3. PointCloudCombiner

Any ideas on how to find the position of the desired cells with as little spatial/geometry processing as possible?

2 replies

aron
Enthusiast
Forum|alt.badge.img+16
  • Author
  • Enthusiast
  • January 16, 2026

Found that I had an old thread on the same subject. Will bring that back to life again instead. So ignore this thread.

Old but good: 

 


crystalatsafe
Safer
Forum|alt.badge.img+28

Hi ​@aron 

If you have a raster only data flow, you could

  1. Use RasterStatisticsCalculator to find the max values. (If performance is an issue I would suggest using the RasterBandMinMaxExtractor, this will likely be much faster)
  2. Then use a RasterCellValueReplacer to replace everything below that max with no data values or 0.
  3. Then you can use a RasterCellCoercer to coerce those cells = max to points. You may want to buffer the max value first if you want all cells within 5% of max, for example, before you do the RasterCellValueReplacer < bufferedMax.

If you wanted to test this out, please let me know how it goes.