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.
- Vega options.
eodash:disableClickDateToMap- when set totruein the Vega spec, disables updating the global dashboard datetime on chart item click.
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.
By default, the display title of the generated results layers on the map is "Results " followed by the collection or layer ID. If a title property is present on the STAC link, that title is preferred and used as the layer's display title in the layer control instead.
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?
optional vegaEmbedOptions?: EmbedOptions<string, Renderers> = { actions: true };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.