Skip to content
/ ogcapi Public

OGC API building blocks implemented in Rust

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

georust/ogcapi

ogcapi

Documentation Crate

The ogcapi crate provides various OGC API building blocks implemented in Rust.

Project Outline

The code is organized in modules, respectively crates:

Module / Crate Description
types Types as defined in various OGC API standards as well as STAC with serde support.
client Client to access HTTP endpoints of OGC API services as well as STAC wrapping reqwest
services Server implementation of various OGC API services based on axum.
drivers Drivers for different data provider backends, currently mainly PostgreSQL with PostGIS through sqlx.
processes Processor trait and implementations.

These modules are reexported within the ogcapi crate.

Quick Start (Podman/Docker)

This will take a while and use quite some disk space

# Setup the database
podman compose up --build

# Import administrative bounaries
podman exec -ti ogcapi cargo run -p data-loader -- --input data/ne_110m_admin_0_countries.geojson --collection countries

# Run app
podman exec -ti ogcapi cargo run -p demo-service

Open http://localhost:8484/ were you will find the Landing Page.

Developing

Prerequisites

  • Rust
  • Podman or Docker
  • GDAL
# Install SQLx CLI
cargo install sqlx-cli --no-default-features --features postgres,rustls

Setup

# Run services
podman compose up db minio minio-mc -d

# Import administrative bounaries
cargo run -p data-loader -- --input data/ne_110m_admin_0_countries.geojson --collection countries

# Start service 
cargo run -p demo-service

# Run tests
cargo test --workspace --all-features --all-targets

# Open Documentation
cargo doc --workspace --all-features --no-deps --open

Format / Lint

# Format
cargo fmt

# Clippy
cargo clippy --workspace --all-features --all-targets

Teamengine

podman run --network host docker.io/ogccite/ets-ogcapi-features10
# podman run --network host docker.io/ogccite/ets-ogcapi-edr10

Navigate to http://localhost:8080/teamengine/ to execute the test suite. For documentation and more info see https://cite.opengeospatial.org/teamengine/about/ogcapi-features-1.0/1.0/site.

Example Project

Based on this project, a STAC enabled OGC API Features service has successfully been setup. You can find the code from the prove of concept here

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

OGC API building blocks implemented in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •