Skip to main content
Calculating the percentage of ALL “Buildings” in relation to a “Boundary”,

 

 

 

I couldn’t figure out the best practice to calculating the percentage of ALL “Buildings” in relation to a “Boundary”.

 

 

 

In the ArcGIS, for example, this sort of work is done as shown in the following model. The results shows that the percentage of buildings in relation to the boundary is 6.96%.

 

 

 

 

 

 

Which equivalent tools in FME that can be used to calculate this value (the percentage of buildings in relation to the boundary)?

 

 

 

The data is store in the link below

 

http://www.mediafire.com/download/yxzwnk43n9kvz17/UMP_Buildings.dwg

 

 

 

 

 

I have started the workbench but with no idea how to proceed

 

 

 

 

 

 

 

 

Thank you

 

 

 

Best

 

 

 

Jamal

 

 
Hi Jamal

 

 

For example:

 

(1) Calculate area of the boundary and buildings by two AreaCalculator for each.

 

(2) Merge the area of boundary to every inside building by a SpatialFilter. You can use the "Attribute Prefix" parameter to resolve conflict of attribute names between Filter feature (boundary) and Candidate features (buildings), if necessary.

 

(3) Aggregate the buildings (Passed features from the SpatialFileter) by an Aggregator. Here, sum of building areas can be calculated.

 

- Keep Input Attributes: Yes

 

- Attributes to Sum: <select an attribute storing building area>

 

Assuming that an attribute called "_area" has stored the area of individual building before aggregating, the "_area" will store the sum area of all buildings after aggregating if you set "_area" to the "Attributes to Sum" parameter.

 

(4) You can then calculate the required percentage using an ExpressionEvaluator or an AttributeCreator.

 

 

Takashi
I have applied the transformers below to accomplish the work. Would this be a good workbench?

 

 

 

 

 

 

 

 


I guess some warnings on the AttributeCreator_3 would be logged during the translation. Although it may not have bad infuliance to the final calculation result (sum of percentage) in this case, I think it's better to resolve such warning, in general.

 

If I were you, I would remove the AreaOnAreaOverlayer, and check "Merge Attributes" in the Clipper to merge BoundaryArea to every clipped building.

 


Thanks Takashi,

 

 

 

I have deleted the “AreaOnAreaOverlayer” and checked the “merge attributes” as you have recommended. The workbench still works fine and produces the expected result.

 

 

 

The only challenge that I have at the moment is how to have the result of the “StatisticsCalculator” in a table stored in the file geodatabase.

 

 

 

 

 

 
Esri File Geodatabase supports non-spatial feature class (data table without geometries).

 

Supposing you are using FILEGDB writer, try setting "geodb_no_geom" to the "Allowed Geometries" parameter in the writer feature type to create a non-spatial feature class.

 

 

 

In addition, seeing your screenshot, I noticed that the number of output features from the AreaOnAreaOverlayer is greater than inputs. This indicates that some buildings overlap each other.

 

The resulting percentage could be slightly greater than "(sum of building areas) / (area of the boundary)".

 

I would recommend you to check if the calculating procedure is fit to your requirement.
Very much appreciated Takashi for the massive efforts and help. It works fine now

 

 

 

 


Reply