vibespatial.io.geoparquet

Classes

Functions

plan_geoparquet_scan(→ GeoParquetScanPlan)

plan_geoparquet_engine(→ GeoParquetEnginePlan)

read_geoparquet_owned(...)

write_geoparquet(→ None)

read_geoparquet(path, *[, columns, storage_options, ...])

Read a GeoParquet file into a GeoDataFrame.

benchmark_geoparquet_scan_engine(...)

Module Contents

class vibespatial.io.geoparquet.GeoParquetScanPlan
selected_path: vibespatial.io.support.IOPathKind
canonical_gpu: bool
uses_pylibcudf: bool
bbox_requested: bool
metadata_summary_available: bool
metadata_source: str | None
uses_covering_bbox: bool
uses_point_encoding_pushdown: bool
row_group_pushdown: bool
planner_strategy: str
available_row_groups: int | None
selected_row_groups: tuple[int, Ellipsis] | None
decoded_row_fraction_estimate: float | None
pruned_row_group_fraction: float | None
reason: str
class vibespatial.io.geoparquet.GeoParquetChunkPlan
chunk_index: int
row_groups: tuple[int, Ellipsis]
estimated_rows: int
class vibespatial.io.geoparquet.GeoParquetEnginePlan
selected_path: vibespatial.io.support.IOPathKind
backend: str
geometry_encoding: str | None
chunk_count: int
target_chunk_rows: int | None
uses_row_group_pruning: bool
reason: str
class vibespatial.io.geoparquet.GeoParquetEngineBenchmark
backend: str
geometry_encoding: str
rows: int
chunk_rows: int | None
chunk_count: int
elapsed_seconds: float
rows_per_second: float
planning_elapsed_seconds: float = 0.0
scan_elapsed_seconds: float = 0.0
decode_elapsed_seconds: float = 0.0
concat_elapsed_seconds: float = 0.0
vibespatial.io.geoparquet.plan_geoparquet_scan(*, bbox: tuple[float, float, float, float] | None = None, geo_metadata: dict[str, Any] | None = None, metadata_summary: vibespatial.io.geoparquet_planner.GeoParquetMetadataSummary | None = None, planner_strategy: str = 'auto') GeoParquetScanPlan
vibespatial.io.geoparquet.plan_geoparquet_engine(*, geo_metadata: dict[str, Any] | None, scan_plan: GeoParquetScanPlan, chunk_plans: tuple[GeoParquetChunkPlan, Ellipsis], target_chunk_rows: int | None) GeoParquetEnginePlan
vibespatial.io.geoparquet.read_geoparquet_owned(path, *, columns=None, storage_options=None, bbox=None, chunk_rows: int | None = None, backend: str = 'auto', **kwargs) vibespatial.geometry.owned.OwnedGeometryArray
vibespatial.io.geoparquet.write_geoparquet(df, path, *, index: bool | None = None, compression: str = 'snappy', geometry_encoding: str = 'WKB', schema_version: str | None = None, write_covering_bbox: bool = False, **kwargs) None
vibespatial.io.geoparquet.read_geoparquet(path, *, columns=None, storage_options=None, bbox=None, to_pandas_kwargs=None, **kwargs)

Read a GeoParquet file into a GeoDataFrame.

When PyArrow is available the reader plans row-group selection from spatial metadata, decodes WKB geometry on GPU when possible, and produces device-resident OwnedGeometryArray without host round-trips.

Aliased as vibespatial.read_parquet().

Parameters

pathstr or Path

Path to the GeoParquet file.

columnslist of str, optional

Subset of columns to read.

storage_optionsdict, optional

Storage options for fsspec-compatible filesystems.

bboxtuple of (minx, miny, maxx, maxy), optional

Spatial filter bounding box for row-group pruning.

to_pandas_kwargsdict, optional

Extra keyword arguments passed to pyarrow.Table.to_pandas().

**kwargs

Passed through to the underlying Parquet reader.

Returns

GeoDataFrame

vibespatial.io.geoparquet.benchmark_geoparquet_scan_engine(*, geometry_type: str = 'point', rows: int = 100000, geometry_encoding: str = 'geoarrow', chunk_rows: int | None = None, backend: str = 'cpu', repeat: int = 5, seed: int = 0) GeoParquetEngineBenchmark