Skip to content

Phase 3, Task 5: SensorML Types #18

@Sam-Bolling

Description

@Sam-Bolling

Phase 3, Task 5: SensorML 3.0 Type Definitions

Status: COMPLETE ✅

Resolved by commit 3eac9c6.

Deliverables

File Lines Description
src/ogc-api/csapi/formats/sensorml/types.ts 852 Full SensorML 3.0 type hierarchy
src/ogc-api/csapi/formats/sensorml/types.spec.ts 462 23 type compilation & discriminator tests

Coverage

  • 50 exported types covering the complete SensorML 3.0 process model
  • Inheritance chain: DescribedObject → AbstractProcess → AbstractPhysicalProcess → concrete
  • 4 concrete process types with string-literal type discriminators:
    • SimpleProcess, AggregateProcess, PhysicalComponent, PhysicalSystem
  • SensorMLProcess discriminated union for type-safe narrowing via switch(proc.type)
  • 20+ supporting types: Term, Document, Event, ResponsibleParty, CapabilityList, CharacteristicList, Settings, Position, ComponentList, ConnectionList, etc.
  • SWE Common integration via import type { ... } from '../swecommon/types.js'

Verification

  • tsc --noEmit: clean (zero errors)
  • 23/23 SensorML tests pass
  • 27/27 SWE Common tests pass (no regressions)
  • All 400 CSAPI tests unaffected"

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions