Skip to content
Tim Welch edited this page May 19, 2022 · 22 revisions

Links

What is this framework for?

This frameworks niche is running spatial analysis, particularly overlay statistics, and generating real-time reports at scale, with different input, such as part of a collaborative spatial planning process.

Often, the original analysis might be prototyped in an environment like R, Jupyter Notebook, ArcGIS, QGIS, etc. and this framework can be used to "operationalize" the analysis at a cost, speed and scale that is hard to match with other products.

Who is this framework for?

This framework is specifically targeted to code-savvy folks that want to create and host geoprocessing projects themselves and plug them into their SeaSketch project, though it is not dependent on SeaSketch. The SeaSketch team uses it for all projects, here are some public ones

The primary efficiency to this framework is that almost everything is written in Typescript/Javascript, both backend and frontend. Third-party tools are accessible via Node bindings (AWS) or a standard shell environment using Docker (OGR, GDAL, PostGIS, Python).

Goals

  • Spins up to meet high demand, then spins down to near zero cost when not in use.
  • Plug-and-play with the SeaSketch platform
  • Make it relatively easy to create, publish and manage a geoprocessing project with data, functions, and reports in the cloud

Features

  • Cloud-optimized techniques for indexing, storing and retrieving from big datasets to power analysis including Flatgeobuf, Cloud-optimized GeoTIFFs (COGs), and subdivision.
  • Core library with command-line interface (CLI) for managing geoprocessing projects, and a straightforward upgrade path to new versions.
  • Docker workspace packed with open source tools for scripting data prep workflows.
  • Toolbox of geoprocessing functions utilizing Turf JS, Geoblaze, Simple Statistics.
  • Library of React components ready to add to report clients.
  • Templates for common planning use cases that can be installed into your project.
  • Cloud-native serverless architecture with automated provisioning and migration as a project evolves.
  • APIs for accessing project resources and integration including REST, Web Socket, and IFrame postMessage.
Clone this wiki locally