Skip to content

fiboa Plugin

The gpio-fiboa plugin adds commands for working with field boundary datasets according to the fiboa specification and Vecorel encoding.

Installation

uv tool install geoparquet-io --with gpio-fiboa
pipx install geoparquet-io --preinstall gpio-fiboa
uv add geoparquet-io gpio-fiboa

Verify the plugin is loaded:

gpio fiboa --help

Improve

Apply fiboa enhancements to a GeoParquet file. Each flag enables a specific improvement, applied in sequence.

# Add geometry metrics (area + perimeter)
gpio fiboa improve input.parquet output.parquet -sz

# Add admin divisions via spatial join
gpio fiboa improve input.parquet output.parquet -a

# Full compliance pass: metrics + admin + schemas + Hilbert sorting
gpio fiboa improve input.parquet output.parquet -sz -a -s

# Map a datetime column and set determination method
gpio fiboa improve input.parquet output.parquet \
    --determination-datetime time \
    --determination-method auto-imagery

# Set category and keep original columns
gpio fiboa improve input.parquet output.parquet \
    --category operational,economic \
    --keep-source-columns

# Skip default Hilbert sorting
gpio fiboa improve input.parquet output.parquet -sz --skip-hilbert
from gpio_fiboa import improve_fiboa

improve_fiboa(
    "input.parquet",
    "output.parquet",
    add_metrics=True,
    add_admin=True,
    add_schemas=True,
)

Improvement flags

Flag Description
-sz / --geometry-metrics Add metrics:area and metrics:perimeter columns
-a / --admin Add admin:country_code and admin:subdivision_code via Overture spatial join
-s / --schemas Add/update Vecorel collection metadata with fiboa + extension schema URLs
--determination-datetime Map an existing column or set a literal ISO datetime
--determination-method Set how boundaries were determined (e.g., auto-imagery)
--category Comma-separated field categories (conceptual, operational, economic, administrative, other)
--keep-source-columns Preserve original columns when mapping to fiboa names
--skip-hilbert Skip Hilbert spatial sorting (enabled by default)

Output options

Standard gpio output options are available: --compression, --compression-level, --row-group-size, --row-group-size-mb, --geoparquet-version, --overwrite.

GeoParquet 2.0 handling

If the input file uses GeoParquet 2.0 or native Parquet geo types, improve automatically downgrades to GeoParquet 1.1 for Vecorel/fiboa compatibility. Use --geoparquet-version 2.0 to override.

Describe

Show fiboa column coverage, Vecorel extension metadata, and summary statistics.

gpio fiboa describe fields.parquet

# Include non-fiboa columns in output
gpio fiboa describe fields.parquet --verbose
from gpio_fiboa import describe_fiboa

describe_fiboa("fields.parquet", verbose=True)

The describe command shows:

  • Vecorel metadata and detected extensions
  • Present and missing fiboa columns
  • Metrics summary (min/max/mean for area and perimeter)
  • Admin coverage (unique country codes)

Common workflows

Full compliance from raw data

gpio fiboa improve raw.parquet compliant.parquet -sz -a -s \
    --determination-datetime acquisition_date \
    --determination-method auto-imagery \
    --category operational

gpio fiboa describe compliant.parquet

Add schemas to an already-enriched file

gpio fiboa improve enriched.parquet output.parquet -s --skip-hilbert