Skip to content

foliathe declarative geospatial platform

Define what you want, not how. Specs, not scripts.

Build a Workspace in Three Steps ​

A folia.yaml file is all you need. Start with data, add computation, then style and view it.

Step 1: Point to data ​

yaml
layers:
  dem:
    uri: https://data.folia.sh/@usgs/3dep/wasatch-10m.tif
    type: raster

A layer can be as simple as a URI. folia resolves the data, reads metadata, and makes it available to other layers.

Step 2: Add computation ​

yaml
layers:
  dem:
    uri: https://data.folia.sh/@usgs/3dep/wasatch-10m.tif
    type: raster
  slope:
    type: raster
    compute:
      op: terrain_slope
      inputs:
        dem: { layer: dem }

The slope layer references dem as an input. The workspace YAML is a DAG: layers compose by referencing each other.

Step 3: Add style and views ​

yaml
layers:
  dem:
    uri: https://data.folia.sh/@usgs/3dep/wasatch-10m.tif
    type: raster
  slope:
    type: raster
    compute:
      op: terrain_slope
      inputs:
        dem: { layer: dem }
    style:
      palette: viridis
      rescale: "0,60"
views:
  - name: Terrain
    layout: full-map
    layers: [slope]
    content:
      - type: map
        components:
          - type: legend
            anchor: bottom-right

Views define how layers are presented: layout, visible layers, and UI components like legends and charts. Multiple views can show the same layer pool in different ways.


What is folia? ​

folia is a declarative geospatial platform. A folia.yaml file defines data sources, computations, and visualizations. The platform handles execution, locally or in the cloud. This spec documents the complete YAML schema and platform behavior.

Read the Primer to understand the core concepts, or jump straight into the Core Spec.

Licensed under CC-BY-4.0