An event-driven dynamic updating method for 3D geo-databases

Abstract With the rapid development of 3D Digital City, the focus of research has shifted from 3D city modeling and geo-database construction to 3D geo-database service and maintenance. The frequent modifications on geometry, texture, attribute, and topology present a great challenge to the 3D geo-database updating. This article proposes an event-driven spatiotemporal database model (ESDM) that combines the historical and present 3D city models with the semantic classification and state expression, triggered by changing events predefined. In addition, a corresponding dynamic updating method based on adaptive matching algorithm is presented to perform the dynamic updating operation for the complex 3D city models automatically, according to the compound matching of semantics, attributes, and spatial locations. Finally, the validity and feasibility of the proposed ESDM and its updating method are demonstrated through a 3D geo-database with more than 1.5 million 3D city models.


Introduction
With the constant advance and wide application of 3D Digital City, 3D geo-database service and maintenance becomes an advanced academic topic instead of the initial 3D city modeling and geo-database (Neutens and Maeyer 2010;Breunig and Zlatanova 2011). The dynamic updating of 3D geo-databases comprehensively uses all sources of up-to-date material to identify the changes of 3D city model data, including changes of position, geometry, attribute, and semantic topology. The dynamic updating of 3D spatial objects in a geo-database includes the operations of addition, deletion, substitution, modification, and semantic topology reconstruction. The dynamic updating of a geo-database not only changes the 3D city model with reality, but also organizes and manages multi-temporal versions such as historical and planning models, to meet the spatial and temporal queries. Therefore, the geo-database preserves the historical data and change record while generating the new version. However, the complexity of the detail expression and semantic topology of 3D city models makes the updating of the geo-database difficult. (Kolbe, Gröger, and Plümer 2005;Stadler et al. 2009;Lin et al. 2013;Xie et al. 2013).The greatest challenge of dynamic updating is the efficiency of the updating process. Besides, the compatibility of multi-temporal data is an inevitable problem. To solve the problem, we designed a creative semantic-based spatial-temporal model for 3D city model updating.
The data updating influences the depth and breadth of data utilization. Fritsch (1999) proposed that the core of GIS has transferred from data production to data updating, and the data updating decides the sustainable development of GIS. After that, many scholars have conducted meaningful research on the scatter update mechanism, data update models, basic geographic database update steps, and dynamic updating technology system (Chen et al. 2008). The related administrative departments in China also carried out updating based on geographic data. Some surveying and mapping departments in developed countries have started the process of building database updating on the basis of a traditional static database and established an updating mechanism. Aiming at this important issue and significant requirement for the domain of GIS spatial databases, the researchers, from the National Geometrics Center of China and Wuhan University, jointly developed a GIS spatial database model and updating method to solve this significant problem (Chen et al. 2008).
However, the research achievements and practical applications mentioned above are mainly focused on the update of a fundamental 2D geographic information database, including remote-sensing images and 2D vector data. Little attention was paid to updating the OPEN ACCESS spatiotemporal changes for 3D feature objects. Event is not only the result of 3D feature objects changing, but also an immediate cause of objects changing in 3D space. From one moment to another, the multiple 3D feature object changes are involved in 3D geo-database. Figuring out the specific event will lead to a 3D feature object change is the only way to identify what dynamic update operation should be applied for a 3D geo-database. Therefore, an event is a manifestation of the interaction of 3D feature objects, and it is also an important link for the interaction of 3D feature objects. As shown in Figure 1, when the changes of 3D feature object meet the conditions for a certain event type, a 3D feature object will generate an event for this particular event type, and further changes will be driven by this event simultaneously. Thus, the dynamic update of 3D geo-database can be completed.
The 3D feature class is introduced into multi-tense 3D geo-database as a core to present different types of 3D feature objects, such as buildings, roads. Through the management of geometry, semantics, topologic, and attributes data of the 3D feature object, the proposed model can build detailed semantic hierarchy description based on the 3D features, as well as the complex semantic topological relationship description based on the 3D features. As shown in Figure 2, to express the multi-tense 3D city model data for a long time, the proposed model divides the 3D geo-database into current-situation database, historical database, and planning database according to the time state. Each 3D feature object is supposed as a unit, thus all the 3D feature objects with the same semantic attribute are managed by a 3D feature class. Each 3D feature class contains a historical 3D feature class, a current-situation 3D feature class, and a planning 3D feature class.
The event class is the assembly of all kinds of events, which includes new events, demolition events, expansion events, ownership changes, and disasters. Moreover, massive 3D city model. At present, the research on 3D GIS mainly focuses on smooth visualization of massive static 3D model data (Breunig and Zlatanova 2011;Lv et al. 2011;Zhang et al. 2011;Li et al. 2012Li et al. , 2015Lv, Réhman, and Chen 2013). The dynamic 3D GIS is still in the exploratory stage and its hottest research topic is the semantic expression of topological relations, covering the objects of geology, surface building, road, pipeline, etc. (Luís, Moreira, and Carvalho 2012;Zhu 2014;Wang et al. 2015). It does not consider the entity status ranging from historical and current situation to future state, nor does it integrate dynamic features, such as cadastre, real estate, and population. Therefore, this research focusing on dynamic updating and maintenance of 3D geodatabase has high application value.

Event-driven Spatiotemporal Database Model (ESDM)
A 3D model can express the complexity of the real world well, because geometric objects attached with specific semantic description can express the geographical information hidden behind, such as a fuzzy topological relationship. Therefore, it is necessary to integrate the traditional 3D geological topological relation with semantic description. The uniform description of semantic information shields the heterogeneity of data and makes it possible to integrate the multi-detail and multi-scale 3D models by defining abstract semantic hierarchy. Considering that different versions of a 3D model may have different semantic descriptions, an updating state triggered by events should be added to differentiate them and maintain an implicit internal relation. Aiming at the management of large-scale 3D spatiotemporal data, we design an event-driven spatiotemporal database model (ESDM) based on the semantics and version state.
An event is generated by 3D feature object spatiotemporal changes at certain level. The changes drive new it can be freely expanded. The event relation class is used for presentation of the relationship among the events, such as causality relationship and continuous relationship.

ESDM dynamic updating based on adaptive matching
During the updating process of the 3D city model data, the corresponding relationship between the original data and the updated data feature should be built first, which means that the changed features need to find the matched updates. Then, the suitable updating strategies need to be found for different updating circumstances. For the discovery of update-needed objects from the 3D geo-database, an adaptive dynamic matching and updating method of the massive 3D city model is proposed. This method matches the new data and the original data from the database adaptively, by means of building the matching and updating mechanism of the geometry, attributes, and semantic topology information of the 3D city model data. It realizes the dynamic connection of geometric objects, attributes, semantic topology information of multi-tense 3D spatial objects. The flowchart of the 3D geo-database dynamic updating process is shown in Figure 3.
The 3D geo-database dynamic updating process is described as below: (1) Standardization of 3D city model data Prior to the dynamic updating of the 3D city model data, all data need to be examined and normalized. Then,  the spatial reference, aspects of accuracy, detailed attribute information, and semantic description of the data need to be updated are integrated and standardized. Then, the new updating layer is built.
(2) Retrieval of 3D city model data The minimum bounding box of the whole area that needs to be updated is acquired, and then all the metadata information of 3D feature objects are obtained. The 3D feature objects of all the specified 3D feature class in the minimum bounding box from the current-situation database are sought. Thus, the retrieval layer is built by acquiring the metadata of every 3D feature object.
(3) Adaptive matching and change detection According to the data of the update layer and the retrieve layer, the adaptive matching and change detection of data are conducted. The spatial geometry data are automatically matched by the rude matching of bottom polygons and the refined matching of real geometry data. The multi-level change detection of both matched and unmatched data includes the change detection of spatial geometry data, textures data, attribute data, semantic data, and topology data. The matching and detection of the dynamic change process are shown in Figure 4.
This algorithm can automatically compare and analyze the data that need to be matched and the current data of the 3D geo-database. It can also automatically detect the data need to be matched, and thus judge the unchanged data, changed geographical spatial situation, changed attribute information, the new-added data, Step 2: Make comparison between the two matched 3D feature objects which have identical bottom polygon by matching their 3D geometry data, to identify whether there is a complete match. If the result is "YES", go to Step 3; otherwise, go to Step 5.
Step 3: Make comparison between the two matched 3D feature objects which have identical 3D geometry data by matching their textures data, to identify whether and the disappeared data. Therefore, it can significantly improve the efficiency of the 3D geo-database updating.
Step 1: Make a comparison between the 3D feature objects in the 3D geo-database need to be updated and those in the current 3D geo-database by matching their bottom polygon, to identify whether there is a complete match. If the result is "YES", go to Step 2; otherwise, go to Step 8.  features and the event which triggered those changes can be built. Based on the previous steps, the final updating results set is generated and ordered by the time of event.
According to the event description template, we interactively add an event list. We record all 3D special objects which are involved by the event and add them in the event manage list. The event manage list identifies the life cycle and change type for every changed 3D special object, and records the relationships therein.
The implementation steps are as follows: Step 1: Input the change detection result and adaptive matching result for 3D special objects; Step 2: Fill in information of the event which drives data change based on event description template; Step 3: Establish the incidence relation between 3D special objects and event, and establish the congruent relationship of 1:N (N ≥ 1); Step 4: Establish the relationship between events where the events are related; Step 5: Process every event and all relevant 3D special object changes.

Design of data dynamic updating module
To verify the feasibility and efficiency of the proposed method, we enhance the data updating function based on the existing 3D-spatial-data-management tool and then redesigned the data updating module supplemented with the automatic matching and change detection function, event management function, and event-driven dynamic updating function. The framework of the data dynamic updating module is shown in Figure 5. The data dynamic updating module includes automatic changes-detection sub-module, event management sub-module, and event-driven updating sub-module. The automatic change detection sub-module realizes the automatic matching and testing of the changes between the existing data and the updated data, to detect the data changes. The event management sub-module mainly realizes a description of the event, by establishing the relationship between the event and data changes, and the dynamic updating function of the event database. The event-driven update sub-module is mainly used to realize the description of events which cause changes, to achieve dynamic updating of the 3D there is a complete match. If the result is "YES", go to Step 4; otherwise, go to Step 6.
Step 4: Make comparison between the two matched 3D feature objects which have identical 3D geometry data and textures data by matching their semantic attribute data, to identify whether there is a complete match. If the result is "YES", no update is required and both 3D feature objects will be recorded as no change; otherwise, go to Step 7.
Step 5: Record the update required for 3D feature objects to have 3D geometry changes, and the textures data that have changed correspondingly.
Step 6: Record the update required for 3D feature objects to have texture changes, but no 3D geometry changes.
Step 7: Record the update required for 3D feature objects to have semantic attribute changes.
Step 8: Make comparison between two 3D feature objects to identify whether there a partial match. If the result is "YES", go to Step 9; otherwise, go to Step 11.
Step 9: Make comparison between the two partial matched 3D feature objects by matching their 3D feature name, to identify whether there is a match. If the result is "YES", go to Step 10; otherwise, go to Step 11.
Step 10: Make comparison between the two partial matched 3D feature objects by matching their 3D geometry data, to identify whether there is a match. If the result is "YES", then the position of a new 3D feature object has been changed; otherwise, both position and 3D geometry of the 3D feature object are changed.
Step 11: No matching 3D feature object is found, and record as new 3D feature object.
Step 12: Record all changes of 3D feature objects.
First, by applying multiple layer adaptive matching processes and multiple-level adaptive matching processes, the dynamic association between new data and current data can be established, including 3D special object's geometry data, semantic topology data, and attribute data. Second, during the adaptive matching process, depending on the information such as the 3D special object changing magnitude, matching ratio, threshold value can be set adaptively, dynamically, and automatically, to reach the most effective matching.
This algorithm can automatically compare and analyze the data that need to be matched and the current data of the 3D geo-database. It can also automatically detect the data that need to be matched, thus judge the unchanged data, changed geographical spatial situation, changed attribute information, the new-added data, and the disappeared data. It can significantly improve the efficiency of the 3D geo-database updating.
(4) Event management for data updating According to the event description model, the event-triggered data updating can be added in the event table interactively. The event table records the 3D features related to every event and identifies the life cycle of every changing object as well as the changing types. Thus, the mapping relations between the changed 3D  layer and the original layer, and records the changed data.
The automatic change detection sub-module can detect two types of changes between the original data and updated data. As shown in Table 1, the first type is that the geometric model, texture, and attribute data of the 3D feature object change at the same location. The reason might be that the original building is demolished and replaced with a new building. The other type is that the geometric models of the 3D feature object do not change while the texture and attribute data change at the same location. Therefore, we could define the event which causes the first change as city-land updating event, while the event which causes the second change as a building renovated events. geo-database, which includes dynamic updating of the 3D feature objects, attribute data, topology data, and 3D spatial index.

Results and analysis
The above-described 3D city model data dynamic updating module is implemented by realistic data and the results are shown in Figure 6. Figure 6(a) gives the current-situation data saved in the 3D geo-database, and Figure 6(b) shows the updated current-situation data. In this step, the automatic change detection sub-module can dynamically update data. First, it builds an updated layer as shown in Figure 6(b). Then, it automatically matches and detects the data of the extracted updated  represent the 3D city model. Based on this model, we propose an adaptive dynamic match updating method. This method matches the updated data and the original data from the database adaptively by building the matching and updating mechanism of the geometry, attributes, and semantic topology information. This method provides a solid technology exploration to the dynamic updating of 3D geo-databases. It supports assurance of the current potential of 3D geo-databases and is helpful to further promote the more significant applications of 3D digital city construction. The current 3D city database workload test proves that the proposed data model and the updating method can improve the data management process significantly.
In the research team's ongoing project, 10 times of the amount of 3D city data per 3D city big data management platform are planned to be loaded and tested based on the data model and the updating method. More potential is expected in tackling the challenge of future 3D city big data management application by means of the model and method proposed in this paper.

Notes on contributors
Han Guo is a researcher of Shenzhen Research Center of Digital City Engineering. His research interests include 3D GIS and BIM.
In order to test the event-driven dynamic updating method, three case studies were undertaken and the results are shown below. In Table 2, we can see that more than 90% of 3D city model data changes are successfully detected. It can reduce the workload of artificial recognition of changes significantly, and boost the efficiency of the 3D city model data updating process.
The proposed ESDM and corresponding updating method are implemented in an engine by C++, and the rendering part is developed based on OpenGL. Numerous applications are developed based on this engine. We tested the engine on a PC with a i7 CPU (4790 K, 4.40 GHz), 16 GB RAM, and a GeForce GTX970 GPU (4 GB) using data of the Shenzhen City database, which includes more than 1.5 million virtual 3D city models within the area of 62 km 2 . DEM, DOM, and the model files were exported from 3DS Max. The experiment can run 30 fps averagely as proved in Figure 7.
The experiment result shows the dynamic updating method proposed in this paper is able to dynamically interconnect and incrementally update the information such as geometry, property, and semantic topology of 3D spatiotemporal objects. This method not only increases the efficiency and accuracy of 3D geo-database updating, but also ensures the currency of the 3D geo-database.
On this basis, this method makes the 3D geo-database updating well documented by combining the status of 3D city model data and the causing event. Thus, this method can provide technical support for the time-space analysis and digging of the multi-time scales 3D city model data.

Conclusions
To meet the needs of massive 3D geo-database dynamic updating, this paper proposes an event-driven spatiotemporal database model (ESDM) which can uniformly   Zhihan Lv is an engineer and researcher of virtual/augmented reality and multimedia major in mathematics and computer science. His research interests include application of computer visualization and computer vision.
Chen Wu is a PhD candidate in Wuhan University. His research interest is the management of big geospatial data.
Weiping Xu is a PhD candidate in Wuhan University. He focuses on the research of real-time GIS.