A specification for storing SpatioTemporal Asset Catalog (STAC) items in GeoParquet. The specification lives at https://github.com/radiantearth/stac-geoparquet-spec/blob/main/stac-geoparquet-spec.md.
Warning
The stac-geoparquet specification is under development, and has not yet been released as a stable v1. See this milestone to track progress towards a stable release.
The STAC spec defines a JSON-based schema.
But it can be hard to manage and search through many millions of STAC items in JSON format.
For one, JSON is very large on disk.
And you need to parse the entire JSON data into memory to extract just a small piece of information, say the datetime and one asset of an Item.
GeoParquet can be a good complement to JSON for many bulk-access and analytic use cases. While STAC Items are commonly distributed as individual JSON files on object storage or through a STAC API, STAC GeoParquet allows users to access a large number of STAC items in bulk without making repeated HTTP requests.
For analytic questions like "find the items in the Sentinel-2 collection in June 2024 over New York City with cloud cover of less than 20%" it can be much, much faster to find the relevant data from a GeoParquet source than from JSON, because GeoParquet needs to load only the relevant columns for that query, not the full data.
Get uv, then:
uv sync
npm installTo lint the markdown files:
npm run lint
# or, to fix errors
npm run formatTo serve the documentation site:
uv run mkdocs serveTo validate the example collection metadata against the jsonschema:
uv run check-jsonschema --schemafile json-schema/metadata.json example-metadata.jsonThe stac-geoparquet specification was split from the stac-utils repository in October 2025. The git history was preserved via the following command:
git filter-repo --subdirectory-filter=spec --path LICENSE --path README.md --path docs/drawbacks.md