1. Introduction
The integrated three-dimensional (3D) modeling of buildings’ indoors and outdoors, indoor positioning and space analysis, are inevitable trends for the future development of 3D digital cities, building information modeling (BIM), and geographic information system (GIS) [
1,
2,
3]. An indoor space is a built environment that is separated from the natural environment with certain materials and technological methods for a purpose or function [
4]. Indoor spaces, which generally contain specific usage function and clear spatial boundaries, are the main regions for modern humans to perform indoor activities related to work, leisure, and shopping [
5]. Extracting indoor space information involves obtaining the functional regions of indoor space by identifying their boundaries from two-dimensional (2D) floor plans/3D BIM data. The result of indoor spaces extraction is a prerequisite for the application analyses of indoor navigation, environmental simulation, and building information management [
6]. In addition, the extraction result plays a significant role in the extension of indoor 3D GIS [
7].
Extraction approaches can be divided into three categories with respect to modeling indoor spaces [
5,
8]. In the first category, network model extracting methods abstract indoor spaces as nodes and the topological relationship between indoor spaces as edges to form a node-relation graph. Previous studies on network modeling based on a single 2D plan typically involved the Poincaré duality [
9], media axis transformation (MAT)/centerline algorithm/shape skeleton [
9,
10,
11], visibility graph [
12,
13], or combinations of the above [
3]. To reflect the hierarchical structures of indoor spaces, Lorenz et al. [
14] used hierarchical graphs that represent different levels of stories in buildings. In addition, a few studies divided an indoor room into smaller indoor spaces and built a network with smaller spaces to reflect the relationship between indoor spaces [
15,
16,
17]. For example, Wallgrün [
15] achieved complete division of an indoor space through the generalized Voronoi graph (GVG) and verified GVG-based route graphs suitable for robot navigation in an indoor environment. Several studies also explored the methods to extract indoor navigation network information based on BIM data [
18,
19,
20,
21]. For example, Tang et al. [
19] described an automatic topology derivation from BIM to obtain an accurate navigation network. Isikdag et al. [
21] presented a BIM-Oriented Model by using the advanced semantic and geometric information to support better indoor navigation. However, these studies mainly focused on the method of network generating from existing BIM indoor spaces rather than the building components. The advantages of the network model extracting method are its simple concept and its ability to generate networks that meet the basic requirements for indoor pathfinding navigation [
22,
23,
24]. However, because the network model abstracts indoor space entities as a set of nodes, it loses the actual geometric information of indoor spaces and does not support the expression and analysis of continuous phenomena, such as indoor airflow motion and fire simulation, which must be performed in indoor space geometry [
8].
In the second category, the regular grid/voxel model extracting method divides an indoor space into a set of regular grids/voxels associated with specific semantics. These grids/voxels generally have the same shape, such as rectangles, hexagons, and octagons. The structure and spatial dimension characteristics divide a 2D indoor space into grids [
4,
25,
26] and a 3D indoor space into voxels [
8,
27,
28,
29]. Li et al. [
4] discretized 2D indoor spaces into grids that could not only calculate the shortest path for indoor navigation but also supported the simulation and expression of indoor air movement, fire models, and other continuous phenomena. Liu et al. [
27] built a sparse 3D voxel index for large-scale BIM data to present a real-time and light weighting Web visualization system. Xiong et al. [
8] divided 3D indoor spaces into voxels and extracted an indoor space from a building model. However, the granularity of discrete grids/voxels determines the accuracy of indoor space modeling. When the size of a selected grid unit is extremely large, the boundaries and details of the indoor space cannot be accurately expressed. Moreover, for a large building with a comprehensive commercial architecture, a large number of grids can cause the problem of low efficiency for the analysis and calculation of an indoor space [
4,
8,
26].
In the third category, the space entity model extracting method considers an indoor space as an entity with accurate semantic and geometric information and identifies the spatial topological relationships among indoor space entities, such as connectivity and adjacency. Furthermore, the extraction results can be converted into an indoor space network model or a regular grid model and satisfy application analyses such as indoor pathfinding navigation, environmental simulations, and building information management. Simultaneously, the entity modeling of an indoor space can obtain accurate indoor space boundaries; hence, extraction accuracy is ensured [
30]. Therefore, the entity method provides evident advantages in terms of accuracy for expressing indoor spaces. At present, indoor space entity extracting methods mainly identify a function space from a detected loop set, which is surrounded by an edge object. The loop set is obtained by searching in an object graph, which is converted from a 2D floor plan. The search-loop method has been adopted to determine boundaries of the indoor space entity and extract the indoor space of a building [
30,
31,
32,
33]. Zhu et al. [
31] proposed an odd–even-based method to preprocess wall lines and used the loop search method to obtain an indoor space. However, modern large buildings have several complex situations with isolated components, such as columns to support a hall and walls to divide functional areas, as shown in
Figure 1a,b. These isolated building components cannot form a closed loop. Thus, an extraction method based on a search loop from a plane space cannot accurately extract a single-floor indoor space (
Figure 1c). Current BIM software, such as Autodesk Revit, can support the extraction of indoor space information. However, to deal with cross-floor spaces, Revit must manually specify the upper boundary of spaces and does not fully extract automatic cross-floor space [
34].
In summary, existing methods have certain problems in extracting indoor spaces. First, the existing space entity model extracting method cannot solve the isolated building component situation. The extracting method based on the search-loop theory simply uses the components around the loop as the geometric boundary of an indoor space without considering its internal isolated components. Additionally, these building components play an important role in limiting indoor space. An indoor space can be extracted with more accurate geometry only when all boundary components, which define the boundaries of the space, are considered. In terms of the composition, the objects in the building can be divided into two categories, namely building components, such as walls and columns, and indoor spaces that are divided into different rooms and corridors [
35]. The interior space of a building is partitioned by all boundary components. Therefore, there must be boundary and co-boundary relationships between the building components and indoor spaces. All single-floor indoor spaces can be obtained if the region occupied by all building components is subtracted from the interior region of the building. The region occupied by isolated components also exists as an internal island in the indoor space, as shown in
Figure 1d. Second, existing BIM software cannot automatically extract the cross-floor spaces in modern large-scale buildings. Two adjacent single-floor indoor spaces are separated by a floor slab in the vertical direction, and a cross-floor space can be generated by reconstructing the connectivity relationship between several single-floor spaces.
Based on the above analysis, this paper presents a new automatic indoor space extracting method that models single-floor indoor spaces and cross-floor spaces in complex indoor environments. Typical situations, such as isolated components and cross-floor spaces, are significant factors that influence the extracting accuracy of indoor spaces. The method can overcome these typical situations and ensure the accuracy of the extracted indoor space. A concert hall containing isolated components and cross-floor spaces was used as the experimental object to verify the effectiveness and practicability of the proposed method for extracting the indoor spaces of large complex buildings.
The framework of this paper is as follows.
Section 2 presents the basic idea and overall procedure of the indoor space entity extracting method.
Section 3 describes the extraction method in detail.
Section 4 presents the experiment and analysis.
Section 5 discusses the results, and
Section 6 concludes the paper.
2. Basic Idea and Overall Procedure
The basic idea of accurately extracting a single-floor indoor space is to consider all enclosed building components; this is because indoor spaces have complex isolated components. First, the boundary of a single-floor space is calculated based on building components, and the region enclosed by the outer contour of the single-floor boundary is obtained. Then, the entire space occupied by boundary components is subtracted from the outer contour region through the Boolean difference operation. The remaining spaces are single-floor indoor spaces, which are divided into a set of sub-regions based on the building components. The modeled single-floor spaces are used to reconstruct the boundary relationships between the building components and indoor spaces according to the intersection condition. To extract cross-floor indoor spaces, the symbol of holes in a floor slab is extracted and the up-and-down connectivity relationship between adjacent single-floor indoor spaces is identified. Eventually, a complex cross-floor indoor space can be constructed by reconstructing single-floor spaces and determining the up-and-down connectivity relationship.
Spatial analysis technology is an advantage of GIS. In this study, the main geometric operations and relation judgments (e.g., intersect, contain, and within) are based on spatial analysis technologies with GIS. Therefore, we present a new method of extracting an indoor space and solve complex condition problems such as isolated components and cross-floor spaces. The overall procedure includes the following steps, as shown in
Figure 2: Input data consist of all building components (
Figure 2a). (1) The boundary of a single-floor space is calculated based on the building components (
Figure 2b). (2) The single-floor indoor spaces extracting method considers the isolated components in the interior of a space (
Figure 2c). (3) The downward connectivity of single-floor spaces is identified based on the holes in a floor slab. And
Figure 2d highlights the single-floor spaces with downward connectivity. (4) The cross-floor space extracting method is realized.
Figure 2e shows the result of the first floor modeling of cross-floor spaces.
Figure 2f shows the output extraction results. The specific extraction steps are described in detail in
Section 3.
3. Method
3.1. Calculation for the Indoor Space Boundary of a Single Floor
Building components are the basic entities that compose buildings. They are used alone or in combination with other building components to achieve the basic structure and functions of a building. The main building components include walls, curtain walls, columns, floor slab, doors, windows, roofs, and stairs. These components contain building elements that partition the interior space of the building. In this paper, building components that divide the interior space are referred to as boundary components. Boundary components are entities that define the boundary of the building indoor space. They act as the border between functional spaces within the building and between the interior space of the building and the external geographical environment. Extracting the semantic and geometric information of indoor space boundary components is the basic condition for indoor space extraction.
Table 1 describes the semantic information of the following building components: wall, curtain wall, column, railing, and floor slab.
The boundary of a building’s indoor space is typically represented by the boundary components that geometrically restrict the indoor space. These components mainly include walls, columns, floor slabs, and railings.
Figure 3 shows continuous wall components that remove openings and column components. Various types of boundary components collectively define the region of the building space. A boundary component can be defined as follows:
A boundary component (BC) is completely defined by its unique identifier (id), semantic description (SD), geometric information (GI), and relation information (RI). The boundary of a building’s indoor space is calculated as follows.
Step 1: Boundary components are selected according to whether they enclose and separate the space. According to this criterion, the selected boundary components include walls, columns, floor slab, and railings (
Figure 4a).
Step 2: A set of geometric polyhedrons are obtained for each boundary component. The set expression of boundary components is as follows:
where
BG is the set of building component geometries.
is the geometry of the
ith boundary member component, and
n is the total number of boundary components.
Step 3: Based on the geometry of boundary components acquired for a single floor, the Boolean union operation is performed on the geometry of the boundary components, and the union result of the boundary components of each indoor space is obtained (
Figure 4b). The union result
S can be described as follows:
3.2. Extracting Indoor Single-Floor Space of a Building
A building is generally organized according to floors. A single-floor space is defined as a space that only exists in one storey; the lower boundary of a single space is the floor slab of current storey and the upper boundary is the slab of upper storey. A floor plan view describes a single floor of a building on a 2D plane and can clearly show the interior structure. The single-floor plan is a horizontal section view that is along a slightly higher position compared to the windowsill. The single floor is cut with an imaginary horizontal plane; the upper part is removed, and an orthographic projection of the remaining part is created. In a building model, the outer border of the building is an intermediary between the architecture and geographic environment. The inner border of a building divides the functional subspaces.
The Boolean difference operation is used on the outer contour region of a single floor to subtract all components on the same floor. The remaining region contains indoor and outdoor spaces, which are separated by boundary components. Because the indoor spaces are enclosed by the boundary components of the building, they cannot be directly adjacent to the outer contour region of the floor. Therefore, the indoor and outdoor spaces are distinguished by detecting the adjacency between space geometry and the outer contour of the floor. The regions occupied by isolated components in the indoor space exist as islands; therefore, correct geometry of the indoor space is obtained.
Figure 5 shows the process for extracting a single-floor space.
The specific extraction steps are given below.
Step 1: Convex hull
C is calculated for the union of results
S (
Figure 6a). 3D convex hull
C is a polyhedron that surrounds all boundary components. As the convex hull is slightly larger, it does not affect the extraction of indoor spaces in this study. Therefore, the simplest calculation of the convex hull is to use the most external components.
Step 2: Convex hull
C and union result
S are used to perform the Boolean difference operation. Space geometry set {
Wi} is obtained, which includes the indoor space enclosed by the boundary components and the outdoor space covered by boundary convex hull
C. As shown in
Figure 6b, the entire space is displayed in the floor plan view.
Step 3: Outdoor spaces are identified and removed. The above calculation results must distinguish and remove the outdoor spaces whose geometric shapes do not have clear semantics. The following formula is used for judgment:
If a space polyhedron intersects with the border of convex hull
C, it belongs to the outdoor space and is removed. As shown in
Figure 6c, the space colored in red represents the outdoor space. If the space polyhedron is away from the boundary of the convex hull
C, it is the indoor space of the building (
Figure 6d).
Step 4: The boundary relationship is constructed. All boundary components that geometrically intersect with the indoor space are queried, and the boundary relationship is built.
Figure 7 shows single-indoor space
A as an example. All boundary components that intersect with the border of
A are queried, and the result is indicated by solid arrows. This set of boundary components is traversed to construct the boundary relationship between the space and boundary components of the building. The members that do not intersect with the border of
A are excluded; these are indicated by dashed arrows.
3.3. Identifying the Downward Connectivity of Single-Floor Space
In complex buildings, indoor spaces can span multiple floors, such as atriums and halls. The connectivity of a cross-floor space is used to indicate the multiple floor characteristics of this indoor space. The cross-floor space is reflected in all floors. When the indoor spaces are identified from a single floor, each floor generates a separate single-floor space because the cross-floor characteristics of the indoor space are not considered; each divided single-floor space contains connectivity. A cross-floor space is divided into several independent single-floor spaces that are not connected. Therefore, the geometry of the cross-floor space is not correct. After the extraction and modeling of the building’s single-floor spaces, the connectivity of the cross-floor space must be judged.
Cross-floor indoor spaces mainly include air duct wells, flue wells, elevator shafts, atria, pipe wells, and so on (
Figure 8). Pipe wells provide a relatively safe and independent building space for water supply, drainage, electrical, heating, and air conditioning facilities (
Figure 8a). For high-rise buildings, elevator shafts provide an essential space for facilities such as elevators and their tracks (
Figure 8b). The main function of air ducts and flue wells is to exclude exhaust air, smoke, and other dirty air inside buildings while ensuring indoor and outdoor air flow (
Figure 8c). An atrium is an indoor hall with multiple floors inside a building (
Figure 8d).
A cross-floor indoor space has the following two characteristics:
- (a)
Space accessibility. Because this space type spans multiple floors, there is no floor slab barrier in the vertical direction, and any floor of the building can be reached through this space.
- (b)
Function specificity. A cross-floor space is generally designed to meet specific functional requirements of a building and has a specific role.
We consider the drawing standards in the fields of architecture and interior design. In a floor plan, a cross-floor indoor space is represented by specific legend symbols that are typically used for holes in floor slabs. As shown in
Figure 9, the red polylines indicate the holes in a floor slab. There is no floor in the regions in which they are located. Hence, the upper and lower spaces of the two-story building are directly connected together to form a cross-floor building space.
The polylines that represent the holes in the floor slab typically span across the entire cross-floor space and express the missing floor slab between the two floors. However, the hole symbol consists of discrete lines in a few cases. Thus, the hole symbol polylines must be rebuilt as shown in
Figure 10. First, all lines in the hole symbol layer are extracted, and all geometrically discrete line segments in the hole symbol layer are used as input data (
Figure 10a). Then, topological reconstruction is performed on all geometric line segments, and the line segments with the same endpoint are converted into a single polyline (
Figure 10b). The resulting polyline is the hole symbol of the floor slab.
The analysis of a large amount of architectural plan data showed that the cross-floor space connectivity relationship can be transformed into identifying floor hole polylines in a drawing, and the downward connectivity relationship of the space is expressed in the upper floor plan. These polylines span the entire cross-floor space and consist of two straight lines at a certain angle. The cross-floor building space can be accurately identified by considering the spatial relationship between the geometries of the indoor space and polylines as the criterion for judging the downward connectivity of a building space.
Figure 11 shows building space
A enclosed by walls
W1,
W2,
W3, and
W4. Polyline
a is the hole symbol for the floor slab. Building space
B comprises the space boundary walls
W1′,
W2′,
W3′, and
W4′. Building indoor space
A in
Figure 11a contains hole polyline
a. Therefore,
A is a separate single-floor building space with downward connectivity. The indoor space
B of the building in
Figure 11b does not contain any polyline; hence,
B is a single-floor indoor space with no downward connectivity.
3.4. Extracting Indoor Cross-Floor Space of a Building
According to the method described in
Section 3.3, if the building space on a certain floor contains a hole symbol polyline, its downward connectivity is determined. An upper space is directly connected to a lower space if a floor slab is absent between the upper and lower floors. There are generally three situations between the lower and upper spaces on a 2D horizontal projection plane, as shown in
Figure 12.
- (a)
A.area < B.area. The upper floor space is smaller than the lower floor space. The upper space projection is completely within the lower space.
- (b)
A.area = B.area. The upper space is equal to the lower space. The upper space projection matches the lower space.
- (c)
A.area > B.area. The upper space is larger than the lower space. The upper space projection covers the lower space.
Figure 13 shows the specific process for extracting a cross-floor indoor space.
Step 1: The extracted building space for each single floor is input. We have described the extraction of all single-floor indoor spaces in
Section 3.2.
Step 2: Polylines of the floor-slab hole symbols for each floor are extracted. If there is a hole symbol in the floor plan, we can confirm the existence of a hole in the 3D floor.
Step 3: It is verified whether there is downward connectivity, starting at the top floor of the building and checking each floor from top to bottom. If the indoor space contains a polyline hole symbol, the space is a downwardly connected cross-floor space; otherwise, it is a single-floor space.
Step 4: If the space is a cross-floor space, all spaces of the lower floor are searched. The space with the highest area overlap percentage (AOP) with the upper space projection is queried to find upwardly connected building spaces. The up-and-down connectivity relationship between the two spaces is built. The AOP is expressed as
where
A is the upper space and
B is the lower space.
is the space projection to the lower floor, and
is the area of the indoor space.
Using the above steps, all cross-floor spaces in single-floor building spaces are identified, and their up-and-down connectivity relationships are built. For the 3D modeling of cross-floor spaces, two or more 3D single-floor building spaces with upper and lower connectivity are combined in a geometric space. The specific steps for 3D modeling of a cross-floor building space are as follows.
Step 5: A pair of spaces with up-and-down connectivity relationships is obtained. After Step 4, we can obtain a set of up-and-down relationships that contain a set of two single-floor space IDs. We can find a pair of space entities based on the space ID.
Step 6: Cross-floor 3D modeling.
Figure 14a shows the extraction result for two single-floor spaces. If there is no connectivity between these spaces, the floor-slab 3D geometry is as shown in
Figure 14b. However, if a pair of spaces has up-and-down connectivity, it is merged into a single cross-floor space through Boolean union operations (
Figure 14c). The single cross-floor 3D spaces, which are connected by two single-floor spaces, passes through the hole in the floor slab as shown in
Figure 14d.
Step 7: The result is output as an indoor cross-floor space. Finally, we obtain a cross-floor space with accurate semantics and geometry.