oxigdal-metadata
Comprehensive metadata standards support for OxiGDAL.
Overview
This crate provides Pure Rust implementations of multiple geospatial and data catalog metadata standards:
- ISO 19115 - Geographic Information - Metadata (ISO 19115:2014)
- FGDC - Federal Geographic Data Committee (FGDC-STD-001-1998)
- INSPIRE - EU INSPIRE Directive metadata requirements
- DataCite - DOI metadata for research data (Schema 4.4)
- DCAT - W3C Data Catalog Vocabulary (v3)
Features
- Metadata Extraction - Extract metadata from GeoTIFF, NetCDF, HDF5, and STAC
- Validation - Comprehensive validation with quality scoring
- Transformation - Convert between different metadata standards
- Serialization - XML and JSON support
- Pure Rust - No external dependencies on C/Fortran libraries
Usage
ISO 19115 Metadata
use *;
use BoundingBox;
let metadata = builder
.title
.abstract_text
.keywords
.bbox
.build?;
// Export to XML
let xml = metadata.to_xml?;
// Validate
let validation = validate_iso19115?;
println!;
FGDC Metadata
use *;
let metadata = builder
.title
.abstract_text
.purpose
.keywords
.build?;
DataCite Metadata
use *;
let metadata = builder
.identifier
.creator
.title
.publisher
.publication_year
.resource_type
.build?;
Metadata Transformation
use transform;
// Transform ISO 19115 to FGDC
let fgdc = iso19115_to_fgdc?;
// Transform DataCite to ISO 19115
let iso = datacite_to_iso19115?;
Metadata Extraction
use extract;
// Extract from file
let metadata = extract_metadata?;
// Convert to ISO 19115
let iso = to_iso19115?;
// Custom extractor
let extractor = new
.with_spatial
.with_temporal
.with_max_keywords;
let metadata = extractor.extract?;
Standards Compliance
ISO 19115:2014
Implements core metadata elements including:
- Citation and responsible party information
- Data identification and classification
- Spatial and temporal extent
- Distribution and quality information
- Reference system information
FGDC CSDGM
Implements FGDC-STD-001-1998 including:
- Identification information
- Data quality information
- Spatial data organization
- Spatial reference information
- Entity and attribute information
- Distribution information
INSPIRE
Implements EU INSPIRE Directive requirements:
- Resource locators
- Unique resource identifiers
- Conformity declarations
- Service metadata
- All 34 INSPIRE themes (Annex I, II, III)
DataCite
Implements DataCite Metadata Schema 4.4:
- DOI registration metadata
- Creator and contributor information
- Resource type and classification
- Related identifiers
- Geo-location support
DCAT
Implements W3C DCAT v3:
- Dataset and catalog descriptions
- Distribution information
- Data services
- RDF/JSON-LD serialization
Validation
All metadata standards include comprehensive validation:
use validate;
let report = validate_iso19115?;
if !report.is_valid
println!;
println!;
println!;
License
Apache-2.0
Copyright
Copyright (c) 2024 COOLJAPAN OU (Team Kitasan)