Editing and versioning for high performance network models in a multiuser environment
- First Online:
- Cite this article as:
- Bakalov, P., Hoel, E., Heng, W. et al. Geoinformatica (2011) 15: 769. doi:10.1007/s10707-011-0126-7
Network data models are frequently used as a mechanism to describe the connectivity between spatial features in GIS applications. Real-life network models are dynamic in nature since spatial features can be periodically modified to reflect changes in the real world objects that they model. Such updates may change the connectivity relations with the other features in the model. In order to perform analysis the connectivity must be reestablished. Existing editing frameworks are not suitable for a dynamic environment, since they require network connectivity to be reconstructed from scratch. Another requirement for GIS network models is to provide support for a multiuser environment, where users are simultaneously creating and updating large amounts of geographic information. The system must support edit sessions that typically span a number of days or weeks, the facility to undo or redo changes made to the data, and the ability to develop models and alternative application designs without affecting the published database. The row-locking mechanisms adopted by many DBMSs is prohibitively restrictive for many common workflows. To deal with long-lasting transactions, a solution based on versioning is thus preferrable. In this paper we provide a unified solution to the problems of dynamic editing and versioning of network models. We first propose an efficient algorithm that incrementally maintains connectivity within a dynamic network. Our solution is based on the notion of dirty areas and dirty objects (i.e., regions or elements containing edits that have not been reflected in the network connectivity index). The dirty areas and objects are identified and marked during the editing of the network feature data; they are then subsequently cleaned and connectivity is re-built. Furthermore, for improving performance, we propose a ‘hyperedge’ extension to the basic network model. A hyperedge drastically decreases the number of edge elements accessed during solve time on large networks; this in turn leads to faster solve operations. We show how our connectivity maintenance algorithms can support the hyperedge enhanced model. We then propose a new network model versioning scheme that utilizes the dirty areas/objects of the connectivity rebuild algorithm. Our scheme uses flexible reconciling rules that allow the definition of a resolving mechanism between conflicting edits according to user needs. Moreover, the utilization of dirty areas/objects minimizes the overhead of tracking the editing history. The unified editing and versioning solution has been implemented and tested within ESRI’s ArcGIS system.