{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,28]],"date-time":"2025-11-28T12:38:17Z","timestamp":1764333497289,"version":"build-2065373602"},"reference-count":41,"publisher":"MDPI AG","issue":"12","license":[{"start":{"date-parts":[[2024,12,7]],"date-time":"2024-12-07T00:00:00Z","timestamp":1733529600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"University North, Croatia","award":["UNIN-TEH-22-1-9","UNIN-TEH-24-1-16"],"award-info":[{"award-number":["UNIN-TEH-22-1-9","UNIN-TEH-24-1-16"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IJGI"],"abstract":"<jats:p>Real-time GIS enables multiple geographically dislocated users to collaboratively edit geospatial data. However, being based on the strong consistency model, traditional real-time GIS implementations cannot provide fully automatic conflict resolution. In highly dynamic situations with increased probability for conflicts, this will hinder user experience. Conflict-free replicated data types (CRDTs), a technology based on a more relaxed concurrency control model called strong eventual consistency, can resolve all conflicts in real time, letting the users work on their local copies of the data without any restrictions. The application of CRDTs to real-time geospatial geometry co-editing has, to the best of our knowledge, not been investigated. Within this research, we therefore developed a simple web-based real-time geospatial geometry co-editing system using an existing CRDT implementation in Javascript coupled with OpenLayers. When applied to the co-editing of geospatial geometry in its native form, standard CRDT conflict resolution mechanics exhibit some issues. As an attempt to address these issues, we developed an advanced operation generation technique named \u201ctentative operations\u201d. This technique allows for the operations to be generated over the most recent session-wide state of the data, which in effect highly reduces concurrency and provides \u201cgeometry aware\u201d conflict resolution. The tests we conducted using the developed system showed that in low-latency network conditions, the negative effects of standard CRDT conflict resolution mechanics do get minimized even under increased system loads.<\/jats:p>","DOI":"10.3390\/ijgi13120441","type":"journal-article","created":{"date-parts":[[2024,12,9]],"date-time":"2024-12-09T10:11:47Z","timestamp":1733739107000},"page":"441","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Real-Time Co-Editing of Geographic Features"],"prefix":"10.3390","volume":"13","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5391-8793","authenticated-orcid":false,"given":"Hrvoje","family":"Matijevi\u0107","sequence":"first","affiliation":[{"name":"Department of Geodesy and Geomatics, University North, Jurja Kri\u017eani\u0107a 31b, 42000 Vara\u017edin, Croatia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1545-0587","authenticated-orcid":false,"given":"Sa\u0161a","family":"Vrani\u0107","sequence":"additional","affiliation":[{"name":"Geoweb, 44000 Sisak, Croatia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7219-9440","authenticated-orcid":false,"given":"Nikola","family":"Kranj\u010di\u0107","sequence":"additional","affiliation":[{"name":"Department of Geodesy and Geomatics, University North, Jurja Kri\u017eani\u0107a 31b, 42000 Vara\u017edin, Croatia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1835-5777","authenticated-orcid":false,"given":"Vlado","family":"Cetl","sequence":"additional","affiliation":[{"name":"Department of Geodesy and Geomatics, University North, Jurja Kri\u017eani\u0107a 31b, 42000 Vara\u017edin, Croatia"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2024,12,7]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"211","DOI":"10.1007\/s10708-007-9111-y","article-title":"Citizens as sensors: The world of volunteered geography","volume":"69","author":"Goodchild","year":"2007","journal-title":"GeoJournal"},{"key":"ref_2","unstructured":"(2024, September 09). JOSM Conflict Resolution. Available online: https:\/\/learnosm.org\/en\/josm\/josm-conflict-resolution\/."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1016\/j.isprsjprs.2015.09.011","article-title":"Real-time collaborative GIS: A technological review","volume":"115","author":"Sun","year":"2016","journal-title":"ISPRS J. Photogramm. Remote Sens."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Weikum, G., and Vossen, G. (2001). Transactional Information Systems Theory, Algorithms, and the Practice of Concurrency Control and Recovery, Elsevier Inc.. [1st ed.]. 201AD.","DOI":"10.1016\/B978-155860508-4\/50005-3"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"134","DOI":"10.1080\/17538947.2021.2017034","article-title":"Development of a multi-view and geo-event-driven real-time collaborative GIS","volume":"15","author":"Yaqin","year":"2022","journal-title":"Int. J. Digit. Earth"},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"28","DOI":"10.1080\/10106049.2014.883437","article-title":"Graph-based synchronous collaborative mapping","volume":"30","author":"Kang","year":"2015","journal-title":"Geocarto Int."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Seo, Y.H., Kim, D., and Hong, B. (2004, January 17\u201319). Concurrent Updating of Large Spatial Objects. Proceedings of the International Conference on Database Systems for Advanced Applications, Jeju Island, Republic of Korea.","DOI":"10.1007\/978-3-540-24571-1_29"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Jing, C., Zhu, Y., Fu, J., and Dong, M. (2019). A Lightweight Collaborative GIS Data Editing Approach to Support Urban Planning. Sustainability, 11.","DOI":"10.3390\/su11164437"},{"key":"ref_9","unstructured":"Van Oosterom, P. (1997, January 8\u201310). Maintaining consistent topology including historical data in a large spatial database. Proceedings of the Auto-Carto, Seattle, WA, USA."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Fechner, T., Wilhelm, D., and Kray, C. (2015, January 18\u201323). Ethermap: Real-time Collaborative Map Editing. Proceedings of the 33rd ACM SIGCHI Conference on Human Factors in Computing Systems, Seoul, Republic of Korea.","DOI":"10.1145\/2702123.2702536"},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Shapiro, M., Pregui\u00e7a, N., Baquero, C., and Zawirski, M. (2011, January 10\u201312). Conflict-free replicated data types. Proceedings of the 13th International Conference on Stabilization, Safety, and Security of Distributed Systems, Grenoble, France.","DOI":"10.1007\/978-3-642-24550-3_29"},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3133933","article-title":"Verifying strong eventual consistency in distributed systems","volume":"1","author":"Gomes","year":"2017","journal-title":"Proc. ACM Program. Lang."},{"key":"ref_13","unstructured":"Ellis, C.A., and Gibbs, S.J. (June, January 31). Concurrency control in groupware systems. Proceedings of the ACM SIGMOD Conference, Portland, OR, USA."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Pregui\u00e7a, N.M., Marqu\u00e8s, J.M., Shapiro, M., and Letia, M. (2009, January 22\u201326). A Commutative Replicated Data Type for Cooperative Editing. Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems, Montreal, QC, Canada.","DOI":"10.1109\/ICDCS.2009.20"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Imine, A., Molli, P., Oster, G., and Rusinowitch, M. (2003, January 14\u201318). Proving correctness of transformation functions in real-time groupware. Proceedings of the Eighth Conference on European Conference on Computer Supported Cooperative Work, Helsinki, Finland.","DOI":"10.1007\/978-94-010-0068-0_15"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Nichols, D.A., Curtis, P., Dixon, M., and Lamping, J. (1995, January 15\u201317). High-latency, low-bandwidth windowing in the Jupiter collaboration system. Proceedings of the ACM Symposium on User Interface Software and Technology, Pittsburgh, PA, USA.","DOI":"10.1145\/215585.215706"},{"key":"ref_17","unstructured":"Sun, C. (2023, February 13). Operational Transformation Frequently Asked Questions and Answers. Available online: https:\/\/www3.ntu.edu.sg\/scse\/staff\/czsun\/projects\/otfaq\/."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"381","DOI":"10.1016\/j.aei.2018.08.008","article-title":"A novel CRDT-based synchronization method for real-time collaborative CAD systems","volume":"38","author":"Lv","year":"2018","journal-title":"Adv. Eng. Inform."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1016\/j.future.2019.05.021","article-title":"Integrating selective undo of feature-based modeling operations for real-time collaborative CAD systems","volume":"100","author":"Lv","year":"2019","journal-title":"Futur. Gener. Comput. Syst."},{"key":"ref_20","unstructured":"Sun, Y., Lu, T., Xie, X., Gao, L., and Fan, H. (2018, January 18\u201319). A New Algorithm for Real-Time Collaborative Graphical Editing System Based on CRDT. Proceedings of the Computer Supported Cooperative Work and Social Computing, 13th CCF Conference, ChineseCSCW 2018, Guilin, China."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Burckhardt, S., Gotsman, A., Yang, H., and Zawirski, M. (2014, January 22\u201324). Replicated data types: Specification, verification, optimality. Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, CA, USA.","DOI":"10.1145\/2535838.2535848"},{"key":"ref_22","first-page":"67","article-title":"Convergent and Commutative Replicated Data Types","volume":"104","author":"Shapiro","year":"2011","journal-title":"Bull. EATCS"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Oster, G., Urso, P., Molli, P., and Imine, A. (2006, January 4\u20138). Data consistency for P2P collaborative editing. Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work, Banff, AL, Canada.","DOI":"10.1145\/1180875.1180916"},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"354","DOI":"10.1016\/j.jpdc.2010.12.006","article-title":"Replicated abstract data types: Building blocks for collaborative applications","volume":"71","author":"Roh","year":"2011","journal-title":"J. Parallel Distrib. Comput."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Weiss, S., Urso, P., and Molli, P. (2009, January 22\u201326). Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks. Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems, Montreal, QC, Canada.","DOI":"10.1109\/ICDCS.2009.75"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"N\u00e9delec, B., Molli, P., Mostefaoui, A., and Desmontils, E. (2013, January 10\u201313). LSEQ: An adaptive structure for sequences in distributed collaborative editing. Proceedings of the 2013 ACM Symposium on Document Engineering, Florence, Italy.","DOI":"10.1145\/2494266.2494278"},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"397","DOI":"10.1016\/j.aei.2016.10.005","article-title":"A string-wise CRDT algorithm for smart and large-scale collaborative editing systems","volume":"33","author":"Lv","year":"2017","journal-title":"Adv. Eng. Inform."},{"key":"ref_28","first-page":"1","article-title":"Real Differences between OT and CRDT in Correctness and Complexity for Consistency Maintenance in Co-Editors","volume":"4","author":"Sun","year":"2020","journal-title":"Proc. ACM Hum. Comput. Interact."},{"key":"ref_29","unstructured":"Gentle, J. (2024, September 09). 5000\u00d7 faster CRDTs: An Adventure in Optimization. Available online: https:\/\/josephg.com\/blog\/crdts-go-brrr\/."},{"key":"ref_30","unstructured":"Gentle, J. (2024, September 09). I Was Wrong. CRDTs are the Future. Available online: https:\/\/josephg.com\/blog\/crdts-are-the-future\/."},{"key":"ref_31","doi-asserted-by":"crossref","unstructured":"Nicolaescu, P., Jahns, K., Derntl, M., and Klamma, R. (2016, January 13\u201316). Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types. Proceedings of the 2016 ACM International Conference on Supporting Group Work, Sanibel Island, FL, USA.","DOI":"10.1145\/2957276.2957310"},{"key":"ref_32","unstructured":"Jahns, K. (2024, September 09). yjs. Available online: https:\/\/github.com\/yjs\/yjs."},{"key":"ref_33","unstructured":"(2024, September 09). Automerge. Available online: https:\/\/github.com\/automerge\/automerge."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"2733","DOI":"10.1109\/TPDS.2017.2697382","article-title":"A conflict-free replicated JSON datatype","volume":"28","author":"Kleppmann","year":"2017","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"ref_35","unstructured":"Gentle, J. (2024, September 09). Reference Crdts. Available online: https:\/\/github.com\/josephg\/reference-crdts."},{"key":"ref_36","unstructured":"(2023, February 13). OpenLayers. Available online: https:\/\/openlayers.org\/."},{"key":"ref_37","unstructured":"Herring, J.R. (2011). OpenGIS Implementation Standard for Geographic Information\u2014Simple Feature Access\u2014Part 1: Common Architecture, Open Geospatial Consortium."},{"key":"ref_38","unstructured":"Weidner, M., and Kleppmann, M. (2023). The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing. arXiv."},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"Kleppmann, M., Gomes, V.B.F., Mulligan, D.P., and Beresford, A.R. (2019, January 25). Interleaving anomalies in collaborative text editors. Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data, Dresden, Germany.","DOI":"10.1145\/3301419.3323972"},{"key":"ref_40","unstructured":"(2024, September 09). Typescript CLI Options. Available online: https:\/\/www.typescriptlang.org\/docs\/handbook\/compiler-options.html."},{"key":"ref_41","unstructured":"(2024, September 09). Socket.IO. Available online: https:\/\/socket.io\/."}],"container-title":["ISPRS International Journal of Geo-Information"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2220-9964\/13\/12\/441\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T16:49:29Z","timestamp":1760114969000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2220-9964\/13\/12\/441"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,12,7]]},"references-count":41,"journal-issue":{"issue":"12","published-online":{"date-parts":[[2024,12]]}},"alternative-id":["ijgi13120441"],"URL":"https:\/\/doi.org\/10.3390\/ijgi13120441","relation":{},"ISSN":["2220-9964"],"issn-type":[{"type":"electronic","value":"2220-9964"}],"subject":[],"published":{"date-parts":[[2024,12,7]]}}}