Skip to content

uihilab/RasterJS

Repository files navigation

RasterJS

Towards Progressive Geospatial Information Processing on Web Systems: A Case Study for Watershed Analysis in Iowa


Table of Contents

Introduction

Geographic Information Systems (GIS) are available as stand-alone desktop applications as well as web platforms for vector- and raster-based geospatial data processing and visualization. While each approach offers certain advantages, limitations exist that motivate the development of hybrid systems that will increase the productivity of users for performing interactive data analytics using multidimensional gridded data. Web-based applications are platform-independent, however, require the internet to communicate with servers for data management and processing which raises issues for performance, data integrity, handling, and transfer of massive multidimensional raster data. On the other hand, stand-alone desktop applications can usually function without relying on the internet, however, they are platform-dependent, making distribution and maintenance of these systems difficult. This project presents RasterJS, a hybrid client-side web library for geospatial data processing that is built on the Progressive Web Application (PWA) architecture to operate seamlessly in both Online and Offline modes. A packaged version of this system is also presented with the help of Web Bundles API for offline access and distribution. RasterJS entails the use of latest web technologies that are supported by modern web browsers, including Service Workers API, Cache API, IndexedDB API, Notifications API, Push API, and Web Workers API, in order to bring geospatial analytics capabilities to large-scale raster data for client-side processing. Each of these technologies acts as a component in the RasterJS to collectively provide a similar experience to users in both Online and Offline modes in terms of performing geospatial analysis activities such as flow direction calculation with hydro-conditioning, raindrop flow tracking, and watershed delineation. A large-scale case study is included in the study for watershed analysis to demonstrate the capabilities and limitations of the library. The framework further presents the potential to be utilized for other use cases that rely on raster processing, including land use, agriculture, soil erosion, transportation, and population studies.

System Architecture

Use Cases

The system does not require external software framework knowledge to maintain as it relies on vanilla JavaScript and default JS Web APIs. From a user standpoint, the user interface is responsive and intuitive to enable associates of any technical proficiency level to use the system to its full potential without requiring training and previous expertise. The interface shown in the following figures summarizes the map view and user control panel. The user can navigate on the map with the help of panning and zooming. The control panel gives the user the ability to select the values for resolution, area, and elevation for georeferencing. Based on the selected values for these parameters, the selection window appears on the interface which can be moved around for the selection of the area of interest. The georeferenced image will be placed inside this selected area with the watershed boundary or raindrop flow overlaid on top. In Online mode, Google Maps view is displayed whereas in Offline mode OpenStreetMaps tiles are used to construct the map with a reduced extent and restricted zoom levels.

Default view in online mode

Screenshot-1

Selection window after selecting the values of the parameters

Screenshot-2

Overlaying of the georeferenced image

Screenshot-3

Watershed in the georeferenced image

Screenshot-4

Watershed in the map context

Screenshot-5

Raindrop Flow Tracker in the georeferenced image

Screenshot-6

How To Use

Download all the files in the repository and upload the files to a web server and run "index.html". Based on the internet availability, the application will switch between online and offline mode.

Before deployment, you need to provide your endpoints and keys, places of which are noted in the code (search for "TODO").

web-bundles directory contains only those files which needs to be bundled.

To generate Web Bundles file type the following command in the root directory.

gen-bundle -dir web-bundles -baseURL https://web-bundl.es/ -primaryURL https://web-bundl.es/ -o web-bundles.wbn

Above command will generate web-bundles.wbn file in the root directory. If this file is opened in the browser then user will be able to use the application as in the offline mode.

Future Work

The use case serves as a proof of concept with selected geospatial analytics tools for showcasing its utility in research and operational capacities and does not intend to be a comprehensive web GIS. The RasterJS will be updated as new web technologies emerge and existing ones improve. Web Assembly is a technology that can be incorporated to improve the performance of the system. The development of the RasterJS has opened the door for exploring peer to peer geospatial data distribution using WebRTC. For advanced data visualization approaches, technologies like WebGL can play an important role. WebCL is another technology that can be used for improving the performance of the application especially when the scope of the application will be extended beyond Iowa case study which would require the processing of a large number of images for georeferencing. Other than hydrological analysis, the application can be extended to other areas (e.g., urban planning, transportation, population studies, agriculture) by introducing more analytical abilities. Furthermore, several other raster data formats (e.g., GeoPackage, ArcGrid, ImageMosaic) can be supported to encompass a wide array of use cases.

Feedback

Feel free to send us feedback by filing an issue.

Acknowledgements & Citation

This project is developed by the University of Iowa Hydroinformatics Lab (UIHI Lab): https://hydroinformatics.uiowa.edu/.

This project uses following third party libraries:

Shahid, M., Sermet, Y., & Demir, I. (2021). Towards Progressive Geospatial Information Processing on Web Systems: A Case Study for Watershed Analysis in Iowa. https://doi.org/10.31223/X5WK8C

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published