Repository: opendatacube/odc-tools (language: python)

Issue:
Task: extract odc-stac package into a separate repo
## Introduction

I think it's time to start planning for extraction of `odc-stac` into a repository of it's own. `odc-tools` was initially meant for prototypes and other experiments, I feel like `odc-stac` is reaching certain level of maturity and independence from other parts of `odc-tools` to justify extraction to a repository of it's own.

Main issue I see is discussed in #355. Essentially previous implementation in `stac/transform.py` (`stac_transform`) that is targeting indexing rather than loading is duplicating a lot of functionality that has since been implemented in a more generic way in `stac/_eo3.py` (`stac2ds`). I feel like `stac_transform` is a little bit too "DEA specific" right now, as it's development has been primarily driven by indexing needs within Digital Earth Australia/Africa. Extracting `odc-stac` in it's current form into a separate repository will impact further tweaking DEA might need to do with that code.

## Option 1

Currently `stac_transform` is used by several applications in `odc.apps.dc_tools.` and also in `odc.stats.`. One option is to first move `transform.py` into `odc.apps.dc_tools` in it's current form, and delay any further refactoring of that code, this would then require making `odc.stats` depend on `odc.apps.dc_tools`, or apps within `odc.stats` that use `stac_transform` can be moved into `odc.apps.dc_tools`, I believe they are generic enough and don't need to be in stats anyway, the two stats apps are

- Collect a bunch of stac items into dataset cache
- Build mosaic from a bunch of stac items

Only relation to `odc-stats` is that those STAC Items are usually produced by `odc-stats`, there is no dependency on `odc.stats.*` library within those apps.

I think this is least disruptive to DEA, behaviour of indexing will remain the same and any further tweaking can continue to happen in `odc-tools` repository. 

## Option 2

Refactor `stac_transform` to use `stac2ds` internally, adding extra features as needed to `stac2ds` to support current behaviours of `stac_transform` (#355). Main risk with this approach is that output of `stac_transform` is likely to change from what it currently produces, UUID generation for example, product name, handling of STAC items that are not 1.0 spec compliant and who knows what else. Not sure what the operational impact of such change would be. After this refactoring `stac/transform.py` should shrink quite significantly and will mostly contain DEA/ODC specific configurations for known data sources so it would probably be better off moved into `odc/apps/` anyway.

## Summary

I feel like the best way forward is to go with _Option 1_: do least refactoring before extraction (just move `stac/transform.py` file and maybe move some apps from `odc.stats` to apps). Once this is done `odc-stac` can be moved to a separate repo.


Discussion / hints:
@alexgleith @gadomski
I'm ok with option 1, it means explicit use of the new methods are required. This can then be done incrementally.

Fix patch:
diff --git a/libs/stac/odc/stac/transform.py b/apps/dc_tools/odc/apps/dc_tools/_stac.py
similarity index 100%
rename from libs/stac/odc/stac/transform.py
rename to apps/dc_tools/odc/apps/dc_tools/_stac.py
diff --git a/apps/dc_tools/odc/apps/dc_tools/fs_to_dc.py b/apps/dc_tools/odc/apps/dc_tools/fs_to_dc.py
index 4bc8bbea1..402eafa1a 100755
--- a/apps/dc_tools/odc/apps/dc_tools/fs_to_dc.py
+++ b/apps/dc_tools/odc/apps/dc_tools/fs_to_dc.py
@@ -10,7 +10,7 @@
     allow_unsafe,
     transform_stac,
 )
-from odc.stac.transform import stac_transform
+from ._stac import stac_transform
 from typing import Generator, Optional
 import logging
 
diff --git a/apps/dc_tools/odc/apps/dc_tools/index_from_tar.py b/apps/dc_tools/odc/apps/dc_tools/index_from_tar.py
index 3bca546a0..5795a4c37 100644
--- a/apps/dc_tools/odc/apps/dc_tools/index_from_tar.py
+++ b/apps/dc_tools/odc/apps/dc_tools/index_from_tar.py
@@ -7,7 +7,7 @@
 import datacube
 from datacube.utils.changes import allow_any
 from odc.index import from_yaml_doc_stream
-from odc.stac.transform import stac_transform
+from ._stac import stac_transform
 from odc.io.tar import tar_doc_stream, tar_mode
 from odc.io.timer import RateEstimator
 
diff --git a/apps/dc_tools/odc/apps/dc_tools/s3_to_dc.py b/apps/dc_tools/odc/apps/dc_tools/s3_to_dc.py
index 8f9ffd4dc..22a37a80d 100755
--- a/apps/dc_tools/odc/apps/dc_tools/s3_to_dc.py
+++ b/apps/dc_tools/odc/apps/dc_tools/s3_to_dc.py
@@ -17,7 +17,7 @@
                                      transform_stac, transform_stac_absolute,
                                      update, update_if_exists, verify_lineage)
 from odc.index import parse_doc_stream
-from odc.stac.transform import stac_transform, stac_transform_absolute
+from ._stac import stac_transform, stac_transform_absolute
 
 
 # Grab the URL from the resulting S3 item
diff --git a/apps/dc_tools/odc/apps/dc_tools/sqs_to_dc.py b/apps/dc_tools/odc/apps/dc_tools/sqs_to_dc.py
index de7412c94..821c8a72e 100644
--- a/apps/dc_tools/odc/apps/dc_tools/sqs_to_dc.py
+++ b/apps/dc_tools/odc/apps/dc_tools/sqs_to_dc.py
@@ -21,7 +21,7 @@
                                      transform_stac, transform_stac_absolute,
                                      update, update_if_exists, verify_lineage)
 from odc.aws.queue import get_messages
-from odc.stac.transform import stac_transform, stac_transform_absolute
+from ._stac import stac_transform, stac_transform_absolute
 from toolz import dicttoolz
 from yaml import load
 
diff --git a/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py b/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py
index 76e72b352..9865c660a 100644
--- a/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py
+++ b/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py
@@ -16,7 +16,7 @@
     limit,
     update_if_exists,
 )
-from odc.stac.transform import stac_transform, stac_transform_absolute
+from ._stac import stac_transform, stac_transform_absolute
 from pystac.item import Item
 from pystac_client import Client
 


Test patch:
diff --git a/apps/dc_tools/tests/conftest.py b/apps/dc_tools/tests/conftest.py
index 4279a2a2f..d3ce181c1 100644
--- a/apps/dc_tools/tests/conftest.py
+++ b/apps/dc_tools/tests/conftest.py
@@ -1,6 +1,59 @@
+import json
+from pathlib import Path
 import pytest
+from datacube.utils import documents
+
+TEST_DATA_FOLDER: Path = Path(__file__).parent.joinpath("data")
+LANDSAT_STAC: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json"
+LANDSAT_ODC: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml"
+SENTINEL_STAC: str = "S2A_28QCH_20200714_0_L2A.json"
+SENTINEL_ODC: str = "S2A_28QCH_20200714_0_L2A.odc-metadata.json"
+USGS_LANDSAT_STAC: str = "LC08_L2SR_081119_20200101_20200823_02_T2.json"
+LIDAR_STAC: str = "lidar_dem.json"
 
 
 @pytest.fixture
 def aws_env(monkeypatch):
     monkeypatch.setenv("AWS_DEFAULT_REGION", "us-west-2")
+
+
+@pytest.fixture
+def usgs_landsat_stac():
+    with TEST_DATA_FOLDER.joinpath(USGS_LANDSAT_STAC).open("r") as f:
+        return json.load(f)
+
+
+@pytest.fixture
+def landsat_stac():
+    with TEST_DATA_FOLDER.joinpath(LANDSAT_STAC).open("r") as f:
+        metadata = json.load(f)
+    return metadata
+
+
+@pytest.fixture
+def lidar_stac():
+    with TEST_DATA_FOLDER.joinpath(LIDAR_STAC).open("r") as f:
+        metadata = json.load(f)
+    return metadata
+
+
+@pytest.fixture
+def landsat_odc():
+    metadata = yield from documents.load_documents(
+        TEST_DATA_FOLDER.joinpath(LANDSAT_ODC)
+    )
+    return metadata
+
+
+@pytest.fixture
+def sentinel_stac():
+    with TEST_DATA_FOLDER.joinpath(SENTINEL_STAC).open("r") as f:
+        metadata = json.load(f)
+    return metadata
+
+
+@pytest.fixture
+def sentinel_odc():
+    with TEST_DATA_FOLDER.joinpath(SENTINEL_ODC).open("r") as f:
+        metadata = json.load(f)
+    return metadata
diff --git a/apps/dc_tools/tests/data/LC08_L2SR_081119_20200101_20200823_02_T2.json b/apps/dc_tools/tests/data/LC08_L2SR_081119_20200101_20200823_02_T2.json
new file mode 100644
index 000000000..2056be30c
--- /dev/null
+++ b/apps/dc_tools/tests/data/LC08_L2SR_081119_20200101_20200823_02_T2.json
@@ -0,0 +1,392 @@
+{
+    "type": "Feature",
+    "stac_version": "1.0.0-beta.2",
+    "id": "LC08_L2SR_081119_20200101_20200823_02_T2",
+    "properties": {
+        "collection": "landsat-c2l2-sr",
+        "eo:gsd": 30,
+        "eo:platform": "LANDSAT_8",
+        "datetime": "2020-01-01T00:00:00Z",
+        "eo:cloud_cover": 0,
+        "eo:sun_azimuth": 93.54107327,
+        "eo:sun_elevation": 22.72192082,
+        "landsat:cloud_cover_land": 0,
+        "landsat:wrs_type": "2",
+        "landsat:wrs_path": "81",
+        "landsat:wrs_row": "119",
+        "landsat:scene_id": "LC80811192020001LGN00",
+        "landsat:collection_category": "T2",
+        "landsat:collection_number": "02",
+        "eo:bands": [
+            {
+                "name": "SR_B1",
+                "common_name": "coastal",
+                "gsd": 30,
+                "center_wavelength": 0.44
+            },
+            {
+                "name": "SR_B2",
+                "common_name": "blue",
+                "gsd": 30,
+                "center_wavelength": 0.48
+            },
+            {
+                "name": "SR_B3",
+                "common_name": "green",
+                "gsd": 30,
+                "center_wavelength": 0.56
+            },
+            {
+                "name": "SR_B4",
+                "common_name": "red",
+                "gsd": 30,
+                "center_wavelength": 0.65
+            },
+            {
+                "name": "SR_B5",
+                "common_name": "nir08",
+                "gsd": 30,
+                "center_wavelength": 0.86
+            },
+            {
+                "name": "SR_B6",
+                "common_name": "swir16",
+                "gsd": 30,
+                "center_wavelength": 1.6
+            },
+            {
+                "name": "SR_B7",
+                "common_name": "swir22",
+                "gsd": 30,
+                "center_wavelength": 2.2
+            }
+        ],
+        "constellation": "Landsat",
+        "instruments": [
+            "oli",
+            "tirs"
+        ],
+        "view:off_nadir": 0,
+        "proj:epsg": 3031
+    },
+    "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+            [
+                [
+                    106.0673404715087,
+                    -79.61169259634802
+                ],
+                [
+                    111.50547149149213,
+                    -81.06844416149866
+                ],
+                [
+                    101.33143658242044,
+                    -81.93331557352852
+                ],
+                [
+                    97.0135423519546,
+                    -80.34938321953908
+                ],
+                [
+                    106.0673404715087,
+                    -79.61169259634802
+                ]
+            ]
+        ]
+    },
+    "links": [
+        {
+            "rel": "self",
+            "href": "./LC08_L2SR_081119_20200101_20200823_02_T2.json",
+            "type": "application/json"
+        }
+    ],
+    "assets": {
+        "thumbnail": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_thumb_small.jpeg",
+            "type": "image/jpeg",
+            "title": "Thumbnail image"
+        },
+        "reduced_resolution_browse": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_thumb_large.jpeg",
+            "type": "image/jpeg",
+            "title": "Reduced resolution browse image"
+        },
+        "index": {
+            "href": "https://landsatlook.usgs.gov/stac-browser/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2",
+            "type": "text/html",
+            "title": "HTML index page"
+        },
+        "SR_B1.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B1.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Coastal/Aerosol Band (B1)",
+            "description": "Collection 2 Level-2 Coastal/Aerosol Band (B1) Surface Reflectance",
+            "eo:bands": [
+                0
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B2.TIF": {
+            "href": "tests/data-files/landsat/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B2_small.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Blue Band (B2)",
+            "description": "Collection 2 Level-2 Blue Band (B2) Surface Reflectance",
+            "eo:bands": [
+                1
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B3.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B3.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Green Band (B3)",
+            "description": "Collection 2 Level-2 Green Band (B3) Surface Reflectance",
+            "eo:bands": [
+                2
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B4.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B4.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Red Band (B4)",
+            "description": "Collection 2 Level-2 Red Band (B4) Surface Reflectance",
+            "eo:bands": [
+                3
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B5.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B5.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Near Infrared Band 0.8 (B5)",
+            "description": "Collection 2 Level-2 Near Infrared Band 0.8 (B5) Surface Reflectance",
+            "eo:bands": [
+                4
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B6.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B6.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Short-wave Infrared Band 1.6 (B6)",
+            "description": "Collection 2 Level-2 Short-wave Infrared Band 1.6 (B6) Surface Reflectance",
+            "eo:bands": [
+                5
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_B7.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_B7.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Short-wave Infrared Band 2.2 (B7)",
+            "description": "Collection 2 Level-2 Short-wave Infrared Band 2.2 (B7) Surface Reflectance",
+            "eo:bands": [
+                6
+            ],
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "SR_QA_AEROSOL.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_SR_QA_AEROSOL.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Aerosol Quality Analysis Band",
+            "description": "Collection 2 Level-2 Aerosol Quality Analysis Band (ANG) Surface Reflectance",
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "ANG.txt": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_ANG.txt",
+            "type": "text/plain",
+            "title": "Angle Coefficients File",
+            "description": "Collection 2 Level-2 Angle Coefficients File (ANG) Surface Reflectance"
+        },
+        "MTL.txt": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_MTL.txt",
+            "type": "text/plain",
+            "title": "Product Metadata File",
+            "description": "Collection 2 Level-2 Product Metadata File (MTL) Surface Reflectance"
+        },
+        "MTL.xml": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_MTL.xml",
+            "type": "application/xml",
+            "title": "Product Metadata File (xml)",
+            "description": "Collection 2 Level-1 Product Metadata File (xml) Surface Reflectance"
+        },
+        "MTL.json": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_MTL.json",
+            "type": "application/json",
+            "title": "Product Metadata File (json)",
+            "description": "Collection 2 Level-2 Product Metadata File (json) Surface Reflectance"
+        },
+        "QA_PIXEL.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_QA_PIXEL.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Pixel Quality Assessment Band",
+            "description": "Collection 2 Level-2 Pixel Quality Assessment Band Surface Reflectance",
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        },
+        "QA_RADSAT.TIF": {
+            "href": "https://landsatlook.usgs.gov/data/collection02/level-2/standard/oli-tirs/2020/081/119/LC08_L2SR_081119_20200101_20200823_02_T2/LC08_L2SR_081119_20200101_20200823_02_T2_QA_RADSAT.TIF",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Radiometric Saturation Quality Assessment Band",
+            "description": "Collection 2 Level-2 Radiometric Saturation Quality Assessment Band Surface Reflectance",
+            "proj:transform": [
+                1164.15,
+                0.0,
+                857085.0,
+                0.0,
+                -1150.6499999999999,
+                -127485.0,
+                0.0,
+                0.0,
+                1.0
+            ],
+            "proj:shape": [
+                200,
+                200
+            ]
+        }
+    },
+    "bbox": [
+        97.0135423519546,
+        -81.93331557352852,
+        111.50547149149213,
+        -79.61169259634802
+    ],
+    "stac_extensions": [
+        "eo",
+        "https://landsat.usgs.gov/stac/landsat-extension/schema.json",
+        "view",
+        "projection"
+    ],
+    "collection": "landsat-c2l2-sr",
+    "description": "Landsat Collection 2 Level-2 Surface Reflectance Product"
+}
\ No newline at end of file
diff --git a/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.json b/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.json
new file mode 100644
index 000000000..bafa5b9d6
--- /dev/null
+++ b/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.json
@@ -0,0 +1,427 @@
+{
+  "type": "Feature",
+  "stac_version": "1.0.0-beta.1",
+  "stac_extensions": [
+    "https://stac-extensions.github.io/eo/v1.0.0/schema.json",
+    "https://stac-extensions.github.io/view/v1.0.0/schema.json",
+    "https://stac-extensions.github.io/projection/v1.0.0/schema.json"
+  ],
+  "id": "S2A_28QCH_20200714_0_L2A",
+  "bbox": [
+    -16.92047119589637,
+    20.052963012507906,
+    -16.72595055093299,
+    20.791551352272126
+  ],
+  "geometry": {
+    "type": "Polygon",
+    "coordinates": [
+      [
+        [
+          -16.911257292502636,
+          20.052963012507906
+        ],
+        [
+          -16.92047119589637,
+          20.78948450776572
+        ],
+        [
+          -16.72595055093299,
+          20.791551352272126
+        ],
+        [
+          -16.911257292502636,
+          20.052963012507906
+        ]
+      ]
+    ]
+  },
+  "properties": {
+    "datetime": "2020-07-14T11:55:52Z",
+    "platform": "sentinel-2a",
+    "constellation": "sentinel-2",
+    "instruments": [
+      "MSI"
+    ],
+    "gsd": 10,
+    "data_coverage": 6.85,
+    "view:off_nadir": 0,
+    "eo:cloud_cover": 2.36,
+    "proj:epsg": 32628,
+    "sentinel:latitude_band": "Q",
+    "sentinel:grid_square": "CH",
+    "sentinel:sequence": "0",
+    "sentinel:product_id": "S2A_MSIL2A_20200714T115221_N0214_R123_T28QCH_20200714T191310"
+  },
+  "collection": "sentinel-s2-l2a-cogs",
+  "assets": {
+    "thumbnail": {
+      "title": "Thumbnail",
+      "type": "image/png",
+      "href": "https://roda.sentinel-hub.com/sentinel-s2-l1c/tiles/28/Q/CH/2020/7/14/0/preview.jpg"
+    },
+    "overview": {
+      "title": "True color image",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/L2A_PVI.tif",
+      "proj:shape": [
+        343,
+        343
+      ],
+      "proj:transform": [
+        320.0,
+        0.0,
+        300000.0,
+        0.0,
+        -320.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "info": {
+      "title": "Original JSON metadata",
+      "type": "application/json",
+      "href": "https://roda.sentinel-hub.com/sentinel-s2-l2a/tiles/28/Q/CH/2020/7/14/0/tileInfo.json"
+    },
+    "metadata": {
+      "title": "Original XML metadata",
+      "type": "application/xml",
+      "href": "https://roda.sentinel-hub.com/sentinel-s2-l2a/tiles/28/Q/CH/2020/7/14/0/metadata.xml"
+    },
+    "visual": {
+      "title": "True color image",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/TCI.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B01": {
+      "title": "Band 1 (coastal)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B01.tif",
+      "proj:shape": [
+        1830,
+        1830
+      ],
+      "proj:transform": [
+        60.0,
+        0.0,
+        300000.0,
+        0.0,
+        -60.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B02": {
+      "title": "Band 2 (blue)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B02.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B03": {
+      "title": "Band 3 (green)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B03.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B04": {
+      "title": "Band 4 (red)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B04.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B05": {
+      "title": "Band 5",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B05.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B06": {
+      "title": "Band 6",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B06.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B07": {
+      "title": "Band 7",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B07.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B08": {
+      "title": "Band 8 (nir)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B08.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B8A": {
+      "title": "Band 8A",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B8A.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B09": {
+      "title": "Band 9",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B09.tif",
+      "proj:shape": [
+        1830,
+        1830
+      ],
+      "proj:transform": [
+        60.0,
+        0.0,
+        300000.0,
+        0.0,
+        -60.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B11": {
+      "title": "Band 11 (swir16)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B11.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "B12": {
+      "title": "Band 12 (swir22)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/B12.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "AOT": {
+      "title": "Aerosol Optical Thickness (AOT)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/AOT.tif",
+      "proj:shape": [
+        1830,
+        1830
+      ],
+      "proj:transform": [
+        60.0,
+        0.0,
+        300000.0,
+        0.0,
+        -60.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "WVP": {
+      "title": "Water Vapour (WVP)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/WVP.tif",
+      "proj:shape": [
+        10980,
+        10980
+      ],
+      "proj:transform": [
+        10.0,
+        0.0,
+        300000.0,
+        0.0,
+        -10.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    },
+    "SCL": {
+      "title": "Scene Classification Map (SCL)",
+      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+      "href": "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/SCL.tif",
+      "proj:shape": [
+        5490,
+        5490
+      ],
+      "proj:transform": [
+        20.0,
+        0.0,
+        300000.0,
+        0.0,
+        -20.0,
+        2300040.0,
+        0.0,
+        0.0,
+        1.0
+      ]
+    }
+  },
+  "links": [
+    {
+      "rel": "self",
+      "href": "s3://sentinel-cogs/sentinel-s2-l2a-cogs/2020/S2A_28QCH_20200714_0_L2A/S2A_28QCH_20200714_0_L2A.json",
+      "type": "application/json"
+    },
+    {
+      "title": "Source STAC Item",
+      "rel": "derived_from",
+      "href": "/tmp/tmpj8uymxue/s3:/cirrus-v0-data-1qm7gekzjucbq/sentinel-s2-l2a/2020/S2A_28QCH_20200714_0_L2A/S2A_28QCH_20200714_0_L2A.json",
+      "type": "application/json"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.odc-metadata.json b/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.odc-metadata.json
new file mode 100644
index 000000000..835035615
--- /dev/null
+++ b/apps/dc_tools/tests/data/S2A_28QCH_20200714_0_L2A.odc-metadata.json
@@ -0,0 +1,74 @@
+{
+    "$schema": "https://schemas.opendatacube.org/dataset",
+    "id": "503fa092-0f0f-5544-89fb-b45c1da0d5e1",
+    "crs": "epsg:32628",
+    "grids": {
+        "g320m": {
+            "shape": [343, 343],
+            "transform": [320.0, 0.0, 300000.0, 0.0, -320.0, 2300040.0, 0.0, 0.0, 1.0]
+        },
+        "g60m": {
+            "shape": [1830, 1830],
+            "transform": [60.0, 0.0, 300000.0, 0.0, -60.0, 2300040.0, 0.0, 0.0, 1.0]
+        },
+        "g20m": {
+            "shape": [5490, 5490],
+            "transform": [20.0, 0.0, 300000.0, 0.0, -20.0, 2300040.0, 0.0, 0.0, 1.0]
+        },
+        "default": {
+            "shape": [10980, 10980],
+            "transform": [10.0, 0.0, 300000.0, 0.0, -10.0, 2300040.0, 0.0, 0.0, 1.0]
+        }
+    },
+    "product": {"name": "s2_l2a"},
+    "label": "S2A_MSIL2A_20200714T115221_N0214_R123_T28QCH_20200714T191310",
+    "properties": {
+        "datetime": "2020-07-14T11:55:52Z",
+        "odc:processing_datetime": "2020-07-14T11:55:52Z",
+        "eo:cloud_cover": 2.36,
+        "eo:gsd": 10,
+        "eo:instrument": "MSI",
+        "eo:platform": "sentinel-2a",
+        "odc:file_format": "GeoTIFF",
+        "odc:region_code": "28QCH",
+        "eo:constellation": "sentinel-2",
+        "data_coverage": 6.85,
+        "eo:off_nadir": 0,
+        "proj:epsg": 32628,
+        "sentinel:latitude_band": "Q",
+        "sentinel:grid_square": "CH",
+        "sentinel:sequence": "0",
+        "sentinel:product_id": "S2A_MSIL2A_20200714T115221_N0214_R123_T28QCH_20200714T191310"
+    },
+    "measurements": {
+        "overview": {"path": "L2A_PVI.tif", "grid": "g320m"},
+        "visual": {"path": "TCI.tif"},
+        "B01": {"path": "B01.tif", "grid": "g60m"},
+        "B02": {"path": "B02.tif"},
+        "B03": {"path": "B03.tif"},
+        "B04": {"path": "B04.tif"},
+        "B05": {"path": "B05.tif", "grid": "g20m"},
+        "B06": {"path": "B06.tif", "grid": "g20m"},
+        "B07": {"path": "B07.tif", "grid": "g20m"},
+        "B08": {"path": "B08.tif"},
+        "B8A": {"path": "B8A.tif", "grid": "g20m"},
+        "B09": {"path": "B09.tif", "grid": "g60m"},
+        "B11": {"path": "B11.tif", "grid": "g20m"},
+        "B12": {"path": "B12.tif", "grid": "g20m"},
+        "AOT": {"path": "AOT.tif", "grid": "g60m"},
+        "WVP": {"path": "WVP.tif"},
+        "SCL": {"path": "SCL.tif", "grid": "g20m"}
+    },
+    "lineage": {},
+    "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+            [
+                [300111.0, 2218486.0],
+                [300101.0, 2300039.0],
+                [320356.0, 2300039.0],
+                [300111.0, 2218486.0]
+            ]
+        ]
+    }
+}
diff --git a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.sqs.yaml b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.sqs.yaml
new file mode 100644
index 000000000..ca01a287e
--- /dev/null
+++ b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.sqs.yaml
@@ -0,0 +1,138 @@
+---
+# Dataset
+$schema: https://schemas.opendatacube.org/dataset
+id: 2aa69fcf-aa55-4747-9d95-3652f9fe79b0
+
+label: ga_ls8c_ard_3-1-0_088080_2020-05-25_final
+product:
+  name: ga_ls8c_ard_3
+  href: https://collections.dea.ga.gov.au/product/ga_ls8c_ard_3
+
+crs: epsg:32656
+geometry:
+  type: Polygon
+  coordinates: [[[572743.2722121085, -3077151.309749513], [572745.0, -3077145.0],
+      [572969.4472838908, -3077198.798209872], [573250.996461604, -3077257.9131992455],
+      [758606.0005942872, -3121687.9141904702], [759791.1380343756, -3121972.947862498],
+      [759832.5, -3122002.5], [714367.0886436494, -3312160.9887643186], [714322.5,
+        -3312262.5], [714228.5968569319, -3312239.9605382206], [714225.0, -3312255.0],
+      [527767.9988114258, -3267524.1716190595], [527167.7239312489, -3267374.1042750045],
+      [527095.752540109, -3267322.682433342], [527032.5, -3267307.5], [528337.9117568319,
+        -3261784.0095614507], [541042.9139480147, -3208729.0004160986], [553732.9148397002,
+        -3155853.9967016927], [572107.9166454426, -3079413.9891924215], [572647.9478624978,
+        -3077178.8619656246], [572677.5, -3077137.5], [572743.2722121085, -3077151.309749513]]]
+grids:
+  default:
+    shape: [7841, 7781]
+    transform: [30.0, 0.0, 526785.0, 0.0, -30.0, -3077085.0, 0.0, 0.0, 1.0]
+  g15m:
+    shape: [15681, 15561]
+    transform: [15.0, 0.0, 526792.5, 0.0, -15.0, -3077092.5, 0.0, 0.0, 1.0]
+
+properties:
+  datetime: 2020-05-25 23:35:47.745731Z
+  dea:dataset_maturity: final
+  dtr:end_datetime: 2020-05-25 23:36:02.557719Z
+  dtr:start_datetime: 2020-05-25 23:35:32.815426Z
+  eo:cloud_cover: 42.42102985910952
+  eo:gsd: 15.0  # Ground sample distance (m)
+  eo:instrument: OLI_TIRS
+  eo:platform: landsat-8
+  eo:sun_azimuth: 34.22994171
+  eo:sun_elevation: 31.7895917
+  fmask:clear: 1.0427704509544131
+  fmask:cloud: 42.42102985910952
+  fmask:cloud_shadow: 2.919727915379625
+  fmask:snow: 0.00034972190505407335
+  fmask:water: 53.61612205265139
+  gqa:abs_iterative_mean_x: 0.17
+  gqa:abs_iterative_mean_xy: 0.24
+  gqa:abs_iterative_mean_y: 0.16
+  gqa:abs_x: 0.28
+  gqa:abs_xy: 0.4
+  gqa:abs_y: 0.28
+  gqa:cep90: 0.4
+  gqa:iterative_mean_x: 0.03
+  gqa:iterative_mean_xy: 0.12
+  gqa:iterative_mean_y: 0.12
+  gqa:iterative_stddev_x: 0.21
+  gqa:iterative_stddev_xy: 0.26
+  gqa:iterative_stddev_y: 0.15
+  gqa:mean_x: -0.08
+  gqa:mean_xy: 0.15
+  gqa:mean_y: 0.12
+  gqa:stddev_x: 0.42
+  gqa:stddev_xy: 0.58
+  gqa:stddev_y: 0.4
+  landsat:collection_category: T1
+  landsat:collection_number: 1
+  landsat:landsat_product_id: LC08_L1TP_088080_20200525_20200608_01_T1
+  landsat:landsat_scene_id: LC80880802020146LGN00
+  landsat:wrs_path: 88
+  landsat:wrs_row: 80
+  odc:dataset_version: 3.1.0
+  odc:file_format: GeoTIFF
+  odc:processing_datetime: 2020-06-18 07:07:06.303867Z
+  odc:producer: ga.gov.au
+  odc:product_family: ard
+  odc:region_code: '088080'
+
+measurements:
+  nbart_blue:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band02.tif
+  nbart_coastal_aerosol:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band01.tif
+  nbart_green:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band03.tif
+  nbart_nir:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band05.tif
+  nbart_panchromatic:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band08.tif
+    grid: g15m
+  nbart_red:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band04.tif
+  nbart_swir_1:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band06.tif
+  nbart_swir_2:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band07.tif
+  oa_azimuthal_exiting:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-exiting.tif
+  oa_azimuthal_incident:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-incident.tif
+  oa_combined_terrain_shadow:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_combined-terrain-shadow.tif
+  oa_exiting_angle:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_exiting-angle.tif
+  oa_fmask:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_fmask.tif
+  oa_incident_angle:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_incident-angle.tif
+  oa_nbart_contiguity:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_nbart-contiguity.tif
+  oa_relative_azimuth:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-azimuth.tif
+  oa_relative_slope:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-slope.tif
+  oa_satellite_azimuth:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-azimuth.tif
+  oa_satellite_view:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-view.tif
+  oa_solar_azimuth:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-azimuth.tif
+  oa_solar_zenith:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-zenith.tif
+  oa_time_delta:
+    path: ga_ls8c_oa_3-1-0_088080_2020-05-25_final_time-delta.tif
+
+accessories:
+  thumbnail:nbart:
+    path: ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_thumbnail.jpg
+  checksum:sha1:
+    path: ga_ls8c_ard_3-1-0_088080_2020-05-25_final.sha1
+  metadata:processor:
+    path: ga_ls8c_ard_3-1-0_088080_2020-05-25_final.proc-info.yaml
+
+lineage:
+  level1:
+  - b5f234fe-bba8-5483-9bc0-250360d429cf
+...
diff --git a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml
index ca01a287e..bfc91c95c 100644
--- a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml
+++ b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml
@@ -11,16 +11,33 @@ product:
 crs: epsg:32656
 geometry:
   type: Polygon
-  coordinates: [[[572743.2722121085, -3077151.309749513], [572745.0, -3077145.0],
-      [572969.4472838908, -3077198.798209872], [573250.996461604, -3077257.9131992455],
-      [758606.0005942872, -3121687.9141904702], [759791.1380343756, -3121972.947862498],
-      [759832.5, -3122002.5], [714367.0886436494, -3312160.9887643186], [714322.5,
-        -3312262.5], [714228.5968569319, -3312239.9605382206], [714225.0, -3312255.0],
-      [527767.9988114258, -3267524.1716190595], [527167.7239312489, -3267374.1042750045],
-      [527095.752540109, -3267322.682433342], [527032.5, -3267307.5], [528337.9117568319,
-        -3261784.0095614507], [541042.9139480147, -3208729.0004160986], [553732.9148397002,
-        -3155853.9967016927], [572107.9166454426, -3079413.9891924215], [572647.9478624978,
-        -3077178.8619656246], [572677.5, -3077137.5], [572743.2722121085, -3077151.309749513]]]
+  coordinates:
+    [
+      [
+        [572743.0, -3077151.0],
+        [572745.0, -3077145.0],
+        [572969.0, -3077199.0],
+        [573251.0, -3077258.0],
+        [758606.0, -3121688.0],
+        [759791.0, -3121973.0],
+        [759832.0, -3122002.0],
+        [714367.0, -3312161.0],
+        [714322.0, -3312262.0],
+        [714229.0, -3312240.0],
+        [714225.0, -3312255.0],
+        [527768.0, -3267524.0],
+        [527168.0, -3267374.0],
+        [527096.0, -3267323.0],
+        [527032.0, -3267308.0],
+        [528338.0, -3261784.0],
+        [541043.0, -3208729.0],
+        [553733.0, -3155854.0],
+        [572108.0, -3079414.0],
+        [572648.0, -3077179.0],
+        [572677.0, -3077138.0],
+        [572743.0, -3077151.0],
+      ],
+    ]
 grids:
   default:
     shape: [7841, 7781]
@@ -30,12 +47,12 @@ grids:
     transform: [15.0, 0.0, 526792.5, 0.0, -15.0, -3077092.5, 0.0, 0.0, 1.0]
 
 properties:
-  datetime: 2020-05-25 23:35:47.745731Z
+  datetime: 2020-05-25T23:35:47.745731Z
   dea:dataset_maturity: final
-  dtr:end_datetime: 2020-05-25 23:36:02.557719Z
-  dtr:start_datetime: 2020-05-25 23:35:32.815426Z
+  dtr:end_datetime: 2020-05-25T23:36:02.557719Z
+  dtr:start_datetime: 2020-05-25T23:35:32.815426Z
   eo:cloud_cover: 42.42102985910952
-  eo:gsd: 15.0  # Ground sample distance (m)
+  eo:gsd: 15.0 # Ground sample distance (m)
   eo:instrument: OLI_TIRS
   eo:platform: landsat-8
   eo:sun_azimuth: 34.22994171
@@ -72,10 +89,10 @@ properties:
   landsat:wrs_row: 80
   odc:dataset_version: 3.1.0
   odc:file_format: GeoTIFF
-  odc:processing_datetime: 2020-06-18 07:07:06.303867Z
+  odc:processing_datetime: 2020-06-18T07:07:06.303867Z
   odc:producer: ga.gov.au
   odc:product_family: ard
-  odc:region_code: '088080'
+  odc:region_code: "088080"
 
 measurements:
   nbart_blue:
@@ -134,5 +151,4 @@ accessories:
 
 lineage:
   level1:
-  - b5f234fe-bba8-5483-9bc0-250360d429cf
-...
+    - b5f234fe-bba8-5483-9bc0-250360d429cf
diff --git a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json
index 50ea5874a..fab44a078 100644
--- a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json
+++ b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json
@@ -1,45 +1,824 @@
 {
-  "Type": "Notification",
-  "MessageId": "741ffdef-6b05-5766-b117-aa4182013584",
-  "TopicArn": "arn:aws:sns:ap-southeast-2:451924316694:landsat-collection-3-dev-topic",
-  "Message": "{\n    \"stac_version\": \"1.0.0-beta.2\",\n    \"stac_extensions\": [\n        \"eo\",\n        \"projection\",\n        \"view\"\n    ],\n    \"type\": \"Feature\",\n    \"id\": \"2aa69fcf-aa55-4747-9d95-3652f9fe79b0\",\n    \"bbox\": [\n        153.27898977305418,\n        -29.92243448617234,\n        155.6469914729725,\n        -27.816894407110592\n    ],\n    \"geometry\": {\n        \"type\": \"Polygon\",\n        \"coordinates\": [\n            [\n                [\n                    153.7385878898377,\n                    -27.81701549471511\n                ],\n                [\n                    153.7386050460989,\n                    -27.81695844414134\n                ],\n                [\n                    153.7408870777895,\n                    -27.81743186138652\n                ],\n                [\n                    153.74374919575374,\n                    -27.81795011248702\n                ],\n                [\n                    155.634437974109,\n                    -28.195665728285302\n                ],\n                [\n                    155.64656390412654,\n                    -28.198003116605665\n                ],\n                [\n                    155.6469914729725,\n                    -28.198261451847454\n                ],\n                [\n                    155.2205985724982,\n                    -29.92151128958127\n                ],\n                [\n                    155.2201572971803,\n                    -29.92243448617234\n                ],\n                [\n                    155.21918065761497,\n                    -29.92224759982275\n                ],\n                [\n                    155.21914643092472,\n                    -29.92238385153146\n                ],\n                [\n                    153.2865859478465,\n                    -29.537062581029243\n                ],\n                [\n                    153.28038700032272,\n                    -29.535721417545275\n                ],\n                [\n                    153.2796429434371,\n                    -29.535258893290152\n                ],\n                [\n                    153.27898977305418,\n                    -29.535123241623708\n                ],\n                [\n                    153.29231891428003,\n                    -29.485243884787124\n                ],\n                [\n                    153.4214079550725,\n                    -29.006049156688324\n                ],\n                [\n                    153.54919382814404,\n                    -28.52833499498428\n                ],\n                [\n                    153.73227439530447,\n                    -27.837474564334862\n                ],\n                [\n                    153.7376217743478,\n                    -27.817269375728678\n                ],\n                [\n                    153.73791928400988,\n                    -27.816894407110592\n                ],\n                [\n                    153.7385878898377,\n                    -27.81701549471511\n                ]\n            ]\n        ]\n    },\n    \"properties\": {\n        \"datetime\": \"2020-05-25T23:35:47.745731Z\",\n        \"dea:dataset_maturity\": \"final\",\n        \"end_datetime\": \"2020-05-25T23:36:02.557719Z\",\n        \"start_datetime\": \"2020-05-25T23:35:32.815426Z\",\n        \"eo:cloud_cover\": 42.42102985910952,\n        \"gsd\": 15.0,\n        \"instruments\": [\n            \"OLI_TIRS\"\n        ],\n        \"platform\": \"landsat-8\",\n        \"view:sun_azimuth\": 34.22994171,\n        \"view:sun_elevation\": 31.7895917,\n        \"fmask:clear\": 1.0427704509544131,\n        \"fmask:cloud\": 42.42102985910952,\n        \"fmask:cloud_shadow\": 2.919727915379625,\n        \"fmask:snow\": 0.00034972190505407335,\n        \"fmask:water\": 53.61612205265139,\n        \"gqa:abs_iterative_mean_x\": 0.17,\n        \"gqa:abs_iterative_mean_xy\": 0.24,\n        \"gqa:abs_iterative_mean_y\": 0.16,\n        \"gqa:abs_x\": 0.28,\n        \"gqa:abs_xy\": 0.4,\n        \"gqa:abs_y\": 0.28,\n        \"gqa:cep90\": 0.4,\n        \"gqa:iterative_mean_x\": 0.03,\n        \"gqa:iterative_mean_xy\": 0.12,\n        \"gqa:iterative_mean_y\": 0.12,\n        \"gqa:iterative_stddev_x\": 0.21,\n        \"gqa:iterative_stddev_xy\": 0.26,\n        \"gqa:iterative_stddev_y\": 0.15,\n        \"gqa:mean_x\": -0.08,\n        \"gqa:mean_xy\": 0.15,\n        \"gqa:mean_y\": 0.12,\n        \"gqa:stddev_x\": 0.42,\n        \"gqa:stddev_xy\": 0.58,\n        \"gqa:stddev_y\": 0.4,\n        \"landsat:collection_category\": \"T1\",\n        \"landsat:collection_number\": 1,\n        \"landsat:landsat_product_id\": \"LC08_L1TP_088080_20200525_20200608_01_T1\",\n        \"landsat:landsat_scene_id\": \"LC80880802020146LGN00\",\n        \"landsat:wrs_path\": 88,\n        \"landsat:wrs_row\": 80,\n        \"odc:dataset_version\": \"3.1.0\",\n        \"odc:file_format\": \"GeoTIFF\",\n        \"odc:processing_datetime\": \"2020-06-18T07:07:06.303867Z\",\n        \"odc:producer\": \"ga.gov.au\",\n        \"odc:product_family\": \"ard\",\n        \"odc:region_code\": \"088080\",\n        \"odc:product\": \"ga_ls8c_ard_3\",\n        \"proj:epsg\": 32656,\n        \"proj:shape\": [\n            7841,\n            7781\n        ],\n        \"proj:transform\": [\n            30.0,\n            0.0,\n            526785.0,\n            0.0,\n            -30.0,\n            -3077085.0,\n            0.0,\n            0.0,\n            1.0\n        ]\n    },\n    \"assets\": {\n        \"nbart_blue\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_blue\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band02.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_coastal_aerosol\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_coastal_aerosol\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band01.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_green\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_green\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band03.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_nir\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_nir\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band05.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_panchromatic\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_panchromatic\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band08.tif\",\n            \"proj:shape\": [\n                15681,\n                15561\n            ],\n            \"proj:transform\": [\n                15.0,\n                0.0,\n                526792.5,\n                0.0,\n                -15.0,\n                -3077092.5,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_red\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_red\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band04.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_swir_1\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_swir_1\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band06.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_swir_2\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_swir_2\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band07.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_azimuthal_exiting\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_azimuthal_exiting\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-exiting.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_azimuthal_incident\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_azimuthal_incident\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-incident.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_combined_terrain_shadow\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_combined_terrain_shadow\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_combined-terrain-shadow.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_exiting_angle\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_exiting_angle\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_exiting-angle.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_fmask\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_fmask\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_fmask.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_incident_angle\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_incident_angle\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_incident-angle.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_nbart_contiguity\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_nbart_contiguity\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_nbart-contiguity.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_relative_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_relative_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_relative_slope\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_relative_slope\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-slope.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_satellite_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_satellite_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_satellite_view\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_satellite_view\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-view.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_solar_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_solar_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_solar_zenith\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_solar_zenith\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-zenith.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_time_delta\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_time_delta\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_time-delta.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"thumbnail:nbart\": {\n            \"title\": \"Thumbnail image\",\n            \"type\": \"image/jpeg\",\n            \"roles\": [\n                \"thumbnail\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_thumbnail.jpg\"\n        },\n        \"checksum:sha1\": {\n            \"type\": \"text/plain\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.sha1\"\n        },\n        \"metadata:processor\": {\n            \"type\": \"text/yaml\",\n            \"roles\": [\n                \"metadata\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.proc-info.yaml\"\n        }\n    },\n    \"links\": [\n        {\n            \"rel\": \"self\",\n            \"type\": \"application/json\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json\"\n        },\n        {\n            \"title\": \"Source Dataset YAML\",\n            \"rel\": \"odc_yaml\",\n            \"type\": \"text/yaml\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml\"\n        },\n        {\n            \"title\": \"Open Data Cube Product Overview\",\n            \"rel\": \"product_overview\",\n            \"type\": \"text/html\",\n            \"href\": \"https://explorer.dev.dea.ga.gov.au/product/ga_ls8c_ard_3\"\n        },\n        {\n            \"title\": \"Open Data Cube Explorer\",\n            \"rel\": \"alternative\",\n            \"type\": \"text/html\",\n            \"href\": \"https://explorer.dev.dea.ga.gov.au/dataset/2aa69fcf-aa55-4747-9d95-3652f9fe79b0\"\n        }\n    ]\n}",
-  "Timestamp": "2020-08-13T07:07:48.691Z",
-  "SignatureVersion": "1",
-  "Signature": "Ldhhjz/TBHgXNv+A1rkxlxCV9IXnlKgm/XiPx0qeBILteWYuMJ0vNFPhYBfJ8kfTcVeEiZoFNYvP7scVs01IOu2jqGdtbeXoiC1Ng5mI3QylC1jeTfdF2u79MOHuiCvtGzjm+eYEcGwPEqSmavD3/VLeprKnwOOuJ6b49i9C8KnWVeoUPK14G2FpP5vtMMVN/+wyE1UK/NzGmQKKiW2aGhERGeWmqNtRMhl93EWpSdKaaAMYfcYStFt2G6nAPfIrTCAa6+pVDgJnYsba3eyvTjrPdNR9dq6nmjbdxXFffV/ojmLgLaee8lAZKTrVMxKFTMp4P0QBqJze3DP0yiPOPg==",
-  "SigningCertURL": "https://sns.ap-southeast-2.amazonaws.com/SimpleNotificationService-a86cb10b4e1f29c941702d737128f7b6.pem",
-  "UnsubscribeURL": "https://sns.ap-southeast-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:ap-southeast-2:451924316694:landsat-collection-3-dev-topic:e55a3989-e0ab-4fe8-9795-0e9232e5056e",
-  "MessageAttributes": {
-    "product": {
-      "Type": "String",
-      "Value": "ga_ls8c_ard_3"
+    "stac_version": "1.0.0-beta.2",
+    "stac_extensions": [
+        "eo",
+        "projection",
+        "view"
+    ],
+    "type": "Feature",
+    "id": "2aa69fcf-aa55-4747-9d95-3652f9fe79b0",
+    "bbox": [
+        153.27898977305418,
+        -29.92243448617234,
+        155.6469914729725,
+        -27.816894407110592
+    ],
+    "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+            [
+                [
+                    153.7385878898377,
+                    -27.81701549471511
+                ],
+                [
+                    153.7386050460989,
+                    -27.81695844414134
+                ],
+                [
+                    153.7408870777895,
+                    -27.81743186138652
+                ],
+                [
+                    153.74374919575374,
+                    -27.81795011248702
+                ],
+                [
+                    155.634437974109,
+                    -28.195665728285302
+                ],
+                [
+                    155.64656390412654,
+                    -28.198003116605665
+                ],
+                [
+                    155.6469914729725,
+                    -28.198261451847454
+                ],
+                [
+                    155.2205985724982,
+                    -29.92151128958127
+                ],
+                [
+                    155.2201572971803,
+                    -29.92243448617234
+                ],
+                [
+                    155.21918065761497,
+                    -29.92224759982275
+                ],
+                [
+                    155.21914643092472,
+                    -29.92238385153146
+                ],
+                [
+                    153.2865859478465,
+                    -29.537062581029243
+                ],
+                [
+                    153.28038700032272,
+                    -29.535721417545275
+                ],
+                [
+                    153.2796429434371,
+                    -29.535258893290152
+                ],
+                [
+                    153.27898977305418,
+                    -29.535123241623708
+                ],
+                [
+                    153.29231891428003,
+                    -29.485243884787124
+                ],
+                [
+                    153.4214079550725,
+                    -29.006049156688324
+                ],
+                [
+                    153.54919382814404,
+                    -28.52833499498428
+                ],
+                [
+                    153.73227439530447,
+                    -27.837474564334862
+                ],
+                [
+                    153.7376217743478,
+                    -27.817269375728678
+                ],
+                [
+                    153.73791928400988,
+                    -27.816894407110592
+                ],
+                [
+                    153.7385878898377,
+                    -27.81701549471511
+                ]
+            ]
+        ]
     },
-    "datetime": {
-      "Type": "String",
-      "Value": "2020-05-25T23:35:47.745731Z"
+    "properties": {
+        "datetime": "2020-05-25T23:35:47.745731Z",
+        "dea:dataset_maturity": "final",
+        "end_datetime": "2020-05-25T23:36:02.557719Z",
+        "start_datetime": "2020-05-25T23:35:32.815426Z",
+        "eo:cloud_cover": 42.42102985910952,
+        "gsd": 15.0,
+        "instruments": [
+            "oli",
+            "tirs"
+        ],
+        "platform": "landsat-8",
+        "view:sun_azimuth": 34.22994171,
+        "view:sun_elevation": 31.7895917,
+        "fmask:clear": 1.0427704509544131,
+        "fmask:cloud": 42.42102985910952,
+        "fmask:cloud_shadow": 2.919727915379625,
+        "fmask:snow": 0.00034972190505407335,
+        "fmask:water": 53.61612205265139,
+        "gqa:abs_iterative_mean_x": 0.17,
+        "gqa:abs_iterative_mean_xy": 0.24,
+        "gqa:abs_iterative_mean_y": 0.16,
+        "gqa:abs_x": 0.28,
+        "gqa:abs_xy": 0.4,
+        "gqa:abs_y": 0.28,
+        "gqa:cep90": 0.4,
+        "gqa:iterative_mean_x": 0.03,
+        "gqa:iterative_mean_xy": 0.12,
+        "gqa:iterative_mean_y": 0.12,
+        "gqa:iterative_stddev_x": 0.21,
+        "gqa:iterative_stddev_xy": 0.26,
+        "gqa:iterative_stddev_y": 0.15,
+        "gqa:mean_x": -0.08,
+        "gqa:mean_xy": 0.15,
+        "gqa:mean_y": 0.12,
+        "gqa:stddev_x": 0.42,
+        "gqa:stddev_xy": 0.58,
+        "gqa:stddev_y": 0.4,
+        "landsat:collection_category": "T1",
+        "landsat:collection_number": 1,
+        "landsat:landsat_product_id": "LC08_L1TP_088080_20200525_20200608_01_T1",
+        "landsat:landsat_scene_id": "LC80880802020146LGN00",
+        "landsat:wrs_path": 88,
+        "landsat:wrs_row": 80,
+        "odc:dataset_version": "3.1.0",
+        "odc:file_format": "GeoTIFF",
+        "odc:processing_datetime": "2020-06-18T07:07:06.303867Z",
+        "odc:producer": "ga.gov.au",
+        "odc:product_family": "ard",
+        "odc:region_code": "088080",
+        "odc:product": "ga_ls8c_ard_3",
+        "odc:lineage": {
+            "level1": [
+                "b5f234fe-bba8-5483-9bc0-250360d429cf"
+            ]
+        },
+        "proj:epsg": 32656,
+        "proj:shape": [
+            7841,
+            7781
+        ],
+        "proj:transform": [
+            30.0,
+            0.0,
+            526785.0,
+            0.0,
+            -30.0,
+            -3077085.0,
+            0.0,
+            0.0,
+            1.0
+        ]
     },
-    "bbox.ur_lon": {
-      "Type": "Number",
-      "Value": "155.6469914729725"
+    "assets": {
+        "nbart_blue": {
+            "eo:bands": [
+                {
+                    "name": "nbart_blue"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band02.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_coastal_aerosol": {
+            "eo:bands": [
+                {
+                    "name": "nbart_coastal_aerosol"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band01.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_green": {
+            "eo:bands": [
+                {
+                    "name": "nbart_green"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band03.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_nir": {
+            "eo:bands": [
+                {
+                    "name": "nbart_nir"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band05.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_panchromatic": {
+            "eo:bands": [
+                {
+                    "name": "nbart_panchromatic"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band08.tif",
+            "proj:shape": [
+                15681,
+                15561
+            ],
+            "proj:transform": [
+                15.0,
+                0.0,
+                526792.5,
+                0.0,
+                -15.0,
+                -3077092.5,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_red": {
+            "eo:bands": [
+                {
+                    "name": "nbart_red"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band04.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_swir_1": {
+            "eo:bands": [
+                {
+                    "name": "nbart_swir_1"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band06.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "nbart_swir_2": {
+            "eo:bands": [
+                {
+                    "name": "nbart_swir_2"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band07.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_azimuthal_exiting": {
+            "eo:bands": [
+                {
+                    "name": "oa_azimuthal_exiting"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-exiting.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_azimuthal_incident": {
+            "eo:bands": [
+                {
+                    "name": "oa_azimuthal_incident"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-incident.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_combined_terrain_shadow": {
+            "eo:bands": [
+                {
+                    "name": "oa_combined_terrain_shadow"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_combined-terrain-shadow.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_exiting_angle": {
+            "eo:bands": [
+                {
+                    "name": "oa_exiting_angle"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_exiting-angle.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_fmask": {
+            "eo:bands": [
+                {
+                    "name": "oa_fmask"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_fmask.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_incident_angle": {
+            "eo:bands": [
+                {
+                    "name": "oa_incident_angle"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_incident-angle.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_nbart_contiguity": {
+            "eo:bands": [
+                {
+                    "name": "oa_nbart_contiguity"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_nbart-contiguity.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_relative_azimuth": {
+            "eo:bands": [
+                {
+                    "name": "oa_relative_azimuth"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-azimuth.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_relative_slope": {
+            "eo:bands": [
+                {
+                    "name": "oa_relative_slope"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-slope.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_satellite_azimuth": {
+            "eo:bands": [
+                {
+                    "name": "oa_satellite_azimuth"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-azimuth.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_satellite_view": {
+            "eo:bands": [
+                {
+                    "name": "oa_satellite_view"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-view.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_solar_azimuth": {
+            "eo:bands": [
+                {
+                    "name": "oa_solar_azimuth"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-azimuth.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_solar_zenith": {
+            "eo:bands": [
+                {
+                    "name": "oa_solar_zenith"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-zenith.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "oa_time_delta": {
+            "eo:bands": [
+                {
+                    "name": "oa_time_delta"
+                }
+            ],
+            "type": "image/tiff; application=geotiff",
+            "roles": [
+                "data"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_time-delta.tif",
+            "proj:shape": [
+                7841,
+                7781
+            ],
+            "proj:transform": [
+                30.0,
+                0.0,
+                526785.0,
+                0.0,
+                -30.0,
+                -3077085.0,
+                0.0,
+                0.0,
+                1.0
+            ]
+        },
+        "thumbnail:nbart": {
+            "title": "Thumbnail image",
+            "type": "image/jpeg",
+            "roles": [
+                "thumbnail"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_thumbnail.jpg"
+        },
+        "checksum:sha1": {
+            "type": "text/plain",
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.sha1"
+        },
+        "metadata:processor": {
+            "type": "text/yaml",
+            "roles": [
+                "metadata"
+            ],
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.proc-info.yaml"
+        }
     },
-    "bbox.ur_lat": {
-      "Type": "Number",
-      "Value": "-27.816894407110592"
-    },
-    "action": {
-      "Type": "String",
-      "Value": "ADDED"
-    },
-    "bbox.ll_lon": {
-      "Type": "Number",
-      "Value": "153.27898977305418"
-    },
-    "bbox.ll_lat": {
-      "Type": "Number",
-      "Value": "-29.92243448617234"
-    },
-    "cloudcover": {
-      "Type": "Number",
-      "Value": "42.42102985910952"
-    }
-  }
+    "links": [
+        {
+            "rel": "self",
+            "type": "application/json",
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json"
+        },
+        {
+            "title": "Source Dataset YAML",
+            "rel": "odc_yaml",
+            "type": "text/yaml",
+            "href": "http://dea-public-data-dev.s3-ap-southeast-2.amazonaws.com/analysis-ready-data/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml"
+        },
+        {
+            "title": "Open Data Cube Product Overview",
+            "rel": "product_overview",
+            "type": "text/html",
+            "href": "https://explorer.dev.dea.ga.gov.au/product/ga_ls8c_ard_3"
+        },
+        {
+            "title": "Open Data Cube Explorer",
+            "rel": "alternative",
+            "type": "text/html",
+            "href": "https://explorer.dev.dea.ga.gov.au/dataset/2aa69fcf-aa55-4747-9d95-3652f9fe79b0"
+        }
+    ]
 }
\ No newline at end of file
diff --git a/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.sqs.json b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.sqs.json
new file mode 100644
index 000000000..50ea5874a
--- /dev/null
+++ b/apps/dc_tools/tests/data/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.sqs.json
@@ -0,0 +1,45 @@
+{
+  "Type": "Notification",
+  "MessageId": "741ffdef-6b05-5766-b117-aa4182013584",
+  "TopicArn": "arn:aws:sns:ap-southeast-2:451924316694:landsat-collection-3-dev-topic",
+  "Message": "{\n    \"stac_version\": \"1.0.0-beta.2\",\n    \"stac_extensions\": [\n        \"eo\",\n        \"projection\",\n        \"view\"\n    ],\n    \"type\": \"Feature\",\n    \"id\": \"2aa69fcf-aa55-4747-9d95-3652f9fe79b0\",\n    \"bbox\": [\n        153.27898977305418,\n        -29.92243448617234,\n        155.6469914729725,\n        -27.816894407110592\n    ],\n    \"geometry\": {\n        \"type\": \"Polygon\",\n        \"coordinates\": [\n            [\n                [\n                    153.7385878898377,\n                    -27.81701549471511\n                ],\n                [\n                    153.7386050460989,\n                    -27.81695844414134\n                ],\n                [\n                    153.7408870777895,\n                    -27.81743186138652\n                ],\n                [\n                    153.74374919575374,\n                    -27.81795011248702\n                ],\n                [\n                    155.634437974109,\n                    -28.195665728285302\n                ],\n                [\n                    155.64656390412654,\n                    -28.198003116605665\n                ],\n                [\n                    155.6469914729725,\n                    -28.198261451847454\n                ],\n                [\n                    155.2205985724982,\n                    -29.92151128958127\n                ],\n                [\n                    155.2201572971803,\n                    -29.92243448617234\n                ],\n                [\n                    155.21918065761497,\n                    -29.92224759982275\n                ],\n                [\n                    155.21914643092472,\n                    -29.92238385153146\n                ],\n                [\n                    153.2865859478465,\n                    -29.537062581029243\n                ],\n                [\n                    153.28038700032272,\n                    -29.535721417545275\n                ],\n                [\n                    153.2796429434371,\n                    -29.535258893290152\n                ],\n                [\n                    153.27898977305418,\n                    -29.535123241623708\n                ],\n                [\n                    153.29231891428003,\n                    -29.485243884787124\n                ],\n                [\n                    153.4214079550725,\n                    -29.006049156688324\n                ],\n                [\n                    153.54919382814404,\n                    -28.52833499498428\n                ],\n                [\n                    153.73227439530447,\n                    -27.837474564334862\n                ],\n                [\n                    153.7376217743478,\n                    -27.817269375728678\n                ],\n                [\n                    153.73791928400988,\n                    -27.816894407110592\n                ],\n                [\n                    153.7385878898377,\n                    -27.81701549471511\n                ]\n            ]\n        ]\n    },\n    \"properties\": {\n        \"datetime\": \"2020-05-25T23:35:47.745731Z\",\n        \"dea:dataset_maturity\": \"final\",\n        \"end_datetime\": \"2020-05-25T23:36:02.557719Z\",\n        \"start_datetime\": \"2020-05-25T23:35:32.815426Z\",\n        \"eo:cloud_cover\": 42.42102985910952,\n        \"gsd\": 15.0,\n        \"instruments\": [\n            \"OLI_TIRS\"\n        ],\n        \"platform\": \"landsat-8\",\n        \"view:sun_azimuth\": 34.22994171,\n        \"view:sun_elevation\": 31.7895917,\n        \"fmask:clear\": 1.0427704509544131,\n        \"fmask:cloud\": 42.42102985910952,\n        \"fmask:cloud_shadow\": 2.919727915379625,\n        \"fmask:snow\": 0.00034972190505407335,\n        \"fmask:water\": 53.61612205265139,\n        \"gqa:abs_iterative_mean_x\": 0.17,\n        \"gqa:abs_iterative_mean_xy\": 0.24,\n        \"gqa:abs_iterative_mean_y\": 0.16,\n        \"gqa:abs_x\": 0.28,\n        \"gqa:abs_xy\": 0.4,\n        \"gqa:abs_y\": 0.28,\n        \"gqa:cep90\": 0.4,\n        \"gqa:iterative_mean_x\": 0.03,\n        \"gqa:iterative_mean_xy\": 0.12,\n        \"gqa:iterative_mean_y\": 0.12,\n        \"gqa:iterative_stddev_x\": 0.21,\n        \"gqa:iterative_stddev_xy\": 0.26,\n        \"gqa:iterative_stddev_y\": 0.15,\n        \"gqa:mean_x\": -0.08,\n        \"gqa:mean_xy\": 0.15,\n        \"gqa:mean_y\": 0.12,\n        \"gqa:stddev_x\": 0.42,\n        \"gqa:stddev_xy\": 0.58,\n        \"gqa:stddev_y\": 0.4,\n        \"landsat:collection_category\": \"T1\",\n        \"landsat:collection_number\": 1,\n        \"landsat:landsat_product_id\": \"LC08_L1TP_088080_20200525_20200608_01_T1\",\n        \"landsat:landsat_scene_id\": \"LC80880802020146LGN00\",\n        \"landsat:wrs_path\": 88,\n        \"landsat:wrs_row\": 80,\n        \"odc:dataset_version\": \"3.1.0\",\n        \"odc:file_format\": \"GeoTIFF\",\n        \"odc:processing_datetime\": \"2020-06-18T07:07:06.303867Z\",\n        \"odc:producer\": \"ga.gov.au\",\n        \"odc:product_family\": \"ard\",\n        \"odc:region_code\": \"088080\",\n        \"odc:product\": \"ga_ls8c_ard_3\",\n        \"proj:epsg\": 32656,\n        \"proj:shape\": [\n            7841,\n            7781\n        ],\n        \"proj:transform\": [\n            30.0,\n            0.0,\n            526785.0,\n            0.0,\n            -30.0,\n            -3077085.0,\n            0.0,\n            0.0,\n            1.0\n        ]\n    },\n    \"assets\": {\n        \"nbart_blue\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_blue\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band02.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_coastal_aerosol\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_coastal_aerosol\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band01.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_green\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_green\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band03.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_nir\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_nir\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band05.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_panchromatic\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_panchromatic\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band08.tif\",\n            \"proj:shape\": [\n                15681,\n                15561\n            ],\n            \"proj:transform\": [\n                15.0,\n                0.0,\n                526792.5,\n                0.0,\n                -15.0,\n                -3077092.5,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_red\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_red\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band04.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_swir_1\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_swir_1\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band06.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"nbart_swir_2\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"nbart_swir_2\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_band07.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_azimuthal_exiting\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_azimuthal_exiting\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-exiting.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_azimuthal_incident\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_azimuthal_incident\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_azimuthal-incident.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_combined_terrain_shadow\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_combined_terrain_shadow\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_combined-terrain-shadow.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_exiting_angle\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_exiting_angle\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_exiting-angle.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_fmask\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_fmask\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_fmask.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_incident_angle\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_incident_angle\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_incident-angle.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_nbart_contiguity\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_nbart_contiguity\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_nbart-contiguity.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_relative_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_relative_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_relative_slope\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_relative_slope\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_relative-slope.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_satellite_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_satellite_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_satellite_view\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_satellite_view\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_satellite-view.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_solar_azimuth\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_solar_azimuth\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-azimuth.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_solar_zenith\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_solar_zenith\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_solar-zenith.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"oa_time_delta\": {\n            \"eo:bands\": [\n                {\n                    \"name\": \"oa_time_delta\"\n                }\n            ],\n            \"type\": \"image/tiff; application=geotiff\",\n            \"roles\": [\n                \"data\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_oa_3-1-0_088080_2020-05-25_final_time-delta.tif\",\n            \"proj:shape\": [\n                7841,\n                7781\n            ],\n            \"proj:transform\": [\n                30.0,\n                0.0,\n                526785.0,\n                0.0,\n                -30.0,\n                -3077085.0,\n                0.0,\n                0.0,\n                1.0\n            ]\n        },\n        \"thumbnail:nbart\": {\n            \"title\": \"Thumbnail image\",\n            \"type\": \"image/jpeg\",\n            \"roles\": [\n                \"thumbnail\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_nbart_3-1-0_088080_2020-05-25_final_thumbnail.jpg\"\n        },\n        \"checksum:sha1\": {\n            \"type\": \"text/plain\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.sha1\"\n        },\n        \"metadata:processor\": {\n            \"type\": \"text/yaml\",\n            \"roles\": [\n                \"metadata\"\n            ],\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.proc-info.yaml\"\n        }\n    },\n    \"links\": [\n        {\n            \"rel\": \"self\",\n            \"type\": \"application/json\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json\"\n        },\n        {\n            \"title\": \"Source Dataset YAML\",\n            \"rel\": \"odc_yaml\",\n            \"type\": \"text/yaml\",\n            \"href\": \"http://dea-public-data.s3-ap-southeast-2.amazonaws.com/baseline/ga_ls8c_ard_3/088/080/2020/05/25/ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml\"\n        },\n        {\n            \"title\": \"Open Data Cube Product Overview\",\n            \"rel\": \"product_overview\",\n            \"type\": \"text/html\",\n            \"href\": \"https://explorer.dev.dea.ga.gov.au/product/ga_ls8c_ard_3\"\n        },\n        {\n            \"title\": \"Open Data Cube Explorer\",\n            \"rel\": \"alternative\",\n            \"type\": \"text/html\",\n            \"href\": \"https://explorer.dev.dea.ga.gov.au/dataset/2aa69fcf-aa55-4747-9d95-3652f9fe79b0\"\n        }\n    ]\n}",
+  "Timestamp": "2020-08-13T07:07:48.691Z",
+  "SignatureVersion": "1",
+  "Signature": "Ldhhjz/TBHgXNv+A1rkxlxCV9IXnlKgm/XiPx0qeBILteWYuMJ0vNFPhYBfJ8kfTcVeEiZoFNYvP7scVs01IOu2jqGdtbeXoiC1Ng5mI3QylC1jeTfdF2u79MOHuiCvtGzjm+eYEcGwPEqSmavD3/VLeprKnwOOuJ6b49i9C8KnWVeoUPK14G2FpP5vtMMVN/+wyE1UK/NzGmQKKiW2aGhERGeWmqNtRMhl93EWpSdKaaAMYfcYStFt2G6nAPfIrTCAa6+pVDgJnYsba3eyvTjrPdNR9dq6nmjbdxXFffV/ojmLgLaee8lAZKTrVMxKFTMp4P0QBqJze3DP0yiPOPg==",
+  "SigningCertURL": "https://sns.ap-southeast-2.amazonaws.com/SimpleNotificationService-a86cb10b4e1f29c941702d737128f7b6.pem",
+  "UnsubscribeURL": "https://sns.ap-southeast-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:ap-southeast-2:451924316694:landsat-collection-3-dev-topic:e55a3989-e0ab-4fe8-9795-0e9232e5056e",
+  "MessageAttributes": {
+    "product": {
+      "Type": "String",
+      "Value": "ga_ls8c_ard_3"
+    },
+    "datetime": {
+      "Type": "String",
+      "Value": "2020-05-25T23:35:47.745731Z"
+    },
+    "bbox.ur_lon": {
+      "Type": "Number",
+      "Value": "155.6469914729725"
+    },
+    "bbox.ur_lat": {
+      "Type": "Number",
+      "Value": "-27.816894407110592"
+    },
+    "action": {
+      "Type": "String",
+      "Value": "ADDED"
+    },
+    "bbox.ll_lon": {
+      "Type": "Number",
+      "Value": "153.27898977305418"
+    },
+    "bbox.ll_lat": {
+      "Type": "Number",
+      "Value": "-29.92243448617234"
+    },
+    "cloudcover": {
+      "Type": "Number",
+      "Value": "42.42102985910952"
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/dc_tools/tests/data/lidar_dem.json b/apps/dc_tools/tests/data/lidar_dem.json
new file mode 100644
index 000000000..ae12ca916
--- /dev/null
+++ b/apps/dc_tools/tests/data/lidar_dem.json
@@ -0,0 +1,103 @@
+{
+    "type": "Feature",
+    "stac_version": "1.0.0-beta.2",
+    "id": "lidar_id",
+    "properties": {
+        "start_datetime": "2012-01-01T00:00:00Z",
+        "end_datetime": "2012-01-01T00:00:00Z",
+        "resolution": 1.0,
+        "data_type": "float32",
+        "derived_from": "Category 1 Lidar",
+        "platform": "Aircraft",
+        "interpolation_type": "TIN",
+        "horizontal_datum": "GDA94",
+        "vertical_datum": "AHD71 - using local Geoid model",
+        "model_type": "DEM",
+        "horizontal_accuracy": "+/-0.80 @95% Confidence Interval",
+        "vertical_accuracy": "+/-0.30 @95% Confidence Interval",
+        "sensor": "ALS50 (SN101)",
+        "proj:epsg": 28355,
+        "proj:shape": [
+            2000,
+            2000
+        ],
+        "proj:transform": [
+            1.0,
+            0.0,
+            766000.0,
+            0.0,
+            -1.0,
+            6732000.0,
+            0.0,
+            0.0,
+            1.0
+        ],
+        "datetime": null
+    },
+    "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+            [
+                [
+                    149.74413486135487,
+                    -29.513331085946845
+                ],
+                [
+                    149.74462179934187,
+                    -29.531360829758146
+                ],
+                [
+                    149.76523815043552,
+                    -29.53093320024493
+                ],
+                [
+                    149.7647475661126,
+                    -29.512903768601603
+                ],
+                [
+                    149.74413486135487,
+                    -29.513331085946845
+                ]
+            ]
+        ]
+    },
+    "links": [
+        {
+            "rel": "root",
+            "href": "s3://example-bucket/catalog.json",
+            "type": "application/json"
+        },
+        {
+            "rel": "collection",
+            "href": "s3://example-bucket/lidar_collection/collection.json",
+            "type": "application/json"
+        },
+        {
+            "rel": "parent",
+            "href": "s3://example-bucket/lidar_collection/collection.json",
+            "type": "application/json"
+        },
+        {
+            "rel": "self",
+            "href": "s3://example-bucket/lidar_collection/lidar_id.json",
+            "type": "application/json"
+        }
+    ],
+    "assets": {
+        "dem": {
+            "href": "s3://example-bucket/lidar_id.tif",
+            "type": "image/tiff; application=geotiff; profile=cloud-optimized",
+            "title": "Cloud-Optimized Geotiff"
+        }
+    },
+    "bbox": [
+        149.74413486135487,
+        -29.531360829758146,
+        149.76523815043552,
+        -29.512903768601603
+    ],
+    "stac_extensions": [
+        "projection"
+    ],
+    "collection": "lidar_collection"
+}
\ No newline at end of file
diff --git a/apps/dc_tools/tests/test_fs_to_dc.py b/apps/dc_tools/tests/test_fs_to_dc.py
index d828ef125..fb58b3817 100644
--- a/apps/dc_tools/tests/test_fs_to_dc.py
+++ b/apps/dc_tools/tests/test_fs_to_dc.py
@@ -11,18 +11,18 @@ def test_find_yamls(test_data_dir):
     # Default is to find YAML files
     files = [str(x) for x in _find_files(test_data_dir)]
 
-    assert len(files) == 1
-    assert files[0] == str(
+    assert len(files) == 2
+    assert str(
         Path(test_data_dir)
-        / "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml"
-    )
+        / "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.sqs.yaml"
+    ) in files
 
 
 def test_find_json(test_data_dir):
     # Search for JSON files
     files = [str(x) for x in _find_files(test_data_dir, stac=True)]
 
-    assert len(files) == 4
+    assert len(files) == 9
     assert (
         str(
             Path(test_data_dir)
diff --git a/apps/dc_tools/tests/test_sqs_to_dc.py b/apps/dc_tools/tests/test_sqs_to_dc.py
index d0b0f89f1..da50042b5 100644
--- a/apps/dc_tools/tests/test_sqs_to_dc.py
+++ b/apps/dc_tools/tests/test_sqs_to_dc.py
@@ -12,7 +12,7 @@
 from datacube.utils import documents
 from deepdiff import DeepDiff
 from datetime import date
-from odc.stac.transform import stac_transform
+from odc.apps.dc_tools._stac import stac_transform
 from odc.apps.dc_tools.sqs_to_dc import (
     handle_json_message,
     handle_bucket_notification_message,
@@ -20,8 +20,8 @@
 
 
 TEST_DATA_FOLDER: Path = Path(__file__).parent.joinpath("data")
-LANDSAT_C3_SQS_MESSAGE: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.json"
-LANDSAT_C3_ODC_YAML: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.yaml"
+LANDSAT_C3_SQS_MESSAGE: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.stac-item.sqs.json"
+LANDSAT_C3_ODC_YAML: str = "ga_ls8c_ard_3-1-0_088080_2020-05-25_final.odc-metadata.sqs.yaml"
 SENTINEL_2_NRT_MESSAGE: str = "sentinel-2-nrt_2020_08_21.json"
 SENTINEL_2_NRT_RECORD_PATH = ("L2/sentinel-2-nrt/S2MSIARD/*/*/ARD-METADATA.yaml",)
 
diff --git a/libs/stac/tests/test_stac_transform.py b/apps/dc_tools/tests/test_stac_transform.py
similarity index 97%
rename from libs/stac/tests/test_stac_transform.py
rename to apps/dc_tools/tests/test_stac_transform.py
index ad6bd5e48..15b2e1ad7 100644
--- a/libs/stac/tests/test_stac_transform.py
+++ b/apps/dc_tools/tests/test_stac_transform.py
@@ -5,7 +5,7 @@
 from pprint import pformat
 import pytest
 from deepdiff import DeepDiff
-from odc.stac.transform import stac_transform
+from odc.apps.dc_tools._stac import stac_transform
 
 
 deep_diff = partial(
diff --git a/libs/stats/tests/test_utils.py b/libs/stats/tests/test_utils.py
index 9eb246cd9..4e6953d54 100644
--- a/libs/stats/tests/test_utils.py
+++ b/libs/stats/tests/test_utils.py
@@ -8,7 +8,6 @@
 from datacube.model import Dataset, DatasetType, metadata_from_doc
 from datacube.index.eo3 import prep_eo3
 from datacube.index.index import default_metadata_type_docs
-from odc.stac.transform import stac_transform
 from odc.stats.model import DateTimeRange
 from odc.stats.tasks import TaskReader
 from odc.stats.utils import (
@@ -33,10 +32,6 @@ def test_stac(test_db_path):
     task = reader.load_task(reader.all_tiles[0])
 
     stac_meta = task.render_metadata()
-    odc_meta = stac_transform(stac_meta)
-
-    # TODO: actually test content of odc_meta?
-    assert isinstance(odc_meta, dict)
 
     stac_item = pystac.Item.from_dict(stac_meta)
     stac_item.validate()