Skip to main content

FastAPI-mapserver Documentation

This site documents the full FastAPI-mapserver platform as it exists in this repository and deployment stack.

It covers:

  • the FastAPI application and its router surface
  • MapServer and MapCache behavior for WMS and cached GetMap traffic
  • Celery and Redis based async job execution
  • terrain generation and Mago terrain workflows
  • HySpex CSW ingestion, campaign batching, and campaign monitoring
  • the built-in operator UIs at /ui/ (legacy) and /ui-react/ (React)
  • deployment on the same Docker and swarm stack used by the service
  1. Read Architecture and stack components for the system model.
  2. Follow Quick start if you need a running environment quickly.
  3. Use the User Guide section for dataset, WMS, terrain, and HySpex workflows.
  4. Use the Operations section for configuration, auth, deployment, caching, and troubleshooting.
  5. Use API reference when you need endpoint-level detail.
  6. Use the Blog for short project updates, architecture notes, and recent delivery summaries.

Live Endpoints

  • Swagger UI: https://ogc-service.wps.met.no/docs
  • Frontend UI (legacy): https://ogc-service.wps.met.no/ui/
  • Frontend UI (React): https://ogc-service.wps.met.no/ui-react/
  • Documentation site: https://ogc-service.wps.met.no/guide/
  • Blog: https://ogc-service.wps.met.no/guide/blog
  • OpenAPI schema: https://ogc-service.wps.met.no/openapi.json

Project Scope

The service is primarily a raster publishing and processing platform. It is optimized for these operating modes:

  • upload or register GeoTIFF datasets and expose them through OGC interfaces
  • convert point-cloud or NetCDF backed products into gridded raster outputs
  • generate terrain products for MapLibre and Cesium clients
  • seed, inspect, and clean tile cache state
  • ingest and monitor large HySpex catalog campaigns through resumable batch requests

Conventions Used Here

  • Route examples assume the local stack is running on http://127.0.0.1:8080 unless a public host is more appropriate.
  • When a route is protected, examples assume Authorization: Bearer <token>.
  • Runtime configuration refers to values persisted in /data/server_config.json, which override startup environment defaults.