Question

Duplicating points

  • 19 February 2019
  • 5 replies
  • 8 views

Badge

Hello,

I have a set of parcel and I need to insert point inside them that represent parcel ID. My approach is to use CenterPointReplacer transformer(mode: Inside Point) and this works perfectly.

Problem is large parcels where because of their large area I need to duplicate that point and place those duplicates elsewhere inside corresponding parcel.

Additionally, If its possible to make one duplicate for every 15000 sqm of parcels Area. So parcels that are 15k to 30k square meters would have two point placed inside parcel, 30k to 45k sqm would have 3 points... This is not mandatory but it would be nice if it is possible to do.

 

Every help would be appreciated.


5 replies

Userlevel 4

For very irregular parcel shapes, how should the points be distributed?

Possible solution to create a regular grid of points inside each parcel:

  • 2DGridAccumulator to create a point grid
  • Bufferer on the parcel area with a negative value (this is to prevent points too close to the parcel border)
  • Clipper to only keep the grid points inside the parcel buffer
  • PointOnAreaOverlayer to check that the parcel contains at least one point, if not use the CenterPointReplacer to create one.

 

Userlevel 6
Badge +32

I remember a blogpost from @dmitribagh, converting polygon to pointcloud, to get even spaced area's. It's from 2016 so maybe there are better solutions nowadays.

Badge

For very irregular parcel shapes, how should the points be distributed?

Possible solution to create a regular grid of points inside each parcel:

  • 2DGridAccumulator to create a point grid
  • Bufferer on the parcel area with a negative value (this is to prevent points too close to the parcel border)
  • Clipper to only keep the grid points inside the parcel buffer
  • PointOnAreaOverlayer to check that the parcel contains at least one point, if not use the CenterPointReplacer to create one.

 

Hi @david_r most of the parcels are irregular shapes and point should be distributed equaly across the parcels. I am aware that this is impossible and I would try your approach only problem is determining what cell size to set for 2DGridAccumulator. Thank you.

Userlevel 1
Badge +21

I'd try the tiler to split the larger polygons up into say 125 *125 tiles, test for tiles over a certain size then use a CenterPointReplacer transformer(mode: Inside Point).

Badge

I'd try the tiler to split the larger polygons up into say 125 *125 tiles, test for tiles over a certain size then use a CenterPointReplacer transformer(mode: Inside Point).

Thank you @egomm this is it.

Reply