Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stac-utils/pgstac
Schema, functions and a python library for storing and accessing STAC collections and items in PostgreSQL
https://github.com/stac-utils/pgstac
postgis sql stac
Last synced: 3 months ago
JSON representation
Schema, functions and a python library for storing and accessing STAC collections and items in PostgreSQL
- Host: GitHub
- URL: https://github.com/stac-utils/pgstac
- Owner: stac-utils
- License: mit
- Created: 2021-03-09T16:34:19.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-29T15:43:13.000Z (3 months ago)
- Last Synced: 2024-07-29T21:14:59.456Z (3 months ago)
- Topics: postgis, sql, stac
- Language: PLpgSQL
- Homepage:
- Size: 9.84 MB
- Stars: 137
- Watchers: 15
- Forks: 31
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-earthobservation-code - pgstac - Schema, functions and a python library for storing and accessing STAC collections and items in PostgreSQL (`Python` processing of optical imagery (non deep learning) / Cloud Native Geospatial)
README
PostgreSQL schema and functions for Spatio-Temporal Asset Catalog (STAC)
---
**Documentation**: https://stac-utils.github.io/pgstac/
**Source Code**: https://github.com/stac-utils/pgstac
---
**PgSTAC** is a set of SQL functions and schema to build highly performant databases for Spatio-Temporal Asset Catalogs ([STAC](https://stacspec.org/)). The project also provides **pypgstac** (a Python module) to help with database migrations and document ingestion (collections and items).
PgSTAC provides functionality for STAC Filters, CQL2 search, and utilities to help manage the indexing and partitioning of STAC Collections and Items.
PgSTAC is used in production to scale to hundreds of millions of STAC items. PgSTAC implements core data models and functions to provide a STAC API from a PostgreSQL database. PgSTAC is entirely within the database and does not provide an HTTP-facing API. The [STAC FastAPI](https://github.com/stac-utils/stac-fastapi) PgSTAC backend and [Franklin](https://github.com/azavea/franklin) can be used to expose a PgSTAC catalog. Integrating PgSTAC with any other language with PostgreSQL drivers is also possible.
PgSTAC Documentation: https://stac-utils.github.io/pgstac/pgstac
pyPgSTAC Documentation: https://stac-utils.github.io/pgstac/pypgstac
## Project structure
```
/
├── src/pypgstac - pyPgSTAC python module
├── src/pypgstac/tests/ - pyPgSTAC tests
├── scripts/ - scripts to set up the environment, create migrations, and run tests
├── src/pgstac/sql/ - PgSTAC SQL code
├── src/pgstac/migrations/ - Migrations for incremental upgrades
└── src/pgstac/tests/ - test suite
```## Contribution & Development
See [CONTRIBUTING.md](https://github.com//stac-utils/pgstac/blob/master/CONTRIBUTING.md)
## License
See [LICENSE](https://github.com//stac-utils/pgstac/blob/master/LICENSE)
## Authors
See [contributors](https://github.com/stac-utils/pgstac/graphs/contributors) for a listing of individual contributors.
## Changes
See [CHANGELOG.md](https://github.com/stac-utils/pgstac/blob/master/CHANGELOG.md).