Schema for Crowdsourced Bathymetry data and metadata (to accompany separate XYZ data), version 3.1.0

Type: object

Type: object

Type: string

The Trusted Node’s name, in free-text format.

Type: string

A free-text field for the Trusted Node’s email address, so that data users can contact the Trusted Node with questions about the data.

Must match regular expression: ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$

Type: string

Generated by the Trusted Node, this number identifies the Trusted Node and uniquely identifies the contributing vessel. The characters preceding the hyphen (-) identify the Trusted Node, followed by a hyphen (-), and then the vessel’s unique identifier. The UUID assigned by the Trusted Node is consistent for each contributing vessel, throughout the life of service of the vessel. However, if the vessel chooses to remain anonymous to data users, the Trusted Node does not need to publish the vessel name in association with the UUID.

Must match regular expression: ^[a-zA-Z][a-zA-Z0-9]*-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

Type: enum (of string)

This field describes the format and version for the data and metadata, such as GeoJSON, CSV, or XYZT. Reference the version of the CSB data convention (e.g., CSB 2.0, CSB 3.0) where possible.

Must be one of:

  • "XYZ GeoJSON CSB 3.1"

Type: string

The Creative Commons public domain
dedication under which the Trusted Node is
providing CSB data to the IHO DCDB.

Type: string

The software program or hardware logger used to log the data.

Type: string

The software or hardware logger version.

Type: string

The EPSG code referring to the Coordinate Reference System (CRS) of the navigation data

Must match regular expression: ^EPSG:(3276[0-7]$|327[0-5]\d$|32[0-6]\d\d$|3[0-1]\d\d\d$|[1-2][0-9]{4}$|102[4-9]|10[3-9][0-9]$|1[1-9][0-9][0-9]$|[2-9][0-9][0-9][0-9]$)

Type: enum (of string)

The vertical reference of the depth. The vertical reference will most likely be the transducer (ex: NMEA DBT string) or the waterline (ex: NMEA DPT string).

Must be one of:

  • "Transducer"
  • "Waterline"
  • "Unknown"

Type: enum (of string)

Position Reference Point (PRP) is the reference point where the navigation data is output. Most likely the reference point will be the location of the GNSS antenna.

Must be one of:

  • "GNSS"
  • "Transducer"
  • "ReferencePlace"

Type: object

Type: string

The type of vessel collecting the data, such as a cargo ship, fishing vessel, private vessel,
research vessel, etc.

Type: string

The name of the vessel, in open string format.

Type: integer

The length overall (LOA) of the vessel, expressed as a positive value, in metres, to the nearest metre.

Value must be greater or equal to 1

Type: enum (of string)

ID numbers used to uniquely identify vessels. Currently, only two types are available: Maritime Mobile Service Identity (MMSI) or International Maritime Organization (IMO) number. The MMSI number is used to uniquely identify a vessel through services such as AIS. The IMO number is linked to a vessel for its lifetime, regardless of change in flag or ownership. Contributors may select only one ID Type.

Must be one of:

  • "MMSI"
  • "IMO"


The value for the ID Type. MMSI numbers are often nine digits, while IMO numbers are the letters “IMO,” followed by a seven-digit number.

Type: string
Must match regular expression: ^\d{9}$
Type: string
Must match regular expression: ^IMO\d{7}$

Type: array

Composite element containing all information about a given sensor in use on the collection platform. Minimum specification of fields as shown; some sensors may have additional fields (e.g., frequency for an echo sounder). Position is given from the PRP (Position Reference Point) in metres. The offsets are positive NED (North (Bow), East (Starboard), Down)

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object

Type: enum (of string)

Must be one of:

  • "Sounder"

Type: string

Sensor manufacturer

Type: string

Sensor model

Type: array of number

Position is given from the PRP (Position Reference Point) in metres. The offsets are positive NED (North (Bow), East (Starboard), Down)

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: number

Draft of vessel

Type: number

Uncertainty in vessel draft

Type: number

Frequency of echo sounder

Type: number

Pulse length of echo sounder

Type: object

Type: enum (of string)

Must be one of:

  • "IMU"

Type: string

Sensor manufacturer

Same definition as make

Type: array of number

Position is given from the PRP (Position Reference Point) in metres. The offsets are positive NED (North (Bow), East (Starboard), Down)

Same definition as position
Type: object

Type: enum (of string)

Must be one of:

  • "GNSS"

Type: string

Sensor manufacturer

Same definition as make

Type: array of number

Position is given from the PRP (Position Reference Point) in metres. The offsets are positive NED (North (Bow), East (Starboard), Down)

Same definition as position

Type: string

Model of GNSS antenna

Type: boolean

Some systems may have the ability to provide sound speed data and correct the sounding. If details regarding such corrections are known (“True”), it is strongly recommended that the ‘Sound Speed Correction’ field in Table 4 be populated. If “False”, no information about how sound speed was applied has been recorded.

Type: boolean

Describes whether the final vessel position (longitude and latitude) has been corrected for the lateral and longitudinal offsets between the GNSS receiver and the transducer (“True”), or if they were not (“False”). If “True”, the position element of the sensor description field in Table 3 should be populated.

Type: boolean

Raw data, without tidal corrections or additional processing, are preferable as a contribution to the IHO DCDB. This field allows the data contributor to state whether the data has been processed or corrected (‘True’) or not (‘False’). If ‘True’, it is strongly recommended that detailed information be captured in optional metadata fields as outlined in section 3.3.4. If ‘False’, information in section 3.3.4 is not needed.

Type: string

If the contributor believes there were any problems or events that may have degraded the quality of the position or depth measurements, they can enter that information in this free-text field.

Type: string

Generated by the Trusted Node, this number identifies the Trusted Node and uniquely identifies the contributing vessel. The characters preceding the hyphen (-) identify the Trusted Node, followed by a hyphen (-), and then the vessel’s unique identifier. The UUID assigned by the Trusted Node is consistent for each contributing vessel, throughout the life of service of the vessel. However, if the vessel chooses to remain anonymous to data users, the Trusted Node does not need to publish the vessel name in association with the UUID.

Same definition as uniqueVesselID

Type: array

List of processing steps recorded for the data

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object

Method by which times are assigned to data being recorded.

Type: enum (of string)

Must be one of:

  • "TimeStampInterpolation"

Type: string

RFC3339 UTC time stamp

Must match regular expression: ^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)([.][0-9]+)?[Zz]$

Type: string

Name of timestamp interpolation method.

Type: string

Algorithm used to interpolate timestamps.

Type: string

Version of timestamp interpolation method used.

Type: object

Processing that changed the reference system of the data. Must include the original and destination coordinate reference system, and the method used to change.

Type: enum (of string)

Must be one of:

  • "CRSChange"

Type: string

Original coordinate reference system of the data (e.g., EPSG:4326).

Type: string

Coordinate reference system to which data were transformed (e.g., EPSG:8252).

Type: string

Method used to change coordinates (e.g., GeoTrans).

Type: object

Steps taken to reduce raw data to a vertical reference system (Chart Datum, MSL, ellipsoid, water level, etc.). Must include the vertical reference system, and method used.

Type: enum (of string)

Must be one of:

  • "VerticalReduction"

Type: string

Vertical reference system (e.g., Chart Datum, MSL, ellipsoid, water level, etc.)

Type: string

Datum of vertical reference system.

Type: enum (of string)

Method used to reduce raw data to vertical reference system.

Must be one of:

  • "EllipsoidReduction"
  • "Observed Waterlevel"
  • "Predicted Waterlevel"

Type: string

Model used for reduction of raw data to vertical reference system

Type: string

Algorithm used to reduce raw data to a vertical reference system.

Type: string

Version of algorithm used to reduce raw data to a vertical reference system.

Type: object

Steps taken to post-process or improve horizontal and vertical positioning.

Type: enum (of string)

Must be one of:

  • "GNSS"

Type: enum (of string)

Algorithm used for GNSS post-processing

Must be one of:

  • "RTKLib"
  • "CSRS-PPP"

Type: string

Version of GNSS post-processing algoritm method used.

Type: object

Correction to soundings for sound speed in the water.

Type: enum (of string)

Must be one of:

  • "SoundSpeed"

Type: string

Source of correction to soundings.

Type: string

Method of sounding correction.

Type: string

Version of sounding correction method used.

Type: object

Algorithm for estimating horizontal and vertical uncertainty of soundings.

Type: enum (of string)

Must be one of:

  • "Uncertainty"

Type: string

Name of uncertainty estimation algorithm

Type: object

Parameters used in application of uncertainty estimation algorithm.

Type: string

Version of uncertainty estimation algorithm used.

Type: string

Explanatory text related to uncertainty estimation algorithm or its inputs/outputs

Type: string

Source (e.g., paper, project, library) of the algorithm applied. Formats can be: DOI, URL or other.

Type: object

Analysis of vertical offsets of soundings recorded by intersecting track lines.

Type: enum (of string)

Must be one of:

  • "VerticalOffsetAnalysis"

Type: string

Name of vertical offset analysis algorithm.

Type: string

Version of vertical offset analysis algorithm used.

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

Source (e.g., paper, project, library) of the algorithm applied. Formats can be: DOI, URL or other.

Type: string

Explanatory text related to vertical offset analysis algorithm or its inputs/outputs

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

Type: string

Source (e.g., paper, project, library) of the algorithm applied. Formats can be: DOI, URL or other.

Type: string

Explanatory text related to analysis or its inputs/outputs

Type: object

General algorithm used to triage data

Type: enum (of string)

Must be one of:

  • "Algorithm"

Type: string

Examples: deduplicate, uncertainty estimation, manual editing

Type: string

Source (e.g., project, library) of the algorithm applied

Type: null or object

Parameters used in data processing.

Type: string

Version of algorithm used to triage data.

Type: string

Explanatory text related to algorithm or its outputs