Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing
Abstract
1. Introduction
2. Related Work
3. Conceptual Design for Geometric-Aware Collaborative Editing
3.1. Spatial Entities and Operations
3.2. Operation Preservation and Topological Integrity
3.3. Visibility, Spatial Locality, and Performance
4. Geometric-Aware Collaborative Editing Algorithm
4.1. Geometric-Aware Data Model
4.2. Conflict Resolution and Operation Processing Framework
- 1.
- Operation generation: When a user performs an edit, the client generates an atomic operation according to the user’s behavior.
- 2.
- Operation propagation: Operations are broadcast to all collaborating clients through a decentralized network. Each client maintains an operation cache that stores incoming operations before processing. By decoupling propagation from immediate application, this stage ensures operations are uniformly disseminated while allowing clients to handle them asynchronously. This is critical for managing high-frequency edits in large-scale collaborative sessions.
- 3.
- Visibility Classification: The framework classifies operations as visible or non-visible based on whether the MBR of their target primitive intersects with the current viewport. Visible operations (affecting actively viewed areas) are processed immediately to maintain real-time interactivity, while non-visible operations are deferred to a low-priority queue. This temporal prioritization balances user responsiveness with efficient resource allocation by leveraging strong spatial locality of the geospatial features.
- 4.
- Operation application: Operations are classified and then applied to local primitives via integrated operation merging strategies. These strategies embed geometric constraint checks, and when violations are detected, they attempt topological anomaly correction. If an operation cannot be corrected automatically, it is marked for subsequent manual resolution. This integration ensures that the edited map remains semantically and topologically consistent.
4.3. MBR-Based Operation Visibility Classification
4.3.1. Baseline MBR Visibility Classification
4.3.2. Special Cases and Limitations of Baseline Visibility Logic
- Scenario 1 (operation-driven): An editing operation modifies a primitive’s coordinates, causing its MBR to move into the viewport (Figure 4b). Since the operation was initially classified as non-visible, it remains deferred even though the primitive is now visible.
- Scenario 2 (viewport-driven): When the viewport is panned or zoomed, some previously non-visible primitives enter the visible region. However, as their geometry is unchanged, no operation is triggered to reclassify them.
4.3.3. R-Tree–Based Deferred Operation Management
- For Scenario 1: When an operation updates a primitive’s coordinates, its new MBR is inserted into the R-tree. An immediate intersection check with the current viewport determines whether the deferred operation should be reclassified and executed instantly.
- For Scenario 2: When the viewport changes via panning or zooming, an event-driven R-tree range query retrieves primitives whose MBRs newly intersect the viewport, triggering execution of their deferred operations.
| Algorithm 1: MBR-Based Operation Visibility Processing Mechanism |
![]() |
4.4. Geometric Constraints and Topological Integrity Preservation
- Rule 1: Vertex Count ConstraintThis constraint applies to both line segments and polygons, defining the minimum vertex count required for a primitive to be geometrically valid. Specifically, a valid line segment must consist of at least 2 distinct vertices; a valid polygon must contain at least 3 vertices to enclose a non-empty area, distinguishing it from lines or points. Validation is implemented during operation merging for primitive creation or modification, where the algorithm verifies vertex count via a simple cardinality check ( for lines, for polygons).
- Rule 2: Simple Polygon Constraint For polygon primitives, topological simplicity is enforced by ensuring edges intersect only at shared vertices. This constraint preserves the polygon’s ability to represent a single connected region with well-defined interior/exterior. Validation uses a sweep-line algorithm that checks all edge pairs for intersections, with a time complexity of for n edges. For vertex insertion operations, this checking is restricted to the modified edges and their adjacent neighbors to optimize performance.
4.5. Spatio-Temporal Operation Merging Strategies
- 1.
- Create operations: Different Create operations are designed to generate distinct geometric primitives with unique identifiers, so there is no merging conflict in Create operations.
- 2.
- Move operations: For concurrent Move operations targeting the same geometric primitive g (each denoted as , where is the displacement vector of the k-th operation and is the fixed set of target vertices/points of g), the proposed algorithm computes the cumulative displacement of through sequential merging of individual operations. In each merging step, the current cumulative displacement vector (denoted as ) is updated by direct addition with the incoming . For clarity in 2D map, let and (where respectively represent displacement components along the longitude and latitude directions); the update follows:Ultimately, it converges to the sum of all individual displacement vectors from concurrent operations:This merging approach ensures the preservation of all users’ edit intent while maintaining the geometric consistency of g, aligning with the decentralized consistency guarantees required for collaborative editing scenarios.
- 3.
- Insert Vertex operations: When merging an Insert Vertex operation, the proposed algorithm first restricts the traversal scope to nodes sharing the same reference vertex to locate the target insertion position, thereby avoiding unnecessary traversal of irrelevant nodes and optimizing efficiency. Throughout this merging process, the VClock (introduced in Section 4.1) of the inserting node is maintained in ascending order to ensure temporal consistency. As illustrated in Figure 5, vertices Vc and Va are both inserted with V2 as their reference vertex; At this stage, vertex Vb is also to be inserted targeting V2. Due to the VClock attribute relationship of these vertices—where vClock1 (of Vc) < vClock2 (of Vb) < vClock3 (of Va)—Vb is integrated into the existing vertex sequence between Vc and Va.
- 4.
- Delete operations: The proposed algorithm maintains a tombstone record for deleted primitives instead of deleting them directly, ensuring that subsequent operations can be properly recorded to enable potential rollback functionality in the future.
| Algorithm 2: Spatio-Temporal Operation Merging |
![]() |
4.6. CRDT Correctness Discussion
- 1.
- Commutativity: Operation processing order does not affect final states. For Move operations, vector addition is order-independent (). For Insert Vertex operations, the predefined temporal total order ensures consistent results regardless of processing sequence. For Delete operations, their precedence over modifications guarantees the same deleted state whether they are processed before or after other operations. During topological integrity preservation, spatial reordering follows fixed proximity rules, ensuring consistent correction outcomes regardless of processing order.
- 2.
- Associativity: Grouping of operations does not alter outcomes. For Move operations, this property is satisfied through transitive vector summation (), leveraging the mathematical associativity of vector addition. For Delete operations, the tombstone mechanism guarantees associativity: once a primitive is marked as deleted, additional deletions or grouped processing yield the same final state with no further modifications permitted. For Insert Vertex operations and topological integrity preservation, associativity is inherently preserved by the invariant total ordering framework based on GVCs, which in turn ensures grouping differences do not affect final outcomes.
- 3.
- Idempotency: Repeated application of the same operation does not change the result beyond the first application. The proposed algorithm assigns all operations unique identifiers, which enables it to detect and filter duplicate operations during merging and thus ensures each operation is processed only once.
5. Simulation Experiments
5.1. Experimental Setup
5.1.1. Baseline Methods
5.1.2. Hardware and Software Configuration
- Processor: AMD Ryzen 5 5600 (6 cores, 12 threads);
- Memory: 16 GB DDR4 @ 3200 MHz;
- Storage: 1 TB NVMe SSD;
5.1.3. Dataset and Test Scenarios
- 1.
- Translation Merging TestThis scenario evaluates the algorithm’s ability to accurately merge concurrent translation operations without information loss:
- Participants: 10 simulated clients;
- Test Data: 100 randomly generated points uniformly distributed in a 10 km × 10 km area;
- Procedure: Randomly select 2 clients and 1 node to perform random translations ;
- Iterations: 200 test cycles;
- Metrics: position deviation, operation latency.
- 2.
- Topological Integrity Preservation Test This scenario assesses topological integrity preservation during concurrent vertex edits:
- Participants: 10 simulated clients;
- Test Data: Lake contour polygon with 10 vertices;
- Procedure: Randomly move vertices 3, 5, 7 with offset distance in ;
- Iterations: 100 test cycles;
- Metrics: Topological Anomaly Fix Rate, Topological Anomaly Mark Rate, Operation Latency.
- 3.
- Performance Benchmark This scenario evaluates system performance and responsiveness under high-concurrency, spatially distributed editing tasks:
- Participants: 500 simulated clients.
- Test Data: Spatial dataset containing a fixed composition of entity types: point entities (30%), polyline vertices (30%), and polygon vertices (40%), across varying total node counts (2000–10,000). The higher proportion of polygon vertices was intentionally chosen to create a more demanding workload for scalability evaluation. The map covers an area of 20 km × 20 km, and each client’s viewport is a randomly assigned and spatially dispersed 1 km × 1 km region. This spatial distribution of viewports naturally activates our MBR-based operation visibility classification mechanism, as most operations only affect a subset of client viewports.
- Procedure: Randomly execute Move Point, Move Vertex, Insert Vertex (1000 × each) in 10 s.
- Metrics: Operation latency, memory usage, CPU utilization.
5.1.4. Evaluation Metrics
- 1.
- Geometric Accuracy Metrics:
- Position Deviation (PD): Measures the spatial difference between actual and expected geographic positions of geometric primitives after operation merging. For latitude–longitude coordinates, this is calculated as the spherical distance between the actual and expected geographic points to account for Earth’s curved surface.
- 2.
- Topological Metrics:
- Topological Anomaly Correction Rate (TACR): The percentage of detected topological anomalies that are successfully corrected.
- Topological Anomaly Mark Rate (TAMR): The percentage of topological anomalies that cannot be corrected and are marked as erroneous.
- 3.
- Performance Metrics:
- Operation Latency (OL): The time interval from when an operation is generated by a client to when it is successfully applied by the system.
- Memory Usage (MU): The amount of heap memory allocated by the system during operation processing, particularly under varying workloads.
- CPU Utilization (CU): The percentage of processor capacity used during peak operation periods.
5.2. Experimental Results
5.2.1. Translation Merging Accuracy
5.2.2. Topological Integrity Preservation Capability
5.2.3. Scalability and Performance
6. Real-World Case Study
6.1. Scenario and Setup
6.2. Results and Analysis
7. Discussion and Future Work
7.1. Findings
7.2. Limitations
7.3. Future Work
8. Patents
- Title: A Geometry-Aware Collaborative Editing Method for Planar Geospatial Features
- Status: Accepted (pending examination)
- Filing Date: 29 July 2025
- Inventors: Pengcheng Zhang, Chao Zhang
- Assignee: Nanjing University of Industry Technology
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| GVC | Geometric Vector Clock |
| MBR | Minimum Bounding Rectangle |
| CRDTs | Conflict-Free Replicated Data Types |
| YATA | Yet Another Transformation Approach |
| RGA | Replicate Growable Array |
References
- Sun, C.; Ellis, C. Operational transformation in real-time group editors: Issues, algorithms, and achievements. In Proceedings of the 1998 ACM Conference on Computer Supported Cooperative Work (CSCW ’98), Seattle, WA, USA, 14–18 November 1998; pp. 59–68. [Google Scholar] [CrossRef]
- Shapiro, M.; Preguiça, N.; Baquero, C.; Zawirski, M. Conflict-Free Replicated Data Types. In Stabilization, Safety, and Security of Distributed Systems: Proceedings of the 13th International Symposium, SSS 2011, Grenoble, France, 10–12 October 2011; Défago, X., Petit, F., Villain, V., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 386–400. [Google Scholar]
- Fechner, T.; Wilhelm, D.; Kray, C. Ethermap: Real-time Collaborative Map Editing. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI ’15), Seoul, Republic of Korea, 18–23 April 2015; pp. 3583–3592. [Google Scholar] [CrossRef]
- Weiss, S.; Urso, P.; Molli, P. Logoot-undo: Distributed collaborative editing system on p2p networks. IEEE Trans. Parallel Distrib. Syst. 2010, 21, 1162–1174. [Google Scholar] [CrossRef]
- Guttman, A. R-trees: A dynamic index structure for spatial searching. SIGMOD Rec. 1984, 14, 47–57. [Google Scholar] [CrossRef]
- Papadias, D.; Theodoridis, Y. Spatial relations, minimum bounding rectangles, and spatial data structures. Int. J. Geogr. Inf. Sci. 1997, 11, 111–138. [Google Scholar] [CrossRef]
- Singhal, M.; Kshemkalyani, A. An efficient implementation of vector clocks. Inf. Process. Lett. 1992, 43, 47–52. [Google Scholar] [CrossRef]
- Pham Van, C.; Thanh, P.V. Checking topological integrity constraints imposed on objects in real-time databases. In Proceedings of the 2015 2nd National Foundation for Science and Technology Development Conference on Information and Computer Science (NICS), Ho Chi Minh City, Vietnam, 16–18 September 2015; pp. 17–21. [Google Scholar] [CrossRef]
- Shapiro, M.; Preguiça, N.; Baquero, C.; Zawirski, M. A Comprehensive Study of Convergent and Commutative Replicated Data Types; Research Report RR-7506; INRIA—Centre Paris-Rocquencourt; INRIA: Le Chesnay-Rocquencourt, France, 2011. [Google Scholar]
- Sun, C.; Sun, D.; Ng, A.; Cai, W.; Cho, B. Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors. Proc. ACM Hum.-Comput. Interact. 2020, 4, 1–26. [Google Scholar] [CrossRef]
- Lv, X.; He, F.; Cai, W.; Cheng, Y. An efficient collaborative editing algorithm supporting string-based operations. In Proceedings of the 2016 IEEE 20th International Conference on Computer Supported Cooperative Work in Design, Nanchang, China, 4–6 May 2016. [Google Scholar]
- Iovescu, D.; Tudose, C. Real-Time Document Collaboration—System Architecture and Design. Appl. Sci. 2024, 14, 8356. [Google Scholar] [CrossRef]
- Roh, H.G.; Jeon, M.; Kim, J.S.; Lee, J. Replicated abstract data types: Building blocks for collaborative applications. J. Parallel Distrib. Comput. 2011, 71, 354–368. [Google Scholar] [CrossRef]
- Nicolaescu, P.; Jahns, K.; Derntl, M.; Klamma, R. Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types. In Proceedings of the 2016 ACM International Conference on Supporting Group Work (GROUP ’16), Sanibel Island, FL, USA, 13–16 November 2016; pp. 39–49. [Google Scholar] [CrossRef]
- Dantas, A.; Baquero, C. CRDT-Based Game State Synchronization in Peer-to-Peer VR. In Proceedings of the 12th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC’25), Rotterdam, The Netherlands, 30 March–3 April 2025; pp. 45–55. [Google Scholar] [CrossRef]
- Zissis, D.; Lekkas, D.; Azariadis, P.; Papanikos, P.; Xidias, E. Collaborative CAD/CAE as a cloud service. Int. J. Syst. Sci. Oper. Logist. 2016, 4, 339–355. [Google Scholar] [CrossRef]
- Guidec, F.; Mahéo, Y.; Noûs, C. Delta-State-Based Synchronization of CRDTs in Opportunistic Networks. In Proceedings of the 2021 IEEE 46th Conference on Local Computer Networks (LCN), Edmonton, AB, Canada, 4–7 October 2021; pp. 335–338. [Google Scholar] [CrossRef]
- Wilhelm, D. Collaborative, Version Controlled Map Editing. Master’s Thesis, University of Münster, Münster, Germany, 2014. [Google Scholar]
- Kang, X. Graph-based synchronous collaborative mapping. Geocarto Int. 2015, 30, 28–47. [Google Scholar] [CrossRef]
- Jing, C.; Zhu, Y.; Fu, J.; Dong, M. A Lightweight Collaborative GIS Data Editing Approach to Support Urban Planning. Sustainability 2019, 11, 4437. [Google Scholar] [CrossRef]
- Gao, L.; Xu, X. A New Algorithm for Real-Time Collaborative Graphical Editing System Based on CRDT. In Computer Supported Cooperative Work and Social Computing: Proceedings of the 13th CCF Conference, ChineseCSCW 2018, Guilin, China, 18–19 August 2018; Sun, Y., Lu, T., Xie, X., Gao, L., Fan, H., Eds.; Springer: Singapore, 2019; pp. 201–212. [Google Scholar]
- Ghiffar, B.; Wijadi, J.J.; Kerthyayana Manuaba, I.B. SVGDoc: A CRDT for Collaborative Vector Graphics Editing. In Proceedings of the 2024 International Symposium on Parallel Computing and Distributed Systems (PCDS), Singapore, 21–22 September 2024; pp. 1–5. [Google Scholar] [CrossRef]
- Matijevic, H.; Vranic, S.; Kranjcic, N.; Cetl, V. Real-Time Co-Editing of Geographic Features. ISPRS Int. J. Geo-Inf. 2024, 13, 441. [Google Scholar] [CrossRef]
- Neteler, M.; Bowman, M.H.; Landa, M.; Metz, M. GRASS GIS: A multi-purpose open source GIS. Environ. Model. Softw. 2012, 31, 124–130. [Google Scholar] [CrossRef]
- Moyroud, N.; Portet, F. Chapter 1: Introduction to QGIS. In QGIS and Generic Tools; John Wiley & Sons, Ltd.: Hoboken, NJ, USA, 2018; pp. 1–17. [Google Scholar] [CrossRef]
- Briot, L.; Urso, P.; Shapiro, M. High Responsiveness for Group Editing CRDTs. In Proceedings of the 19th ACM Conference on Computer Supported Cooperative Work (GROUP’16), Sanibel Island, FL, USA, 13–16 November 2016. [Google Scholar] [CrossRef]
- Yurii Rabeshko, Y.T. Performance optimisation techniques for Conflict-free Replicated Data Types (CRDT). Bull. Cherkasy State Technol. Univ. 2024, 29, 10–23. [Google Scholar] [CrossRef]
- Gentle, J.; Kleppmann, M. Collaborative Text Editing with Eg-walker: Better, Faster, Smaller. In Proceedings of the Twentieth European Conference on Computer Systems. ACM, EuroSys’25, Rotterdam, The Netherlands, 30 March–3 April 2025; pp. 311–328. [Google Scholar] [CrossRef]
- Matijević, H.; Kranjčić, N.; Cetl, V.; Vranić, S. Real-Time Co-editing of High Vertex Count Geometries Using OpenLayers and CRDTs: A Performance Analysis. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. 2025, XLVIII-4/W13-2025, 171–178. [Google Scholar] [CrossRef]
- Lamport, L. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 1978, 21, 558–565. [Google Scholar] [CrossRef]
- Niemeyer, G. Enhancements on geohash.org. 2008. Available online: https://en.wikipedia.org/wiki/Geohash (accessed on 12 July 2025).
- Irshaid, H.; Hasan, M.M.; Hasan, R.; Oh, J.S. User Activity and Trip Recognition using Spatial Positioning System Data by Integrating the Geohash and GIS Approaches. Transp. Res. Rec. 2021, 2675, 391–405. [Google Scholar] [CrossRef]
- Chong, K.S. A Study on a Geohash Cell-Based Spatial Analysis Using Individual Vehicle Data for Linear Information. Appl. Sci. 2024, 14, 11248. [Google Scholar] [CrossRef]
- Dahl, R. Node.js—Run JavaScript Everywhere. 2025. Available online: https://nodejs.org (accessed on 12 July 2025).
- AMapJS Team. AMapLoader. 2025. Available online: https://amapjs.derekli.com/guide/amap-loader.html (accessed on 30 August 2025).
- Najafi, S.; Livani, H. Robust Day-Ahead Voltage Support and Building Demand Response Scheduling Under Gaussian Mixture Model Uncertainty. IEEE Trans. Ind. Appl. 2025, 1–12. [Google Scholar] [CrossRef]
- Harshitha, Y.J.; Jayarekha, P. Analysis of User Behavior Patterns using Machine Learning Algorithms. In Proceedings of the 2023 International Conference on Recent Advances in Science and Engineering Technology (ICRASET), B.G Nagara, India, 23–24 November 2023; pp. 1–7. [Google Scholar] [CrossRef]
- Czolbe, P.S.; Feragen, A.; Krause, O. Spot the Difference: Detection of Topological Changes via Geometric Alignment. In Proceedings of the Advances in Neural Information Processing Systems, Online, 6–14 December 2021; Ranzato, M., Beygelzimer, A., Dauphin, Y., Liang, P., Vaughan, J.W., Eds.; Curran Associates, Inc.: Red Hook, NY, USA, 2021; Volume 34, pp. 14383–14395. [Google Scholar]
- AlSaqabi, Y.; Krishnamachari, B. Data-Aware Path Planning for Autonomous Vehicles Using Reinforcement Learning. Appl. Sci. 2025, 15, 6099. [Google Scholar] [CrossRef]









| Method Class | Spatial Semantics | Topological Integrity Preservation | Performance |
|---|---|---|---|
| Transform (OT [1]) | None | None | Moderate—depends on causal delivery; limited scalability |
| Identifier-sequence CRDT (RGA [13], YATA [14]) | None | None | High—efficient under high concurrency; no spatial optimization |
| Server/locking/ dependence-graph [19] | Weak—spatial deps via op graph | Moderate—consistency via dependency control | Low—serialization reduces concurrency |
| Version-based replication [20] | None—no spatial modeling | Weak—conflicts resolved after sync | Moderate—smaller data size; reduced real-time |
| Spatial heuristic (Tentative Operations [23,29]) | Strong (external)—handled via range/projection | Very strong—precise for complex polygons | Moderate—efficient for small-scope edits; less responsive for large-extent edits |
| Geometry-aware CRDT (Proposed) | Strong (integrated)—semantics in CRDT logic | Strong—partial topology preservation under concurrency | Strong—viewport-driven; scalable sync and responsiveness |
| Algorithm | PD (m) | OL (ms/op) |
|---|---|---|
| YATA | 472 | 95 |
| RGA | 537 | 120 |
| Proposed | 12 | 102 |
| Algorithm | TACR | TAMR | OL (ms/op) |
|---|---|---|---|
| YATA | 0% | 0% | 106 |
| RGA | 0% | 0% | 125 |
| Proposed | 70.8% | 29.2% | 151 |
| Metric | Mean | Std. Dev. |
|---|---|---|
| OL (ms/op) | 108 | 14 |
| TACR | 68.6% | 11.1% |
| DOR | 81.2% | 11.9% |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Published by MDPI on behalf of the International Society for Photogrammetry and Remote Sensing. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhang, P.; Zhang, C. Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing. ISPRS Int. J. Geo-Inf. 2025, 14, 468. https://doi.org/10.3390/ijgi14120468
Zhang P, Zhang C. Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing. ISPRS International Journal of Geo-Information. 2025; 14(12):468. https://doi.org/10.3390/ijgi14120468
Chicago/Turabian StyleZhang, Pengcheng, and Chao Zhang. 2025. "Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing" ISPRS International Journal of Geo-Information 14, no. 12: 468. https://doi.org/10.3390/ijgi14120468
APA StyleZhang, P., & Zhang, C. (2025). Geometry-Aware CRDTs for Efficient Collaborative Geospatial Editing. ISPRS International Journal of Geo-Information, 14(12), 468. https://doi.org/10.3390/ijgi14120468



