Skip to main content

Crate oxigdal_geoparquet

Crate oxigdal_geoparquet 

Source
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§

GeoParquetReader
GeoParquet file reader
GeoParquetWriter
GeoParquet file writer

Enums§

CompressionType
Compression type for GeoParquet files

Constants§

GEOPARQUET_VERSION
GeoParquet specification version
VERSION
Crate version