Skip to main content

OGC Services and Viewers

WMS

Each dataset is exposed through a dedicated WMS endpoint:

/wms/{dataset_id}

Supported request families include:

  • GetCapabilities
  • GetMap
  • GetFeatureInfo

The service can render directly through MapServer or try MapCache first when wms_use_mapcache is enabled.

Important WMS Behavior

  • native projected requests such as EPSG:32633 can use generated native MapCache grids when present
  • unsupported grids or cache-side validation failures fall back to direct MapServer rendering
  • styling for single-band outputs is generated from dataset metadata and server configuration

WCS

Coverage export is available per dataset:

/wcs/{dataset_id}

Use this when you need numeric raster export rather than rendered imagery.

WFS Footprints

Footprint and extent geometry can be consumed through WFS-oriented endpoints and GeoJSON helpers for inspection and frontend overlays.

Built-in Viewers

RoutePurpose
/ui/operator UI with dataset table, jobs, config, cache, and campaign monitoring
/maplibre/viewMapLibre viewer for terrain and WMS overlays
/cesium/terrain-testCesium terrain validation route
/cesium/hellominimal Cesium bootstrap page
/cesium/ionCesium Ion token and terrain smoke page
/cesium/wmsCesium with WMS overlays

For the frontend module layout used by these routes, see Cesium Viewer Architecture.

Cesium Viewer Structure

Cesium pages are no longer maintained as large inline template scripts. Each route renders a small HTML shell plus a JSON config payload, and the browser loads external modules from /cesium/assets.

Shared building blocks:

  • templates/assets/js/cesium-shared.js provides JSON config parsing, token setup, default viewer creation, and common utility helpers.
  • templates/assets/js/cesium-basic-viewer.js drives the simple /cesium/hello, /cesium/ion, and /cesium/wms pages.
  • templates/assets/js/cesium-viewer/layers.js, templates/assets/js/cesium-viewer/panels.js, and templates/assets/js/cesium-viewer/interactions.js contain the reusable richer-viewer primitives.

Terrain-specific extensions:

  • templates/assets/js/cesium-terrain-test/terrain-bootstrap.js is the top-level coordinator for /cesium/terrain-test.
  • templates/assets/js/cesium-terrain-test/dataset-query.js handles dataset-backed point and batch query requests.
  • templates/assets/js/cesium-terrain-test/terrain-query-interactions.js adds the terrain-specific raster inspection behavior on top of the shared interaction helpers.

When adding a new Cesium page, prefer reusing the shared modules first and keep route-specific behavior in a small dedicated module instead of copying the terrain test viewer wholesale.

Point Queries and Feature Inspection

The platform supports:

  • raster value sampling through dataset endpoints
  • WMS feature info requests
  • frontend-based point query flows
  • optional public point-query access when point_query_public is enabled

Treat public point query enablement as an operational choice, not a safe default.