Question

Assigning parent lot values to child lots

  • 13 December 2021
  • 5 replies
  • 1 view

Hi FME altruist, I am a new member of this community and trying best to strive on using FME for my new job. In a task, I am asked to assign a percentage value (computed by area on area overlayer) of a parent lot to its child lot. For example, in this image, I have first dissolved the two child polygons (1 and 2) and computed the percentage value. But now I cannot assign the value to its child lots. I have tried different tools (e.g. SpatialRelator, NeighborFinder) that can return like 'select by location' and then create a field :) FME_issue_parent_child_lot


5 replies

Badge +20

You can use GeometryExtractor to put the geometry in an attribute, Bufferer set to -0.001 (or something very small, but negative) followed by SpatialRelator (or SpatialFilter) to get the parent ID to the lots.

Finally use GeometryReplacer to replace the negative buffers with the original geometry.

You can use GeometryExtractor to put the geometry in an attribute, Bufferer set to -0.001 (or something very small, but negative) followed by SpatialRelator (or SpatialFilter) to get the parent ID to the lots.

Finally use GeometryReplacer to replace the negative buffers with the original geometry.

Hi Adrian, thanks for your reply. I think I am lost in the process of merging what I have done and implementing what you have suggested. Let me tell you what is my thinking process to do the thing:

 

(i) I first filtered all those features that includes parent and child lots (both parent and child got a common attribute but parent lots got 0 value for that common attribute, e.g. 0_SP17778 (parent), 1_SP17778, 2_SP17778 (etc are children lots)

(ii) I have dissolved the features and selected 'Group by' that common attribute. These returned 501 features out of

(iii) Area on Area overlay for intersecting with other layer to get the % value of that layer within dissolved layer

(iv) calculate % value by express evaluator

(v) so now all dissolved layer got a % value and now I would like this value to pass to the child lots

(vi) I have tried featureJoiner, featuremerger by using common attribute but its only returning the parent lot.

I have tried the way you have suggested but no clue how to set the parameters and it is not returning any meaningful output for me. Sorry for if I sound naive.

Badge +20

I don't really understand if you are trying to pass % from child to parent or from parent to child.

It sounds like you just need to pass some attributes between features and FeatureMerger with group by and Merge Attributes checked should just work.

It would help if you attach some sample data and a sample workspace.

I don't really understand if you are trying to pass % from child to parent or from parent to child.

It sounds like you just need to pass some attributes between features and FeatureMerger with group by and Merge Attributes checked should just work.

It would help if you attach some sample data and a sample workspace.

Hi Adrian, sorry if I make you confused. My objective is to get all child lot marked as affected by flood, if the parent lot is partially affected (if 100% affected, that will be carried out too). So, the situation is like the attached image (first image)FME_issue_parent_child_lot2. The green layer is the % value of flood prone land layer that partially overlaps with 0_17778 feature, which is the parent lot. As you see some of the child lots (3,4,5,6,7,8) already partially affected by flood prone land. But I want all the lots that are associated with parent lot (numbered with 1,2,9) to be marked as affected.

Userlevel 3
Badge +16

I'm assuming from your example you want both lot 5 and lot 1 to end up attributed as about 40% flood affected, because that's the coverage of the overall dissolved lot?

If so, then the only attribute the dissolved lot needs is what identifies it as SP17778, in order to merge that calculated 40% value back onto the original lots. Something like this?

image 

Reply