From dc221eb63d5a04f6ce7afb5d9605dad6b5dee31f Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 11:10:49 +0800 Subject: [PATCH 01/13] add intro --- README.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a5cf0ccd..96020478 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,18 @@

-

Elasticsearch and Opensearch backends for the stac-fastapi project.

+ +## What is STAC-FastAPI-Elasticsearch-OpenSearch? + +STAC-FastAPI-Elasticsearch-OpenSearch provides a high-performance, scalable API implementation for serving SpatioTemporal Asset Catalog (STAC) data - an enhanced GeoJSON format designed specifically for geospatial assets like satellite imagery, aerial photography, and other Earth observation data. This project enables organizations to: + +- **Efficiently catalog and search geospatial data** such as satellite imagery, aerial photography, DEMs, and other geospatial assets using Elasticsearch or OpenSearch as the database backend +- **Implement standardized STAC APIs** that support complex spatial, temporal, and property-based queries across large collections of geospatial data +- **Scale to millions of geospatial assets** with fast search performance through optimized spatial indexing and query capabilities +- **Support OGC-compliant filtering** including spatial operations (intersects, contains, etc.) and temporal queries +- **Perform geospatial aggregations** to analyze data distribution across space and time + +This implementation builds on the STAC-FastAPI framework, providing a production-ready solution specifically optimized for Elasticsearch and OpenSearch databases. It's ideal for organizations managing large geospatial data catalogs who need efficient discovery and access capabilities through standardized APIs. [![Downloads](https://static.pepy.tech/badge/stac-fastapi-core?color=blue)](https://pepy.tech/project/stac-fastapi-core) [![GitHub contributors](https://img.shields.io/github/contributors/stac-utils/stac-fastapi-elasticsearch-opensearch?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/graphs/contributors) @@ -18,7 +29,6 @@ [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi) -
## Sponsors & Supporters From 47619f1de2bda4cb7f0331ffa981021ac0871fb3 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 11:14:25 +0800 Subject: [PATCH 02/13] styling --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 96020478..01ef5e47 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@

-## What is STAC-FastAPI-Elasticsearch-OpenSearch? +## What is stac-fastapi-elasticsearch-opensearch? -STAC-FastAPI-Elasticsearch-OpenSearch provides a high-performance, scalable API implementation for serving SpatioTemporal Asset Catalog (STAC) data - an enhanced GeoJSON format designed specifically for geospatial assets like satellite imagery, aerial photography, and other Earth observation data. This project enables organizations to: +Stac-fastapi-elasticsearch-opensearch provides a high-performance, scalable API implementation for serving SpatioTemporal Asset Catalog (STAC) data - an enhanced GeoJSON format designed specifically for geospatial assets like satellite imagery, aerial photography, and other Earth observation data. This project enables organizations to: - **Efficiently catalog and search geospatial data** such as satellite imagery, aerial photography, DEMs, and other geospatial assets using Elasticsearch or OpenSearch as the database backend - **Implement standardized STAC APIs** that support complex spatial, temporal, and property-based queries across large collections of geospatial data From 1f77681fb292f61d67ead73b238ce01d95fbc593 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 12:05:10 +0800 Subject: [PATCH 03/13] use https for asset links --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 01ef5e47..cd1662c1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- +

## What is stac-fastapi-elasticsearch-opensearch? @@ -45,11 +45,11 @@ The following organizations have contributed time and/or funding to support the This project is built on the following technologies: STAC, stac-fastapi, FastAPI, Elasticsearch, Python, OpenSearch

- STAC - Python - FastAPI - Elasticsearch - OpenSearch + STAC + Python + FastAPI + Elasticsearch + OpenSearch

## Table of Contents From 117c252dec3bc0b9deb529eda048cbb78c7dcd45 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 12:07:45 +0800 Subject: [PATCH 04/13] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4847865..ea4b5993 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Added +- Added introduction section - What is stac-fastapi-elasticsearch-opensearch? - to README [#384](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/384) + ### Changed - Improved README documentation with consistent formatting and enhanced sections [#381](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/381): From 25b8bdf369c89682db788b5142fa6b5f879fa765 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:18:32 +0800 Subject: [PATCH 05/13] add navbar, deployment options --- README.md | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index cd1662c1..afe2467d 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,6 @@

-## What is stac-fastapi-elasticsearch-opensearch? - -Stac-fastapi-elasticsearch-opensearch provides a high-performance, scalable API implementation for serving SpatioTemporal Asset Catalog (STAC) data - an enhanced GeoJSON format designed specifically for geospatial assets like satellite imagery, aerial photography, and other Earth observation data. This project enables organizations to: - -- **Efficiently catalog and search geospatial data** such as satellite imagery, aerial photography, DEMs, and other geospatial assets using Elasticsearch or OpenSearch as the database backend -- **Implement standardized STAC APIs** that support complex spatial, temporal, and property-based queries across large collections of geospatial data -- **Scale to millions of geospatial assets** with fast search performance through optimized spatial indexing and query capabilities -- **Support OGC-compliant filtering** including spatial operations (intersects, contains, etc.) and temporal queries -- **Perform geospatial aggregations** to analyze data distribution across space and time - -This implementation builds on the STAC-FastAPI framework, providing a production-ready solution specifically optimized for Elasticsearch and OpenSearch databases. It's ideal for organizations managing large geospatial data catalogs who need efficient discovery and access capabilities through standardized APIs. [![Downloads](https://static.pepy.tech/badge/stac-fastapi-core?color=blue)](https://pepy.tech/project/stac-fastapi-core) [![GitHub contributors](https://img.shields.io/github/contributors/stac-utils/stac-fastapi-elasticsearch-opensearch?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/graphs/contributors) @@ -28,8 +17,19 @@ This implementation builds on the STAC-FastAPI framework, providing a production [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0) [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi) - +**Jump to:** [Project Overview](#project-overview) | [Sponsors & Supporters](#sponsors--supporters) | [Common Deployment Patterns](#common-deployment-patterns) | [Technologies](#technologies) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) + +## Project Overview +Stac-fastapi-elasticsearch-opensearch provides a high-performance, scalable API implementation for serving SpatioTemporal Asset Catalog (STAC) data - an enhanced GeoJSON format designed specifically for geospatial assets like satellite imagery, aerial photography, and other Earth observation data. This project enables organizations to: + +- **Efficiently catalog and search geospatial data** such as satellite imagery, aerial photography, DEMs, and other geospatial assets using Elasticsearch or OpenSearch as the database backend +- **Implement standardized STAC APIs** that support complex spatial, temporal, and property-based queries across large collections of geospatial data +- **Scale to millions of geospatial assets** with fast search performance through optimized spatial indexing and query capabilities +- **Support OGC-compliant filtering** including spatial operations (intersects, contains, etc.) and temporal queries +- **Perform geospatial aggregations** to analyze data distribution across space and time + +This implementation builds on the STAC-FastAPI framework, providing a production-ready solution specifically optimized for Elasticsearch and OpenSearch databases. It's ideal for organizations managing large geospatial data catalogs who need efficient discovery and access capabilities through standardized APIs. ## Sponsors & Supporters @@ -40,6 +40,17 @@ The following organizations have contributed time and/or funding to support the Atomic Maps

+## Common Deployment Patterns + +stac-fastapi-elasticsearch-opensearch can be deployed in several ways depending on your needs: + +- **Containerized Application**: Run as a Docker container with connections to Elasticsearch/OpenSearch databases +- **Serverless Function**: Deploy as AWS Lambda or similar serverless function with API Gateway +- **Traditional Server**: Run on virtual machines or bare metal servers in your infrastructure +- **Kubernetes**: Deploy as part of a larger microservices architecture with container orchestration + +The implementation is flexible and can scale from small local deployments to large production environments serving millions of geospatial assets. + ## Technologies This project is built on the following technologies: STAC, stac-fastapi, FastAPI, Elasticsearch, Python, OpenSearch From 3cef3462c50d1ef12f025e81a20bb3c83638acd3 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:21:00 +0800 Subject: [PATCH 06/13] reduce navbar titles --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afe2467d..f28cd797 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0) [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi) -**Jump to:** [Project Overview](#project-overview) | [Sponsors & Supporters](#sponsors--supporters) | [Common Deployment Patterns](#common-deployment-patterns) | [Technologies](#technologies) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) +**Jump to:** [Common Deployment Patterns](#common-deployment-patterns) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) ## Project Overview From 9c2f60eff08e16c7007d25457d6dc748cf6d8f2c Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:26:24 +0800 Subject: [PATCH 07/13] move navbar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f28cd797..645655cc 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@

+**Jump to:** [Common Deployment Patterns](#common-deployment-patterns) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) [![Downloads](https://static.pepy.tech/badge/stac-fastapi-core?color=blue)](https://pepy.tech/project/stac-fastapi-core) [![GitHub contributors](https://img.shields.io/github/contributors/stac-utils/stac-fastapi-elasticsearch-opensearch?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/graphs/contributors) @@ -17,7 +18,6 @@ [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0) [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi) -**Jump to:** [Common Deployment Patterns](#common-deployment-patterns) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) ## Project Overview From 683911d7138393a8ef3a2b5dec00220499225139 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:36:42 +0800 Subject: [PATCH 08/13] remove more nav links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 645655cc..b8f3b6da 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

-**Jump to:** [Common Deployment Patterns](#common-deployment-patterns) | [Documentation & Resources](#documentation--resources) | [Quick Start](#quick-start) | [Full Table of Contents](#table-of-contents) +**Jump to:** [Quick Start](#quick-start) | [Table of Contents](#table-of-contents) [![Downloads](https://static.pepy.tech/badge/stac-fastapi-core?color=blue)](https://pepy.tech/project/stac-fastapi-core) [![GitHub contributors](https://img.shields.io/github/contributors/stac-utils/stac-fastapi-elasticsearch-opensearch?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/graphs/contributors) From 35bf398fe8a9e995652d874bf40a1188dc19fedf Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:54:40 +0800 Subject: [PATCH 09/13] move supporters --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b8f3b6da..428f757c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

-**Jump to:** [Quick Start](#quick-start) | [Table of Contents](#table-of-contents) +**Jump to:** [Project Overview](#project-overview) | [Quick Start](#quick-start) | [Table of Contents](#table-of-contents) [![Downloads](https://static.pepy.tech/badge/stac-fastapi-core?color=blue)](https://pepy.tech/project/stac-fastapi-core) [![GitHub contributors](https://img.shields.io/github/contributors/stac-utils/stac-fastapi-elasticsearch-opensearch?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/graphs/contributors) @@ -18,6 +18,14 @@ [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0) [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi) +## Sponsors & Supporters + +The following organizations have contributed time and/or funding to support the development of this project: + +

+ Healy Hyperspatial + Atomic Maps +

## Project Overview @@ -31,14 +39,7 @@ Stac-fastapi-elasticsearch-opensearch provides a high-performance, scalable API This implementation builds on the STAC-FastAPI framework, providing a production-ready solution specifically optimized for Elasticsearch and OpenSearch databases. It's ideal for organizations managing large geospatial data catalogs who need efficient discovery and access capabilities through standardized APIs. -## Sponsors & Supporters - -The following organizations have contributed time and/or funding to support the development of this project: -

- Healy Hyperspatial - Atomic Maps -

## Common Deployment Patterns From a54afa6cec2b43a517dbf3e563cba0d1e922a916 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 15:56:13 +0800 Subject: [PATCH 10/13] supporter logos slightly smaller --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 428f757c..5acdac57 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ The following organizations have contributed time and/or funding to support the development of this project:

- Healy Hyperspatial - Atomic Maps + Healy Hyperspatial + Atomic Maps

## Project Overview From 8d1804d39b1d4a12b2ba7f59a750b4ca3467b5a9 Mon Sep 17 00:00:00 2001 From: jonhealy1 Date: Fri, 23 May 2025 17:59:14 +0800 Subject: [PATCH 11/13] reduce banner size --- README.md | 2 +- assets/sfeos.png | Bin 1751865 -> 1583914 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5acdac57..19a0c089 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- +

**Jump to:** [Project Overview](#project-overview) | [Quick Start](#quick-start) | [Table of Contents](#table-of-contents) diff --git a/assets/sfeos.png b/assets/sfeos.png index c98a1e40d5845a523ed4e3506ff57916c0e9e25b..a816f16c65077230dd8a795d57c3b13991e208c1 100644 GIT binary patch literal 1583914 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