HyPlica OGC API Server
OGC API — Processes
Long-running HyPlica operations — bulk dataset indexing, large asynchronous zone queries — exposed as processes you execute and monitor rather than wait on.
Processes
The processes this server offers — a web view of GET /api/processes. Select one for its inputs and outputs.
| Id | Description |
|---|---|
| zone-query
Asynchronous zone query |
Enumerate every zone intersecting a geographic spacetime extent and persist the result as a content-addressed zoneSet; the job result carries the zoneSetId handle. Use for results beyond the synchronous endpoint's stored-zoneSet cap. |
| index-geojson
Index GeoJSON features into the DGGS |
Index every Feature of an inline GeoJSON FeatureCollection: one content-addressed zoneSet per feature covering its footprint x height x time extent. Height/time come from the feature's own properties under caller-supplied property NAMES (schemas vary), falling back to static defaults; features resolvable by neither are skipped with an actionable warning in the results. Re-submitting identical inputs returns the prior result without re-execution. |
| zonal-coverage
Per-zone coverage fraction from an indexed raster (Canopy Cover and kin) |
For every zone of a raster-indexed collection at one level, the fraction of its pixels satisfying a predicate on one band — canopy >= a threshold, land-use class membership, flood-depth exceedance. Computed entirely from the stored zone-mask artifact written at index time: nothing re-fetched, re-projected or resampled. Zones are bucketed by fraction into zoneSets (the overlay-count idiom: identity carries the answer), with an exact per-zone fraction JSON artifact alongside. |
| zonal-statistics
Per-zone statistics over a raster-indexed collection (canopy cover is the canonical case) |
Aggregate a raster collection's pixels per zone, straight from the stored zone-mask artifact — pixels were resolved to zones at index time, so this is pure per-zone aggregation; nothing is reprojected or resampled. Statistics: mean, sum, count, min, max, or fraction (of pixels >= threshold — canopy cover from a canopy raster). 'classes' turn values back into MEMBERSHIP: one zoneSet per class ('zones with canopy >= 30%'), the form every other analysis process consumes. Values are exported as a JSON-lines artifact of {zone, value, pixels}. |
| proximity-bands
Concentric geodesic distance bands, indexed as zoneSets |
Index concentric distance bands around a source geometry: one content-addressed zoneSet per band ring. GEOMETRY-SIDE proximity — candidate zones from the expanded extent are assigned by their centre's geodesic distance to the densified source geometry (great-circle, mean radius; the model and sample spacing are reported in the result). Never a lattice dilation: HyPlica has no k-ring concept. |
| overlay-count
Membership overlay counting across zoneSets |
For N source zoneSets at one zone-level, count how many contain each zone (pure set membership over zone identity) and emit one zoneSet per count value — 'zones meeting exactly k criteria' — plus the count histogram. The screening primitive: sources can be indexed datasets (a raster's level zoneSet, a vector dataset's union) or any prior process output. |
| adjacency-export
Export a zoneSet's adjacency graph |
The adjacency graph of a zoneSet: Moore neighbourhoods derived analytically per zone by the engine, realised as undirected edges by set membership (both endpoints in the target set, optionally first intersected with a 'surface' set — zone axes are ECEF XYZ(t), so surface adjacency IS generation ∩ membership). Adjacency is never stored by the platform; the exported JSON-lines artifact is a reproducible derived product. |
| site-score
Weighted site scoring with connected-component clustering |
score(z) = Σ weight·[z ∈ criteria]; zones at or above the threshold qualify, and qualifying zones are clustered into connected components by Moore adjacency over the qualifying set itself (analytic neighbour generation ∩ set membership). Components rank by total score then size; each becomes a content-addressed zoneSet, with approximate area from the level's edge length. The multi-criteria site search primitive. |
| least-cost-path
Least-cost path over the zone lattice |
A* between two points at one zone-level: neighbours derived analytically (never stored), step cost = centre distance × mean zone cost, admissible straight-line heuristic. Costs and impassable barriers come from zoneSet membership; the search is bounded to a corridor around the endpoints and an expansion cap. Outputs the ordered zone path, its zoneSet, and a lon/lat LineString of zone centres. |
| index-geotiff
Index a GeoTIFF raster into the DGGS |
Index every data-bearing pixel of a GeoTIFF as a 4D point observation (pixel centre in the raster's CRS -> ECEF, plus the dataset's temporal validity), producing one content-addressed zoneSet per requested zone-level. The raster is indexed IN PLACE — never resampled, reprojected or rasterised into the grid — so raster and vector datasets become co-queryable through the same zone identity. Georeference, CRS, NODATA and acquisition time are read from the header where present; each has an input to supply or override it. Optionally emits a pixel-aligned zone-mask GeoTIFF (original bands plus an int64 local-index mask per level with a zoneIndex lookup, since 144-bit zone ids do not fit an int64 sample). |
| index-dataset
Index a dataset into the DGGS |
Fan out one indexing task per spatial partition (chord), persisting content-addressed zoneSets; exactly-once finalisation via an atomic claim. |
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/processes | Process list |
| GET | /api/processes/{processId} | Process description |
| POST | /api/processes/{processId}/execution | Execute a process |
Requests authenticate with a session, an API token, or a short-lived bearer token — see the documentation for credential flows, and your account to manage tokens.
Definition Conformance DGGS Collections & collection-DGGS Jobs Features Coverages