Skip to content

Class: RawGeoJSONFeature

Parse-boundary GeoJSON Feature (RFC 7946 §3.2). Consumers narrow this to a domain feature (TrackFeature, ReferenceLocation, SystemState, MultiPointFeature, MultiPolygonFeature) after validating the properties.kind discriminator. Narrowing is done via the existing isDebriefFeature / isTrackFeature / isReferenceLocation type guards in @debrief/schemas/unions.ts (TypeScript) and debrief_schemas.unions (Python). Note: geometry is REQUIRED — callers handling possibly-null geometry payloads (e.g. NarrativeEntry features) either narrow at the parse boundary or defer to the domain-specific feature class that allows the looser shape (see ADR-021 for the ingress-coercion deferral).

URI: debrief:class/RawGeoJSONFeature

 classDiagram
    class RawGeoJSONFeature
    click RawGeoJSONFeature href "../../classes/RawGeoJSONFeature/"
      RawGeoJSONFeature : bbox

      RawGeoJSONFeature : geometry

      RawGeoJSONFeature : id

      RawGeoJSONFeature : properties





        RawGeoJSONFeature --> "0..1" Any : properties
        click Any href "../../classes/Any/"



      RawGeoJSONFeature : type


Slots

Name Cardinality and Range Description Inheritance
type 1
String
GeoJSON object type — always "Feature" direct
id 0..1
String or 
String or 
Integer
Optional feature identifier 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
properties 0..1
Any
Free-form properties dictionary direct
bbox *
Float
Optional bounding box direct

Usages

used by used in type used
RawGeoJSONFeatureCollection features range RawGeoJSONFeature
ResultsSlice result_layers range RawGeoJSONFeature

Identifier and Mapping Information

Schema Source

  • from schema: https://debrief.info/schemas/debrief

Mappings

Mapping Type Mapped Value
self debrief:RawGeoJSONFeature
native debrief:RawGeoJSONFeature

LinkML Source

Direct

name: RawGeoJSONFeature
description: 'Parse-boundary GeoJSON Feature (RFC 7946 §3.2). Consumers narrow this
  to a domain feature (TrackFeature, ReferenceLocation, SystemState, MultiPointFeature,
  MultiPolygonFeature) after validating the properties.kind discriminator. Narrowing
  is done via the existing isDebriefFeature / isTrackFeature / isReferenceLocation
  type guards in @debrief/schemas/unions.ts (TypeScript) and debrief_schemas.unions
  (Python). Note: geometry is REQUIRED  callers handling possibly-null geometry payloads
  (e.g. NarrativeEntry features) either narrow at the parse boundary or defer to the
  domain-specific feature class that allows the looser shape (see ADR-021 for the
  ingress-coercion deferral).'
from_schema: https://debrief.info/schemas/debrief
attributes:
  type:
    name: type
    description: GeoJSON object type — always "Feature".
    from_schema: https://debrief.info/schemas/raw-geojson
    domain_of:
    - GeoJSONPoint
    - GeoJSONEmptyPoint
    - GeoJSONLineString
    - GeoJSONPolygon
    - GeoJSONMultiPoint
    - GeoJSONMultiLineString
    - GeoJSONMultiPolygon
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - ToolParameter
    - FileProvEntry
    - RawGeoJSONFeature
    - RawGeoJSONFeatureCollection
    - DatasetAxisMetadata
    - DatasetEntry
    - StoryboardFeature
    - SceneFeature
    range: string
    required: true
    equals_string: Feature
  id:
    name: id
    description: Optional feature identifier. RFC 7946 permits either a string or
      an integer; both are retained without coercion.
    from_schema: https://debrief.info/schemas/raw-geojson
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - Tool
    - PlatformRecord
    - PlotSummary
    - StacItemSummary
    - RawGeoJSONFeature
    - StoryboardProperties
    - SceneProperties
    - StoryboardFeature
    - SceneFeature
    required: false
    any_of:
    - range: string
    - range: integer
  geometry:
    name: geometry
    description: GeoJSON geometry — any_of union over the seven existing geometry
      classes in geojson.yaml (GeoJSONPoint, GeoJSONEmptyPoint, GeoJSONLineString,
      GeoJSONPolygon, GeoJSONMultiPoint, GeoJSONMultiLineString, GeoJSONMultiPolygon).
      Pydantic validates via try-each-alternative; observed cost is ~25µs per feature
      (10 000 features in ~250ms).
    from_schema: https://debrief.info/schemas/raw-geojson
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - InputFeatureState
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - RawGeoJSONFeature
    - StoryboardFeature
    - SceneFeature
    required: true
    any_of:
    - range: GeoJSONPoint
    - range: GeoJSONEmptyPoint
    - range: GeoJSONLineString
    - range: GeoJSONPolygon
    - range: GeoJSONMultiPoint
    - range: GeoJSONMultiLineString
    - range: GeoJSONMultiPolygon
  properties:
    name: properties
    description: Free-form properties dictionary. Consumers narrow to a domain properties
      class (TrackProperties, ReferenceLocationProperties, etc.) after validating
      the kind discriminator. May be absent or null per RFC 7946 §3.2.
    from_schema: https://debrief.info/schemas/raw-geojson
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - InputFeatureState
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - RawGeoJSONFeature
    - StoryboardFeature
    - SceneFeature
    range: Any
    required: false
  bbox:
    name: bbox
    description: Optional bounding box. Either [minLon, minLat, maxLon, maxLat] (length
      4) or [minLon, minLat, minAlt, maxLon, maxLat, maxAlt] (length 6).
    from_schema: https://debrief.info/schemas/raw-geojson
    domain_of:
    - TrackFeature
    - SystemStateProperties
    - MultiPointFeature
    - MultiPolygonFeature
    - PlotSummary
    - StacItemSummary
    - RawGeoJSONFeature
    - RawGeoJSONFeatureCollection
    range: float
    required: false
    multivalued: true

Induced

name: RawGeoJSONFeature
description: 'Parse-boundary GeoJSON Feature (RFC 7946 §3.2). Consumers narrow this
  to a domain feature (TrackFeature, ReferenceLocation, SystemState, MultiPointFeature,
  MultiPolygonFeature) after validating the properties.kind discriminator. Narrowing
  is done via the existing isDebriefFeature / isTrackFeature / isReferenceLocation
  type guards in @debrief/schemas/unions.ts (TypeScript) and debrief_schemas.unions
  (Python). Note: geometry is REQUIRED  callers handling possibly-null geometry payloads
  (e.g. NarrativeEntry features) either narrow at the parse boundary or defer to the
  domain-specific feature class that allows the looser shape (see ADR-021 for the
  ingress-coercion deferral).'
from_schema: https://debrief.info/schemas/debrief
attributes:
  type:
    name: type
    description: GeoJSON object type — always "Feature".
    from_schema: https://debrief.info/schemas/raw-geojson
    alias: type
    owner: RawGeoJSONFeature
    domain_of:
    - GeoJSONPoint
    - GeoJSONEmptyPoint
    - GeoJSONLineString
    - GeoJSONPolygon
    - GeoJSONMultiPoint
    - GeoJSONMultiLineString
    - GeoJSONMultiPolygon
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - ToolParameter
    - FileProvEntry
    - RawGeoJSONFeature
    - RawGeoJSONFeatureCollection
    - DatasetAxisMetadata
    - DatasetEntry
    - StoryboardFeature
    - SceneFeature
    range: string
    required: true
    equals_string: Feature
  id:
    name: id
    description: Optional feature identifier. RFC 7946 permits either a string or
      an integer; both are retained without coercion.
    from_schema: https://debrief.info/schemas/raw-geojson
    alias: id
    owner: RawGeoJSONFeature
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - Tool
    - PlatformRecord
    - PlotSummary
    - StacItemSummary
    - RawGeoJSONFeature
    - StoryboardProperties
    - SceneProperties
    - StoryboardFeature
    - SceneFeature
    range: string
    required: false
    any_of:
    - range: string
    - range: integer
  geometry:
    name: geometry
    description: GeoJSON geometry — any_of union over the seven existing geometry
      classes in geojson.yaml (GeoJSONPoint, GeoJSONEmptyPoint, GeoJSONLineString,
      GeoJSONPolygon, GeoJSONMultiPoint, GeoJSONMultiLineString, GeoJSONMultiPolygon).
      Pydantic validates via try-each-alternative; observed cost is ~25µs per feature
      (10 000 features in ~250ms).
    from_schema: https://debrief.info/schemas/raw-geojson
    alias: geometry
    owner: RawGeoJSONFeature
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - InputFeatureState
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - RawGeoJSONFeature
    - StoryboardFeature
    - SceneFeature
    range: string
    required: true
    any_of:
    - range: GeoJSONPoint
    - range: GeoJSONEmptyPoint
    - range: GeoJSONLineString
    - range: GeoJSONPolygon
    - range: GeoJSONMultiPoint
    - range: GeoJSONMultiLineString
    - range: GeoJSONMultiPolygon
  properties:
    name: properties
    description: Free-form properties dictionary. Consumers narrow to a domain properties
      class (TrackProperties, ReferenceLocationProperties, etc.) after validating
      the kind discriminator. May be absent or null per RFC 7946 §3.2.
    from_schema: https://debrief.info/schemas/raw-geojson
    alias: properties
    owner: RawGeoJSONFeature
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - InputFeatureState
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - RawGeoJSONFeature
    - StoryboardFeature
    - SceneFeature
    range: Any
    required: false
  bbox:
    name: bbox
    description: Optional bounding box. Either [minLon, minLat, maxLon, maxLat] (length
      4) or [minLon, minLat, minAlt, maxLon, maxLat, maxAlt] (length 6).
    from_schema: https://debrief.info/schemas/raw-geojson
    alias: bbox
    owner: RawGeoJSONFeature
    domain_of:
    - TrackFeature
    - SystemStateProperties
    - MultiPointFeature
    - MultiPolygonFeature
    - PlotSummary
    - StacItemSummary
    - RawGeoJSONFeature
    - RawGeoJSONFeatureCollection
    range: float
    required: false
    multivalued: true