EodashProcess
A panel that runs an OGC API – Processes style workflow against the selected dataset and shows the result as a chart, map layers, or another STAC collection.
It reads an eodash:jsonform URL from the selected STAC collection, fetches that JSON Schema form definition, and renders it with eox-jsonform. Spatial inputs (bounding box, point, polygon, or feature selection) are drawn on the map through eox-drawtools, which the form schema injects. The form values fill the service links on the collection (templated with Mustache), and the responses become the output.
Example
A process panel placed next to the map:
{
id: "process",
title: "Analysis",
type: "internal",
layout: { x: 9, y: 0, w: 3, h: 8 },
widget: {
name: "EodashProcess",
properties: {
vegaEmbedOptions: { actions: true },
},
},
}A compare-mode panel bound to the second map (see compare mode):
widget: {
name: "EodashProcess",
properties: { enableCompare: true },
}Inputs
The form is whatever the collection's eodash:jsonform schema describes - eodash renders the schema as-is, so the available inputs are defined by the dataset, not by the widget see STAC processing. On top of standard JSON Schema fields, two things are eodash-specific:
- Spatial selection. A schema field can declare a drawtools input, which lets the user draw on the map. The supported geometries are bounding box, point, polygon, and feature selection (clicking existing features of a layer). The drawn geometry is written back into the form value.
- Schema options.
options.execute: true- auto-execute. The process runs on every form change instead of showing an Execute button.options.multiQuery- when a field holds multiple selections, eodash issues one request per value and aggregates the responses into a single result.
Outputs
The process output is determined by the service links returned for the collection, matched on the link type:
Link type | Output |
|---|---|
application/json, text/csv | Chart data injected into a Vega-Lite spec, rendered by EodashChart. Supports GET and POST (with a body template). |
image/tiff | A COG / GeoTIFF map layer. |
image/png | A static image map layer placed over the request bounding box. |
application/geo+json | A vector map layer, optionally styled from an eox:flatstyle link. |
application/json; profile=collection (with endpoint: "STAC") | Loads another STAC collection as the output - currently used for points-of-interest collections. |
Chart output is shared through the eodash store: EodashProcess writes chartSpec and chartData, and EodashChart reads them. Map layers are added to the active map.
Custom endpoints
When a service link carries an endpoint identifier, eodash routes it to a dedicated handler instead of fetching it directly. These cover backends that need their own request/response handling:
- SentinelHub (chart) - runs a SentinelHub Statistics request and feeds the result into the chart.
- VEDA (chart) - reads cloud-optimized GeoTIFFs from a VEDA collection for charting.
- EOxHub Workspaces (layers, asynchronous) - submits the work as a job to an EOxHub workspace and turns the finished result into map layers.
Each handler only acts on links addressed to it, so a collection can mix custom-endpoint links with ordinary service links.
Synchronous vs. asynchronous
The widget supports both types of processes:
- Synchronous is the default: the request returns the result directly and the output appears as soon as it resolves.
- Asynchronous is used when the collection has EOxHub Workspaces links. The process is submitted as a job and polled until it finishes. The panel tracks each job's
status(running/successful/failed) and progress, and renders the output once the job issuccessful.
Properties
enableCompare?
optional enableCompare?: boolean = false;vegaEmbedOptions
vegaEmbedOptions: EmbedOptions<string, Renderers>;See also
- EodashChart - renders the chart output produced here.
- Map Layer Visualization - how the layer output is shown on the map.
- Eodash Store - the shared
chartSpec/chartDatastate the chart reads.