Question

How to create clusters (as polygons) from points based on a few criteria?

  • 26 January 2023
  • 2 replies
  • 66 views

Badge

Hi FME Users,

 

I have a list of points with coordinates and a lot of attributes. Based on this dataset I need to create (different size) polygon clusters, which depend on the criteria - such as distance from competition points, cluster density, number of POI in this cluster, and others. 

 

Firstly I filtered data based on some criteria (eg. types of points, etc). Then I used NeighborFinder to find and filter these points which are too close to competition points (distance is defined by users as a parameter). But I am not sure how to create the polygon clusters. 

 

I thought about using HexagonSample (custom transformer), NeighborhoodAggregator, or H3HexagonalIndexer. But unfortunately without any successful results.

 

Maybe, someone from you had a similar task and could suggest how to approach this problem? Any tips or ideas from all of you will be very helpful!

 

I am working on FME 2022.0, so it seems to me that I cannot use PointClusterer from FME Hub (the wrong Python version).

 

Thanks in advance for any help!


2 replies

Badge +1

Haven't done this kind of thing in FME before, but I think I would start with a VoronoiDiagrammer. That will give you a space-filling set of non-overlapping polygons, one for each point that has all the point attributes attached. Then you could query them by attribute as you like and a group them. You can dissolve them into larger polygons by attributes, too--all that kind of thing. Because the points are located inside their polygons, boundaries of grouped (and possibly dissolved) polygons will always extend beyond the points, which will look good cartographically. Anyway, just a thought.

Badge +2

@borko_k​  I agree with @tcrossman​ - VoronoiDiagrammer might help. For clustering try PointClusterer_OPTICS_Python3 which is an updated veriosn

Reply