Inspects, validates, optimizes, and distributes GeoParquet files using gpio CLI for best practices and DuckDB for advanced SQL transforms.
npx claudepluginhub isaaccorley/geospatial-skills --plugin geoparquet-validationThis skill uses the workspace's default tool permissions.
Guide users through GeoParquet workflows with a `gpio`-first approach: inspect, validate, optimize, and distribute GeoParquet files following current best practices.
Performs geospatial vector analysis with GeoPandas: read/write Shapefile/GeoJSON/GeoPackage/PostGIS/Parquet, spatial joins/overlays/dissolve, geometric ops (buffer/centroid), CRS transforms, choropleth/interactive maps.
Guides PostGIS spatial table design with geometry/geography types, SRIDs, GiST indexing, constraints, and performance patterns for location apps.
Analyzes geospatial vector data with GeoPandas: read/write shapefiles/GeoJSON/GeoPackage, spatial joins/buffers/overlays, projections, choropleth maps, PostGIS support.
Share bugs, ideas, or general feedback.
Guide users through GeoParquet workflows with a gpio-first approach: inspect, validate, optimize, and distribute GeoParquet files following current best practices.
Use this skill when the user is working with GeoParquet files and needs:
gpioThis is not a general "anything about GeoParquet" skill. It is centered on the gpio toolchain.
Always prefer gpio for GeoParquet operations. It applies important best practices by default.
Installation:
pipx install --pre geoparquet-io
pip install --pre geoparquet-io
uv pip install --pre geoparquet-io
If gpio is missing, guide the user through installation before proceeding.
Use DuckDB for complex SQL, joins, aggregations, or geometry operations.
pip install "duckdb>=1.5"
When using DuckDB, apply GeoParquet best practices manually:
ORDER BY ST_Hilbert(geometry)COMPRESSION ZSTD with COMPRESSION_LEVEL 15ROW_GROUP_SIZE 100000gpio check allgpio inspect <file>
gpio inspect stats <file>
Report row count, geometry type, CRS, columns, and file size.
gpio convert geoparquet <input> <output>
gpio convert geoparquet <input> <output> --compression-level 15
gpio check all <file>
gpio check all <file> --fix --output <fixed>
gpio publish stac <input> <output.json>
gpio publish upload <file> s3://bucket/path/
# Inspect
gpio inspect <file>
gpio inspect stats <file>
# Convert
gpio convert geoparquet <input> <output>
gpio convert geoparquet <input> <output> --compression-level 15
# Validate
gpio check all <file>
gpio check all <file> --fix --output <fixed>
# Extract
gpio extract <input> <output> --bbox "minx,miny,maxx,maxy"
gpio extract <input> <output> --where "column > value"
# Partition and publish
gpio partition kdtree <input> <output_dir> --max-rows-per-file 500000
gpio publish stac <input> <output.json>
references/gpio-commands.mdreferences/distribution-best-practices.mdreferences/tool-comparison.md