Skip to main content

I have a point layer, and within this layer I want to search around each point for those that are within 5000 m. For this, I used the Neighborfinder with "candidate only." It outputs a list with points that sometimes have 8 neighbors. In this list, I would like to keep either the initial point or the neighbor with the highest value in the TEST field. I'm stuck. I attached an image of the result and circled in red the points I’d like to keep.

Moreover, the Neighborfinder transformer says it does not compare a point with itself, but I notice the opposite. Could you please help me?

Hi ​@marionmahot ,

A possible way to extract the highest value of TEST field in a list is, using a combination of ListSorter and ListIndexer instead of the ListExploder. Assuming that the attribute TEST stores a numeric value.

  • ListSorter
    • List Attribute: <list name>{}.TEST
    • Sort Type: Numeric
    • Sort Order: Descending
  • ListIndexer
    • List Name: <list name>{}
    • List Index To Copy: 0
    • Copied Attribute Prefix: <your preferred prefix>

the Neighborfinder transformer says it does not compare a point with itself, but I notice the opposite.

Since you have set "Merge List Attribute " to the Accumulation Mode parameter and "Use List Attribute Values" to the Conflict Resolution parameter in the ListExploder, the original attributes would be overwritten by the same name attributes extracted from the list. I think it's the reason why it looks like the "opposite" behavior.

Try changing the Accumulation Mode parameter in the ListExploder to “Prefix List Attributes”, in order to differentiate attribute names extracted from the list from the original attribute names.