BBOX Spatial Services

repository·main·Indexed 41 days ago

https://github.com/bbox-services/bbox

A collection of composable, high-performance spatial services providing OGC-compliant APIs for Features, Map, Tiles, Processes, and Routing. It includes an Asset server for static and templated files, an OGC API Features service with PostGIS and GeoPackage backends, a map server supporting WMS 1.3 and WFS via QGIS and UMN Mapserver, and a Routing service using Contraction Hierarchy.

Tokens
67.9K
Snippets
244
Records
326
Agent score
48%

What's inside BBOX

  1. Overview of BBOX services

    main

    BBOX is a suite of composable spatial services designed for high-performance geospatial data delivery. It includes specialized servers for various OGC (Open Geospatial Consortium) standards and features built-in instrumentation and hosting capabilities.

    Core Components

    • BBOX Feature server (bbox-feature-server): OGC API Features service.
    • BBOX Map server (bbox-map-server): OGC API Map service.
    • BBOX Tile server (bbox-tile-server): OGC API Tile service.
    • BBOX Asset server (bbox-asset-server): Serves static and templated files.
    • BBOX Processes server (bbox-processes-server): OGC API Processes service.
    • BBOX Routing server (bbox-routing-server): OGC API Routing service (experimental).

    Key Features

    • High-performance built-in HTTP server.
    • Integration with the QWC2 Map viewer.
    • Instrumentation: Supports Prometheus metrics and Jaeger tracing.
    • Cloud Native: Includes health endpoints optimized for Docker and Kubernetes hosting.
  2. Overview of BBOX Asset server

    main

    The BBOX Asset server is a service designed to serve static and templated files. It is primarily used to provide assets like fonts and other resources required by Tile services, and it can also function as a QGIS plugin repository.

    Key capabilities include:

    • Configurable base directories and endpoints.
    • Serving fonts and other assets for Tile services.
    • Hosting a QGIS plugin repository.
  3. Overview of BBOX frontend

    main
    The BBOX frontend is an HTML-based interface designed for interacting with BBOX services. It currently provides OpenAPI documentation interfaces via Redoc and Swagger to help developers explore and test the service APIs. Future development includes an HTML landing page, assets for MVT (Mapbox Vector Tile) maps, and various map viewers such as QWC2, OpenLayers, and MapLibre.
  4. Overview of BBOX tile server features

    main

    The BBOX tile server provides map tile serving and tile cache seeding. It supports both vector and raster tiles, as well as tile proxying and XYZ endpoints.

    Tile Serving Features:

    • OGC API – Tiles - Part 1: Core 1.0 compliance.
    • Vector Tile Server: Supports PostGIS data sources and tile archives like MBTiles and PMTiles.
    • Raster Tile Server: Uses QGIS Server and MapServer as backends.
    • Tile Proxy Server: Uses a WMS backend.
    • XYZ Tile Service: Provides endpoints with TileJSON metadata.
    • Custom Tile Matrix Sets: Supported for specialized tiling schemes.

    Tile Seeding Features:

    • Parallelized Seeding: Efficiently seeds both raster and vector tiles.
    • Storage Backends: Supports Files, S3, MBTiles, and PMTiles.
  5. Overview of BBOX Server components

    main

    BBOX Server is a suite of composable spatial services. Depending on your needs, you can deploy specific components or the full suite. The core components include:

    • BBOX Feature server: An OGC API Features service.
    • BBOX Map server: An OGC API Map service.
    • BBOX Tile server: An OGC API Tile service.
    • BBOX Asset server: Used for serving static and templated files.
    • BBOX Processes server: An OGC API Processes service.
    • BBOX Routing server: An OGC API Routing service (currently experimental).
  6. BBOX OGC API Features Service Overview

    main

    The BBOX OGC API Features Service is an asynchronous implementation of the OGC API - Features standard.

    Supported Features:

    • OGC API - Features - Part 1: Core 1.0
    • OpenAPI endpoint
    • Built-in storage backends: PostGIS, GeoPackage
    • Output formats: GeoJSON

    Note: Part 2 (Coordinate Reference Systems by Reference 1.0) is currently not implemented.

  7. Key features of BBOX Server

    main

    BBOX Server provides several production-ready features for spatial data services:

    • High Performance: Built-in high performance HTTP server.
    • API Documentation: OpenAPI support with a built-in UI.
    • Observability: Instrumentation via Prometheus metrics and Jaeger tracing.
    • Cloud Native: Health endpoints designed for Docker and Kubernetes hosting.
    • Unified Configuration: Uses a common configuration file across components.
    • Open Source: Licensed under Apache-2.0 / MIT.
  8. Identify BBOX service components

    main

    While most functionality is included in the main bbox-server, the following components can also be run as standalone services:

    • bbox-feature-server: Feature server
    • bbox-map-server: Map server
    • bbox-tile-server: Tile Server
    • bbox-asset-server: Asset server
    • bbox-processes-server: Processes server
    • bbox-routing-server: Routing server
  9. Run the BBOX OGC API Features Service

    main

    The BBOX OGC API Features Service is an asynchronous implementation of the OGC API - Features - Part 1: Core 1.0 standard. It supports PostGIS and GeoPackage as built-in storage backends, provides GeoJSON output formats, and is compatible with WFS and WFS-T via QGIS Server. You can run the server using the bbox-feature-server CLI tool.

    To run the server using the default bbox.toml configuration, use the serve command. To use a specific configuration file (e.g., for PostGIS), use the --config flag.

    # Run with default bbox.toml
    bbox-feature-server serve
    
    # Run with a custom configuration
    bbox-feature-server --config=bbox-pg.toml serve