Question

Find lowest Z-values in a area

  • 16 March 2018
  • 6 replies
  • 0 views

Badge

Hi,

I am doing a analyse to find most low z-values in a buffer of 50 meter from a point. I started with this steps:

- buffer points,

- Clip raster file on buffer area's

- Use RasterCellCoercer to extract point value's only in this buffered area for efficiency

- PointonAreaoverlayer, use buffers and points to merge attributes.

But now I get stuck, these buffers have an overlap with each other. So some points only get the ID from one bufferid, not from both buffers with an intersect.(Arcgis 'Intersect' does it the way I like to see with all points tested on all intersecting buffers)

Goal: I want to find the 10 lowest Z-values in each area(buffers from a point with main ID)

Who can help me to achieve this goal?

Thanks a lot!


6 replies

Userlevel 5
Badge +25

Hi Joost :)

I think you can make the PointOnAreaOverlayer create a list. So take the points output and explode the list. If a point falls within 2 buffers you'll now have 2 copies of the point (one for buffer A and one for buffer B, you have to make sure the buffers have a unique id). ListBuilder grouped by that buffer id, ListSorter on the z-values and then pick list elements 0-9.

Badge +22

Instead of a PointonAreaOverlayer, I would use a SpatialRelator on the points, explode the _relationships list (ListExploder), so now there are multiple copies of the points that fall into multiple buffers, and then an Aggregator grouped by the main (buffer) ID.

 

So for each original point, you now have an aggregate of all the points within the buffer distance, in a list form, which you can then sort to get the lowest values (ListSorter).
Userlevel 2
Badge +17

Hi @joostsieben, assuming that every point has an attribute which stores unique identifier (say Point ID), if you create copies of the raster equal to the number of point and add Point ID to them, you can then perform clipping each raster by corresponding point. In addition, you can use the RasterBandMinMaxExtractor to extract the minimum value in a raster more efficiently. e.g.

Badge

Thank you all for the answers. I did a combination of youre answers so it helpt me pretty good! Now it have run for 900.000 points, so this will take a while.

Badge +1

Thank you all for the answers. I did a combination of youre answers so it helpt me pretty good! Now it have run for 900.000 points, so this will take a while.

This potentially could be quicker if you coerce the raster to a point cloud, and use the PointCloudStatisticsCalculator

 

 

Badge
This potentially could be quicker if you coerce the raster to a point cloud, and use the PointCloudStatisticsCalculator

 

 

Thank you! Unfortunately I need more than one value, so only the lowest z-value is not enought. Thats why I am now working with Lists to find more value's.

 

 

Reply