Design and Development of a Local-First Collaborative 3D WebGIS Application for Mapping
Abstract
:1. Introduction
- Easy To Use: Maps and analytical tools for sharing geographic information are typically implemented as web applications. Compared to native applications, web applications offer distribution advantages and inherently support cross-platform compatibility.
- Minimized Server Dependency: The application relies minimally on servers, with data stored locally on each user’s device.
- Offline Functionality: The application remains functional offline and utilizes WebAssembly (WASM) for data-intensive spatial analysis, operating entirely within the browser’s local environment.
- Collaborative Integration: Leveraging CRDT technology for data collaboration, the application supports the integration of data from diverse sources to facilitate collaborative workflows.
2. Materials and Methods
2.1. Client-Side Architecture Design and Implementation
2.1.1. Data Structure and Data Flow Design
2.1.2. Data Storage Design
2.1.3. Group Awareness Design
2.1.4. Browser-Based Spatial Analysis Design
Algorithm 1. Heatmap Algorithm. | |
Input: A set of heat points P = {P1, …, Pn} and configuration (sizeX, radius, max heat, gradient, deltaLng, deltaLat) Output: Heatmap Image | |
1 | Calculate perPixel = deltaLng/sizeX, sizeY = ceil(delatLat/perPixel) |
2 | Initialize: the heat value matrix and the color matrix using sizeX and sizeY |
3 | for each Pi in P do |
4 | Convert (lng, lat) to pixel coordinates (x, y) |
5 | Spread heat to neighboring pixels within radius |
6 | Update heat matrix with weighted heat values |
7 | end |
8 | for each pixel (x, y) in heat matrix do |
9 | Map heat value to RGBA color using gradient and max heat |
10 | Store RGBA values in color matrix |
11 | end |
12 | Create Image using color matrix |
13 | return Image |
2.2. Server-Side Architecture Design and Implementation
3. Results
3.1. Experimental Procedure
3.2. Performance Tests
4. Discussion
5. Conclusions
Supplementary Materials
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
CRDTs | Conflict-free Replicated Data Types |
WASM | WebAssembly |
GLB | Binary glTF |
PWA | Progressive Web Application |
References
- ArcGIS Online. Available online: https://www.esri.com/en-us/arcgis/products/arcgis-online/overview (accessed on 20 February 2025).
- Felt: The Only Cloud-Native GIS Platform. Available online: https://felt.com/ (accessed on 16 January 2025).
- Kleppmann, M.; Wiggins, A.; Van Hardenberg, P.; McGranaghan, M. Local-First Software: You Own Your Data, in Spite of the Cloud. In Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software; ACM: Athens, Greece, 2019; pp. 154–178. [Google Scholar]
- Ink & Switch. Available online: https://www.inkandswitch.com/ (accessed on 4 April 2025).
- Shapiro, M.; Preguiça, N.; Baquero, C.; Zawirski, M. Conflict-Free Replicated Data Types. In Proceedings of the Stabilization, Safety, and Security of Distributed Systems; Défago, X., Petit, F., Villain, V., Eds.; Springer: Berlin, Heidelberg, 2011; pp. 386–400. [Google Scholar]
- Kleppmann, M.; Beresford, A.R. A Conflict-Free Replicated JSON Datatype. IEEE Trans. Parallel Distrib. Syst. 2017, 28, 2733–2746. [Google Scholar] [CrossRef]
- Kleppmann, M. Moving Elements in List CRDTs. In Proceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data; Association for Computing Machinery: New York, NY, USA, 2020; pp. 1–6. [Google Scholar]
- Automerge. Available online: https://github.com/automerge/automerge (accessed on 19 January 2025).
- van Hardenberg, P.; Kleppmann, M. PushPin: Towards Production-Quality Peer-to-Peer Collaboration. In Proceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data; Association for Computing Machinery: New York, NY, USA, 2020; pp. 1–10. [Google Scholar]
- Sun, Y.; Li, S. Real-Time Collaborative GIS: A Technological Review. ISPRS J. Photogramm. Remote Sens. 2016, 115, 143–152. [Google Scholar] [CrossRef]
- Convertino, G.; Ganoe, C.H.; Schafer, W.A.; Yost, B.; Carroll, J.M. A Multiple View Approach to Support Common Ground in Distributed and Synchronous Geo-Collaboration. In Proceedings of the Coordinated and Multiple Views in Exploratory Visualization (CMV’05); IEEE: London, UK, 2005; pp. 121–132. [Google Scholar]
- Chang, Z.; Li, S. Architecture Design and Prototyping of a Web-Based, Synchronous Collaborative 3D GIS. Cartogr. Geogr. Inf. Sci. 2008, 35, 117–132. [Google Scholar] [CrossRef]
- Marion, C.; Jomier, J. Real-Time Collaborative Scientific WebGL Visualization with WebSocket. In Proceedings of the 17th International Conference on 3D Web Technology; Association for Computing Machinery: New York, NY, USA, 2012; pp. 47–50. [Google Scholar]
- Yaqin, S.; Chen, X.; Jinxiong, W.; Hang, Y.; Haibo, S.; Xiumei, Z.; Lin, Z. Development of a Multi-View and Geo-Event-Driven Real-Time Collaborative GIS. Int. J. Digit. Earth 2022, 15, 134–147. [Google Scholar] [CrossRef]
- Chang, Z.; Li, S. VRML-Based 3D Collaborative GIS: A Design Perspective. In Proceedings of the Web and Wireless Geographical Information Systems; Kwon, Y.-J., Bouju, A., Claramunt, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 232–241. [Google Scholar]
- Schafer, W.A.; Ganoe, C.H.; Carroll, J.M. Supporting Community Emergency Management Planning Through a Geocollaboration Software Architecture. In Learning in Communities: Interdisciplinary Perspectives on Human Centered Information Technology; Carroll, J.M., Ed.; Springer: London, UK, 2009; pp. 225–258. ISBN 978-1-84800-332-3. [Google Scholar]
- Ellis, C.A.; Gibbs, S.J. Concurrency Control in Groupware Systems. In Proceedings of the 1989 ACM SIGMOD international conference on Management of data; Association for Computing Machinery: New York, NY, USA, 1989; pp. 399–407. [Google Scholar]
- Kulawiak, M.; Dawidowicz, A.; Pacholczyk, M.E. Analysis of Server-Side and Client-Side Web-GIS Data Processing Methods on the Example of JTS and JSTS Using Open Data from OSM and Geoportal. Comput. Geosci. 2019, 129, 26–37. [Google Scholar] [CrossRef]
- Feenstra, J. Geofront: Directly Accessible GIS Tools Using a Web-Based Visual Programming Language. Master’s Thesis, Delft University of Technology, Delft, The Netherlands, 2022. [Google Scholar]
- GeoTIFF. Available online: https://github.com/GeoTIFF/geotiff.io (accessed on 16 January 2025).
- Szujó, G.; Biber, Z.; Gál, V.; Szabó, B. MaGISter-Mine: A 2D and 3D Web Application in the Service of Mining Industry. Int. J. Appl. Earth Obs. Geoinf. 2023, 116, 103167. [Google Scholar] [CrossRef]
- Turf.Js. Available online: https://turfjs.org/ (accessed on 16 January 2025).
- Kriging.Js. Available online: https://github.com/oeo4b/kriging.js (accessed on 20 February 2025).
- WebAssembly. Available online: https://webassembly.org/ (accessed on 16 January 2025).
- CGAL. Available online: https://github.com/CGAL/cgal (accessed on 20 February 2025).
- GEOS. Available online: https://github.com/libgeos/geos (accessed on 20 February 2025).
- CesiumJS. Available online: https://github.com/CesiumGS/cesium (accessed on 19 January 2025).
- itownsJS. Available online: https://github.com/iTowns/itowns (accessed on 19 January 2025).
- YJS: Shared Data Types for Building Collaborative Software. Available online: https://github.com/yjs/yjs (accessed on 15 January 2025).
- Collabs. Available online: https://github.com/composablesys/collabs (accessed on 21 January 2025).
- Cozzi, P.; Lilley, S. 3D Tiles Specification. Available online: https://docs.ogc.org/cs/22-025r4/22-025r4.html (accessed on 17 January 2025).
- Cesium Ion. Available online: https://cesium.com/platform/cesium-ion/ (accessed on 20 February 2025).
- Rust and WebAssembly Documentation. Available online: https://rustwasm.github.io/docs.html (accessed on 16 January 2025).
- Rust-Wasm-Heatmap. Available online: https://github.com/Knight-wh/rust-wasm-heatmap (accessed on 4 April 2025).
- GeoOasis. Available online: https://github.com/orgs/GeoOasis/repositories (accessed on 21 February 2025).
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
Wang, B.; Zhao, Q.; Zeng, D.; Yao, Y.; Hu, C.; Luo, N. Design and Development of a Local-First Collaborative 3D WebGIS Application for Mapping. ISPRS Int. J. Geo-Inf. 2025, 14, 166. https://doi.org/10.3390/ijgi14040166
Wang B, Zhao Q, Zeng D, Yao Y, Hu C, Luo N. Design and Development of a Local-First Collaborative 3D WebGIS Application for Mapping. ISPRS International Journal of Geo-Information. 2025; 14(4):166. https://doi.org/10.3390/ijgi14040166
Chicago/Turabian StyleWang, Bohua, Qiansheng Zhao, Di Zeng, Yibin Yao, Chunchun Hu, and Nianxue Luo. 2025. "Design and Development of a Local-First Collaborative 3D WebGIS Application for Mapping" ISPRS International Journal of Geo-Information 14, no. 4: 166. https://doi.org/10.3390/ijgi14040166
APA StyleWang, B., Zhao, Q., Zeng, D., Yao, Y., Hu, C., & Luo, N. (2025). Design and Development of a Local-First Collaborative 3D WebGIS Application for Mapping. ISPRS International Journal of Geo-Information, 14(4), 166. https://doi.org/10.3390/ijgi14040166