Schema for Crowdsourced Bathymetry data and metadata, version 3.0.0

Type: object

Type: enum (of string)

Must be one of:

  • "FeatureCollection"

Type: object

Type: object

Type: enum (of string)

Must be one of:

  • "EPSG"

Type: integer

Value must be greater or equal to 1024 and lesser or equal to 32767

Type: enum (of string)

Must be one of:

  • "Transducer"

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

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

Type: string

The software or hardware logger version.

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:

  • "GeoJSON CSB 3.0"

Type: string

The license under which the Trusted Node is
providing CSB data to the IHO DCDB.

Type: object

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: ^([0-9a-zA-Z]{2,}(-[0-9a-zA-Z]{2,})+)$

Type: object

Type: enum (of string)

Must be one of:

  • "GNSS"

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: boolean

Describes whether vessel motion has been corrected for.

Type: boolean

Describes whether vessel draft has been corrected for.

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: integer

Value must be greater or equal to 100000000 and lesser or equal to 999999999

Type: integer

Value must be greater or equal to 1000000 and lesser or equal to 9999999

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

Frequency of echo sounder

Type: string

Transducer used with echo sounder

Type: object

Type: enum (of string)

Must be one of:

  • "MotionSensor"

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: 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: array of object

Array of algorithms applied to the data.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

The following properties are required:

  • name
  • Params

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:

  • "TimeInterpolation"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

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: object

Type: string

The source of the time interpolation, e.g., SystemTime | ZDA | RMC | ...

Type: string

The method of time interpolation, e.g., Midway | ElapsedTime | DataSource | NTP | PTP | ...

Type: string

Comments regarding the source and method of time interpolation.

Type: object

Processing that transformed 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:

  • "CRSTransformation"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: string

CRS name as an EPSG string.

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: string

CRS name as an EPSG string.

Same definition as origin

Type: string

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

Type: object

Processing that transformed 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:

  • "CRS"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: enum (of string)

Must be one of:

  • "EPSG"

Type: string

Comments regarding 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

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: string

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

Type: string

Method used to reduce raw data to vertical reference system, e.g., ObservedWL | PredictedWL | ModelledWL | EllipsoidReduction | ...

Type: string

Model used for reduction of raw data to vertical reference system, e.g., CANNORTH2016v1HyVSEPNAD83v6CD | StationReference | VDatum | VORF | ...

Type: string

Comments regarding the vertical reduction.

Type: object

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

Type: enum (of string)

Must be one of:

  • "GNSSProcessing"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: string

Algorithm used for GNSS post-processing, e.g., RTKLib | CSRS-PPP | ...

Type: string

Version of GNSS post-processing algorithm method used.

Type: string

Comments regarding the algorithm used for GNSS processing.

Type: object

Correction to soundings for sound speed in the water.

Type: enum (of string)

Must be one of:

  • "SoundSpeedCorrection"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: string

Source of correction to soundings, e.g., Model | Profile | GeometricMean | Fixed | CarterTable | MatthewTable | WOA13 |...

Type: string

Algorithm for sound speed correction, e.g., CIDCO-Ocean | Raytraced | ...

Type: string

Version of sound speed algorithm method used.

Type: string

Comments regarding the algorithm used for sound speed correction.

Type: object

General algorithm used to triage data

Type: enum (of string)

Must be one of:

  • "algorithm"

Type: string

RFC3339 UTC time stamp (note: version 3.0.0 allows timezone naive timestamps).

Same definition as timestamp

Type: object

Type: string

Examples: deduplicate, uncertainty estimation, manual editing.

Type: string

Parameters used in data processing.

Type: string

Explanatory text related to algorithm or its outputs.

Type: array
No Additional Items

Each item of this array must be:

GeoJSON Feature

Type: object

Type: enum (of string)

Must be one of:

  • "Feature"

Type: object

Type: number

The distance from the vertical reference point to the seafloor. Should be collected as a positive value, in metres, with decimetre precision.

Type: string

The date and UTC time stamp for the depth measurement as well as can be determined, ideally to millisecond precision in RFC3339 format.

Same definition as timestamp


GeoJSON Point

Type: object

Type: enum (of string)

Must be one of:

  • "Point"

Type: array of number

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:

Type: array of number

Must contain a minimum of 4 items

No Additional Items

Each item of this array must be: