OSGeo in the browser: Advances in client-side WebAssembly-based Geospatial Analysis and frontend visualization using jsgeoda and Vis.gl
2021-09-29, 10:00–10:30, Aconcagua

In-browser analytics have grown in popularity as personal computers and mobile devices have increased capabilities in CPU and GPU performance to handle and represent geospatial data. Efficient data transfer formats, in-memory analytics, and cheap static or serverless web infrastructures set the groundwork for robust client-side data handling, parsing, and visualization. Additionally, the ongoing development of WebAssembly libraries, a web technology to wrap and translate existing modules from C, Go, Rust, Python, Java, etc. into a JavaScript virtual machine with near-native performance, opens the door to integrate existing work into new web applications.

In response to the COVID-19 pandemic, a research coalition led by the Center for Spatial Data Science at UChicago developed a first-of-its-kind dashboard that enables client-side analytics to perform spatial autocorrelation methods (LISA / Local Moran’s I) and binning algorithms including jenks natural breaks and hinge breaks directly in the client-side environment. The advances open up new possibilities for inexpensively hosted geospatial web applications with more robust analytic capacities than previously possible, all while utilizing free or low-cost web hosting services. Additionally, new visualization methods utilizing powerful WebGL-based geospatial libraries (Deck.gl, Kepler.gl) allow for more complex on-the-fly visualizations such as point-grid layers and dot density maps with robust filtering options.
This talk outlines the infrastructure used in the US Covid Atlas project and the capacities of jsgeoda (Xun Li, CSDS) to perform a variety of clustering and binning algorithms in the browser. Code demonstrations for main thread and worker implementations will be presented, along with a series of template Github repositories available for use licensed under GPL. By the end of this talk, viewers will be able to understand and replicate the US Covid Atlas’s web infrastructure, implement a simple jsgeoda instance for spatial clustering, and build from open source templates for their own geospatial analytics web application that does not require backend services.


Efforts from the US Covid Atlas project, created by a research coalition led by the University of Chicago’s Center for Spatial Data Science, reflect new advances in frontend/client-side geospatial analytics from Xun Li’s jsgeoda library, a WebAssembly wrapper for the open source GeoDa library. WebAssembly has been growing in popularity recently; together with WebWorker approaches to initializing these WebAssembly modules off of the main web interface thread, popular libraries such as Sqlite (sql.js) and FFMPEG, an audio conversion library, have already been converted and used in JavaScript environments. Additionally framework depend completely on WebAssembly (Blazor, Flutter), and the transferability of WebAssembly Modules from backends to frontends (and back!) through WASM/WASI formats, enables new workflows of shared workload across client and server. The implications of these robust in-browser analytics do more than cut costs, as they allow for potentially sensitive data to be analyzed through more user-friendly environments without being transmitted to a server, or shared internally in an interactive format without sensitive data being exposed.

Building on the lessons learned through the US Covid Atlas project, the Center for Spatial Data Science is developing a series of easily replicable templates to create in-browser geospatial data exploration tools based on jsgeoda. This talk will outline the work so far and major infrastructure elements, then demonstrate how these templates can be utilized with a simple JSON configuration to read and join geospatial and tabular data, as well as generate normalized columns and define symbology options.

The US Covid Atlas project is headed up by Dr Marynia Kolak (CSDS), Dr Qinyun Lin (CSDS), and Dr Xun Li (CSDS). Dylan Halpern (Presenter, CSDS), is the Principal Software Engineer for the project.


Authors and Affiliations

Kolak, Marynia (1)
Lin, Qinyun (1)
Li, Xun (1)
Halpern, Dylan (1)

(1) Center for Spatial Data Science, The University of Chicago

Requirements for the Attendees

Attendees with a basic knowledge of web infrastructures and servers, and javascript/web mapping may find this talk most useful.

Track

Use cases & applications

Topic

Data visualization: spatial analysis, manipulation and visualization

Level

1 - Principiants. No required specific knowledge is needed.

Language of the Presentation

English

Dylan Halpern is the Principal Software Engineer for the US Covid Atlas at the Center. Utilizing methods of geospatial data analytics, visualization, and web development, he works in domains of public health, urban experience and activity, and transit. He holds a Master in City Planning from MIT.