The STAC service is exposed through HQ and can be configured through the following steps:
Navigate to your HQ config directory for instance <hq home folder>\config. If you’re not sure where this is you can find it through the vmoptions file or through the the HQ user interface at https://<server url>/app/system/info
create a file called stac.json at under the following path .\home\config\service\stac.json. The file should have the following content with descriptions following the example.
Default stac.json
This is the basic configuration and will expose all data in the voyager registry as STAC items.
{ "catalogs": [ { "collection": { "descriptorSource": "repos.json", "license": "proprietary", "descriptionPath": "$.repositories[?(@.id=='%(id)')].url", "titlePath": "$.repositories[?(@.id=='%(id)')].name" }, "datetimeField": "indexed", "description": "Voyager STAC", "facetField": "location", "fieldList": [ "" ], "id": "locations", "query": "q=:*" } ], "lastModified": 1697121839831 }
Example: Exposing Planet Labs data (stac.json)
{ "catalogs": [{ "collection": { "descriptorSource": "stac_catalogs.json", "license": "$.providers[?(@.id=='%(id)')].license", "descriptionPath": "$.providers[?(@.id=='%(id)')].description", "titlePath": "$.providers[?(@.id=='%(id)')].title" }, "datetimeField": "fd__acquired", "facetField": "fs__provider", "fieldList": [], "description": "Planet STAC by Voyager", "id": "planet", "query": "q={!tag=format}format:(application\/vnd.planet.feature)" } ] }
Annotated Example: Exposing Planet Labs data indexed using the planet connector (available by request from our professional services team) file:stac.json
{ "catalogs": [{ "collection": { // NOTE: reference to new file containing metadata elements // file is store at .\home\config "descriptorSource": "stac_catalogs.json", "license": "$.providers[?(@.id=='%(id)')].license", "descriptionPath": "$.providers[?(@.id=='%(id)')].description", "titlePath": "$.providers[?(@.id=='%(id)')].title" }, // NOTE: this is the field used to expose the date and time "datetimeField": "fd__acquired", // NOTE: the field used to expose multiple collections "facetField": "fs__provider", // NOTE: the list of fields to expse through STAC // empty allows all fields to be exposed "fieldList": [], // NOTE: a nice description "description": "Planet STAC by Voyager", // NOTE: the id "id": "planet", // NOTE: the query used to select what is exposed through STAC "query": "q={!tag=format}format:(application\/vnd.planet.feature)" } ] }
stac_catalogs.json
{ "providers": [ { "id": "planetscope", "title": "Planet Planet Scope", "description": "PlanetScope, operated by Planet, is a constellation of approximately 130 satellites, able to image the entire land surface of the Earth every day (a daily collection capacity of 200 million km/day).", "license": "See Planetlabs.com" }, { "id": "skysat", "title": "Planet SkySat", "description": "SkySat, operated by Planet, is a high resolution constellation of 21 satellites, able to image revisit any location on Earth up to 10x daily (a daily collection capacity of 400 thousand km/day). SkySat images are approximately 50 centimeters per pixel resolution.", "license": "See Planetlabs.com" } ] }