Since the first GIS was developed in the 1960s, there has been a significant progress in geospatial technologies. We can interpret the history of geospatial technologies in terms of the size of the spatial extent. The spatial extent of GIS in the first generation covered a large area, such as an entire country or a whole city, and the user groups were limited to experts, like urban designers and civil engineers. Due to the progress of computing and web technologies and positioning methods including GPS, geospatial technologies became available to the public, such as car navigation and web map services. Accordingly, the users of geospatial technologies were expanded to car drivers and web users, while the size of the spatial extent covering, for example, several blocks in a city became smaller than the previous generation. Since the 2010s, mobility technologies such as smart phones allow pedestrian navigation, which requires an even smaller spatial extent of less than a hundred meters, and the user population of geospatial technologies has significantly grown. Additionally, we may forecast the future trend that the size of the spatial extent will become much smaller and the user group of geospatial technologies will become bigger, and indoor spatial information services will be an example of this trend.
More particularly, the indoor spaces of buildings become bigger and more complex due to rapid urbanization and large populations in urban areas. For this reason, the efficient management of indoor spatial information is a crucial demand in huge buildings, and a few commercial services have been already provided, such as Google Indoor, to meet such demand.
Like other types of information, indoor spatial information has a life cycle consisting of: (1) data collection; (2) data management; (3) data sharing; and (4) spatial analysis and services; where each step is supported by proper methods and technologies. However, we need also a basic indoor spatial theory supporting the entire life cycle, and the indoor spatial data model forms a core part of indoor spatial theory. A clear taxonomy of indoor spatial data models was presented from three viewpoints, including geometry, symbolic space and network connectivity in [1
]. Although many spatial data models for indoor space have been developed particularly by geospatial standard communities, they mainly focus on only one of these viewpoints. For example, IFC (Industrial Foundation Classes) [2
] of buildingSMART and CityGML [3
] of OGC (Open Geospatial Consortium) define exchange data formats for 3D building models and standard spatial data models for indoor space. However, their spatial data models include feature models rather than space model and do not fully reflect the properties of indoor space, such as indoor topology.
In order to overcome the weakness of previous standard spatial data models for indoor space, IndoorGML was published by OGC [4
] in 2014. It includes all of the properties addressed in [1
]; geometry, symbolic space and network topology. Unlike the previous spatial data models, it defines an indoor space model rather than feature models for indoor space. It provides a basis of the indoor spatial data model, so that it can be easily extended to meet the requirements of any indoor spatial applications and integrated with other standards such as CityGML.
While IndoorGML defines an indoor spatial data model, limited works have been done on its utilization for different applications. In this paper, we investigate the key concepts of the spatial model introduced in IndoorGML and explore how to apply it for diver applications of indoor spatial information. The goal of the paper is therefore to explore the potential of IndoorGML and investigate how to utilize it for practical applications. In particular, we discuss issues about the cell determination in IndoorGML for several practical cases. Additionally, we also propose novel algorithms to compute indoor distance for different cases and the framework for indoor context-awareness using IndoorGML.
The paper is organized as follows: In Section 2
, we survey the previous work on standard indoor spatial data models and discuss the requirements of spatial data model for indoor space in Section 3
. The basic concepts of IndoorGML will be introduced in Section 4
, and advanced concepts and implementation issues of IndoorGML will be investigated in the following sections. We will discuss the cell determination issue for IndoorGML in Section 5
, the indoor routing and distance computation in Section 6
, which are two basic functions of indoor spatial services, and the implementation of the indoor context-awareness with IndoorGML in Section 7
. Additionally, we conclude the paper in Section 8
3. Requirements for Indoor Spatial Data Models
In this section, we study the characteristics of indoor space by comparing with outdoor space and then analyze the requirements for standard indoor spatial data models.
3.1. Indoor Distance
One of the most primitive differences between indoor and outdoor spaces lies on the definition of distance. In general, outdoor space is classified into Euclidean space and constraint space, which is defined as a space where the distance between two points is determined by constraints between them. Road network space is an example of constrained space in the outdoors, since the distance between two points in a road network is determined by the network constraints [22
]. The types of constrained spaces depend on the characteristics of the constraints. Indoor space is also a constraint space, where constraints differ from network constraints or city facility constraints in outdoor constraint spaces.
Indoor space composed of a number of architectural components, such as rooms, corridors, floors, wings and elevators, has more complicated structures than outdoor space. In order to compute the distance between two points in indoor space, we therefore have to consider the architectural structure, more precisely two factors: architectural components, such as walls, doors, stairs, etc., and the connectivity between indoor spaces, as shown in Figure 1
. This means the information about indoor connectivity and architectural components is necessary to compute indoor distance. First, the indoor connectivity, called the indoor accessibility graph [13
], has to be prepared, as we need a road network graph to compute distance on the road network. An indoor accessibility graph is represented as
, where a node
is a room or a space unit in indoor space and an edge
represents the connectivity between two adjacent space units, for example via the door. The edge may contain any additional attributes such as the length of the connection.
However, a simple edge connecting two nodes does not fully reflect the distance information particularly when the room connected to the edge has a big area or complicated geometry [24
]. In order to overcome this problem, we need the geometry information of the room or space unit surrounded by architectural components, such as walls and doors. Once indoor geometry information is provided, the indoor distance is computed by dividing the total path into point-to-door and door-to-door distances as illustrated in Figure 2
. In this figure, the path from point p
to point q
is divided into several sub-paths; the first sub-path from p
, the second from
and the third path from
. While the distances from p
are called point-to-door distance, the distance from
is called door-to-door distance. The point-to-door distance may be computed by line-of-sight [12
] or the Minkowski sum [24
], while the door-to-door distance can be easily computed by the shortest path algorithm with pre-computed door-to-door graph [12
Since the vertical distance is not isotropic with horizontal distance, the indoor distance between two points on different floors is computed in different ways from the distance on the same floor. Furthermore, the vertical distance depends on the type of locomotion, whether elevators, stairs or escalators. For this reason, it is an alternative option to define indoor distance as the expected traveling time between two points rather than physical distance. More information such as type of locomotion and contextual information is required to compute the expected traveling time in addition to the accessibility graph and geometry of indoor space. Consequently, the standard indoor spatial data model should contain not only geometry, but also connectivity topology, semantic and additional information, such as context information, to support indoor distance computation.
3.2. Complex Structures of Indoor Space
The structure of indoor space is mainly determined by architectural structures that have unique properties. First, the indoor space consists of a number of cells surrounded by architectural components, such as walls, ceilings and floors, where each cell is separated from the others. Cells in indoor space are horizontally or vertically connected in sophisticated ways via specific types of architectural components like doors and stairs. Furthermore, indoor spatial properties, such as cell geometry and the connectivity structures between cells, differ depending on the type of buildings. For example, subway stations are normally composed of long hallways and platforms on different levels, while office buildings have normally a number of small office rooms connected via corridors.
Second, indoor spaces of complex buildings are often composed of areas with different purposes. For example, a shopping mall has a number of stores, warehouses, control rooms, cinemas, sports centers, subway stations, etc., each of which has unique requirements and functions. This complex buildings make the indoor space very complicated. Third, a single indoor space may be interpreted in different viewpoints. For example, an indoor space is partitioned into rooms and corridors, while it is also partitioned into public areas and private areas regarding its security levels. Since each interpretation forms a space layer with a proper partitioning criteria, an indoor space may have multiple space layers.
These complicated structures of indoor space are rarely found in outdoor space. Therefore, the indoor spatial data model should efficiently support complex structures of indoor space in terms of geometry, network connectivity and multiple interpretations.
3.3. Cell-Based Context Awareness
As claimed by an early work on ubiquitous and context-aware computing [25
], the context has three important aspects; where you are, who you are with and what resources are nearby. The first and third aspects are related with the location of the user, which is normally represented as
coordinates in outdoor space. However, it is more relevant to represent the location of the user in indoor space with the room number than
coordinates, since the context is mainly determined by the type or function of the room. For example, staying in a class room for an hour has a totally different context from staying in a washing room for an hour.
One of the most basic functions of indoor context awareness services is therefore to identify the room or space unit where the user is currently located. In general, we call the unit of indoor space the cell, and rooms, corridors and staircases are examples of cells. Therefore, the indoor spatial data model should contain the notion of cell to support the indoor cell-awareness.
The indoor cell-awareness is defined as being aware of the cell where the user is currently located. In order to implement it, the indoor spatial data model has to provide the following functions. First, the boundary of the cell must be clearly defined either in two dimensions or three dimensions, such that we can easily discover the cell containing the point acquired from any indoor positioning method. For example, if the boundary geometry is represented by multiple surfaces, it is very hard to determine whether the point is within the cell or not. It is therefore required to represent the boundary of the cell by a closed geometry, such as a polygon in two-dimensional space or a solid in three-dimensional space.
Second, we need a function to correct the cell from noisy position data, since most indoor positioning methods contain a certain level of errors. For example, the reported accuracies of WLAN-based indoor positioning methods are mostly more than two meters [26
], which is not sufficiently accurate to identify the current cell since the thickness of wall is much less than two meters. This function is similar with the map matching function of car navigation services, which corrects the current road segment from inaccurate GPS data. For this reason, we call this function indoor map matching. For the implementation of indoor map matching, the information about indoor network and cell types is required, as well as cell geometry, and should be included in the standard indoor spatial data model.
3.4. Integrating Multiple Datasets
For several reasons, the integration of multiple datasets is a fundamental requirement of indoor spatial data model. First, the integration of indoor and outdoor spatial datasets is crucial for seamless services between indoor and outdoor spaces. The indoor spatial data model should therefore provide a mechanism to integrate it with outdoor space. In order to implement a parking lot guidance service of car navigation for example, two datasets covering indoor and outdoor spaces, respectively, have to be integrated in a proper way.
Second, several standards for indoor spatial information have been developed, such as IFC, CityGML, KMLand IndoorGML, each of which has its strength and weakness. IndoorGML was designed to avoid duplication and conflicts with other standards and provides only a minimum set of functions of indoor spatial data that are missing in other standards. It is therefore recommended to integrate IndoorGML data with other standards for compensating its weakness and taking advantage of strengths from other standards.
Third, it is often necessary to interpret and configure a single indoor space from multiple viewpoints, which is similar to the multiple layer structure of the conventional geospatial data configuration for outdoor space. For example, the layout of an indoor space is given as a topographic map, while the map of CCTV coverage is also useful for security purpose.
In general, there are two approaches for the integration. The first approach is a physical integration of multiple datasets of different standards into a single dataset. For example, CityGML provides a mechanism called ADE (Application Domain Extension) [3
], which extends CityGML to include additional information. A spatial data model in another standard may be re-defined as an ADE of CityGML, and a conversion process from a dataset to CityGML ADE is required.
The second approach is to link multiple datasets in different standards via external references without physical integration. For example, each feature in a dataset of a standard data model has an external reference or foreign key to a feature in another dataset of a different standard data model and vice versa. This approach is simple and practical when the correspondence between features in and is one-to-one. Thus, the standard data model should support the integration via the extension mechanism or an external reference.
With the increasing demands for indoor spatial information, the standard indoor spatial data model becomes a fundamental component for indoor spatial technologies. For this reason, IndoorGML was recently published by OGC (Open Geospatial Consortium) as a standard indoor spatial data model and exchange format in XML. However, IndoorGML includes only a minimum part of the indoor spatial data model, and limited works have been done for studying its potential and exploring how to apply it in practice.
In this paper, we investigated several aspects of IndoorGML and suggested the basic concepts for its applications. In particular, we studied: (1) the determination of cells, space partitioning and cell structuring; (2) the computation of indoor distance considering vertical and horizontal distances and multi-modal transportation; and (3) the implementation of indoor context-awareness based on the cellular space model and multi-layered space model of IndoorGML. We hope that this paper would serve as also a technical document to understand IndoorGML.
Since IndoorGML is still at the first stage, we expect that many additional concepts and features are to be added as future works from the following viewpoints. First, more use-case studies on IndoorGML are required, for example from indoor routing services to indoor context-awareness, indoor IoT and indoor big data analysis; second, additional extensions of IndoorGML may be developed for common application domains; third, the improvement on the core part of IndoorGML are also expected throughout these case studies and extensions.