Skip to main content

oxigdal_services/
lib.rs

1//! OxiGDAL Services - OGC Web Services Implementation
2//!
3//! Provides OGC-compliant web service implementations for geospatial data access and processing:
4//!
5//! - **WFS (Web Feature Service) 2.0/3.0**: Vector data access with filtering and transactions
6//! - **WCS (Web Coverage Service) 2.0**: Raster data access with subsetting and format conversion
7//! - **WPS (Web Processing Service) 2.0**: Geospatial processing with built-in algorithms
8//! - **CSW (Catalog Service for the Web) 2.0.2**: Metadata catalog search and retrieval
9//!
10//! # Features
11//!
12//! - OGC-compliant implementations following official standards
13//! - XML/JSON output formats with proper schema validation
14//! - CRS support and coordinate transformation
15//! - Built-in WPS processes (buffer, clip, union, etc.)
16//! - Async request handling with Axum
17//! - Pure Rust implementation (no C/C++ dependencies)
18//!
19//! # COOLJAPAN Policies
20//!
21//! - **Pure Rust**: No C/C++ dependencies
22//! - **No unwrap()**: Proper error handling throughout
23//! - **Workspace**: Uses workspace dependencies
24//! - **Files < 2000 lines**: Modular code organization
25
26#![warn(missing_docs)]
27#![deny(clippy::unwrap_used)]
28#![deny(clippy::panic)]
29
30pub mod csw;
31pub mod error;
32pub mod wcs;
33pub mod wfs;
34pub mod wps;
35
36// Re-export main types
37pub use csw::{CswState, MetadataRecord};
38pub use error::{ServiceError, ServiceResult};
39pub use wcs::{CoverageInfo, CoverageSource, WcsState};
40pub use wfs::{FeatureSource, FeatureTypeInfo, WfsState};
41pub use wps::{Process, ProcessInputs, ProcessOutputs, WpsState};
42
43/// Library version
44pub const VERSION: &str = env!("CARGO_PKG_VERSION");
45
46#[cfg(test)]
47mod tests {
48    use super::*;
49
50    #[test]
51    fn test_version() {
52        assert!(!VERSION.is_empty());
53    }
54}