{
  "type": "Collection",
  "id": "cgls-lc100-2019",
  "stac_version": "1.0.0",
  "title": "Copernicus Global Land Cover 100m v3.0.1 (CGLS-LC100, 2019)",
  "description": "Global land cover classification at 100m resolution for 2019, from the Copernicus Global Land Service Land Cover product v3.0.1 (Collection 3). Uses the FAO Land Cover Classification System (LCCS). Overall accuracy ~80%, highest of major global land cover products. Single global GeoTIFF in WGS84 (EPSG:4326). The H3 hex layer aggregates the source raster to H3 resolution 9 by mode (most frequent class per cell); lc_class is categorical and must not be summed or averaged. For per-class area use the hex-fractions asset, which records the share of each cell covered by each class; weight each share by its cell's ground area. The mode asset gives one dominant class per cell and is for mapping, not for area: counting mode cells by class misstates class area, because a cell's minority classes are dropped.",
  "license": "CC-BY-4.0",
  "links": [
    {
      "rel": "self",
      "href": "https://s3-west.nrp-nautilus.io/public-land-cover/cgls-lc100-2019/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "root",
      "href": "https://s3-west.nrp-nautilus.io/public-data/stac/catalog.json",
      "type": "application/json",
      "title": "NRP Public Data Catalog"
    },
    {
      "rel": "parent",
      "href": "https://s3-west.nrp-nautilus.io/public-land-cover/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "license",
      "href": "https://creativecommons.org/licenses/by/4.0/",
      "title": "CC-BY 4.0"
    },
    {
      "rel": "derived_from",
      "href": "https://zenodo.org/records/3939050",
      "title": "CGLS-LC100 v3.0.1 on Zenodo"
    }
  ],
  "extent": {
    "spatial": {
      "bbox": [
        [
          -180,
          -90,
          180,
          90
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "2019-01-01T00:00:00Z",
          "2019-12-31T00:00:00Z"
        ]
      ]
    }
  },
  "assets": {
    "cgls-lc100-2019-cog": {
      "href": "https://s3-west.nrp-nautilus.io/public-land-cover/cgls-lc100-2019-cog.tif",
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "title": "CGLS-LC100 2019 Cloud-Optimized GeoTIFF",
      "description": "Global land cover classification COG at 100m resolution, EPSG:4326. Integer class codes per the FAO LCCS scheme. ZSTD compressed (~2.4 GB). NoData sentinel is 255 (~13k pixels); value 0 (No input data) is a retained fill class.",
      "roles": [
        "data",
        "visual"
      ],
      "raster:bands": [
        {
          "nodata": 255,
          "data_type": "uint8",
          "classification:classes": [
            {
              "value": 0,
              "name": "No input data",
              "color_hint": "282828",
              "description": "No input data available for this pixel."
            },
            {
              "value": 20,
              "name": "Shrubs",
              "color_hint": "FFBB22",
              "description": "Shrubs: woody perennial plants with persistent woody stems, no defined main stem, less than 5 m tall; shrub canopy cover greater than 10%."
            },
            {
              "value": 30,
              "name": "Herbaceous vegetation",
              "color_hint": "FFFF4C",
              "description": "Herbaceous vegetation: plants without persistent stem or shoots above ground, lacking firm structure; herbaceous cover greater than 10% with tree and shrub cover less than 10%."
            },
            {
              "value": 40,
              "name": "Cultivated / managed vegetation",
              "color_hint": "F096FF",
              "description": "Cultivated and managed vegetation / agriculture: land covered with temporary crops followed by harvest and a bare-soil period."
            },
            {
              "value": 50,
              "name": "Urban / built-up",
              "color_hint": "FA0000",
              "description": "Urban / built-up: land covered by buildings and other man-made structures."
            },
            {
              "value": 60,
              "name": "Bare / sparse vegetation",
              "color_hint": "B4B4B4",
              "description": "Bare / sparse vegetation: exposed soil, sand, or rocks with vegetation cover never exceeding 10% at any time of year."
            },
            {
              "value": 70,
              "name": "Snow and ice",
              "color_hint": "F0F0F0",
              "description": "Snow and ice: land under permanent snow or ice cover."
            },
            {
              "value": 80,
              "name": "Permanent water bodies",
              "color_hint": "0032C8",
              "description": "Permanent water bodies: lakes, reservoirs, and rivers; fresh or salt water."
            },
            {
              "value": 90,
              "name": "Herbaceous wetland",
              "color_hint": "0096A0",
              "description": "Herbaceous wetland: land with a permanent mixture of water and herbaceous or woody vegetation, in salt, brackish, or fresh water."
            },
            {
              "value": 100,
              "name": "Moss and lichen",
              "color_hint": "FAE6A0",
              "description": "Moss and lichen: land covered by mosses and/or lichens."
            },
            {
              "value": 111,
              "name": "Closed forest, evergreen needle leaf",
              "color_hint": "58481F",
              "description": "Closed forest, evergreen needle leaf: tree canopy greater than 70%; evergreen needle-leaf trees, canopy never without green foliage."
            },
            {
              "value": 112,
              "name": "Closed forest, evergreen broad leaf",
              "color_hint": "009900",
              "description": "Closed forest, evergreen broad leaf: tree canopy greater than 70%; evergreen broad-leaf trees."
            },
            {
              "value": 113,
              "name": "Closed forest, deciduous needle leaf",
              "color_hint": "70663E",
              "description": "Closed forest, deciduous needle leaf: tree canopy greater than 70%; needle-leaf trees that shed leaves seasonally."
            },
            {
              "value": 114,
              "name": "Closed forest, deciduous broad leaf",
              "color_hint": "00CC00",
              "description": "Closed forest, deciduous broad leaf: tree canopy greater than 70%; broad-leaf trees that shed leaves seasonally."
            },
            {
              "value": 115,
              "name": "Closed forest, mixed",
              "color_hint": "4E751F",
              "description": "Closed forest, mixed: tree canopy greater than 70%; mixed evergreen and deciduous trees, neither type exceeding 75%."
            },
            {
              "value": 116,
              "name": "Closed forest, unknown",
              "color_hint": "007800",
              "description": "Closed forest, unknown type: tree canopy greater than 70%; forest type could not be determined."
            },
            {
              "value": 121,
              "name": "Open forest, evergreen needle leaf",
              "color_hint": "666000",
              "description": "Open forest, evergreen needle leaf: tree canopy between 15% and 70%; evergreen needle-leaf trees."
            },
            {
              "value": 122,
              "name": "Open forest, evergreen broad leaf",
              "color_hint": "8DB400",
              "description": "Open forest, evergreen broad leaf: tree canopy between 15% and 70%; evergreen broad-leaf trees."
            },
            {
              "value": 123,
              "name": "Open forest, deciduous needle leaf",
              "color_hint": "8D7400",
              "description": "Open forest, deciduous needle leaf: tree canopy between 15% and 70%; deciduous needle-leaf trees."
            },
            {
              "value": 124,
              "name": "Open forest, deciduous broad leaf",
              "color_hint": "A0DC00",
              "description": "Open forest, deciduous broad leaf: tree canopy between 15% and 70%; deciduous broad-leaf trees."
            },
            {
              "value": 125,
              "name": "Open forest, mixed",
              "color_hint": "929900",
              "description": "Open forest, mixed: tree canopy between 15% and 70%; mixed evergreen and deciduous trees."
            },
            {
              "value": 126,
              "name": "Open forest, unknown",
              "color_hint": "648C00",
              "description": "Open forest, unknown type: tree canopy between 15% and 70%; forest type could not be determined."
            },
            {
              "value": 200,
              "name": "Open sea",
              "color_hint": "000080",
              "description": "Open sea: oceans and seas (open salt-water bodies)."
            }
          ],
          "name": "lc_class"
        }
      ]
    },
    "cgls-lc100-2019-hex": {
      "href": "https://s3-west.nrp-nautilus.io/public-land-cover/cgls-lc100-2019/hex/h0=*/data_0.parquet",
      "type": "application/x-parquet",
      "title": "CGLS-LC100 2019 H3 Hex Parquet (resolution 9)",
      "description": "Per-hex mode (most frequent source class) of CGLS-LC100 land cover at H3 resolution 9 (~174 m edge length, ~10 source 100 m pixels per cell). One row per h9 cell; lc_class holds only the 23 canonical LCCS class codes (mode preserves class semantics -- averaging would yield non-canonical codes). Mode reports the single dominant class per cell and discards the within-cell class mix, so it is suited to dominant-class mapping, not per-class area within a cell. Parent indexes h8/h7/h6/h5 support multi-scale joins; hive-partitioned by h0. Re-hexed on the antimeridian/polar-fixed pipeline (boettiger-lab/datasets #88, #92, #93); the prior resolution-8 build inflated and dropped cells at the +/-180 deg seam (boettiger-lab/data-workflows #186). Each H3 cell holds the mode (most frequent) class within its footprint. Fill code `0` (No input data) is real fill — exclude it (and, for land-only statistics, classes 80 Permanent water and 200 Open sea).",
      "roles": [
        "data",
        "overview"
      ],
      "table:columns": [
        {
          "name": "lc_class",
          "type": "int64",
          "description": "Copernicus CGLS-LC100 discrete land-cover class (FAO LCCS). Categorical — do not SUM or AVG the code. Valid values: 0=No input data, 20=Shrubs, 30=Herbaceous vegetation, 40=Cultivated and managed vegetation / agriculture, 50=Urban / built-up, 60=Bare / sparse vegetation, 70=Snow and ice, 80=Permanent water bodies, 90=Herbaceous wetland, 100=Moss and lichen, 111=Closed forest, evergreen needle leaf, 112=Closed forest, evergreen broad leaf, 113=Closed forest, deciduous needle leaf, 114=Closed forest, deciduous broad leaf, 115=Closed forest, mixed, 116=Closed forest, unknown, 121=Open forest, evergreen needle leaf, 122=Open forest, evergreen broad leaf, 123=Open forest, deciduous needle leaf, 124=Open forest, deciduous broad leaf, 125=Open forest, mixed, 126=Open forest, unknown, 200=Open sea",
          "values": [
            0,
            20,
            30,
            40,
            50,
            60,
            70,
            80,
            90,
            100,
            111,
            112,
            113,
            114,
            115,
            116,
            121,
            122,
            123,
            124,
            125,
            126,
            200
          ]
        },
        {
          "name": "h9",
          "type": "uint64",
          "description": "H3 cell ID at resolution 9."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell ID at resolution 8."
        },
        {
          "name": "h7",
          "type": "uint64",
          "description": "H3 cell ID at resolution 7."
        },
        {
          "name": "h6",
          "type": "uint64",
          "description": "H3 cell ID at resolution 6."
        },
        {
          "name": "h5",
          "type": "uint64",
          "description": "H3 cell ID at resolution 5."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 cell ID at resolution 0; the Hive partition key for hive-partitioned reads."
        }
      ],
      "h3:native_resolution": 9,
      "h3:parent_resolutions": [
        8,
        7,
        6,
        5,
        0
      ]
    },
    "cgls-lc100-2019-hex-fractions": {
      "href": "https://s3-west.nrp-nautilus.io/public-land-cover/cgls-lc100-2019/hex-fractions/h0=*/data_0.parquet",
      "type": "application/x-parquet",
      "title": "CGLS-LC100 2019 — H3 hex (fractional coverage, native res 9)",
      "roles": [
        "data"
      ],
      "description": "Fractional-coverage (long) H3 hex of the CGLS-LC100 2019 discrete land-cover categorical COG (23 FAO-LCCS classes; native resolution 9, reducer `fractions`, datasets#143). **One row per (cell, class present)** — NOT one row per cell. `frac` is the exact areal fraction of the H3 cell covered by that `lc_class`; per cell the `frac` values sum to 1 (nodata carried as the explicit class `lc_class = 255`). To compute per-class **area**, area-weight each `frac` by its H3 cell's ground area and sum per `lc_class`, **excluding `lc_class = 255`** (see mcp-data-server/h3-guide.md for the cell-area method); note `lc_class = 0` (No input data) is also typically excluded. Do NOT `COUNT(DISTINCT h9)` by class. Use the sibling `cgls-lc100-2019-hex` (mode) asset for dominant-class map styling. Class code→name/color on the `cgls-lc100-2019-cog` asset (`classification:classes`). Note: CGLS also ships 10 generic cover-type fraction layers upstream — a different taxonomy; this asset is the sub-grid mix of the 23 discrete classes we publish. One row per (cell, class) with fractional cell coverage; `lc_class = 255` marks the No-Data/outside-mask share, carried so each cell's `frac` sums to 1 — exclude it (and `0` No input data) for composition or area.",
      "h3:native_resolution": 9,
      "h3:parent_resolutions": [
        8,
        7,
        6,
        5,
        0
      ],
      "table:columns": [
        {
          "name": "lc_class",
          "type": "int64",
          "description": "Copernicus CGLS-LC100 discrete land-cover class (FAO LCCS). Categorical — do not SUM or AVG the code. Valid values: 0=No input data, 20=Shrubs, 30=Herbaceous vegetation, 40=Cultivated and managed vegetation / agriculture, 50=Urban / built-up, 60=Bare / sparse vegetation, 70=Snow and ice, 80=Permanent water bodies, 90=Herbaceous wetland, 100=Moss and lichen, 111=Closed forest, evergreen needle leaf, 112=Closed forest, evergreen broad leaf, 113=Closed forest, deciduous needle leaf, 114=Closed forest, deciduous broad leaf, 115=Closed forest, mixed, 116=Closed forest, unknown, 121=Open forest, evergreen needle leaf, 122=Open forest, evergreen broad leaf, 123=Open forest, deciduous needle leaf, 124=Open forest, deciduous broad leaf, 125=Open forest, mixed, 126=Open forest, unknown, 200=Open sea",
          "values": [
            0,
            20,
            30,
            40,
            50,
            60,
            70,
            80,
            90,
            100,
            111,
            112,
            113,
            114,
            115,
            116,
            121,
            122,
            123,
            124,
            125,
            126,
            200,
            255
          ]
        },
        {
          "name": "frac",
          "type": "double",
          "description": "Exact areal fraction (0–1) of the H3 cell covered by this land-cover class. Per cell the `frac` values sum to 1 (including the explicit no-data share). A per-cell areal weight, not an area: to obtain a class area, area-weight `frac` by the H3 cell's ground area and sum per class (see the h3-guide) — never SUM `frac` alone as an area."
        },
        {
          "name": "h9",
          "type": "uint64",
          "description": "H3 cell ID at resolution 9."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell ID at resolution 8."
        },
        {
          "name": "h7",
          "type": "uint64",
          "description": "H3 cell ID at resolution 7."
        },
        {
          "name": "h6",
          "type": "uint64",
          "description": "H3 cell ID at resolution 6."
        },
        {
          "name": "h5",
          "type": "uint64",
          "description": "H3 cell ID at resolution 5."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 cell ID at resolution 0; the Hive partition key for hive-partitioned reads."
        }
      ]
    }
  },
  "providers": [
    {
      "name": "Copernicus Global Land Service / VITO",
      "roles": [
        "producer",
        "licensor"
      ],
      "url": "https://land.copernicus.eu/global/products/lc"
    },
    {
      "name": "Boettiger Lab, UC Berkeley",
      "roles": [
        "processor",
        "host"
      ],
      "url": "https://boettiger-lab.github.io"
    }
  ],
  "keywords": [
    "land cover",
    "CGLS",
    "Copernicus",
    "FAO LCCS",
    "global",
    "raster",
    "H3",
    "100m"
  ],
  "sci:citation": "Buchhorn, M., Lesiv, M., Tsendbazar, N-E., Herold, M., Bertels, L., Smets, B. (2020). Copernicus Global Land Cover Layers — Collection 2. Remote Sensing, 12(6), 1044. doi:10.3390/rs12061044",
  "processing:notes": "Hex parquet aggregates the source 100 m LCCS raster to H3 resolution 9 cells using mode (most frequent class per cell). Re-hexed on the antimeridian/polar-fixed cng-datasets pipeline (boettiger-lab/datasets #88, #92, #93); the prior resolution-8 build (mean then mode, boettiger-lab/data-workflows #110, datasets #80) inflated and dropped cells at the +/-180 deg seam. Output contains only canonical LCCS class values. Tracking: boettiger-lab/data-workflows #186.",
  "stac_extensions": [
    "https://stac-extensions.github.io/raster/v1.1.0/schema.json",
    "https://stac-extensions.github.io/classification/v2.0.0/schema.json",
    "https://stac-extensions.github.io/table/v1.2.0/schema.json"
  ]
}