Skip to content

Commit

Permalink
Merge branch 'google:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
simonff authored Sep 17, 2024
2 parents 59f6f4b + bd957a7 commit 196915d
Show file tree
Hide file tree
Showing 1,590 changed files with 54,889 additions and 69,060 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
Expand All @@ -24,10 +24,10 @@ jobs:
~/.cache/bazel
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.ref }}
restore-keys: ${{ runner.os }}-${{ env.cache-name }}-development
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build
run: bazel build //...
run: bazel build --define jsonnet_port=cpp //...
- name: Test Checker
run: bazel test --test_output=errors //...
run: bazel test --define jsonnet_port=cpp --test_output=errors //...
- name: Checker
run: bazel-bin/checker/ee_stac_check
15 changes: 0 additions & 15 deletions .github/workflows/codespell.yml

This file was deleted.

33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,18 @@ limitations under the License.

# Google Earth Engine Public Data Catalog

This repository contains content submitted and/or maintained by the Earth Engine
user community.
This repository contains Earth Engine catalog content.

https://github.com/google/earthengine-catalog
## Quick links

# STAC
- [Edit existing entries](docs/simple_edits.md).
- [Add new datasets](docs/adding_datasets.md).
- [See annotated examples](catalog/TEMPLATE).
- [Request to add a new dataset](https://issuetracker.google.com/issues?q=status:(open%20%7C%20new%20%7C%20assigned%20%7C%20accepted)%20componentid:1161680&p=1). If you'd like to maintain this dataset, make a note in the request.
- [Report a problem with an existing dataset](https://issuetracker.google.com/issues?q=status:(open%20%7C%20new%20%7C%20assigned%20%7C%20accepted)%20componentid:1161653).


# STAC and Jsonnet

[SpatioTemporal Asset Catalogs (STAC)](https://stacspec.org/) is a standard for
describing spatial datasets in a catalog.
Expand All @@ -34,21 +40,18 @@ Using Jsonnet
allows repetitive content to be written one time and used across multiple
collections and items.

You can use externally hosted services to browse the STAC catalog:
You can use these external services to browse the EE STAC catalog:

- [RadiantEarth STAC Browser](https://radiantearth.github.io/stac-browser/#/external/storage.googleapis.com/earthengine-stac/catalog/catalog.json)
- [STAC Index](https://stacindex.org/catalogs/google-earth-engine)
- [gee.stac.cloud](https://gee.stac.cloud/)

# Contributing

The issue tracker is currently disabled. In the future, we plan to enable the
issue tracker. In the meanwhile, you can add an issue
[here](https://issuetracker.google.com/issues?q=componentid:1161653%2B%20status:open)

# Install / Build instructions
# Local Install Instructions

See [install](docs/install.md)
If you'd like to run validity checks locally (not via GitHub actions), see
[the local installation instructions](docs/install.md). Most people won't
need this.

# Non-commercial datasets

Expand All @@ -57,7 +60,7 @@ contains a list of datasets that have
licenses known to exclude commercial use. If you are using Earth Engine
in a commercial capacity, these datasets are not available.

# See also
# Other Earth Engine Github repositories

- https://github.com/google/earthengine-community
- https://github.com/google/earthengine-api
- Community tutorials: https://github.com/google/earthengine-community
- Earth Engine API: https://github.com/google/earthengine-api
2 changes: 1 addition & 1 deletion catalog/AAFC/AAFC_ACI.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ local self_ee_catalog_url = ee_const.ee_catalog_url + basename;
href:
'https://www.agr.gc.ca/atlas/data_donnees/agr/annualCropInventory/tif/',
}],
keywords: ['aafc', 'canada', 'crop', 'landcover'],
keywords: ['canada', 'crop', 'landcover', 'aafc'],
providers: [
ee.producer_provider(
'Agriculture and Agri-Food Canada',
Expand Down
28 changes: 8 additions & 20 deletions catalog/ACA/ACA_reef_habitat_v1_0.jsonnet
Original file line number Diff line number Diff line change
@@ -1,29 +1,20 @@
local id = 'ACA/reef_habitat/v1_0';
local latest_id = 'ACA/reef_habitat/v2_0';
local successor_id = 'ACA/reef_habitat/v2_0';
local versions = import 'versions.libsonnet';
local version_table = import 'ACA_versions.libsonnet';

local subdir = 'ACA';

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

local license = spdx.cc_by_4_0;
local version = '1.0';

local basename = std.strReplace(id, '/', '_');
local latest_basename = std.strReplace(latest_id, '/', '_');
local successor_basename = std.strReplace(successor_id, '/', '_');

local base_filename = basename + '.json';
local latest_filename = latest_basename + '.json';
local successor_filename = successor_basename + '.json';
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 latest_url = catalog_subdir_url + latest_filename;
local successor_url = catalog_subdir_url + successor_filename;

{
stac_version: ee_const.stac_version,
Expand All @@ -35,8 +26,8 @@ local successor_url = catalog_subdir_url + successor_filename;
],
id: id,
title: 'Allen Coral Atlas (ACA) - Geomorphic Zonation and Benthic Habitat - v1.0 [deprecated]',
deprecated: true,
version: 'v1.0',
'gee:status': 'deprecated',
version: version,
'gee:type': ee_const.gee_type.image,
description: |||
The [Allen Coral Atlas](https://allencoralatlas.org/) dataset maps the
Expand Down Expand Up @@ -84,10 +75,7 @@ local successor_url = catalog_subdir_url + successor_filename;
rel: ee_const.rel.cite_as,
href: 'https://doi.org/10.5281/zenodo.3833242',
},
] + [
ee.link.latest(latest_id, latest_url),
ee.link.successor(successor_id, successor_url),
],
] + version_config.version_links,
keywords: [
'coral',
'ocean',
Expand Down
26 changes: 7 additions & 19 deletions catalog/ACA/ACA_reef_habitat_v2_0.jsonnet
Original file line number Diff line number Diff line change
@@ -1,29 +1,20 @@
local id = 'ACA/reef_habitat/v2_0';
local latest_id = id;
local predecessor_id = 'ACA/reef_habitat/v1_0';
local versions = import 'versions.libsonnet';
local version_table = import 'ACA_versions.libsonnet';

local subdir = 'ACA';

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

local license = spdx.cc_by_4_0;
local version = '2.0';

local basename = std.strReplace(id, '/', '_');
local latest_basename = std.strReplace(latest_id, '/', '_');
local predecessor_basename = std.strReplace(predecessor_id, '/', '_');

local base_filename = basename + '.json';
local latest_filename = latest_basename + '.json';
local predecessor_filename = predecessor_basename + '.json';
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 latest_url = catalog_subdir_url + latest_filename;
local predecessor_url = catalog_subdir_url + predecessor_filename;

{
stac_version: ee_const.stac_version,
Expand All @@ -35,7 +26,7 @@ local predecessor_url = catalog_subdir_url + predecessor_filename;
],
id: id,
title: 'Allen Coral Atlas (ACA) - Geomorphic Zonation and Benthic Habitat - v2.0',
version: 'v2.0',
version: version,
'gee:type': ee_const.gee_type.image,
description: |||
The [Allen Coral Atlas](https://allencoralatlas.org/) dataset maps the geomorphic
Expand Down Expand Up @@ -93,10 +84,7 @@ local predecessor_url = catalog_subdir_url + predecessor_filename;
rel: ee_const.rel.cite_as,
href: 'https://doi.org/10.5281/zenodo.3833242',
}
] + [
ee.link.latest(latest_id, latest_url),
ee.link.predecessor(predecessor_id, predecessor_url)
],
] + version_config.version_links,
keywords: [
'coral',
'ocean',
Expand Down
4 changes: 4 additions & 0 deletions catalog/ACA/ACA_versions.libsonnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
{'1.0': 'ACA/reef_habitat/v1_0'},
{'2.0': 'ACA/reef_habitat/v2_0'},
]
2 changes: 1 addition & 1 deletion catalog/AHN/ahn.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ local self_ee_catalog_url(id) =
'netherlands',
],
providers: [
ee.producer_provider('AHN', 'https://www.ahn.nl/index.html'),
ee.producer_provider('AHN', 'https://www.ahn.nl'),
ee.host_provider(self_ee_catalog_url(id)),
],
extent: ee.extent(3.35, 50.74, 7.24, 53.55,
Expand Down
2 changes: 1 addition & 1 deletion catalog/BLM/BLM_AIM_v1_TerrADat_TerrestrialAIM.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ local self_ee_catalog_url = ee_const.ee_catalog_url + basename;
partner organizations. They followed the BLM core terrestrial data
[collection protocols](https://www.ntc.blm.gov/krc/viewresource.php?courseID=281&programAreaId=148).
Data were captured electronically using the [Database for Inventory,
Monitoring, and Assessment](https://jornada.nmsu.edu/monit-assess/dima).
Monitoring, and Assessment](https://jornada.nmsu.edu/tools/dima).
They were managed by the
data collectors, with oversight from BLM field offices, state
offices, and the National Operations Center. This dataset has
Expand Down
106 changes: 106 additions & 0 deletions catalog/CANADA/CANADA_NFIS_NTEMS_CA_FOREST_AGE.jsonnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
local id = 'CANADA/NFIS/NTEMS/CA_FOREST_AGE';
local subdir = 'CANADA';

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 basename = std.strReplace(id, '/', '_');
local base_filename = basename + '.json';
local self_ee_catalog_url = ee_const.ee_catalog_url + basename;

{
stac_version: ee_const.stac_version,
type: ee_const.stac_type.collection,
id: id,
title: 'Landsat-derived forest age for Canada 2019',
'gee:type': ee_const.gee_type.image_collection,
description: |||
Canadian primary forest dataset is a satellite-based forest age map for
2019 across Canada's forested ecozones at a 30-m spatial resolution.
Remotely-sensed data from Landsat (disturbances, surface
reflectance composites, forest structure) and MODIS (Gross Primary
Production) are utilized to determine age.
Forest age can be determined where disturbance can be identified directly
(disturbance approach) or inferred using spectral information (recovery
approach) or using inverted allometric equations to model age where there
is no evidence of disturbance (allometric approach). The disturbance
approach is based upon satellite data and mapped changes and is the most
accurate. The recovery approach also avails upon satellite data plus logic
regarding forest succession, with an accuracy that is greater than pure
modeling.
Given the lack of widespread recent disturbance over Canada's forests, the
allometric approach is required over the greatest area (86.6%). Using
information regarding realized heights and growth and yield modeling, ages
are estimated where none are otherwise possible. Trees of all ages are
mapped, with trees >150 years old combined in an "old tree" category.
|||,
license: license.id,
links: ee.standardLinks(subdir, id) + [
{
rel: ee_const.rel.source,
href: 'https://opendata.nfis.org/downloads/forest_change/CA_forest_age_2019.zip',
},
],
keywords: [
'canada',
'forest',
],
providers: [
ee.producer_provider(
'National Forest Information System',
'https://opendata.nfis.org/mapserver/nfis-change_eng.html'
),
ee.host_provider(self_ee_catalog_url),
],
extent: ee.extent_global('2019-01-01T01:00:00Z', '2020-01-01T01:00:00Z'),
summaries: {
gsd: [
30.0,
],
'eo:bands': [
{
name: 'forest',
description: 'Forest age',
'gee:units': units.year,
},
],
'gee:visualizations': [
{
display_name: 'Forest age',
lookat: {
lat: 58.18,
lon: -107.94,
zoom: 3,
},
image_visualization: {
band_vis: {
min: [
0.0,
],
max: [
1000.0,
],
palette: [
'ff0000',
],
bands: [
'forest',
],
},
},
},
],
},
'gee:terms_of_use': |||
The forest age map described herein for Canada's forested ecosystems is
declared open source and supported by the Government of Canada. The dataset
is licensed under the [CC-BY 4.0 license](https://creativecommons.org/licenses/by/4.0/).
|||,
}
23 changes: 23 additions & 0 deletions catalog/CANADA/catalog.jsonnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
local id = 'CANADA';
local ee_const = import 'earthengine_const.libsonnet';
local ee = import 'earthengine.libsonnet';

local basename = 'catalog';
local base_filename = basename + '.json';
local base_url = ee_const.catalog_base + 'CANADA/';
local parent_url = ee_const.catalog_base + 'catalog.json';
local self_url = base_url + base_filename;

{
stac_version: ee_const.stac_version,
type: ee_const.stac_type.catalog,
id: id,
title: id,
description: importstr 'description.md',
links: [
ee.link.root(),
ee.link.parent(parent_url),
ee.link.self_link(self_url),
ee.link.child_collection('CANADA_NFIS_NTEMS_CA_FOREST_AGE', base_url)
],
}
1 change: 1 addition & 0 deletions catalog/CANADA/description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Datasets created by Canadian government bodies.
Loading

0 comments on commit 196915d

Please sign in to comment.