Returns the number of basement, ground, and roof floors of the given mesh building. This is done by making horizontal cuts within the building and comparing the areas of these cuts.
The parameter storey_height
describes the height of a single storey. This
value provides the basis for the storey determination. Based on the value,
the heights at which the horizontal cuts are made can be determined. If no
storey_height
is specified, a default value of 3 meters is used.
The distinction between roof and ground floors is based on a threshold for
the floor area. As soon as the area of the current floor is less than 80%
of the area of the previous floor, the current floor is recognized as a
potential roof floor. However, if the next floor area does not fall below
the threshold compared to the potential roof floor, it is instead classified
as a regular floor. Otherwise, we confirmed an roof floor and also classify
any subsequent floors as roof floors. The area of the current floor is
calculated using the horizontal cut.
The parameter last_storey_min
specifies how high the last floor must be
at least in order to be counted as a floor. A default value of 2.5 meters
is used here. If the last floor is smaller than this value, it will not be
included in the result.