OxiGDAL Advanced Drivers
Advanced geospatial format drivers for OxiGDAL, providing Pure Rust implementations for JPEG2000, GeoPackage, KML/KMZ, and GML formats.
Features
-
JPEG2000 (JP2) - Pure Rust JPEG2000 codec
- JP2 box structure parsing
- Codestream decoding (simplified)
- Multi-resolution pyramid support
- GeoJP2 metadata extraction
- Metadata handling (XML boxes, ICC profiles)
-
GeoPackage (GPKG) - SQLite-based vector and raster storage
- Vector feature tables with multiple geometry types
- Raster tile matrices
- R-tree spatial indexing
- GeoPackage 1.3 specification compliance
- Extensions support
-
KML/KMZ - Keyhole Markup Language for Google Earth
- KML 2.2 support
- Placemark, LineString, Polygon geometries
- Styles and icons
- NetworkLinks
- KMZ (zipped KML) with embedded images
-
GML - Geography Markup Language (OGC standard)
- GML 3.2 support
- Feature collections
- Geometry encoding/decoding
- CRS support
- Schema validation
Usage
Add to your Cargo.toml:
[]
= "0.1.2"
JPEG2000
use jp2;
use File;
let file = open?;
let image = read_jp2?;
println!;
GeoPackage
use *;
// Create GeoPackage
let mut gpkg = create?;
// Create feature table
let table = gpkg.create_feature_table?;
// Open existing GeoPackage
let gpkg = open?;
let tables = gpkg.feature_tables?;
KML/KMZ
use *;
// Create KML document
let mut doc = new
.with_name;
let placemark = new
.with_name
.with_geometry;
doc.add_placemark;
// Write KML
let mut file = create?;
write_kml?;
// Read KMZ
let kmz = read_kmz_file?;
GML
use *;
// Create feature collection
let mut collection = new
.with_crs;
let mut feature = new
.with_id
.with_geometry;
feature.add_property;
collection.add_feature;
// Write GML
write_gml?;
Features Flags
jpeg2000- JPEG2000 format support (default)geopackage- GeoPackage format support (default)kml- KML/KMZ format support (default)gml- GML format support (default)async- Async I/O support (optional)
COOLJAPAN Compliance
This crate follows COOLJAPAN ecosystem policies:
- ✅ Pure Rust implementation (no C/Fortran dependencies)
- ✅ No
unwrap()calls in production code - ✅ All files under 2000 lines
- ✅ Workspace dependency management
- ✅ Comprehensive tests and benchmarks
Performance
Benchmarks are included for all format operations:
License
Apache-2.0
Author
COOLJAPAN OU (Team Kitasan)