Expand description
GeoParquet Driver for OxiGDAL
This crate provides a pure Rust implementation of the GeoParquet 1.0 specification, enabling efficient reading and writing of geospatial vector data in Apache Parquet format.
§Features
- Full GeoParquet 1.0 specification support
- WKB geometry encoding/decoding for all geometry types
- Spatial partitioning and indexing for efficient queries
- Zero-copy operations using Apache Arrow
- Compression support (Snappy, Gzip, Zstd, LZ4, Brotli)
- Spatial statistics and bounding box metadata
- Row group-level spatial filtering
§Example
use oxigdal_geoparquet::{GeoParquetReader, GeoParquetWriter};
use oxigdal_geoparquet::metadata::{Crs, GeometryColumnMetadata};
use oxigdal_geoparquet::geometry::{Point, Geometry};
// Create a writer with WGS84 CRS
let metadata = GeometryColumnMetadata::new_wkb()
.with_crs(Crs::wgs84());
let mut writer = GeoParquetWriter::new("output.parquet", "geometry", metadata)?;
// Add geometries
let point = Geometry::Point(Point::new_2d(-122.4, 37.8));
writer.add_geometry(&point)?;
// Finalize the file
writer.finish()?;
// Read the file
let reader = GeoParquetReader::open("output.parquet")?;
let metadata = reader.metadata();
println!("CRS: {:?}", metadata.primary_column_metadata()?.crs);Re-exports§
pub use error::GeoParquetError;pub use error::Result;pub use metadata::Crs;pub use metadata::GeoParquetMetadata;pub use metadata::GeometryColumnMetadata;
Modules§
- arrow_
ext - Arrow schema extensions for GeoParquet
- error
- Error types for GeoParquet operations
- geometry
- Geometry encoding and decoding
- metadata
- GeoParquet metadata structures
- partitioning
- Partitioned GeoParquet dataset support
- spatial
- Spatial partitioning and indexing for GeoParquet
Structs§
- GeoParquet
Reader - GeoParquet file reader
- GeoParquet
Writer - GeoParquet file writer
Enums§
- Compression
Type - Compression type for GeoParquet files
Constants§
- GEOPARQUET_
VERSION - GeoParquet specification version
- VERSION
- Crate version