Configuring the Voyager STAC service
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.
Access the STAC endpoint using the following URL https://<base url to HQ>/api/stac/<id of catalog>
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
Â
Â