Skip to main content

I have been working with the following workflow:

  1. Bufferer to buffer the buildings with 50 meter
  2. Clipper to clip the vegetation to the buffers
  3. Spatial filter where "BuildingBuffers OGC-Contains Vegetation". The vegetation is the candidate.
  4. Area calculator of the resulting areas
  5. Statistic Calculator to sum the calculated vegetation area for each building ID.

 

The result is missing data for many of the building buffers. I think one problem is that the vegetetad areas only are counted once, while in reality they can be included in many of the building buffers. Do you have any advice?

 

Hi @ahpierre​ 

If you are using FME 2022 or later, try setting "Clip Original Candidates" to the Overlapping Clippers parameter.


You might be able to do something with the AreaOnAreaOverlayer. I have created two building features: imageAs you can see they overlap. I have also created a vegetation feature:

imageI put them in the AoAO with these settings:

imageThis is the result, note that the ID list I have created is not yet visible in the Visual Preview window:imageI then put this through the ListExploder (where List Attribute = _id_list{}), which gives me this:

imageThe red part is output through the <Rejected port>. This feature has no overlap with a building, and thus no _id_list{} attribute.

The Elements port is of interest, since this contains all parts of our building features. More specific, the features in the Elements port where the Vegetation attribute has a value is of interest to us! These are our building features that overlap with a vegetation feature.

We can use a Tester to filter out the parts that do not overlap with a vegetation feature and dissolve grouped by the building id. We now have the (complete) parts of our building features that overlap with vegetation. You can use AreaCalculator to calculate area:

imageMaybe I should have made another vegetation feature, since nearly all our building features overlap entirely with the vegetation feature..

 

This is the workspace I used:

image


That's a good idea. But it still results in missing data in the output.


You might be able to do something with the AreaOnAreaOverlayer. I have created two building features: imageAs you can see they overlap. I have also created a vegetation feature:

imageI put them in the AoAO with these settings:

imageThis is the result, note that the ID list I have created is not yet visible in the Visual Preview window:imageI then put this through the ListExploder (where List Attribute = _id_list{}), which gives me this:

imageThe red part is output through the <Rejected port>. This feature has no overlap with a building, and thus no _id_list{} attribute.

The Elements port is of interest, since this contains all parts of our building features. More specific, the features in the Elements port where the Vegetation attribute has a value is of interest to us! These are our building features that overlap with a vegetation feature.

We can use a Tester to filter out the parts that do not overlap with a vegetation feature and dissolve grouped by the building id. We now have the (complete) parts of our building features that overlap with vegetation. You can use AreaCalculator to calculate area:

imageMaybe I should have made another vegetation feature, since nearly all our building features overlap entirely with the vegetation feature..

 

This is the workspace I used:

image

That's a good approach - I will give it a try. In theory it works better than the approach I had in mind as first, so thanks a lot.


Reply