Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ga_ls8cls9c_gm #1184

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions catalog/geoscience-aus-cat/catalog.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,7 @@ local self_url = base_url + base_filename;
'projects_geoscience-aus-cat_assets_ga_ls8c_nbart_gm_cyear_3', base_url),
ee.link.child_collection(
'projects_geoscience-aus-cat_assets_ga_ls_wo_fq_cyear_3', base_url),
ee.link.child_collection(
'projects_geoscience-aus-cat_assets_ga_ls8cls9c_gm_cyear_3', base_url),
],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To apply this file to dataset descriptions (to create links between them and to display a warning on the old dataset's page), you should import it into both old and new .jsonnet files. Example: https://github.com/google/earthengine-catalog/blob/main/catalog/UMD/UMD_hansen_global_forest_change_2023_v1_11.jsonnet

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Simon, I updated both the old and new .jsonnet files.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also add "version_config.version_links" to the links section in both files? See https://github.com/google/earthengine-catalog/blob/main/catalog/UMD/UMD_hansen_global_forest_change_2023_v1_11.jsonnet#L45

This is the command that will create predecessor/successor links. The checks will also ask you to add "deprecated: true" to the old dataset, as it will now have a successor.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

version_config.version_links was added to both files. 'gee:status': 'deprecated' and [deprecated] were added to the old dataset file.

{'v3.1.0': 'projects/geoscience-aus-cat/assets/ga_ls8c_nbart_gm_cyear_3'},
{'v4.0.0': 'projects/geoscience-aus-cat/assets/ga_ls8cls9c_gm_cyear_3'},
]
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ local units = import 'units.libsonnet';

local license = spdx.cc_by_4_0;

local version = '3.1.0';
local versions = import 'versions.libsonnet';
local version_table = import 'projects_geoscience-aus-cat_assets_ga_ls8c_nbart_gm_change_versions.libsonnet';
local version_config = versions(subdir, version_table, id);
local version = version_config.version;

local basename = std.strReplace(id, '/', '_');
local base_filename = basename + '.json';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
local id = 'projects/geoscience-aus-cat/assets/ga_ls8cls9c_gm_cyear_3';
local subdir = 'geoscience-aus-cat';

local ee_const = import 'earthengine_const.libsonnet';
local ee = import 'earthengine.libsonnet';
local spdx = import 'spdx.libsonnet';
local units = import 'units.libsonnet';

local license = spdx.cc_by_4_0;

local versions = import 'versions.libsonnet';
local version_table = import 'projects_geoscience-aus-cat_assets_ga_ls8c_nbart_gm_change_versions.libsonnet';
local version_config = versions(subdir, version_table, id);
local version = version_config.version;

local basename = std.strReplace(id, '/', '_');
local base_filename = basename + '.json';
local self_ee_catalog_url = ee_const.ee_catalog_url + basename;
local catalog_subdir_url = ee_const.catalog_base + subdir + '/';
local parent_url = catalog_subdir_url + 'catalog.json';
local self_url = catalog_subdir_url + base_filename;

{
stac_version: ee_const.stac_version,
type: ee_const.stac_type.collection,
stac_extensions: [
ee_const.ext_eo,
ee_const.ext_sci,
ee_const.ext_ver,
],
id: id,
version: version,
title: 'DEA Geometric Median and Median Absolute Deviation - Landsat 8 and 9 ' + version,
'gee:type': ee_const.gee_type.image_collection,
description: |||
This product provides statistical tools to exploit the time series of Landsat 8 and 9 data available in Digital Earth Australia, providing annual images of general conditions and how much an area changes for a given year. For calendar years 2022 onwards, Landsat 8 and 9 are combined to offer improved performance than the standalone Landsat 8, due to using a larger number of observations.

The geometric median part of the product provides an "average" cloud-free image over the given year. The geometric median image is calculated with a multi-dimensional median, using all the spectral measurements from the satellite imagery at the same time in order to maintain the relationships among the measurements.

The median absolute deviation part of the product uses three measures of variance, each of which provides a "second order" high dimensional statistical composite for the given year. The three variance measures show how much an area varies from the "average" in terms of "distance" based on factors such as brightness and spectra:

* Euclidean distance (EMAD)
* Cosine (spectral) distance (SMAD)
* Bray Curtis dissimilarity (BCMAD)

Together, they provide information on variance in the landscape over the given year and are useful for change detection applications.

For more information, please see the [DEA Geometric Median and Median Absolute Deviation Landsat](https://knowledge.dea.ga.gov.au/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/)

More information on what has changed between the versions can be found in the [changelog](https://knowledge.dea.ga.gov.au/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/?tab=history#v4.0.0)

This product is part of the [Digital Earth Australia Program](https://www.dea.ga.gov.au/)
|||,
license: license.id,
links: ee.standardLinks(subdir, id) + [
ee.link.license(license.reference),
{
rel: ee_const.rel.cite_as,
href: 'https://doi.org/10.1109/TGRS.2017.2723896',
type: ee_const.media_type.html,
},
{
rel: ee_const.rel.cite_as,
href: 'https://doi.org/10.1109/IGARSS.2018.8518312',
type: ee_const.media_type.html,
},
{
rel: ee_const.rel.source,
href: 'https://data.dea.ga.gov.au/?prefix=derivative/ga_ls8cls9c_gm_cyear_3/',
},
],
keywords: [
'australia',
'ga',
'landsat_derived',
],
providers: [
ee.producer_provider(
'Geoscience Australia',
'https://knowledge.dea.ga.gov.au/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/'),
ee.processor_provider('NGIS', 'https://ngis.com.au/'),
ee.host_provider(self_ee_catalog_url),
],
extent: ee.extent(
108.81, -44.41, 157.82, -9.13,
'2013-01-01T00:00:00Z', null),
summaries: {
gsd: [25],
'eo:bands': [
{
name: 'nbart_blue',
description: |||
Band blue surface reflectance geometric median.
|||,
'gee:wavelength': '0.452-0.512 μm',
},
{
name: 'nbart_green',
description: |||
Band green surface reflectance geometric median.
|||,
'gee:wavelength': '0.533-0.590 μm',
},
{
name: 'nbart_red',
description: |||
Band red surface reflectance geometric median.
|||,
'gee:wavelength': '0.636-0.673 μm',
},
{
name: 'nbart_nir',
description: |||
Band near infrared surface reflectance geometric median.
|||,
'gee:wavelength': '0.851-0.879 μm',
},
{
name: 'nbart_swir_1',
description: |||
Band shortwave infrared 1 surface reflectance geometric median.
|||,
'gee:wavelength': '1.566-1.651 μm',
},
{
name: 'nbart_swir_2',
description: |||
Band shortwave infrared 2 surface reflectance geometric median.
|||,
'gee:wavelength': '2.107-2.294 μm',
},
{
name: 'edev',
description: |||
The Median Absolute Deviation using Euclidean distance (EMAD). EMAD is more sensitive to changes in target brightness.
|||,
},
{
name: 'sdev',
description: |||
The Median Absolute Deviation using Cosine (spectral) distance (SMAD). SMAD is more sensitive to change in target spectral response.
|||,
},
{
name: 'bcdev',
description: |||
The Median Absolute Deviation using Bray Curtis dissimilarity (BCMAD). BCMAD is more sensitive to the distribution of the observation values through time.
|||,
},
{
name: 'count',
description: |||
The number of the available pixels used for calculation per calendar year.
|||,
},
],
nbart_blue: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
nbart_green: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
nbart_red: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
nbart_nir: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
nbart_swir_1: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
nbart_swir_2: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
edev: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
sdev: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
bcdev: {minimum: 0, maximum: 10000, 'gee:estimated_range': true},
count: {minimum: 0, maximum: 400, 'gee:estimated_range': true},
'gee:visualizations': [
{
display_name: 'Geomedians',
lookat: {lon: 133.88, lat: -23.70, zoom: 5},
image_visualization: {
band_vis: {
min: [0],
max: [255],
bands: ['nbart_red', 'nbart_green', 'nbart_blue'],
}
},
},
],
},
'sci:doi': '10.1109/TGRS.2017.2723896',
'sci:citation': |||
Roberts, D., Mueller, N., & Mcintyre, A. (2017). High-dimensional pixel composites from earth observation time series. IEEE Transactions on Geoscience and Remote Sensing, 55(11), 6254-6264.
[doi:10.1109/TGRS.2017.2723896](https://doi.org/10.1109/TGRS.2017.2723896).
Roberts, D., Dunn, B., & Mueller, N. (2018). Open data cube products using high-dimensional statistics of time series. IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, 8647-8650.
[doi:10.1109/IGARSS.2018.8518312](https://doi.org/10.1109/IGARSS.2018.8518312).
|||,
'gee:terms_of_use': ee.gee_terms_of_use(license),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
var geomedian_ls8ls9 = ee.ImageCollection('projects/geoscience-aus-cat/assets/ga_ls8cls9c_gm_cyear_3');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please make the collection publicly readable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


var geometry =
/* color: #98ff00 */
/* displayProperties: [
{
"type": "rectangle"
}
] */
ee.Geometry.Polygon(
[[[121.15880998755823, -15.010654451073695],
[121.15880998755823, -18.377531570740548],
[125.81701311255823, -18.377531570740548],
[125.81701311255823, -15.010654451073695]]], null, false);

var composite = geomedian_ls8ls9.filterBounds(geometry)
.filterDate('2018-01-01', '2019-01-01')
.mosaic();

var visualization = {
bands: ['nbart_red', 'nbart_green', 'nbart_blue'],
min: 0,
max: 3000
};

Map.centerObject(geometry, 10);
Map.addLayer(composite, visualization, '2018 True Color Composite');
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
var geomedian_ls8ls9 = ee.ImageCollection('projects/geoscience-aus-cat/assets/ga_ls8cls9c_gm_cyear_3');

var geometry =
/* color: #98ff00 */
/* displayProperties: [
{
"type": "rectangle"
}
] */
ee.Geometry.Polygon(
[[[121.15880998755823, -15.010654451073695],
[121.15880998755823, -18.377531570740548],
[125.81701311255823, -18.377531570740548],
[125.81701311255823, -15.010654451073695]]], null, false);

// Width and height of the thumbnail image.
var pixels = 256;

var composite = geomedian_ls8ls9.filterBounds(geometry)
.filterDate('2018-01-01', '2019-01-01')
.mosaic();

var visualization = {
bands: ['nbart_red', 'nbart_green', 'nbart_blue'],
min: 0,
max: 3000
};

Map.centerObject(geometry, 10);
Map.addLayer(composite, visualization, '2018 True Color Composite');

var imageParams = {
dimensions: [pixels, pixels],
region: geometry,
crs: 'EPSG:3857',
format: 'png',
};

print(ui.Thumbnail({image: composite.visualize(visualization), params: imageParams}));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This thumbnail is partially masked out, so it won't look like a neat square. Could you either shift it to an area that's not fully masked out or use gray background like in https://github.com/google/earthengine-catalog/blob/main/examples/WM/WM_geoLab_geoBoundaries_600_ADM0_preview.js#L21 ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the thumbnail area, now it should show a neat square.

Loading