-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
SensorML 3.0 Specification Audit
Document Information
- Standard: OGC SensorML 3.0
- Document Number: OGC 23-000
- Version: 3.0
- Approval Date: 2025-06-02
- Publication Date: 2025-07-16
- Published Standard URL: https://docs.ogc.org/is/23-000/23-000.html
- JSON Schemas: https://schemas.opengis.net/sensorML/3.0/json/
Related Standards
- SWE Common 3.0: OGC 24-014 (Draft)
- GeoPose 1.0: OGC 21-056r11
- ISO 19115: Geographic information — Metadata
Media Types
- JSON Encoding:
application/sml+json - Draft Media Type:
application/vnd.ogc.sml+json
✅ Audit Status: COMPLETED
Completion Date: 2026-01-27
Compliance Level: ~75% (Core types complete, advanced features missing)
Summary
- ✅ All core process types implemented (PhysicalSystem, PhysicalComponent, SimpleProcess, AggregateProcess)
- ✅ Parser with format detection working
- ✅ Type guards and runtime validation
- ✅ Good test coverage
⚠️ Limited position type resolution- ❌ No JSON Schema validation
- ❌ Missing advanced types (Event, Link, Capabilities, Characteristics)
Detailed Findings
See audit comment below for complete implementation status.
🎯 Implementation Checklist
Core Types
- DescribedObject (Clause 8.2.2)
- AbstractProcess (Clause 8.2.9)
- SimpleProcess (Clause 8.3)
- AggregateProcess (Clause 8.4)
- PhysicalComponent (Clause 8.5)
- AbstractPhysicalProcess (Clause 8.5.1)
- PhysicalSystem (Clause 8.6)
- Event (Clause 8.7)
- Link (Clause 8.8)
- Deployment (Clause 8.9)
- DerivedProperty (Clause 8.10)
Supporting Types
- XLink
- Identifier
- Classifier
- Keyword
- Contact
- Document
- Constraint
- ValidTime
- CapabilityList (Clause 8.2.8)
- CharacteristicList (Clause 8.2.7)
- Feature (Clause 8.2.5)
- Observation (Clause 8.2.6)
Parsers & Validators
- SensorML parser (SystemParser.parseSensorML)
- Format detection
- GeoJSON conversion
- JSON Schema validation
- Type guards
Position Handling
- Point geometry
- Pose (lat/lon/h)
- TextComponent resolution
- AbstractProcess resolution
- XLink resolution
- VectorComponent resolution
- DataRecordComponent resolution
- DataArrayComponent resolution
Testing
- Parser tests
- Format detection tests
- Type guard tests
- Schema validation tests
- Conformance tests
🔧 Priority Recommendations
HIGH Priority
- JSON Schema Validation: Implement validation against official OGC schemas at https://schemas.opengis.net/sensorML/3.0/json/
MEDIUM Priority
- Full Position Resolution: Implement resolution for all Position type variants (TextComponent, Process, XLink, SWE components)
- Missing Types: Add Event, Link, CapabilityList, CharacteristicList as use cases emerge
LOW Priority
- Conformance Documentation: Document which OGC 23-000 conformance classes (Annex A) are supported
📚 Implementation References
Code Locations
- Type Definitions:
src/ogc-api/csapi/sensorml/ - Parser:
src/ogc-api/csapi/parsers/base.ts - Format Detection:
src/ogc-api/csapi/formats.ts - Tests:
src/ogc-api/csapi/parsers/base.spec.ts,src/ogc-api/csapi/formats.spec.ts
Key Files
- base-types.ts - DescribedObject and base types
- abstract-process.ts - Process base class
- physical-system.ts - Composite physical devices
- physical-component.ts - Atomic physical devices
📖 Standard Structure
Part 1: Overview (Clauses 1-7)
- Clause 1: Scope
- Clause 2: Conformance
- Clause 3: References
- Clause 4: Terms and Definitions
- Clause 5: Conventions
- Clause 6: General Model Overview
- Clause 7: Requirements Classes Overview
Part 2: Core Types (Clause 8)
- 8.2: Core Packages
- 8.2.2: DescribedObject
- 8.2.5: Feature
- 8.2.6: Observation
- 8.2.7: CharacteristicList
- 8.2.8: CapabilityList
- 8.2.9: AbstractProcess
- 8.3: SimpleProcess
- 8.4: AggregateProcess
- 8.5: PhysicalComponent
- 8.5.1: AbstractPhysicalProcess
- 8.6: PhysicalSystem
- 8.7: Event
- 8.8: Link
- 8.9: Deployment
- 8.10: DerivedProperty
Part 3: Requirements and Conformance (Annexes)
- Annex A: Conformance Classes
- Annex B: Requirements
- Annex C: Examples
Last Updated: 2026-01-27
Audit Performed By: GitHub Copilot
Standard Version: OGC 23-000 (Published)
Reactions are currently unavailable