Question

Point on Area where point is on dividing line of two polygons

  • 26 September 2022
  • 3 replies
  • 0 views

Badge +9

I know that I am missing something obvious, but if I have a point that is on a line dividing two adjacent polygons, how do I select both polygons. At present I am using the point on area overlayer transformer and just getting one picked up??

 

The image below should make this clearer..

Regards...


3 replies

Userlevel 6
Badge +32

If you zoom in enough, you will probably find that the point is not exactly on the line. You can use an AnchoredSnapper to snap the point to the line, upstream of the PointOnAreaOverlayer, having the lines as anchors and the point as candidate.

 

Personally, I prefer to use the SpatialFilter for spatial selections, but the PointOnAreaOverlayer should work as well.

Userlevel 1
Badge +10

If you generate a list under AttributeAccumulation you should get an overlap count of 2 and a list containing attributes from both polygons IF the point is truly on the line.

 

The PointOnAreaOverlayer doesn't have any option for tolerance so the more likely scenario is that your point doesn't fall exactly on the line and you will only get one area returned.

Userlevel 3
Badge +26

Good points by both @nielsgerrits​ and @ebygomm​. In situations like, I will sometimes create a very small buffer of the point to use for comparison. It seems to be more reliable than comparing points to polygons/lines. The workflow would be something like:

 

  1. GeometryExtractor to save the point geometry
  2. Bufferer
  3. Spatial comparison using previously mentioned methods
  4. GeometryReplacer to get the point geometry back.

Reply