stac-extensions / label

Items that relate labeled AOIs with source imagery.
Apache License 2.0
9 stars 3 forks source link

Contradiction in specification definition - raster vs. vector #12

Open KennSmithDS opened 2 years ago

KennSmithDS commented 2 years ago

Background:

At Radiant Earth, we've been using the label extension for both raster and vector label assets in our catalogs/datasets. This means that any item which represents a label asset from an ML dataset will employ the label extension. These labels will most commonly be either GeoJSON or GeoTIFF, with some exceptions of Numpy array files, etc. However, reading closer into the specification today, I noticed a contradiction.

Issue

In the first section of the specification, there is the verbiage: These labels can take several forms, though all are expected to be contained with a GeoJSON FeatureCollection - emphasis on expected to be contained with a GeoJSON FeatureCollection

Yet then, the label:type field stores an ENUM of either raster or vector.

If the former is true, that label assets must be contained within a GeoJSON, then raster images with classification labels do not apply to this extension.

Proposal/request

  1. Revise the specification to remove the contradiction, in one place stating labels are expected to be GeoJSON only, while in another place stating it can be GeoJSON (vector) or GeoTIFF (raster). Also vector value for label:type could also imply other vector file formats, e.g. shapefile, not just GeoJSON.
  2. Add explanation for how to handle raster label data. Should these be a combination of raster & classification extensions? Should the label extension still be applied to an item with raster label assets?
KennSmithDS commented 2 years ago

Furthermore, clarification would be helpful on the implementation of the name property of the ClassObject, which currently states:

REQUIRED The property key within the asset's each Feature corresponding to class labels. If labels are raster-formatted, use null.

If the label extension is intended to be used with vector assets only, then for raster assets with contain labels, shouldn't the line "If labels are raster-formatted, use null" be removed from the specification, and the classification:classes property take precedence over label:classes?

KennSmithDS commented 2 years ago

Pending @kbgg review on #13