Class: StacItem¶
A STAC 1.1 Item describing one plot. Closes audit §3.1 rows for apps/vscode/src/types/stac.ts, apps/vscode/src/services/sceneThumbnailService.ts, and apps/web-shell/src/mocks/stacService.ts. Persisted to <store>/<catalog>/<plot-slug>/item.json.
classDiagram
class StacItem
click StacItem href "../../classes/StacItem/"
StacItem : assets
StacItem --> "1" Any : assets
click Any href "../../classes/Any/"
StacItem : bbox
StacItem : collection
StacItem : geometry
StacItem : id
StacItem : links
StacItem --> "1..*" StacLink : links
click StacLink href "../../classes/StacLink/"
StacItem : properties
StacItem --> "1" StacItemProperties : properties
click StacItemProperties href "../../classes/StacItemProperties/"
StacItem : stac_extensions
StacItem : stac_version
StacItem : type
StacItem --> "1" StacTypeEnum : type
click StacTypeEnum href "../../enums/StacTypeEnum/"
Slots¶
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| type | 1 StacTypeEnum |
STAC discriminator — always "Feature" for Items | direct |
| stac_version | 1 String |
STAC version string — "1 | direct |
| stac_extensions | * String |
Optional STAC extension schema URIs | direct |
| id | 1 String |
Item identifier (slug, UUID, or composite) | direct |
| geometry | 1 String or GeoJSONPoint or GeoJSONEmptyPoint or GeoJSONLineString or GeoJSONPolygon or GeoJSONMultiPoint or GeoJSONMultiLineString or GeoJSONMultiPolygon |
GeoJSON geometry — any_of union over the seven existing geometry classes in g... | direct |
| bbox | 1..* Float |
Bounding box — either [west, south, east, north] (4-element 2D) or [west, sou... | direct |
| properties | 1 StacItemProperties |
STAC Item properties — core fields + debrief: extension + open-record additio... | direct |
| links | 1..* StacLink |
Catalog navigation links (self, root, parent, derived_from, etc |
direct |
| assets | 1 Any |
Asset map keyed by arbitrary string (features, thumbnail, overview, `so... |
direct |
| collection | 0..1 String |
Parent Collection ID, when the Item belongs to a Collection (STAC 1 | direct |
Identifier and Mapping Information¶
Schema Source¶
- from schema: https://debrief.info/schemas/debrief
Mappings¶
| Mapping Type | Mapped Value |
|---|---|
| self | debrief:StacItem |
| native | debrief:StacItem |
LinkML Source¶
Direct¶
name: StacItem
description: A STAC 1.1 Item describing one plot. Closes audit §3.1 rows for `apps/vscode/src/types/stac.ts`,
`apps/vscode/src/services/sceneThumbnailService.ts`, and `apps/web-shell/src/mocks/stacService.ts`.
Persisted to `<store>/<catalog>/<plot-slug>/item.json`.
from_schema: https://debrief.info/schemas/debrief
attributes:
type:
name: type
description: STAC discriminator — always "Feature" for Items.
from_schema: https://debrief.info/schemas/stac
domain_of:
- GeoJSONPoint
- GeoJSONEmptyPoint
- GeoJSONLineString
- GeoJSONPolygon
- GeoJSONMultiPoint
- GeoJSONMultiLineString
- GeoJSONMultiPolygon
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- ToolParameter
- FileProvEntry
- StacItem
- StacCatalog
- StacLink
- StacAsset
- StacItemAssetDefinition
- StacCollection
- RawGeoJSONFeature
- RawGeoJSONFeatureCollection
- DatasetAxisMetadata
- DatasetEntry
- StoryboardFeature
- SceneFeature
- SceneThumbnailAssetEntry
- MCPContentItem
- MCPParamSchema
- ToolsUpdateMessage
range: StacTypeEnum
required: true
equals_string: Feature
stac_version:
name: stac_version
description: STAC version string — "1.0.0" or "1.1.0" (Research R-005).
from_schema: https://debrief.info/schemas/stac
rank: 1000
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: string
required: true
stac_extensions:
name: stac_extensions
description: Optional STAC extension schema URIs. Absent on STAC 1.0 fixtures,
present on STAC 1.1 fixtures (Research R-005).
from_schema: https://debrief.info/schemas/stac
rank: 1000
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: string
required: false
multivalued: true
id:
name: id
description: Item identifier (slug, UUID, or composite).
from_schema: https://debrief.info/schemas/stac
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- Tool
- PlatformRecord
- PlotSummary
- StacItemSummary
- StacItem
- StacCatalog
- StacCollection
- RawGeoJSONFeature
- StoryboardProperties
- SceneProperties
- StoryboardFeature
- SceneFeature
- ToolDefinition
range: string
required: true
geometry:
name: geometry
description: GeoJSON geometry — any_of union over the seven existing geometry
classes in geojson.yaml. Reuses the same pattern as RawGeoJSONFeature.geometry.
from_schema: https://debrief.info/schemas/stac
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- InputFeatureState
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- StacItem
- RawGeoJSONFeature
- StoryboardFeature
- SceneFeature
required: true
any_of:
- range: GeoJSONPoint
- range: GeoJSONEmptyPoint
- range: GeoJSONLineString
- range: GeoJSONPolygon
- range: GeoJSONMultiPoint
- range: GeoJSONMultiLineString
- range: GeoJSONMultiPolygon
bbox:
name: bbox
description: Bounding box — either [west, south, east, north] (4-element 2D) or
[west, south, min_alt, east, north, max_alt] (6-element 3D). Live fixtures use
4-element 2D (Research R-004).
from_schema: https://debrief.info/schemas/stac
domain_of:
- TrackFeature
- MultiPointFeature
- MultiPolygonFeature
- PlotSummary
- StacItemSummary
- StacItem
- StacSpatialExtent
- RawGeoJSONFeature
- RawGeoJSONFeatureCollection
range: float
required: true
multivalued: true
minimum_cardinality: 4
maximum_cardinality: 6
properties:
name: properties
description: 'STAC Item properties — core fields + debrief: extension + open-record
additional keys (Research R-002 / R-003).'
from_schema: https://debrief.info/schemas/stac
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- InputFeatureState
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- StacItem
- RawGeoJSONFeature
- StoryboardFeature
- SceneFeature
range: StacItemProperties
required: true
inlined: true
links:
name: links
description: Catalog navigation links (`self`, `root`, `parent`, `derived_from`,
etc.). Order is preserved.
from_schema: https://debrief.info/schemas/stac
rank: 1000
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: StacLink
required: true
multivalued: true
inlined: true
inlined_as_list: true
assets:
name: assets
description: 'Asset map keyed by arbitrary string (`features`, `thumbnail`, `overview`,
`source-<id>`, `scene-thumbnail-<id>`). Open-record per Research R-002 — modelled
as `range: Any` here because the STAC wire format is a dict, not a list. The
generator post-processor rewrites this to `dict[str, StacAsset]` (Pydantic)
and `Record<string, StacAsset>` (TypeScript).'
from_schema: https://debrief.info/schemas/stac
rank: 1000
domain_of:
- StacItem
range: Any
required: true
collection:
name: collection
description: Parent Collection ID, when the Item belongs to a Collection (STAC
1.1 optional field).
from_schema: https://debrief.info/schemas/stac
rank: 1000
domain_of:
- StacItem
range: string
required: false
Induced¶
name: StacItem
description: A STAC 1.1 Item describing one plot. Closes audit §3.1 rows for `apps/vscode/src/types/stac.ts`,
`apps/vscode/src/services/sceneThumbnailService.ts`, and `apps/web-shell/src/mocks/stacService.ts`.
Persisted to `<store>/<catalog>/<plot-slug>/item.json`.
from_schema: https://debrief.info/schemas/debrief
attributes:
type:
name: type
description: STAC discriminator — always "Feature" for Items.
from_schema: https://debrief.info/schemas/stac
alias: type
owner: StacItem
domain_of:
- GeoJSONPoint
- GeoJSONEmptyPoint
- GeoJSONLineString
- GeoJSONPolygon
- GeoJSONMultiPoint
- GeoJSONMultiLineString
- GeoJSONMultiPolygon
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- ToolParameter
- FileProvEntry
- StacItem
- StacCatalog
- StacLink
- StacAsset
- StacItemAssetDefinition
- StacCollection
- RawGeoJSONFeature
- RawGeoJSONFeatureCollection
- DatasetAxisMetadata
- DatasetEntry
- StoryboardFeature
- SceneFeature
- SceneThumbnailAssetEntry
- MCPContentItem
- MCPParamSchema
- ToolsUpdateMessage
range: StacTypeEnum
required: true
equals_string: Feature
stac_version:
name: stac_version
description: STAC version string — "1.0.0" or "1.1.0" (Research R-005).
from_schema: https://debrief.info/schemas/stac
rank: 1000
alias: stac_version
owner: StacItem
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: string
required: true
stac_extensions:
name: stac_extensions
description: Optional STAC extension schema URIs. Absent on STAC 1.0 fixtures,
present on STAC 1.1 fixtures (Research R-005).
from_schema: https://debrief.info/schemas/stac
rank: 1000
alias: stac_extensions
owner: StacItem
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: string
required: false
multivalued: true
id:
name: id
description: Item identifier (slug, UUID, or composite).
from_schema: https://debrief.info/schemas/stac
alias: id
owner: StacItem
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- Tool
- PlatformRecord
- PlotSummary
- StacItemSummary
- StacItem
- StacCatalog
- StacCollection
- RawGeoJSONFeature
- StoryboardProperties
- SceneProperties
- StoryboardFeature
- SceneFeature
- ToolDefinition
range: string
required: true
geometry:
name: geometry
description: GeoJSON geometry — any_of union over the seven existing geometry
classes in geojson.yaml. Reuses the same pattern as RawGeoJSONFeature.geometry.
from_schema: https://debrief.info/schemas/stac
alias: geometry
owner: StacItem
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- InputFeatureState
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- StacItem
- RawGeoJSONFeature
- StoryboardFeature
- SceneFeature
range: string
required: true
any_of:
- range: GeoJSONPoint
- range: GeoJSONEmptyPoint
- range: GeoJSONLineString
- range: GeoJSONPolygon
- range: GeoJSONMultiPoint
- range: GeoJSONMultiLineString
- range: GeoJSONMultiPolygon
bbox:
name: bbox
description: Bounding box — either [west, south, east, north] (4-element 2D) or
[west, south, min_alt, east, north, max_alt] (6-element 3D). Live fixtures use
4-element 2D (Research R-004).
from_schema: https://debrief.info/schemas/stac
alias: bbox
owner: StacItem
domain_of:
- TrackFeature
- MultiPointFeature
- MultiPolygonFeature
- PlotSummary
- StacItemSummary
- StacItem
- StacSpatialExtent
- RawGeoJSONFeature
- RawGeoJSONFeatureCollection
range: float
required: true
multivalued: true
minimum_cardinality: 4
maximum_cardinality: 6
properties:
name: properties
description: 'STAC Item properties — core fields + debrief: extension + open-record
additional keys (Research R-002 / R-003).'
from_schema: https://debrief.info/schemas/stac
alias: properties
owner: StacItem
domain_of:
- TrackFeature
- ReferenceLocation
- SystemState
- MultiPointFeature
- MultiPolygonFeature
- InputFeatureState
- NarrativeEntry
- CircleAnnotation
- RectangleAnnotation
- LineAnnotation
- TextAnnotation
- VectorAnnotation
- PolyAnnotation
- StacItem
- RawGeoJSONFeature
- StoryboardFeature
- SceneFeature
range: StacItemProperties
required: true
inlined: true
links:
name: links
description: Catalog navigation links (`self`, `root`, `parent`, `derived_from`,
etc.). Order is preserved.
from_schema: https://debrief.info/schemas/stac
rank: 1000
alias: links
owner: StacItem
domain_of:
- StacItem
- StacCatalog
- StacCollection
range: StacLink
required: true
multivalued: true
inlined: true
inlined_as_list: true
assets:
name: assets
description: 'Asset map keyed by arbitrary string (`features`, `thumbnail`, `overview`,
`source-<id>`, `scene-thumbnail-<id>`). Open-record per Research R-002 — modelled
as `range: Any` here because the STAC wire format is a dict, not a list. The
generator post-processor rewrites this to `dict[str, StacAsset]` (Pydantic)
and `Record<string, StacAsset>` (TypeScript).'
from_schema: https://debrief.info/schemas/stac
rank: 1000
alias: assets
owner: StacItem
domain_of:
- StacItem
range: Any
required: true
collection:
name: collection
description: Parent Collection ID, when the Item belongs to a Collection (STAC
1.1 optional field).
from_schema: https://debrief.info/schemas/stac
rank: 1000
alias: collection
owner: StacItem
domain_of:
- StacItem
range: string
required: false