{"id":47000626,"url":"https://github.com/cool-japan/oxigdal","last_synced_at":"2026-04-19T16:03:55.266Z","repository":{"id":340056544,"uuid":"1141616340","full_name":"cool-japan/oxigdal","owner":"cool-japan","description":"OxiGDAL is a pure Rust geospatial data abstraction library designed for modern cloud-native workflows. ","archived":false,"fork":false,"pushed_at":"2026-04-16T10:03:08.000Z","size":5137,"stargazers_count":60,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-16T12:13:27.295Z","etag":null,"topics":["gdal","gdal-api","gdal-python","geospatial","rust","rust-crate","rust-lang"],"latest_commit_sha":null,"homepage":"https://github.com/cool-japan/oxigdal","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cool-japan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"cool-japan"}},"created_at":"2026-01-25T05:21:32.000Z","updated_at":"2026-04-16T04:05:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cool-japan/oxigdal","commit_stats":null,"previous_names":["cool-japan/oxigdal"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/cool-japan/oxigdal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-japan%2Foxigdal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-japan%2Foxigdal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-japan%2Foxigdal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-japan%2Foxigdal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cool-japan","download_url":"https://codeload.github.com/cool-japan/oxigdal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cool-japan%2Foxigdal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31995181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gdal","gdal-api","gdal-python","geospatial","rust","rust-crate","rust-lang"],"created_at":"2026-03-11T18:06:35.877Z","updated_at":"2026-04-19T16:03:55.260Z","avatar_url":"https://github.com/cool-japan.png","language":"Rust","readme":"# OxiGDAL\n\n**Pure Rust Geospatial Data Abstraction Library — Production-Grade GDAL Alternative**\n\n[![Crates.io](https://img.shields.io/crates/v/oxigdal.svg)](https://crates.io/crates/oxigdal)\n[![Documentation](https://docs.rs/oxigdal/badge.svg)](https://docs.rs/oxigdal)\n[![Rust](https://img.shields.io/badge/rust-1.85%2B-orange.svg)](https://www.rust-lang.org/)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n[![COOLJAPAN](https://img.shields.io/badge/COOLJAPAN-Ecosystem-brightgreen.svg)](https://github.com/cool-japan)\n\nOxiGDAL is a comprehensive, production-ready geospatial data abstraction library written in **100% Pure Rust** with zero C/C++/Fortran dependencies in default features. Released as **v0.1.4** on 2026-04-19, it delivers ~580K Rust SLoC across **76 workspace crates**, covering 15 geospatial format drivers, full CRS transformations, raster/vector algorithms, cloud-native I/O, GPU acceleration, enterprise security, and cross-platform bindings (Python, Node.js, WASM, iOS, Android).\n\n## Project Statistics\n\n| Metric | Value |\n|--------|-------|\n| **Version** | 0.1.4 (released 2026-04-19) |\n| **Rust SLoC** | ~580K across 1,934 `.rs` files |\n| **Total SLoC** | 565,681 (all languages) |\n| **Workspace crates** | 76 |\n| **Tests** | 12,064 passing (45 skipped), 0 failures |\n| **Format drivers** | 15 (GeoTIFF/COG, GeoJSON, GeoParquet, Zarr, FlatGeobuf, Shapefile, NetCDF, HDF5, GRIB, JPEG2000, VRT, COPC/LAS, GeoPackage, MBTiles, PMTiles) |\n| **EPSG definitions** | 211+ embedded (all UTM zones, national grids), O(1) lookup |\n| **Map projections** | 20+ (UTM 1-60, Web Mercator, LCC, Albers, Polar Stereo, Japan Plane Rect, ...) |\n| **Supported platforms** | Linux, macOS, Windows, WASM, iOS, Android, embedded (no_std) |\n| **Estimated dev cost** | $20.97M equivalent (COCOMO) |\n\n## Why OxiGDAL?\n\n| | GDAL (C/C++) | OxiGDAL (Rust) |\n|---|---|---|\n| **Dependencies** | C/C++ toolchain, PROJ, GEOS, libcurl, ... | `cargo add oxigdal` |\n| **Cross-compilation** | Complex per-target | Trivial (WASM, iOS, Android, embedded) |\n| **Memory safety** | Manual management | Guaranteed by Rust |\n| **Concurrency** | Thread-unsafe APIs | Fearless concurrency |\n| **Binary size** | ~50MB+ monolith | Pay-for-what-you-use features |\n| **WASM** | Not supported | \u003c 1MB gzipped bundle |\n| **Error handling** | C error codes | Rich typed `Result\u003cT, OxiError\u003e` |\n| **Async I/O** | Blocking only | First-class async |\n\n## Quick Start\n\n```toml\n[dependencies]\noxigdal = \"0.1\"  # GeoTIFF + GeoJSON + Shapefile by default\n\n# Full feature set:\noxigdal = { version = \"0.1\", features = [\"full\"] }\n```\n\n```rust\nuse oxigdal::Dataset;\n\nfn main() -\u003e oxigdal::Result\u003c()\u003e {\n    let dataset = Dataset::open(\"world.tif\")?;\n    println!(\"Format : {}\", dataset.format());\n    println!(\"Size   : {}x{}\", dataset.width(), dataset.height());\n    println!(\"CRS    : {}\", dataset.crs().name());\n    Ok(())\n}\n```\n\n## Architecture\n\n76 workspace crates organized into functional layers:\n\n```\nCore \u0026 Algorithms\n  oxigdal                    Umbrella crate (unified API entry-point)\n  oxigdal-core               Types, traits, async I/O, Arrow buffers, no_std core\n  oxigdal-proj               Pure Rust PROJ: 20+ projections, 211+ EPSG, WKT2\n  oxigdal-algorithms         SIMD raster/vector algorithms (AVX2, AVX-512, NEON)\n  oxigdal-index              Spatial indexing (R-tree, grid, geometry validation/operations)\n  oxigdal-qc                 Data validation, anomaly detection, quality scoring\n\nFormat Drivers (15 formats)\n  geotiff      GeoTIFF/COG   BigTIFF, HTTP range, overviews, DEFLATE/LZW/ZSTD/JPEG\n  geojson      GeoJSON       RFC 7946, streaming parser, GeoArrow zero-copy\n  geoparquet   GeoParquet    Arrow native, spatial predicate pushdown, 10x faster\n  zarr         Zarr v2/v3    Sharding, codec pipeline, consolidated metadata\n  flatgeobuf   FlatGeobuf    Packed Hilbert R-tree, spatial filter during decode\n  shapefile    Shapefile     SHP/SHX/DBF, full attribute table support\n  netcdf       NetCDF        CF conventions, unlimited dims, group hierarchies\n  hdf5         HDF5          Hierarchical, chunking, compression, attributes\n  grib         GRIB1/2       Meteorological parameter/level tables\n  jpeg2000     JPEG2000      Wavelet DWT, full EBCOT tier-1 decoder (MQ coder, 3-pass)\n  vrt          VRT           Band math, source mosaicking, on-the-fly processing\n  copc         COPC/LAS      Cloud Optimized Point Cloud (LAS 1.4, octree)\n  gpkg         GeoPackage    SQLite-based, vector features + tiles\n  mbtiles      MBTiles       Tile storage, TMS/XYZ schemes\n  pmtiles      PMTiles v3    Hilbert curve, single-file tile archive\n  geojson-s    GeoJSON (streaming)  Streaming GeoJSON parser/writer/filter\n\nCloud \u0026 Storage\n  oxigdal-cloud              S3 / GCS / Azure Blob backends with HTTP range support\n  oxigdal-cloud-enhanced     Multi-cloud orchestration, auto-tiering\n  oxigdal-drivers-advanced   Multi-part S3, ADLS, GCS optimized reads\n  oxigdal-compress           OxiArc compression: Deflate, LZ4, Zstd, BZip2, LZW\n  oxigdal-cache-advanced     Multi-tier: in-memory LRU -\u003e disk -\u003e Redis\n  oxigdal-rs3gw              Rust S3-compatible gateway\n\nDomain Modules\n  oxigdal-3d                 3D Tiles 1.0 (B3DM, I3DM, PNTS), glTF, Delaunay\n  oxigdal-terrain            DEM, hydrology, viewshed, TRI/TPI, watershed\n  oxigdal-temporal           Time-series datacube, change detection, gap filling\n  oxigdal-analytics          Spatial stats, Getis-Ord Gi*, clustering, zonal ops\n  oxigdal-sensors            IoT sensor ingestion, calibration, SOS\n  oxigdal-metadata           ISO 19115:2014, ISO 19139 XML, FGDC CSDGM\n  oxigdal-stac               SpatioTemporal Asset Catalog 1.0.0 client\n  oxigdal-query              SQL-like geospatial query engine with optimizer\n\nEnterprise \u0026 Infrastructure\n  oxigdal-server             OGC server: WMS 1.3.0, WFS 2.0.0\n  oxigdal-gateway            API gateway: JWT, OAuth2, rate limiting\n  oxigdal-security           AES-256-GCM, ChaCha20-Poly1305, Argon2id, RBAC/ABAC\n  oxigdal-observability      Prometheus metrics, OpenTelemetry tracing, alerting\n  oxigdal-services           WMS/WFS endpoints, health checks\n  oxigdal-workflow           Workflow automation and scheduling\n  oxigdal-distributed        Distributed partitioning and sharding\n  oxigdal-cluster            Raft consensus-based cluster coordination\n  oxigdal-ha                 High-availability failover and leader election\n  oxigdal-postgis            PostGIS connector\n  oxigdal-db-connectors      PostgreSQL, SQLite, DuckDB connectors\n\nStreaming \u0026 Messaging\n  oxigdal-streaming          Real-time stream processing\n  oxigdal-kafka              Apache Kafka integration\n  oxigdal-kinesis            AWS Kinesis integration\n  oxigdal-pubsub             Google Pub/Sub integration\n  oxigdal-mqtt               MQTT IoT sensor messaging\n  oxigdal-websocket          WebSocket real-time updates\n  oxigdal-ws                 WS/WSS server\n  oxigdal-etl                ETL pipeline engine\n  oxigdal-sync               CRDT-based offline sync (OR-Set, Merkle tree, vector clocks)\n\nPlatform Bindings\n  oxigdal-wasm               WebAssembly: WasmCogViewer JS/TS API, \u003c 1MB gzipped\n  oxigdal-pwa                Progressive Web App: Service Worker, offline-first\n  oxigdal-offline            Offline-first sync, operation queue, delta sync\n  oxigdal-node               Node.js N-API bindings (napi-rs, CJS + ESM)\n  oxigdal-python             Python bindings (PyO3/Maturin, NumPy, manylinux wheels)\n  oxigdal-jupyter            Jupyter kernel (evcxr + plotters rich display)\n  oxigdal-mobile             iOS (Swift FFI) and Android (Kotlin/JNI)\n  oxigdal-mobile-enhanced    Battery/network-aware mobile scheduling\n  oxigdal-embedded           no_std for microcontrollers (heapless, embedded-hal)\n  oxigdal-noalloc            no_std geospatial primitives (zero heap allocation)\n  oxigdal-edge               Edge computing, streaming sensor ingestion, local DB\n\nGPU \u0026 ML\n  oxigdal-gpu                GPU acceleration (wgpu compute shaders)\n  oxigdal-gpu-advanced       Advanced GPU kernels\n  oxigdal-ml                 ML pipeline integration\n  oxigdal-ml-foundation      Foundation model support\n\nTooling\n  oxigdal-cli                CLI: info, convert, dem, rasterize, warp (Clap)\n  oxigdal-dev-tools          File watching, progress bars (indicatif), diff utils\n  oxigdal-bench              Criterion benchmarks with pprof flamegraph profiling\n  oxigdal-examples           Runnable examples\n```\n\n## Format Support\n\n| Format | Read | Write | Async | Cloud | Notes |\n|--------|------|-------|-------|-------|-------|\n| GeoTIFF / COG | yes | yes | yes | yes | BigTIFF, overviews, HTTP range |\n| GeoJSON | yes | yes | yes | yes | RFC 7946, streaming, GeoArrow |\n| GeoParquet | yes | yes | yes | yes | Arrow-native, 10x faster than GeoPandas |\n| Zarr v2/v3 | yes | yes | yes | yes | Sharding, codec pipeline |\n| FlatGeobuf | yes | yes | yes | yes | Spatial filter during decode |\n| Shapefile | yes | yes | — | — | SHP/SHX/DBF |\n| NetCDF | yes | partial | — | — | CF conventions, unlimited dims |\n| HDF5 | yes | partial | — | — | Chunking, groups, attributes |\n| GRIB1/GRIB2 | yes | — | — | — | Meteorological parameter tables |\n| JPEG2000 | yes | — | — | — | Wavelet DWT, tier-1 |\n| VRT | yes | yes | — | — | Band math, mosaic |\n| COPC/LAS | yes | — | — | — | Point cloud, octree spatial index |\n| GeoPackage | yes | — | — | — | SQLite-based, vector features + tiles |\n| MBTiles | yes | yes | — | — | Tile storage, TMS/XYZ |\n| PMTiles v3 | yes | yes | — | — | Hilbert curve, single-file archive |\n\n## Feature Flags\n\n| Feature | Default | Description |\n|---------|---------|-------------|\n| `geotiff` | yes | GeoTIFF / Cloud Optimized GeoTIFF |\n| `geojson` | yes | GeoJSON (RFC 7946) |\n| `shapefile` | yes | ESRI Shapefile |\n| `full` | no | All 15 format drivers |\n| `proj` | no | CRS transformations (20+ projections, 211+ EPSG) |\n| `algorithms` | no | SIMD raster/vector algorithms |\n| `cloud` | no | S3, GCS, Azure Blob storage |\n| `async` | no | Async I/O traits |\n| `arrow` | no | Apache Arrow zero-copy |\n| `gpu` | no | GPU acceleration (wgpu) |\n| `ml` | no | Machine learning pipeline |\n| `server` | no | OGC WMS/WFS tile server |\n| `security` | no | AES-256-GCM, TLS 1.3, RBAC |\n| `distributed` | no | Distributed cluster support |\n| `streaming` | no | Real-time stream processing |\n| `gpkg` | no | GeoPackage format support |\n| `pmtiles` | no | PMTiles v3 format support |\n| `mbtiles` | no | MBTiles format support |\n| `copc` | no | COPC/LAS point cloud |\n| `index` | no | Spatial indexing and geometry operations |\n| `services` | no | OGC services (WMS/WFS/WCS/WPS) |\n\n## Usage Examples\n\n### GeoTIFF / COG\n\n```rust\nuse oxigdal_geotiff::GeoTiffReader;\nuse oxigdal_core::io::FileDataSource;\n\nlet source = FileDataSource::open(\"elevation.tif\")?;\nlet reader = GeoTiffReader::open(source)?;\nprintln!(\"Size  : {}x{}\", reader.width(), reader.height());\nprintln!(\"Bands : {}\", reader.band_count());\n\n// COG tile access (HTTP range requests supported transparently)\nlet tile = reader.read_tile(0, 0, 0)?;\n```\n\n### CRS Transformation\n\n```rust\nuse oxigdal_proj::{Crs, Transformer};\n\nlet wgs84  = Crs::from_epsg(4326)?;\nlet utm54n = Crs::from_epsg(32654)?;   // UTM Zone 54N (Japan)\nlet tf     = Transformer::new(\u0026wgs84, \u0026utm54n)?;\n\n// SIMD-vectorized batch: \u003c 10ms for 1M points\nlet (easting, northing) = tf.transform(139.7671, 35.6812)?;\n```\n\n### Raster Algorithms\n\n```rust\nuse oxigdal_algorithms::raster::{hillshade, reproject, ResamplingMethod};\n\n// SIMD hillshade (AVX2 / NEON auto-selected at runtime)\nlet shaded = hillshade(\u0026dem, 315.0, 45.0)?;\nlet warped = reproject(\u0026src, \u0026target_crs, ResamplingMethod::Bilinear)?;\n```\n\n### GeoParquet (Arrow)\n\n```rust\nuse oxigdal_geoparquet::GeoParquetReader;\n\nlet reader   = GeoParquetReader::open(\"buildings.parquet\")?;\nlet filter   = BoundingBox::new(135.0, 34.0, 137.0, 36.0)?;\nlet features = reader.read_with_bbox_filter(\u0026filter)?;\n```\n\n### Python Bindings\n\n```python\nimport oxigdal\n\nds  = oxigdal.open(\"satellite.tif\")\narr = ds.read(1)           # returns numpy ndarray\ngdf = oxigdal.read_geoparquet(\"buildings.parquet\")  # Arrow-native\n```\n\n### WebAssembly\n\n```javascript\nimport init, { WasmCogViewer } from '@cooljapan/oxigdal';\nawait init();\n\nconst viewer = new WasmCogViewer();\nawait viewer.open('https://example.com/cog.tif');\n\nconst imageData = await viewer.read_tile_as_image_data(0, 0, 0);\nctx.putImageData(imageData, 0, 0);\n```\n\n### CLI\n\n```bash\noxigdal info world.tif\noxigdal convert input.shp output.fgb\noxigdal dem --hillshade elevation.tif hillshade.tif\noxigdal warp --t_srs EPSG:32654 input.tif output.tif\n```\n\n## Enterprise Features\n\n### Security (`oxigdal-security`, `oxigdal-gateway`)\n\n- Encryption at rest: AES-256-GCM and ChaCha20-Poly1305\n- Password hashing: Argon2id\n- Transport: TLS 1.3 via `rustls` (no OpenSSL)\n- Authentication: JWT, OAuth2\n- Authorization: RBAC and ABAC\n- Audit logging: SOC2 and GDPR-ready\n- Message integrity: HMAC-SHA256\n- All crypto: pure Rust (`ring`, `rustls`, `aes-gcm`, `chacha20poly1305`, `argon2`)\n\n### High Availability (`oxigdal-ha`, `oxigdal-cluster`)\n\n- Raft consensus-based cluster coordination\n- Automatic failover and leader election\n- Distributed partitioning and sharding (`oxigdal-distributed`)\n- Multi-tier cache: in-memory LRU -\u003e on-disk -\u003e Redis (`oxigdal-cache-advanced`)\n- CRDT-based offline sync with Merkle tree verification (`oxigdal-sync`)\n\n### Streaming \u0026 Messaging\n\n| Crate | Integration |\n|-------|-------------|\n| `oxigdal-streaming` | Real-time stream processing |\n| `oxigdal-kafka` | Apache Kafka |\n| `oxigdal-kinesis` | AWS Kinesis |\n| `oxigdal-pubsub` | Google Pub/Sub |\n| `oxigdal-mqtt` | MQTT / IoT |\n| `oxigdal-websocket` | WebSocket real-time |\n\n### OGC Services (`oxigdal-server`)\n\n- WMS 1.3.0 tile server\n- WFS 2.0.0 feature service\n- API gateway with JWT auth and rate limiting\n\n## Performance\n\n| Operation | Result |\n|-----------|--------|\n| COG tile access (local SSD) | \u003c 10ms |\n| COG tile access (S3/GCS) | \u003c 100ms |\n| GeoTIFF metadata reading | \u003c 5ms |\n| GeoParquet vs GeoPandas | 10x faster |\n| PROJ batch transform (1M pts) | \u003c 10ms |\n| Docker image size | \u003c 50MB (vs 1GB+ for GDAL) |\n| WASM bundle (gzipped) | \u003c 1MB |\n\n## Platform Support\n\n| Platform | Status | Notes |\n|----------|--------|-------|\n| Linux x86_64 | Production | AVX2 / AVX-512 SIMD |\n| Linux aarch64 | Production | NEON SIMD |\n| macOS Apple Silicon | Production | NEON SIMD |\n| macOS x86_64 | Production | AVX2 SIMD |\n| Windows x86_64 | Production | |\n| WebAssembly (wasm32) | Production | \u003c 1MB bundle, IndexedDB |\n| iOS arm64 | Production | Swift FFI |\n| Android arm64 | Production | Kotlin/JNI |\n| Embedded no_std | Stable | heapless, embedded-hal |\n| Python (PyPI) | Production | manylinux2014, macOS, Windows wheels |\n| Node.js 16+ | Production | napi-rs, CommonJS + ESM |\n\n## COOLJAPAN Ecosystem Compliance\n\n| Policy | Status |\n|--------|--------|\n| Pure Rust (default features) | 100% Rust; C/Fortran behind feature flags |\n| No `unwrap()` | `clippy::unwrap_used = \"deny\"` (0 in production code; 2 in non-compiled doc comments) |\n| Workspace versions | All via `*.workspace = true` |\n| Latest crates | All deps at latest crates.io versions |\n| No OpenBLAS | Uses `oxiblas` |\n| No `bincode` | Uses `oxicode` |\n| No `zip` crate | Uses `oxiarc-*` ecosystem |\n| No `rustfft` | Uses `OxiFFT` |\n\n## Roadmap\n\n| Release | Target | Focus |\n|---------|--------|-------|\n| **v0.1.0** | 2026-02-22 (released) | Independence: 68 crates, 11 drivers, ~500K SLoC, full enterprise stack |\n| **v0.1.1** | 2026-03-11 (released) | EBCOT tier-1 decoder, EPSG expansion (211+), floating-point predictor, Pure Rust compression, CLI commands, 69 crates, 7,486 tests |\n| **v0.1.2** | 2026-03-17 (released) | Wave 7: ogc_features/epsg refactoring, PMTiles writer, geometry validation/operations, umbrella crate integration, 76 crates, 10,935 tests |\n| **v0.1.3** | 2026-03-21 (released) | wgpu 29 API fixes, libsqlite3-sys compat, macOS rpath fix, oxiarc-brotli 6-bug patch, 76 crates, 10,939 tests |\n| **v0.1.4** | 2026-04-19 (released) | Wave 1 algorithms (Weiler-Atherton clipping, Karney geodesic, DE-9IM, marching squares), Wave 2 R-tree+SIMD+NoAlloc+PMTiles reader+COPC+GeoPackage B-tree, ort→oxionnx ML migration, pyo3 0.28, 12,064 tests |\n| **v0.2.0** | Q2 2026 | 100+ projections, GPU expansion, advanced ML pipelines, JPEG2000 tier-2 |\n| **v0.3.0** | Q3 2026 | Streaming v2, cloud-native tile server v2, extended STAC support |\n| **v1.0.0** | Q4 2026 | LTS commitment, enterprise compliance certifications |\n\n## Development\n\n```bash\ncargo build --all-features\ncargo nextest run --all-features\ncargo clippy --all-features -- -D warnings\ntokei .\n```\n\nSee `crates/oxigdal-examples/src/` for runnable examples.\n\n## Documentation\n\n| Resource | Location |\n|---------|----------|\n| API Reference | https://docs.rs/oxigdal |\n| Getting Started | [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md) |\n| Architecture | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) |\n| Drivers | [docs/DRIVERS.md](docs/DRIVERS.md) |\n| Algorithms | [docs/ALGORITHMS.md](docs/ALGORITHMS.md) |\n| GDAL Migration | [docs/MIGRATION.md](docs/MIGRATION.md) |\n| CHANGELOG | [CHANGELOG.md](CHANGELOG.md) |\n\n## Contributing\n\nFollow [COOLJAPAN policies](docs/BEST_PRACTICES.md):\n\n1. No `unwrap()` or `expect()` in production code\n2. Files must stay under 2,000 lines (use `splitrs` for refactoring)\n3. All dependencies via workspace (`*.workspace = true`)\n4. Run `cargo clippy --all-features -- -D warnings` before submitting\n5. Use `cargo nextest run --all-features` for testing\n\n## License\n\nLicensed under the Apache License, Version 2.0 ([LICENSE](LICENSE)).\n\n## Acknowledgments\n\n- **GDAL Project** — original inspiration and reference implementation\n- **GeoRust Community** — ecosystem collaboration\n- **PROJ** — CRS reference and test suite\n- **Specifications**: GeoTIFF, COG, OGC (WMS/WFS), STAC, ISO 19115, RFC 7946\n\n---\n\n**Made with love by [COOLJAPAN OU (Team Kitasan)](https://github.com/cool-japan)**  \n**Pure Rust · Cloud Native · WebAssembly · Production Enterprise**\n","funding_links":["https://github.com/sponsors/cool-japan"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcool-japan%2Foxigdal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcool-japan%2Foxigdal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcool-japan%2Foxigdal/lists"}