Question

how to calculate point perpendicular to nearest line from polygon with fixed distance


Badge +6

Hi

Does somebody know if this is possible (check picture)?

I have a shapefile with polygons (BLACK), a shapefile with points (RED) and a pointcloud.

I want to make a donut (GREEN) around the polygons and clip my pointcloud with them. So I have pointclouds around my polygons.

That is what I have so far.

The next bit is more difficult and why I need help.

The points around the polygons should be moved perpendicular to the nearest line from the polygons and with a fixed distance from the polygons (PURPLE). Once I have those positions, I want a buffer around them and calculate the average height from the points from the pointcloud within the buffer. The average height should be written in the original shapefile with points (RED).

Some thoughts:

split the polygons into lines

search for nearest neighbour

if the directional coefficient is m then the perpendicular directional coefficient is -1/m

intersect perpendicular line with line from polygon

offset with fixed distance from intersect and along perpendicular line

buffer

calculate statistics

...


2 replies

Userlevel 2
Badge +17

Hi @koenvdw, a possible way is:

  1. NeighborFinder: Find a point on the polygon boundary closest to the red point.
  2. VertexCreator: Create a line connecting from the red point to the closest point.
  3. 2DVectorCaltulator (from FME Hub): Transform the line into a line connecting from the closest point to desired point.
  4. VertexRemover (called CoordinateRemover in older versions): Keep only the end node (purple).

See also this screenshot.

Badge +6

@takashi

Thank you very much, this worked!

Reply