Services
eoAPI combines several state-of-the-art projects to create an entire Earth Observation API. Each service can be used and deployed independently, but eoAPI creates the interconnections between each service:
- pgSTAC database stac-utils/pgstac
- STAC API built on top of stac-utils/stac-fastapi
- STAC Items And Mosaic Raster Tiles API built on top of stac-utils/titiler-pgstac
- OGC Features and Vector Tiles API built on top of developmentseed/tipg
Database¶
The STAC database is at the heart of eoAPI and is the only mandatory service. We use PgSTAC
Postgres schema and functions, which 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 PgSTAC backend and Franklin can be used to expose a PgSTAC catalog. Integrating PgSTAC with any other language with PostgreSQL drivers is also possible.
PgSTAC Documentation: stac-utils.github.io/pgstac/pgstac
pyPgSTAC Documentation: stac-utils.github.io/pgstac/pypgstac
Metadata¶
The Metadata service deployed in eoAPI is built on stac-fastapi.pgstac application.
By default, the STAC metadata service will have a set of endpoints to search and list STAC collections and items.
Example
-
stac.eoapi.dev landing page
-
stac.eoapi.dev/collections list available Collection
-
stac.eoapi.dev/collections/MAXAR_southafrica_flooding22/items list available Items for the
MAXAR_southafrica_flooding22
collection -
stac.eoapi.dev/collections/MAXAR_southafrica_flooding22/items/36_213131033000_1040010076566100 get
36_213131033000_1040010076566100
Item in theMAXAR_southafrica_flooding22
collection -
stac.eoapi.dev/search list of Items in the catalog
-
stac.eoapi.dev/search?collections=MAXAR_Kahramanmaras_turkey_earthquake_23&limit=5&datetime=2023-02-06T00:00:00Z/2023-02-10T00:00:00Z list of Items in the catalog for the
MAXAR_Kahramanmaras_turkey_earthquake_23
collection between February 6th and 10th
Raster¶
The Raster service deployed in eoAPI
is built on top of titiler-pgstac.
It enables Raster visualization for a single STAC Item and large-scale (multi collections/items) mosaic based on STAC search queries.
Example
- raster.eoapi.dev landing page
Items endpoints
-
raster.eoapi.dev/collections/MAXAR_southafrica_flooding22/items/36_213131033000_1040010076566100/info get Raster metadata information about Assets found in
36_213131033000_1040010076566100
Item in theMAXAR_southafrica_flooding22
collection -
raster.eoapi.dev/collections/MAXAR_southafrica_flooding22/items/36_213131033000_1040010076566100/info?assets=visual get Raster metadata information only for the
visual
Asset -
raster.eoapi.dev/collections/MAXAR_southafrica_flooding22/items/36_213131033000_1040010076566100/map?assets=visual&minzoom=12&maxzoom=19 show the
visual
Asset on a Map client -
raster.eoapi.dev/collections/MAXAR_southafrica_flooding22/items/36_213131033000_1040010076566100/tilejson.json?assets=ms_analytic&minzoom=13&maxzoom=17&asset_bidx=ms_analytic|8,2,1&rescale=0,4000 get a TileJSON document for the
ms_analytic
Asset with band combination 8,2,1 with values rescaling from 0,4000 to 0,255
Mosaic endpoints
-
raster.eoapi.dev/searches/list list pre-registered Virtual Mosaics
-
raster.eoapi.dev/searches/2f3073257a5b6530aedbb0e4b4f726fa/info get information about the
2f3073257a5b6530aedbb0e4b4f726fa
mosaic -
raster.eoapi.dev/searches/2f3073257a5b6530aedbb0e4b4f726fa/map?assets=visual&minzoom=12&maxzoom=19 show the
2f3073257a5b6530aedbb0e4b4f726fa
mosaic and using thevisual
Asset on a Map client -
raster.eoapi.dev/searches/2f3073257a5b6530aedbb0e4b4f726fa/tilejson.json?assets=visual&minzoom=12&maxzoom=19 get a TileJSON document for the
2f3073257a5b6530aedbb0e4b4f726fa
mosaic and using thevisual
Asset
Vector¶
The OGC Features and (Mapbox Vector) Tiles API service deployed in eoAPI
is built on top of tipg).
It enables vector Features/Features Collection exploration and visualization for Tables stored in the Postgres database (in the public
schema).
Example
- vector.eoapi.dev landing page
OGC Features
-
vector.eoapi.dev/collections list available Tables or Function Layers
-
vector.eoapi.dev/collections/public.countries get information about the
countries
Table -
vector.eoapi.dev/collections/public.countries/items list items for the
countries
Table
OGC Tiles
-
vector.eoapi.dev/collections/public.countries/tiles list all TileSet available for the
countries
Table -
vector.eoapi.dev/collections/public.countries/tiles/WebMercatorQuad get
WebMercatorQuad
TileSet information for thecountries
Table -
vector.eoapi.dev/collections/public.countries/viewer shows the
countries
Table on a Map client using vector tiles -
vector.eoapi.dev/tileMatrixSets/WebMercatorQuad
WebMercatorQuad
TileMatrixSet information
Browsing UI¶
The browsing UI deployed in eoAPI is built on the radiant earth STAC browser, and provides a configurable, user-friendly interface to search across and within collections and quickly visualize single items assets.
Example