AXIOM|
LayerOverwatchLocusCodex
Ontology crosswalk

AIS Maritime Positions — Ontology Crosswalk

Schema: pending (AXC-9schemas/ais-maritime/v1.0.md) Target standards: IHO S-100 (data model), IMO Resolution A.600(15) (vessel identity), ITU-R M.1371 (AIS message format), DCAT-US v3.0 (dataset-level) Authority: International Hydrographic Organization (IHO), International Maritime Organization (IMO), ITU Status: FAIR-aligned, S-100 extension documented Dataset SPDX license: CC-BY-SA-4.0 (research tier reflects AIS data pooling conventions) · proprietary commercial license for paid tiers


1. Why S-100 + IMO A.600

S-100 is the IHO's universal hydrographic data model (replacing the S-57 ENC standard). Every modern ECDIS, port authority, and maritime analytics platform is moving onto S-100 through 2026–2028. IMO Resolution A.600(15) defines the IMO identification number — the permanent vessel identity that survives ownership, flag, and name changes. Together they give a Codex-emitted AIS dataset two critical attributes: compatibility with institutional maritime tooling and identity stability across the vessel lifecycle.

ITU-R M.1371 is the underlying AIS message protocol (message types 1/2/3/5/18/19/24). Codex respects the standard's field semantics without re-serializing to NMEA; we expose the already-decoded values.


2. Dataset-level (DCAT-US v3.0)

DCAT-US field Value
dct:identifier urn:axiom:codex:dataset:ais-maritime:v1.0.0
dct:title "Axiom AIS Maritime Positions Dataset"
dct:description "Normalized AIS position and voyage data enriched with vessel identity, behavior signals, and port-event linkage."
dcat:keyword ["ais", "maritime", "vessel", "imo", "mmsi", "port", "navigation", "tracking"]
dcat:theme ["http://publications.europa.eu/resource/authority/data-theme/TRAN"]
dct:accessRights tiered
dct:license CC-BY-SA-4.0 (research)

3. Record-level crosswalk

3.1 Vessel identity → IMO A.600 + ITU-R M.1371

Codex field Target Target field
imo IMO A.600(15) IMO Number (7-digit) — primary key per standard
mmsi ITU-R M.1371 Maritime Mobile Service Identity (9-digit)
vessel_name ITU-R M.1371 msg 5 Name (max 20 ASCII chars)
call_sign ITU-R M.1371 msg 5 Call Sign (max 7 chars)
flag_state IMO A.600 / ISO 3166-1 ISO-3 country code
vessel_type ITU-R M.1371 Type of Ship and Cargo Type (0–99 codes) — Codex also emits human-readable enum
dwt IMO Deadweight tonnage in metric tonnes
length_oa · beam · draught IMO All in meters

3.2 Position & kinematics → S-100 / ITU-R M.1371

Codex field Target
lat / lng S-100 Position feature · ITU-R M.1371 msg 1/2/3
speed ITU-R M.1371 Speed Over Ground (0.1 kn resolution)
course ITU-R M.1371 Course Over Ground (0.1° resolution)
heading ITU-R M.1371 True Heading (1° resolution)
nav_status ITU-R M.1371
timestamp S-100
rot (rate-of-turn) ITU-R M.1371

3.3 Codex extensions (no S-100 slot)

Codex field Exposed as
behavior_anomaly_flag (bool) axiom:behaviorAnomaly
port_event_id axiom:portEventId (links to Events Timeline)
enrichment_id axiom:enrichmentId (out-of-band vessel-registry payload)
beneficial_owner_urn axiom:beneficialOwnerUrn (entity-resolution link)
sanctioned_owner (bool) axiom:sanctionedOwner
h3_index axiom:h3Index — Codex res-8 spatial key

Additional Codex-extension fields (vessel behavior signatures, anomaly classification, enrichment provenance) are documented in the commercial schema spec.

3.4 APRS envelope → standard provenance terms

Codex field Target
record_id dct:identifier + prov:Entity IRI
source_uri dcat:accessURL
source_system prov:wasGeneratedBy (= ingest agent IRI)
ingested_at / modified_at prov:generatedAtTime / dct:modified
confidence_score axiom:confidence

4. Deviations from standards

  • AIS positions are compressed at ingest to 1-per-minute vessel-wise (configurable per tier). S-100 assumes raw stream; Codex publishes both the raw ITU-coded positions and the compressed view.
  • nav_status is decoded — we emit the human-readable label AND the numeric code. ITU-R M.1371 strictly requires the numeric code on the wire; consumers of our JSON-LD distribution get both.
  • Vessel type — Codex emits ITU-coded type (0–99) but augments with a 6-category enum (container, tanker_crude, tanker_product, bulker, fishing, other) for downstream analytics ergonomics.
  • Vessel-registry enrichment is out-of-band w.r.t. S-100 / AIS. It's treated as a separate prov:Activity that generates a linked prov:Entity (the enrichment payload).

5. FAIR compliance

Principle Status
Findable ✅ (DCAT-US + IMO number lookup)
Accessible ✅ (Parquet + NDJSON over HTTPS, MCP)
Interoperable ✅ (S-100 / ITU-R M.1371 / IMO A.600 aligned)
Reusable ✅ (CC-BY-SA-4.0, versioned schemas)

S-100 conformance: Position + Vessel features at Profile level 2 (feature-type catalog + attribute bindings). Full S-100 Portrayal Catalog (PC) is out of scope — Codex is a data product, not an ECDIS.


6. Changelog

  • v1.0 (2026-04-16) — Initial crosswalk. AXC-9 schema spec pending; this doc will be revisited when that ships.