Annotation Database Entity Documentation: Difference between revisions

From MediaWiki
Jump to navigation Jump to search
No edit summary
(Automated update of generated documentation section)
Line 14: Line 14:


<!-- BEGIN GENERATED CONTENT -->
<!-- BEGIN GENERATED CONTENT -->
==== Schema: admin ====
== Schemas ==
=== Schema: admin ===
<span id="admin"></span>
<span id="admin"></span>


Line 24: Line 25:
A table containing information about cache refreshment procedures and the tables they impact. The cache_refresh_tables procedure will read this table and execute the procedures stored therein.
A table containing information about cache refreshment procedures and the tables they impact. The cache_refresh_tables procedure will read this table and execute the procedures stored therein.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;table_name
| id
:Stores the name of the table impacted by the associated cache procedure. Triggers will be disabled on the table, then re-enabled.
|
;proc_name
|-
:The name of the cache refresh procedure to be called.
| table_name
;created_on
| Stores the name of the table impacted by the associated cache procedure. Triggers will be disabled on the table, then re-enabled.
:''No comment''
|-
;updated_on
| proc_name
:''No comment''
| The name of the cache refresh procedure to be called.
|-
| created_on
|
|-
| updated_on
|
|}




===== Indexes =====
===== Indexes =====


;cache_table_pkey
:''No comment''
;cache_table_proc_name_key
:''No comment''


==== Schema: cache ====
=== Schema: cache ===
<span id="cache"></span>
<span id="cache"></span>


Line 55: Line 59:
Stores compiled statistics for [[#rov.cruise|cruises]].
Stores compiled statistics for [[#rov.cruise|cruises]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:The ID of the [[#rov.cruise|cruise]].
|
;name
|-
:The name of the [[#rov.cruise|cruise]].
| cruise_id
;leg
| The ID of the [cruise](#rov.cruise).
:The [[#rov.cruise|cruise]] leg.
|-
;start_date
| name
:The start date of the [[#rov.cruise|cruise]].
| The name of the [cruise](#rov.cruise).
;end_date
|-
:The end date of the [[#rov.cruise|cruise]].
| leg
;num_dives
| The [cruise](#rov.cruise) leg.
:The number of dives performed during the [[#rov.cruise|cruise]].
|-
;num_measurements
| start_date
:The number measurements collected during the [[#rov.cruise|cruise]].
| The start date of the [cruise](#rov.cruise).
;num_positions
|-
:The number positions collected during the [[#rov.cruise|cruise]].
| end_date
;num_habitats
| The end date of the [cruise](#rov.cruise).
:The number habitats annotated during the [[#rov.cruise|cruise]].
|-
;num_observations
| num_dives
:The number observations annotated during the [[#rov.cruise|cruise]].
| The number of dives performed during the [cruise](#rov.cruise).
;is_approved
|-
:''No comment''
| num_measurements
;num_transects
| The number measurements collected during the [cruise](#rov.cruise).
:The number of [[#rov.transect|transects]] that occurred during this [[#rov.cruise|cruise]].
|-
;num_taxa
| num_positions
:The number of [[#taxonomy.taxon|taxa]] observed during this [[#rov.cruise|cruise]].
| The number positions collected during the [cruise](#rov.cruise).
;num_cruise_crew
|-
:The number of [[#rov.cruise_crew|crew members]] configured for this [[#rov.cruise|cruise]].
| num_habitats
;num_dive_crew
| The number habitats annotated during the [cruise](#rov.cruise).
:The number of [[#rov.dive_crew|crew members]] configured for the [[#rov.dive|dives]] of this [[#rov.cruise|cruise]].
|-
;num_ap_docs
| num_observations
:The number of [[#rov.annotation_protocol_document|documents]] attached to an [[#rov.annotation_protocol|annotation protocol]] used to annotate this [[#rov.cruise|cruise's]] data.
| The number observations annotated during the [cruise](#rov.cruise).
;num_cruise_docs
|-
:True if there is at least one [[#rov.cruise_document|document]] attached this [[#rov.cruise|cruise]].
| is_approved
;has_fov
|
:True if the cruise has field of view measurements.
|-
| num_transects
| The number of [transects](#rov.transect) that occurred during this [cruise](#rov.cruise).
|-
| num_taxa
| The number of [taxa](#taxonomy.taxon) observed during this [cruise](#rov.cruise).
|-
| num_cruise_crew
| The number of [crew members](#rov.cruise_crew) configured for this [cruise](#rov.cruise).
|-
| num_dive_crew
| The number of [crew members](#rov.dive_crew) configured for the [dives](#rov.dive) of this [cruise](#rov.cruise).
|-
| num_ap_docs
| The number of [documents](#rov.annotation_protocol_document) attached to an [annotation protocol](#rov.annotation_protocol) used to annotate this [cruise's](#rov.cruise) data.
|-
| num_cruise_docs
| True if there is at least one [document](#rov.cruise_document) attached this [cruise](#rov.cruise).
|-
| has_fov
| True if the cruise has field of view measurements.
|}


====== cruise_track ======
====== cruise_track ======
Line 101: Line 126:
Constructs a geometry for each [[#rov.cruise|cruise]] which describes the path of the ship.
Constructs a geometry for each [[#rov.cruise|cruise]] which describes the path of the ship.


''Columns:''
:: {| class="wikitable"
 
! Column
;cruise_id
! Comment
:The reference to the [[#rov.cruise|cruise]].
|-
;cruise_name
| cruise_id
:The [[#rov.cruise|cruise]] name and leg.
| The reference to the [cruise](#rov.cruise).
;colour
|-
:The a colour code generated from the cruise's ID used for cartography.
| cruise_name
;geom
| The [cruise](#rov.cruise) name and leg.
:The cruise track geometry.
|-
| colour
| The a colour code generated from the cruise's ID used for cartography.
|-
| geom
| The cruise track geometry.
|}


====== dive_track ======
====== dive_track ======
Line 117: Line 148:
Constructs a geometry for each [[#rov.dive|dive]] which describes the path of the submersible.
Constructs a geometry for each [[#rov.dive|dive]] which describes the path of the submersible.


''Columns:''
:: {| class="wikitable"
 
! Column
;dive_id
! Comment
:The reference to the [[#rov.dive|dive]].
|-
;cruise_id
| dive_id
:The reference to the [[#rov.cruise|cruise]].
| The reference to the [dive](#rov.dive).
;dive_name
|-
:The [[#rov.dive|dive]] name.
| cruise_id
;cruise_name
| The reference to the [cruise](#rov.cruise).
:The [[#rov.cruise|cruise]] name.
|-
;colour
| dive_name
:The a colour code generated from the cruise's ID. Used for cartography.
| The [dive](#rov.dive) name.
;geom
|-
:The dive track geometry.
| cruise_name
| The [cruise](#rov.cruise) name.
|-
| colour
| The a colour code generated from the cruise's ID. Used for cartography.
|-
| geom
| The dive track geometry.
|}


====== evt_depth ======
====== evt_depth ======
Line 137: Line 176:
Creates a relation between an [[#rov.event|event]] and the [[#rov.measurement|depth]] nearest the start and end times of the event.
Creates a relation between an [[#rov.event|event]] and the [[#rov.measurement|depth]] nearest the start and end times of the event.


''Columns:''
:: {| class="wikitable"
 
! Column
;event_id
! Comment
:The link to the [[#rov.event|event's]] event ID.
|-
;instrument_config_id
| event_id
:The link to the [[#rov.instrument_config|instrument configuration]].
| The link to the [event's](#rov.event) event ID.
;timestamps
|-
:The array of timestamps corresponding to the depths.
| instrument_config_id
;depths
| The link to the [instrument configuration](#rov.instrument_config).
:The array of [[#rov.measurement|depths]] between the event's start and end times. If the event covers a span of time, multiple depths are returned.
|-
| timestamps
| The array of timestamps corresponding to the depths.
|-
| depths
| The array of [depths](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple depths are returned.
|}


====== evt_measurement ======
====== evt_measurement ======
Line 153: Line 198:
Creates a relation between an [[#rov.event|event]] and the [[#rov.measurement|measurement]] nearest the start and end times of the event.
Creates a relation between an [[#rov.event|event]] and the [[#rov.measurement|measurement]] nearest the start and end times of the event.


''Columns:''
:: {| class="wikitable"
 
! Column
;event_id
! Comment
:The link to the [[#rov.event|event's]] event ID.
|-
;instrument_config_id
| event_id
:The link to the [[#rov.instrument_config|instrument configuration]].
| The link to the [event's](#rov.event) event ID.
;measurement_type_id
|-
:The link to the [[#rov.measurement_type|measurement type]].
| instrument_config_id
;timestamps
| The link to the [instrument configuration](#rov.instrument_config).
:The array of timestamps corresponding to the measurements.
|-
;measurements
| measurement_type_id
:The array of [[#rov.measurement|measurements]] between the event's start and end times. If the event covers a span of time, multiple measurements are returned.
| The link to the [measurement type](#rov.measurement_type).
|-
| timestamps
| The array of timestamps corresponding to the measurements.
|-
| measurements
| The array of [measurements](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple measurements are returned.
|}


====== evt_pos ======
====== evt_pos ======
Line 171: Line 223:
Creates a relation between an [[#rov.event|event]] and the [[#rov.position|positions]] within the span of the event, as a MultiPoint.
Creates a relation between an [[#rov.event|event]] and the [[#rov.position|positions]] within the span of the event, as a MultiPoint.


''Columns:''
:: {| class="wikitable"
 
! Column
;event_id
! Comment
:The link to the [[#rov.event|event's]]'s event ID.
|-
;instrument_config_id
| event_id
:The link to the [[#rov.instrument_config|instrument configuration]].
| The link to the [event's](#rov.event)'s event ID.
;timestamps
|-
:The list of timestamps corresponding to the geometries in the geoms column.
| instrument_config_id
;geoms
| The link to the [instrument configuration](#rov.instrument_config).
:The list of positions comprising the ROV track during the time span of the event. A MultiPoint.
|-
| timestamps
| The list of timestamps corresponding to the geometries in the geoms column.
|-
| geoms
| The list of positions comprising the ROV track during the time span of the event. A MultiPoint.
|}


====== transect_track ======
====== transect_track ======
Line 187: Line 245:
Constructs a geometry for each [[#rov.transect|transect]] which describes the path of the submersible.
Constructs a geometry for each [[#rov.transect|transect]] which describes the path of the submersible.


''Columns:''
:: {| class="wikitable"
 
! Column
;transect_id
! Comment
:The reference to the [[#rov.transect|transect]].
|-
;dive_id
| transect_id
:The reference to the [[#rov.dive|dive]].
| The reference to the [transect](#rov.transect).
;cruise_id
|-
:The reference to the [[#rov.cruise|cruise]].
| dive_id
;transect_name
| The reference to the [dive](#rov.dive).
:The [[#rov.transect|transect]] name.
|-
;dive_name
| cruise_id
:The [[#rov.dive|dive]] name.
| The reference to the [cruise](#rov.cruise).
;cruise_name
|-
:The [[#rov.cruise|cruise]] name.
| transect_name
;colour
| The [transect](#rov.transect) name.
:The a colour code generated from the cruise's ID. Used for cartography.
|-
;geom
| dive_name
:The transect track geometry.
| The [dive](#rov.dive) name.
|-
| cruise_name
| The [cruise](#rov.cruise) name.
|-
| colour
| The a colour code generated from the cruise's ID. Used for cartography.
|-
| geom
| The transect track geometry.
|}




===== Indexes =====
===== Indexes =====


;cache_evt_depth_depth_idx
:''No comment''
;cache_evt_depth_event_id_idx
:''No comment''
;cache_evt_depth_instrument_config_id_idx
:''No comment''
;cache_evt_depth_timestamp_idx
:''No comment''
;cache_evt_measurement_event_id_idx
:''No comment''
;cache_evt_measurement_instrument_config_id_idx
:''No comment''
;cache_evt_measurement_measurement_idx
:''No comment''
;cache_evt_measurement_measurement_type_id_idx
:''No comment''
;cache_evt_measurement_timestamp_idx
:''No comment''
;cache_evt_pos_event_id_idx
:''No comment''
;cache_evt_pos_geom_idx
:''No comment''
;cache_evt_pos_geom_idx_cast
:''No comment''
;cache_evt_pos_instrument_config_id_idx
:''No comment''
;cache_evt_pos_timestamps_idx
:''No comment''
;cruise_stats_pkey
:''No comment''
;cruise_track_index_geom
:''No comment''
;cruise_track_pkey
:''No comment''
;dive_track_index_geom
:''No comment''
;dive_track_pkey
:''No comment''
;evt_measurement_event_idx
:Lookup index for cache procedure
;evt_pos_event_idx
:Lookup index for cache procedure.
;pk_evt_depth
:''No comment''
;pk_evt_measurement
:''No comment''
;pk_evt_pos
:''No comment''
;transect_track_index_geom
:''No comment''
;transect_track_pkey
:''No comment''


==== Schema: geo ====
=== Schema: geo ===
<span id="geo"></span>
<span id="geo"></span>


Line 272: Line 288:
Stores area geometries linked to [[#geo.area_group|area groups]].
Stores area geometries linked to [[#geo.area_group|area groups]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;area_group_id
| id
:''No comment''
|
;name_en
|-
:The english name of the area.
| area_group_id
;name_fr
|
:The french name of the area.
|-
;properties
| name_en
:A JSON object containing properties of the area.
| The english name of the area.
;geom
|-
:The area geometry, a MultiPolygon.
| name_fr
| The french name of the area.
|-
| properties
| A JSON object containing properties of the area.
|-
| geom
| The area geometry, a MultiPolygon.
|}


====== area_group ======
====== area_group ======
Line 292: Line 316:
Stores groups of similar areas, such as MPAs, seamounts, etc. Linked by [[#geo.area|areas]].
Stores groups of similar areas, such as MPAs, seamounts, etc. Linked by [[#geo.area|areas]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name_en
| id
:The english name of the area group.
|
;name_fr
|-
:The french name of the area group.
| name_en
;description_en
| The english name of the area group.
:The english description of the area group.
|-
;description_fr
| name_fr
:The french description of the area group.
| The french name of the area group.
|-
| description_en
| The english description of the area group.
|-
| description_fr
| The french description of the area group.
|}




===== Indexes =====
===== Indexes =====


;area_group_name_en_key
:''No comment''
;area_group_pkey
:''No comment''
;area_pkey
:''No comment''
;geo_area_geom_idx
:''No comment''


==== Schema: maxmind ====
=== Schema: maxmind ===
<span id="maxmind"></span>
<span id="maxmind"></span>


Line 327: Line 350:
Contains both IPv4 and IPv6 network addresses, which reference locations in the [[#maxmind.geoip_city_locations|geoip_city_locations]] table.
Contains both IPv4 and IPv6 network addresses, which reference locations in the [[#maxmind.geoip_city_locations|geoip_city_locations]] table.


''Columns:''
:: {| class="wikitable"
 
! Column
;network
! Comment
:The network address, IPv4 or IPv6.
|-
;geoname_id
| network
:References the location ID in the [[#maxmind.geoip_city_locations|geoip_city_locations]] table.
| The network address, IPv4 or IPv6.
;registered_country_geoname_id
|-
:The location ID in the [[#maxmind.geoip_city_locations|geoip_city_locations]] table which is registered to the network address.
| geoname_id
;represented_country_geoname_id
| References the location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table.
:The location ID in the [[#maxmind.geoip_city_locations|geoip_city_locations]] table from which the IP comes.
|-
;is_anonymous_proxy
| registered_country_geoname_id
:True if the address is of an anonymous proxy.
| The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table which is registered to the network address.
;is_satellite_provider
|-
:True if the address is used by a satellite network provider.
| represented_country_geoname_id
;postal_code
| The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table from which the IP comes.  
:The postal code of the location.
|-
;latitude
| is_anonymous_proxy
:The latitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
| True if the address is of an anonymous proxy.
;longitude
|-
:The longitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
| is_satellite_provider
;accuracy_radius
| True if the address is used by a satellite network provider.
:The radius (m) of a circle within which the location is located.
|-
;is_anycast
| postal_code
:True if the address is that of an Anycast network.
| The postal code of the location.
;location
|-
:''No comment''
| latitude
;region
| The latitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
:''No comment''
|-
| longitude
| The longitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
|-
| accuracy_radius
| The radius (m) of a circle within which the location is located.
|-
| is_anycast
| True if the address is that of an Anycast network.
|-
| location
|
|-
| region
|
|}


====== geoip_city_locations ======
====== geoip_city_locations ======
Line 361: Line 399:
Stores the country, region and city data for GeoIP.
Stores the country, region and city data for GeoIP.


''Columns:''
:: {| class="wikitable"
 
! Column
;geoname_id
! Comment
:The internal GeoIP city ID.
|-
;locale_code
| geoname_id
:The two-character local code.
| The internal GeoIP city ID.
;continent_code
|-
:The two-character ISO continent code.
| locale_code
;continent_name
| The two-character local code.
:The continent name
|-
;country_iso_code
| continent_code
:The two-character ISO country code.
| The two-character ISO continent code.
;country_name
|-
:The country name
| continent_name
;subdivision_1_iso_code
| The continent name
:The ISO subdivision 1 code.
|-
;subdivision_1_name
| country_iso_code
:The ISO subdivision 1 name.
| The two-character ISO country code.
;subdivision_2_iso_code
|-
:The ISO subdivision 2 code.
| country_name
;subdivision_2_name
| The country name
:The ISO subdivision 2 name.
|-
;city_name
| subdivision_1_iso_code
:The city name.
| The ISO subdivision 1 code.
;metro_code
|-
:The three-digit metro code.
| subdivision_1_name
;time_zone
| The ISO subdivision 1 name.
:The name of the time zone.
|-
;is_in_european_union
| subdivision_2_iso_code
:True if the location is within the European Union.
| The ISO subdivision 2 code.
|-
| subdivision_2_name
| The ISO subdivision 2 name.
|-
| city_name
| The city name.
|-
| metro_code
| The three-digit metro code.
|-
| time_zone
| The name of the time zone.
|-
| is_in_european_union
| True if the location is within the European Union.
|}


====== geoip_last_update ======
====== geoip_last_update ======
Line 397: Line 451:
Stores the time of last update of the database.
Stores the time of last update of the database.


''Columns:''
:: {| class="wikitable"
 
! Column
;last_update
! Comment
:The time of last update of the database.
|-
| last_update
| The time of last update of the database.
|}




===== Indexes =====
===== Indexes =====


;geoip_city_blocks_location_idx
:''No comment''
;geoip_city_blocks_network_idx
:''No comment''
;geoip_city_blocks_pkey
:''No comment''
;geoip_city_blocks_region_idx
:''No comment''
;geoip_city_locations_pkey
:''No comment''


==== Schema: ndst ====
=== Schema: ndst ===
<span id="ndst"></span>
<span id="ndst"></span>


Line 426: Line 473:
Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the [[#rov.cruise|cruise]] table.
Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the [[#rov.cruise|cruise]] table.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the cruise.
|-
;name
| row_id
:The name of the cruise.
| A UUID providing a universally-unique identifier for the cruise.
;leg
|-
:The leg of the cruise. Should start at 1 and increase.
| name
;objective
| The name of the cruise.
:''No comment''
|-
;summary
| leg
:A summary of the cruise, its accomplishments, problems, etc.
| The leg of the cruise. Should start at 1 and increase.
;note
|-
:The objective of the cruise.
| objective
;status
|
:The current status of the cruise viz. database import.
|-
;created_on
| summary
:The date and time of creation of the entity.
| A summary of the cruise, its accomplishments, problems, etc.
;updated_on
|-
:The date and time of the entity's last update.
| note
;id
| The objective of the cruise.
:''No comment''
|-
;active
| status
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| The current status of the cruise viz. database import.
;hide
|-
:True if the entity should be hidden in the UI.
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|-
| id
|
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| hide
| True if the entity should be hidden in the UI.
|}


====== diveconfig ======
====== diveconfig ======
Line 458: Line 519:
Stores configurations for each dive, including the submersible, ship and any instruments on either.
Stores configurations for each dive, including the submersible, ship and any instruments on either.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;name
| row_id
:The name of the dive config.
| A UUID providing a universally-unique identifier for the entity.
;ship_config
|-
:Stores the name of the [[#ndst.equipconfig|ship configuration]] during the dive.
| name
;sub_config
| The name of the dive config.
:Stores the name of the [[#ndst.equipconfig|submersible configuration]] during the dive.
|-
;ship_instrument_configs
| ship_config
:Stores the names of the [[#ndst.equipconfig|instruments]] on the ship during the dive.
| Stores the name of the [ship configuration](#ndst.equipconfig) during the dive.
;sub_instrument_configs
|-
:Stores the names of the [[#ndst.equipconfig|instruments]] on the sub during the dive.
| sub_config
;note
| Stores the name of the [submersible configuration](#ndst.equipconfig) during the dive.
:A note about the dive config.
|-
;active
| ship_instrument_configs
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| Stores the names of the [instruments](#ndst.equipconfig) on the ship during the dive.
;id
|-
:''No comment''
| sub_instrument_configs
;created_on
| Stores the names of the [instruments](#ndst.equipconfig) on the sub during the dive.
:The date and time of creation of the entity.
|-
;updated_on
| note
:The date and time of the entity's last update.
| A note about the dive config.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}


====== dives ======
====== dives ======
Line 488: Line 562:
Stores information about each dive.
Stores information about each dive.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;cruise_name
| row_id
:The name of the [[#ndst.cruise|cruise]].
| A UUID providing a universally-unique identifier for the entity.
;leg
|-
:The leg of the [[#ndst.cruise|cruise]].
| cruise_name
;name
| The name of the [cruise](#ndst.cruise).
:The name of the dive.
|-
;pilot
| leg
:The [[#shared.person|pilot]](s) of the dive.
| The leg of the [cruise](#ndst.cruise).
;start_time
|-
:The time of dive start.
| name
;end_time
| The name of the dive.
:The time of dive ending.
|-
;site_name
| pilot
:The name of the dive site.
| The [pilot](#shared.person)(s) of the dive.
;dive_config
|-
:The name of the [[#ndst.diveconfig|dive configuration]].
| start_time
;objective
| The time of dive start.
:The objective of the dive.
|-
;summary
| end_time
:A summary of the dive, its accomplishments, problems, etc.
| The time of dive ending.
;note
|-
:A note about the dive.
| site_name
;active
| The name of the dive site.
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
;hide
| dive_config
:True if the entity should be hidden in the UI.
| The name of the [dive configuration](#ndst.diveconfig).
;id
|-
:''No comment''
| objective
;created_on
| The objective of the dive.
:The date and time of creation of the entity.
|-
;updated_on
| summary
:The date and time of the entity's last update.
| A summary of the dive, its accomplishments, problems, etc.
|-
| note
| A note about the dive.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| hide
| True if the entity should be hidden in the UI.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}


====== equipconfig ======
====== equipconfig ======
Line 530: Line 623:
Stores configurations for [[#ndst.equipment|equipment]], including instruments and platforms.
Stores configurations for [[#ndst.equipment|equipment]], including instruments and platforms.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;name
| row_id
:The name of the equipment config.
| A UUID providing a universally-unique identifier for the entity.
;short_code
|-
:A short, easy-to-use identifier for the configuration.
| name
;type
| The name of the equipment config.
:The type of equipment.
|-
;configuration
| short_code
:A JSON object containing configuration properties.
| A short, easy-to-use identifier for the configuration.
;note
|-
:A note about the equipment config.
| type
;active
| The type of equipment.
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
;id
| configuration
:''No comment''
| A JSON object containing configuration properties.
;created_on
|-
:The date and time of creation of the entity.
| note
;updated_on
| A note about the equipment config.
:The date and time of the entity's last update.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}


====== equipment ======
====== equipment ======
Line 558: Line 663:
Stores equipment, including instruments and platforms.
Stores equipment, including instruments and platforms.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;short_code
| row_id
:The short code for the equipment as used in the [[#ndst.equipment|ROV database equipment table]].
| A UUID providing a universally-unique identifier for the entity.
;brand
|-
:The brand name of the equipment.
| short_code
;model
| The short code for the equipment as used in the [ROV database equipment table](#ndst.equipment).
:The model name of the equipment.
|-
;serial_number
| brand
:The serial number.
| The brand name of the equipment.
;type
|-
:The type of equipment.
| model
;note
| The model name of the equipment.
:A note about the equipment.
|-
;instrument_id
| serial_number
:The ID of the [[#rov.instrument|instrument]] in the ROV database. Mutually exclusive with platform_id.
| The serial number.
;platform_id
|-
:The ID of the [[#rov.platform|platform]] in the ROV database. Mutually exclusive with instrument_id.
| type
;short_code_mapped
| The type of equipment.
:An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
|-
;active
| note
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| A note about the equipment.
;id
|-
:''No comment''
| instrument_id
;created_on
| The ID of the [instrument](#rov.instrument) in the ROV database. Mutually exclusive with platform_id.
:The date and time of creation of the entity.
|-
;updated_on
| platform_id
:The date and time of the entity's last update.
| The ID of the [platform](#rov.platform) in the ROV database. Mutually exclusive with instrument_id.
|-
| short_code_mapped
| An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}


====== people ======
====== people ======
Line 594: Line 715:
Stores the people who worked on the [[#ndst.cruise|cruise]].
Stores the people who worked on the [[#ndst.cruise|cruise]].


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;initials
| row_id
:The initials. Used like a short code for the person.
| A UUID providing a universally-unique identifier for the entity.
;first_name
|-
:The first name.
| initials
;last_name
| The initials. Used like a short code for the person.
:The last name.
|-
;email
| first_name
:The email address.
| The first name.
;person_id
|-
:The ID of the [[#shared.person|person]] in the ROV database.
| last_name
;active
| The last name.
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
;id
| email
:''No comment''
| The email address.
;created_on
|-
:The date and time of creation of the entity.
| person_id
;updated_on
| The ID of the [person](#shared.person) in the ROV database.
:The date and time of the entity's last update.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}


====== transects ======
====== transects ======
Line 622: Line 755:
Stores information about each transect.
Stores information about each transect.


''Columns:''
:: {| class="wikitable"
 
! Column
;row_id
! Comment
:A UUID providing a universally-unique identifier for the entity.
|-
;cruise_name
| row_id
:The name of the [[#ndst.cruise|cruise]].
| A UUID providing a universally-unique identifier for the entity.
;leg
|-
:The leg of the [[#ndst.cruise|cruise]].
| cruise_name
;dive_name
| The name of the [cruise](#ndst.cruise).
:The name of the dive.
|-
;name
| leg
:The name of the transect.
| The leg of the [cruise](#ndst.cruise).
;start_time
|-
:The time of transect start.
| dive_name
;end_time
| The name of the dive.
:The time of transect ending.
|-
;objective
| name
:The objective of the transect.
| The name of the transect.
;summary
|-
:A summary of the transect, its accomplishments, problems, etc.
| start_time
;note
| The time of transect start.
:A note about the transect.
|-
;active
| end_time
:Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
| The time of transect ending.
;hide
|-
:True if the entity should be hidden in the UI.
| objective
;id
| The objective of the transect.
:''No comment''
|-
;created_on
| summary
:The date and time of creation of the entity.
| A summary of the transect, its accomplishments, problems, etc.
;updated_on
|-
:The date and time of the entity's last update.
| note
| A note about the transect.
|-
| active
| Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
|-
| hide
| True if the entity should be hidden in the UI.
|-
| id
|
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|}




===== Indexes =====
===== Indexes =====


;cruise_pkey
:''No comment''
;cruise_row_id_key
:''No comment''
;diveconfig_pkey
:''No comment''
;diveconfig_row_id_key
:''No comment''
;dives_pkey
:''No comment''
;dives_row_id_key
:''No comment''
;equipconfig_pkey
:''No comment''
;equipconfig_row_id_key
:''No comment''
;equipment_pkey
:''No comment''
;equipment_row_id_key
:''No comment''
;people_pkey
:''No comment''
;people_row_id_key
:''No comment''
;transects_pkey
:''No comment''
;transects_row_id_key
:''No comment''


==== Schema: public ====
=== Schema: public ===
<span id="public"></span>
<span id="public"></span>


Line 697: Line 819:
A Django table for authorization groups.
A Django table for authorization groups.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:''No comment''
|
|-
| name
|
|}


====== auth_group_permissions ======
====== auth_group_permissions ======
Line 709: Line 835:
A Django table for permissions on authorization groups.
A Django table for permissions on authorization groups.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;group_id
| id
:''No comment''
|
;permission_id
|-
:''No comment''
| group_id
|
|-
| permission_id
|
|}


====== auth_permission ======
====== auth_permission ======
Line 723: Line 854:
A Django table for available permissions.
A Django table for available permissions.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:''No comment''
|
;content_type_id
|-
:''No comment''
| name
;codename
|
:''No comment''
|-
| content_type_id
|
|-
| codename
|
|}


====== auth_user ======
====== auth_user ======
Line 739: Line 876:
A Django table for users.
A Django table for users.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;password
| id
:''No comment''
|
;last_login
|-
:''No comment''
| password
;is_superuser
|
:''No comment''
|-
;first_name
| last_login
:''No comment''
|
;last_name
|-
:''No comment''
| is_superuser
;email
|
:''No comment''
|-
;is_staff
| first_name
:''No comment''
|
;is_active
|-
:''No comment''
| last_name
;date_joined
|
:''No comment''
|-
;biigle_username
| email
:''No comment''
|
;biigle_api_key
|-
:''No comment''
| is_staff
;organization
|
:''No comment''
|-
;org_type
| is_active
:''No comment''
|
;registration_reason
|-
:''No comment''
| date_joined
;bio
|
:''No comment''
|-
;verification_code
| biigle_username
:''No comment''
|
;verification_expiry
|-
:''No comment''
| biigle_api_key
;verification_time
|
:''No comment''
|-
;registration_ip
| organization
:''No comment''
|
;ip_in_region
|-
:''No comment''
| org_type
;registration_note
|
:''No comment''
|-
;allowed
| registration_reason
:''No comment''
|
;password_reset_code
|-
:''No comment''
| bio
;password_reset_expiry
|
:''No comment''
|-
;registration_location
| verification_code
:''No comment''
|
|-
| verification_expiry
|
|-
| verification_time
|
|-
| registration_ip
|
|-
| ip_in_region
|
|-
| registration_note
|
|-
| allowed
|
|-
| password_reset_code
|
|-
| password_reset_expiry
|
|-
| registration_location
|
|}


====== auth_user_groups ======
====== auth_user_groups ======
Line 799: Line 964:
A Django table to relate users to groups.
A Django table to relate users to groups.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;user_id
| id
:''No comment''
|
;group_id
|-
:''No comment''
| user_id
|
|-
| group_id
|
|}


====== auth_user_user_permissions ======
====== auth_user_user_permissions ======
Line 813: Line 983:
A Django for user permissions.
A Django for user permissions.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;user_id
| id
:''No comment''
|
;permission_id
|-
:''No comment''
| user_id
|
|-
| permission_id
|
|}


====== django_admin_log ======
====== django_admin_log ======
Line 827: Line 1,002:
A Django table for admin logging.
A Django table for admin logging.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;action_time
| id
:''No comment''
|
;object_id
|-
:''No comment''
| action_time
;object_repr
|
:''No comment''
|-
;action_flag
| object_id
:''No comment''
|
;change_message
|-
:''No comment''
| object_repr
;content_type_id
|
:''No comment''
|-
;user_id
| action_flag
:''No comment''
|
|-
| change_message
|
|-
| content_type_id
|
|-
| user_id
|
|}


====== django_celery_beat_clockedschedule ======
====== django_celery_beat_clockedschedule ======
Line 851: Line 1,036:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;clocked_time
| id
:''No comment''
|
|-
| clocked_time
|
|}


====== django_celery_beat_crontabschedule ======
====== django_celery_beat_crontabschedule ======
Line 863: Line 1,052:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;minute
| id
:''No comment''
|
;hour
|-
:''No comment''
| minute
;day_of_week
|
:''No comment''
|-
;day_of_month
| hour
:''No comment''
|
;month_of_year
|-
:''No comment''
| day_of_week
;timezone
|
:''No comment''
|-
| day_of_month
|
|-
| month_of_year
|
|-
| timezone
|
|}


====== django_celery_beat_intervalschedule ======
====== django_celery_beat_intervalschedule ======
Line 885: Line 1,083:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;every
| id
:''No comment''
|
;period
|-
:''No comment''
| every
|
|-
| period
|
|}


====== django_celery_beat_periodictask ======
====== django_celery_beat_periodictask ======
Line 899: Line 1,102:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:''No comment''
|
;task
|-
:''No comment''
| name
;args
|
:''No comment''
|-
;kwargs
| task
:''No comment''
|
;queue
|-
:''No comment''
| args
;exchange
|
:''No comment''
|-
;routing_key
| kwargs
:''No comment''
|
;expires
|-
:''No comment''
| queue
;enabled
|
:''No comment''
|-
;last_run_at
| exchange
:''No comment''
|
;total_run_count
|-
:''No comment''
| routing_key
;date_changed
|
:''No comment''
|-
;description
| expires
:''No comment''
|
;crontab_id
|-
:''No comment''
| enabled
;interval_id
|
:''No comment''
|-
;solar_id
| last_run_at
:''No comment''
|
;one_off
|-
:''No comment''
| total_run_count
;start_time
|
:''No comment''
|-
;priority
| date_changed
:''No comment''
|
;headers
|-
:''No comment''
| description
;clocked_id
|
:''No comment''
|-
;expire_seconds
| crontab_id
:''No comment''
|
|-
| interval_id
|
|-
| solar_id
|
|-
| one_off
|
|-
| start_time
|
|-
| priority
|
|-
| headers
|
|-
| clocked_id
|
|-
| expire_seconds
|
|}


====== django_celery_beat_periodictasks ======
====== django_celery_beat_periodictasks ======
Line 953: Line 1,181:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;ident
! Comment
:''No comment''
|-
;last_update
| ident
:''No comment''
|
|-
| last_update
|
|}


====== django_celery_beat_solarschedule ======
====== django_celery_beat_solarschedule ======
Line 965: Line 1,197:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;event
| id
:''No comment''
|
;latitude
|-
:''No comment''
| event
;longitude
|
:''No comment''
|-
| latitude
|
|-
| longitude
|
|}


====== django_celery_results_chordcounter ======
====== django_celery_results_chordcounter ======
Line 981: Line 1,219:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;group_id
| id
:''No comment''
|
;sub_tasks
|-
:''No comment''
| group_id
;count
|
:''No comment''
|-
| sub_tasks
|
|-
| count
|
|}


====== django_celery_results_groupresult ======
====== django_celery_results_groupresult ======
Line 997: Line 1,241:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;group_id
| id
:''No comment''
|
;date_created
|-
:''No comment''
| group_id
;date_done
|
:''No comment''
|-
;content_type
| date_created
:''No comment''
|
;content_encoding
|-
:''No comment''
| date_done
;result
|
:''No comment''
|-
| content_type
|
|-
| content_encoding
|
|-
| result
|
|}


====== django_celery_results_taskresult ======
====== django_celery_results_taskresult ======
Line 1,019: Line 1,272:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;task_id
| id
:''No comment''
|
;status
|-
:''No comment''
| task_id
;content_type
|
:''No comment''
|-
;content_encoding
| status
:''No comment''
|
;result
|-
:''No comment''
| content_type
;date_done
|
:''No comment''
|-
;traceback
| content_encoding
:''No comment''
|
;meta
|-
:''No comment''
| result
;task_args
|
:''No comment''
|-
;task_kwargs
| date_done
:''No comment''
|
;task_name
|-
:''No comment''
| traceback
;worker
|
:''No comment''
|-
;date_created
| meta
:''No comment''
|
;periodic_task_name
|-
:''No comment''
| task_args
;date_started
|
:''No comment''
|-
| task_kwargs
|
|-
| task_name
|
|-
| worker
|
|-
| date_created
|
|-
| periodic_task_name
|
|-
| date_started
|
|}


====== django_content_type ======
====== django_content_type ======
Line 1,059: Line 1,330:
A Django table for content types.
A Django table for content types.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;app_label
| id
:''No comment''
|
;model
|-
:''No comment''
| app_label
|
|-
| model
|
|}


====== django_migrations ======
====== django_migrations ======
Line 1,073: Line 1,349:
Records migrations applied to database.
Records migrations applied to database.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;app
| id
:''No comment''
|
;name
|-
:''No comment''
| app
;applied
|
:''No comment''
|-
| name
|
|-
| applied
|
|}


====== django_session ======
====== django_session ======
Line 1,089: Line 1,371:
Django session management.
Django session management.


''Columns:''
:: {| class="wikitable"
 
! Column
;session_key
! Comment
:''No comment''
|-
;session_data
| session_key
:''No comment''
|
;expire_date
|-
:''No comment''
| session_data
|
|-
| expire_date
|
|}


====== django_site ======
====== django_site ======
Line 1,103: Line 1,390:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;domain
| id
:''No comment''
|
;name
|-
:''No comment''
| domain
|
|-
| name
|
|}


====== event_group ======
====== event_group ======
Line 1,117: Line 1,409:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;event_id
! Comment
:''No comment''
|-
;group_id
| event_id
:''No comment''
|
|-
| group_id
|
|}


====== knox_authtoken ======
====== knox_authtoken ======
Line 1,129: Line 1,425:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;digest
! Comment
:''No comment''
|-
;created
| digest
:''No comment''
|
;user_id
|-
:''No comment''
| created
;expiry
|
:''No comment''
|-
;token_key
| user_id
:''No comment''
|
|-
| expiry
|
|-
| token_key
|
|}


====== spatial_ref_sys ======
====== spatial_ref_sys ======
Line 1,147: Line 1,450:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;srid
! Comment
:''No comment''
|-
;auth_name
| srid
:''No comment''
|
;auth_srid
|-
:''No comment''
| auth_name
;srtext
|
:''No comment''
|-
;proj4text
| auth_srid
:''No comment''
|
|-
| srtext
|
|-
| proj4text
|
|}


====== thumbnail_kvstore ======
====== thumbnail_kvstore ======
Line 1,165: Line 1,475:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;key
! Comment
:''No comment''
|-
;value
| key
:''No comment''
|
|-
| value
|
|}




Line 1,180: Line 1,494:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;f_table_catalog
! Comment
:''No comment''
|-
;f_table_schema
| f_table_catalog
:''No comment''
|
;f_table_name
|-
:''No comment''
| f_table_schema
;f_geography_column
|
:''No comment''
|-
;coord_dimension
| f_table_name
:''No comment''
|
;srid
|-
:''No comment''
| f_geography_column
;type
|
:''No comment''
|-
| coord_dimension
|
|-
| srid
|
|-
| type
|
|}


====== geometry_columns ======
====== geometry_columns ======
Line 1,202: Line 1,525:
''No comment''
''No comment''


''Columns:''
:: {| class="wikitable"
 
! Column
;f_table_catalog
! Comment
:''No comment''
|-
;f_table_schema
| f_table_catalog
:''No comment''
|
;f_table_name
|-
:''No comment''
| f_table_schema
;f_geometry_column
|
:''No comment''
|-
;coord_dimension
| f_table_name
:''No comment''
|
;srid
|-
:''No comment''
| f_geometry_column
;type
|
:''No comment''
|-
| coord_dimension
|
|-
| srid
|
|-
| type
|
|}




===== Indexes =====
===== Indexes =====


;auth_group_name_a6ea08ec_like
:''No comment''
;auth_group_name_key
:''No comment''
;auth_group_permissions_group_id_b120cbf9
:''No comment''
;auth_group_permissions_group_id_permission_id_0cd325b0_uniq
:''No comment''
;auth_group_permissions_permission_id_84c5c92e
:''No comment''
;auth_group_permissions_pkey
:''No comment''
;auth_group_pkey
:''No comment''
;auth_permission_content_type_id_2f476e4b
:''No comment''
;auth_permission_content_type_id_codename_01ab375a_uniq
:''No comment''
;auth_permission_pkey
:''No comment''
;auth_user_email_unique
:''No comment''
;auth_user_groups_group_id_97559544
:''No comment''
;auth_user_groups_pkey
:''No comment''
;auth_user_groups_user_id_6a12ed8b
:''No comment''
;auth_user_groups_user_id_group_id_94350c0c_uniq
:''No comment''
;auth_user_pkey
:''No comment''
;auth_user_user_permissions_permission_id_1fbb5f2c
:''No comment''
;auth_user_user_permissions_pkey
:''No comment''
;auth_user_user_permissions_user_id_a95ead1b
:''No comment''
;auth_user_user_permissions_user_id_permission_id_14a6b632_uniq
:''No comment''
;django_admin_log_content_type_id_c4bce8eb
:''No comment''
;django_admin_log_pkey
:''No comment''
;django_admin_log_user_id_c564eba6
:''No comment''
;django_cele_date_cr_bd6c1d_idx
:''No comment''
;django_cele_date_cr_f04a50_idx
:''No comment''
;django_cele_date_do_caae0e_idx
:''No comment''
;django_cele_date_do_f59aad_idx
:''No comment''
;django_cele_periodi_1993cf_idx
:''No comment''
;django_cele_status_9b6201_idx
:''No comment''
;django_cele_task_na_08aec9_idx
:''No comment''
;django_cele_worker_d54dd8_idx
:''No comment''
;django_celery_beat_clockedschedule_pkey
:''No comment''
;django_celery_beat_crontabschedule_pkey
:''No comment''
;django_celery_beat_intervalschedule_pkey
:''No comment''
;django_celery_beat_periodictask_clocked_id_47a69f82
:''No comment''
;django_celery_beat_periodictask_crontab_id_d3cba168
:''No comment''
;django_celery_beat_periodictask_interval_id_a8ca27da
:''No comment''
;django_celery_beat_periodictask_name_265a36b7_like
:''No comment''
;django_celery_beat_periodictask_name_key
:''No comment''
;django_celery_beat_periodictask_pkey
:''No comment''
;django_celery_beat_periodictask_solar_id_a87ce72c
:''No comment''
;django_celery_beat_periodictasks_pkey
:''No comment''
;django_celery_beat_solar_event_latitude_longitude_ba64999a_uniq
:''No comment''
;django_celery_beat_solarschedule_pkey
:''No comment''
;django_celery_results_chordcounter_group_id_1f70858c_like
:''No comment''
;django_celery_results_chordcounter_group_id_key
:''No comment''
;django_celery_results_chordcounter_pkey
:''No comment''
;django_celery_results_groupresult_group_id_a085f1a9_like
:''No comment''
;django_celery_results_groupresult_group_id_key
:''No comment''
;django_celery_results_groupresult_pkey
:''No comment''
;django_celery_results_taskresult_pkey
:''No comment''
;django_celery_results_taskresult_task_id_de0d95bf_like
:''No comment''
;django_celery_results_taskresult_task_id_key
:''No comment''
;django_content_type_app_label_model_76bd3d3b_uniq
:''No comment''
;django_content_type_pkey
:''No comment''
;django_migrations_pkey
:''No comment''
;django_session_expire_date_a5c62663
:''No comment''
;django_session_pkey
:''No comment''
;django_session_session_key_c0390e0f_like
:''No comment''
;django_site_domain_a2e37b91_like
:''No comment''
;django_site_domain_a2e37b91_uniq
:''No comment''
;django_site_pkey
:''No comment''
;event_group_event_id_group_id_key
:''No comment''
;knox_authtoken_digest_188c7e77_like
:''No comment''
;knox_authtoken_pkey
:''No comment''
;knox_authtoken_token_key_8f4f7d47
:''No comment''
;knox_authtoken_token_key_8f4f7d47_like
:''No comment''
;knox_authtoken_user_id_e5a5d899
:''No comment''
;spatial_ref_sys_pkey
:''No comment''
;thumbnail_kvstore_key_3f850178_like
:''No comment''
;thumbnail_kvstore_pkey
:''No comment''


===== Functions =====
===== Functions =====


;_postgis_deprecate
:''No comment''
;_postgis_index_extent
:''No comment''
;_postgis_join_selectivity
:''No comment''
;_postgis_pgsql_version
:''No comment''
;_postgis_scripts_pgsql_version
:''No comment''
;_postgis_selectivity
:''No comment''
;_postgis_stats
:''No comment''
;_st_3ddfullywithin
:''No comment''
;_st_3ddwithin
:''No comment''
;_st_3dintersects
:''No comment''
;_st_asgml
:''No comment''
;_st_asx3d
:''No comment''
;_st_bestsrid
:''No comment''
;_st_bestsrid
:''No comment''
;_st_concavehull
:''No comment''
;_st_contains
:''No comment''
;_st_containsproperly
:''No comment''
;_st_coveredby
:''No comment''
;_st_coveredby
:''No comment''
;_st_covers
:''No comment''
;_st_covers
:''No comment''
;_st_crosses
:''No comment''
;_st_dfullywithin
:''No comment''
;_st_distancetree
:''No comment''
;_st_distancetree
:''No comment''
;_st_distanceuncached
:''No comment''
;_st_distanceuncached
:''No comment''
;_st_distanceuncached
:''No comment''
;_st_dwithin
:''No comment''
;_st_dwithin
:''No comment''
;_st_dwithinuncached
:''No comment''
;_st_dwithinuncached
:''No comment''
;_st_equals
:''No comment''
;_st_expand
:''No comment''
;_st_geomfromgml
:''No comment''
;_st_intersects
:''No comment''
;_st_linecrossingdirection
:''No comment''
;_st_longestline
:''No comment''
;_st_maxdistance
:''No comment''
;_st_orderingequals
:''No comment''
;_st_overlaps
:''No comment''
;_st_pointoutside
:''No comment''
;_st_sortablehash
:''No comment''
;_st_touches
:''No comment''
;_st_voronoi
:''No comment''
;_st_within
:''No comment''
;addgeometrycolumn
:''No comment''
;addgeometrycolumn
:''No comment''
;addgeometrycolumn
:''No comment''
;box
:''No comment''
;box
:''No comment''
;box2d
:''No comment''
;box2d
:''No comment''
;box2d_in
:''No comment''
;box2d_out
:''No comment''
;box2df_in
:''No comment''
;box2df_out
:''No comment''
;box3d
:''No comment''
;box3d
:''No comment''
;box3d_in
:''No comment''
;box3d_out
:''No comment''
;box3dtobox
:''No comment''
;bytea
:''No comment''
;bytea
:''No comment''
;cash_dist
:''No comment''
;citext
:''No comment''
;citext
:''No comment''
;citext
:''No comment''
;citext_cmp
:''No comment''
;citext_eq
:''No comment''
;citext_ge
:''No comment''
;citext_gt
:''No comment''
;citext_hash
:''No comment''
;citext_hash_extended
:''No comment''
;citext_larger
:''No comment''
;citext_le
:''No comment''
;citext_lt
:''No comment''
;citext_ne
:''No comment''
;citext_pattern_cmp
:''No comment''
;citext_pattern_ge
:''No comment''
;citext_pattern_gt
:''No comment''
;citext_pattern_le
:''No comment''
;citext_pattern_lt
:''No comment''
;citext_smaller
:''No comment''
;citextin
:''No comment''
;citextout
:''No comment''
;citextrecv
:''No comment''
;citextsend
:''No comment''
;connectby
:''No comment''
;connectby
:''No comment''
;connectby
:''No comment''
;connectby
:''No comment''
;contains_2d
:''No comment''
;contains_2d
:''No comment''
;contains_2d
:''No comment''
;crosstab
:''No comment''
;crosstab
:''No comment''
;crosstab
:''No comment''
;crosstab2
:''No comment''
;crosstab3
:''No comment''
;crosstab4
:''No comment''
;date_dist
:''No comment''
;dblink
:''No comment''
;dblink
:''No comment''
;dblink
:''No comment''
;dblink
:''No comment''
;dblink_build_sql_delete
:''No comment''
;dblink_build_sql_insert
:''No comment''
;dblink_build_sql_update
:''No comment''
;dblink_cancel_query
:''No comment''
;dblink_close
:''No comment''
;dblink_close
:''No comment''
;dblink_close
:''No comment''
;dblink_close
:''No comment''
;dblink_connect
:''No comment''
;dblink_connect
:''No comment''
;dblink_connect_u
:''No comment''
;dblink_connect_u
:''No comment''
;dblink_current_query
:''No comment''
;dblink_disconnect
:''No comment''
;dblink_disconnect
:''No comment''
;dblink_error_message
:''No comment''
;dblink_exec
:''No comment''
;dblink_exec
:''No comment''
;dblink_exec
:''No comment''
;dblink_exec
:''No comment''
;dblink_fdw_validator
:''No comment''
;dblink_fetch
:''No comment''
;dblink_fetch
:''No comment''
;dblink_fetch
:''No comment''
;dblink_fetch
:''No comment''
;dblink_get_connections
:''No comment''
;dblink_get_notify
:''No comment''
;dblink_get_notify
:''No comment''
;dblink_get_pkey
:''No comment''
;dblink_get_result
:''No comment''
;dblink_get_result
:''No comment''
;dblink_is_busy
:''No comment''
;dblink_open
:''No comment''
;dblink_open
:''No comment''
;dblink_open
:''No comment''
;dblink_open
:''No comment''
;dblink_send_query
:''No comment''
;dropgeometrycolumn
:''No comment''
;dropgeometrycolumn
:''No comment''
;dropgeometrycolumn
:''No comment''
;dropgeometrytable
:''No comment''
;dropgeometrytable
:''No comment''
;dropgeometrytable
:''No comment''
;equals
:''No comment''
;f_geoip_update_geoms
:''No comment''
;find_srid
:''No comment''
;float4_dist
:''No comment''
;float8_dist
:''No comment''
;gbt_bit_compress
:''No comment''
;gbt_bit_consistent
:''No comment''
;gbt_bit_penalty
:''No comment''
;gbt_bit_picksplit
:''No comment''
;gbt_bit_same
:''No comment''
;gbt_bit_union
:''No comment''
;gbt_bool_compress
:''No comment''
;gbt_bool_consistent
:''No comment''
;gbt_bool_fetch
:''No comment''
;gbt_bool_penalty
:''No comment''
;gbt_bool_picksplit
:''No comment''
;gbt_bool_same
:''No comment''
;gbt_bool_union
:''No comment''
;gbt_bpchar_compress
:''No comment''
;gbt_bpchar_consistent
:''No comment''
;gbt_bytea_compress
:''No comment''
;gbt_bytea_consistent
:''No comment''
;gbt_bytea_penalty
:''No comment''
;gbt_bytea_picksplit
:''No comment''
;gbt_bytea_same
:''No comment''
;gbt_bytea_union
:''No comment''
;gbt_cash_compress
:''No comment''
;gbt_cash_consistent
:''No comment''
;gbt_cash_distance
:''No comment''
;gbt_cash_fetch
:''No comment''
;gbt_cash_penalty
:''No comment''
;gbt_cash_picksplit
:''No comment''
;gbt_cash_same
:''No comment''
;gbt_cash_union
:''No comment''
;gbt_date_compress
:''No comment''
;gbt_date_consistent
:''No comment''
;gbt_date_distance
:''No comment''
;gbt_date_fetch
:''No comment''
;gbt_date_penalty
:''No comment''
;gbt_date_picksplit
:''No comment''
;gbt_date_same
:''No comment''
;gbt_date_union
:''No comment''
;gbt_decompress
:''No comment''
;gbt_enum_compress
:''No comment''
;gbt_enum_consistent
:''No comment''
;gbt_enum_fetch
:''No comment''
;gbt_enum_penalty
:''No comment''
;gbt_enum_picksplit
:''No comment''
;gbt_enum_same
:''No comment''
;gbt_enum_union
:''No comment''
;gbt_float4_compress
:''No comment''
;gbt_float4_consistent
:''No comment''
;gbt_float4_distance
:''No comment''
;gbt_float4_fetch
:''No comment''
;gbt_float4_penalty
:''No comment''
;gbt_float4_picksplit
:''No comment''
;gbt_float4_same
:''No comment''
;gbt_float4_union
:''No comment''
;gbt_float8_compress
:''No comment''
;gbt_float8_consistent
:''No comment''
;gbt_float8_distance
:''No comment''
;gbt_float8_fetch
:''No comment''
;gbt_float8_penalty
:''No comment''
;gbt_float8_picksplit
:''No comment''
;gbt_float8_same
:''No comment''
;gbt_float8_union
:''No comment''
;gbt_inet_compress
:''No comment''
;gbt_inet_consistent
:''No comment''
;gbt_inet_penalty
:''No comment''
;gbt_inet_picksplit
:''No comment''
;gbt_inet_same
:''No comment''
;gbt_inet_union
:''No comment''
;gbt_int2_compress
:''No comment''
;gbt_int2_consistent
:''No comment''
;gbt_int2_distance
:''No comment''
;gbt_int2_fetch
:''No comment''
;gbt_int2_penalty
:''No comment''
;gbt_int2_picksplit
:''No comment''
;gbt_int2_same
:''No comment''
;gbt_int2_union
:''No comment''
;gbt_int4_compress
:''No comment''
;gbt_int4_consistent
:''No comment''
;gbt_int4_distance
:''No comment''
;gbt_int4_fetch
:''No comment''
;gbt_int4_penalty
:''No comment''
;gbt_int4_picksplit
:''No comment''
;gbt_int4_same
:''No comment''
;gbt_int4_union
:''No comment''
;gbt_int8_compress
:''No comment''
;gbt_int8_consistent
:''No comment''
;gbt_int8_distance
:''No comment''
;gbt_int8_fetch
:''No comment''
;gbt_int8_penalty
:''No comment''
;gbt_int8_picksplit
:''No comment''
;gbt_int8_same
:''No comment''
;gbt_int8_union
:''No comment''
;gbt_intv_compress
:''No comment''
;gbt_intv_consistent
:''No comment''
;gbt_intv_decompress
:''No comment''
;gbt_intv_distance
:''No comment''
;gbt_intv_fetch
:''No comment''
;gbt_intv_penalty
:''No comment''
;gbt_intv_picksplit
:''No comment''
;gbt_intv_same
:''No comment''
;gbt_intv_union
:''No comment''
;gbt_macad8_compress
:''No comment''
;gbt_macad8_consistent
:''No comment''
;gbt_macad8_fetch
:''No comment''
;gbt_macad8_penalty
:''No comment''
;gbt_macad8_picksplit
:''No comment''
;gbt_macad8_same
:''No comment''
;gbt_macad8_union
:''No comment''
;gbt_macad_compress
:''No comment''
;gbt_macad_consistent
:''No comment''
;gbt_macad_fetch
:''No comment''
;gbt_macad_penalty
:''No comment''
;gbt_macad_picksplit
:''No comment''
;gbt_macad_same
:''No comment''
;gbt_macad_union
:''No comment''
;gbt_numeric_compress
:''No comment''
;gbt_numeric_consistent
:''No comment''
;gbt_numeric_penalty
:''No comment''
;gbt_numeric_picksplit
:''No comment''
;gbt_numeric_same
:''No comment''
;gbt_numeric_union
:''No comment''
;gbt_oid_compress
:''No comment''
;gbt_oid_consistent
:''No comment''
;gbt_oid_distance
:''No comment''
;gbt_oid_fetch
:''No comment''
;gbt_oid_penalty
:''No comment''
;gbt_oid_picksplit
:''No comment''
;gbt_oid_same
:''No comment''
;gbt_oid_union
:''No comment''
;gbt_text_compress
:''No comment''
;gbt_text_consistent
:''No comment''
;gbt_text_penalty
:''No comment''
;gbt_text_picksplit
:''No comment''
;gbt_text_same
:''No comment''
;gbt_text_union
:''No comment''
;gbt_time_compress
:''No comment''
;gbt_time_consistent
:''No comment''
;gbt_time_distance
:''No comment''
;gbt_time_fetch
:''No comment''
;gbt_time_penalty
:''No comment''
;gbt_time_picksplit
:''No comment''
;gbt_time_same
:''No comment''
;gbt_time_union
:''No comment''
;gbt_timetz_compress
:''No comment''
;gbt_timetz_consistent
:''No comment''
;gbt_ts_compress
:''No comment''
;gbt_ts_consistent
:''No comment''
;gbt_ts_distance
:''No comment''
;gbt_ts_fetch
:''No comment''
;gbt_ts_penalty
:''No comment''
;gbt_ts_picksplit
:''No comment''
;gbt_ts_same
:''No comment''
;gbt_ts_union
:''No comment''
;gbt_tstz_compress
:''No comment''
;gbt_tstz_consistent
:''No comment''
;gbt_tstz_distance
:''No comment''
;gbt_uuid_compress
:''No comment''
;gbt_uuid_consistent
:''No comment''
;gbt_uuid_fetch
:''No comment''
;gbt_uuid_penalty
:''No comment''
;gbt_uuid_picksplit
:''No comment''
;gbt_uuid_same
:''No comment''
;gbt_uuid_union
:''No comment''
;gbt_var_decompress
:''No comment''
;gbt_var_fetch
:''No comment''
;gbtreekey16_in
:''No comment''
;gbtreekey16_out
:''No comment''
;gbtreekey2_in
:''No comment''
;gbtreekey2_out
:''No comment''
;gbtreekey32_in
:''No comment''
;gbtreekey32_out
:''No comment''
;gbtreekey4_in
:''No comment''
;gbtreekey4_out
:''No comment''
;gbtreekey8_in
:''No comment''
;gbtreekey8_out
:''No comment''
;gbtreekey_var_in
:''No comment''
;gbtreekey_var_out
:''No comment''
;geog_brin_inclusion_add_value
:''No comment''
;geog_brin_inclusion_merge
:''No comment''
;geography
:''No comment''
;geography
:''No comment''
;geography
:''No comment''
;geography_analyze
:''No comment''
;geography_cmp
:''No comment''
;geography_distance_knn
:''No comment''
;geography_eq
:''No comment''
;geography_ge
:''No comment''
;geography_gist_compress
:''No comment''
;geography_gist_consistent
:''No comment''
;geography_gist_decompress
:''No comment''
;geography_gist_distance
:''No comment''
;geography_gist_penalty
:''No comment''
;geography_gist_picksplit
:''No comment''
;geography_gist_same
:''No comment''
;geography_gist_union
:''No comment''
;geography_gt
:''No comment''
;geography_in
:''No comment''
;geography_le
:''No comment''
;geography_lt
:''No comment''
;geography_out
:''No comment''
;geography_overlaps
:''No comment''
;geography_recv
:''No comment''
;geography_send
:''No comment''
;geography_spgist_choose_nd
:''No comment''
;geography_spgist_compress_nd
:''No comment''
;geography_spgist_config_nd
:''No comment''
;geography_spgist_inner_consistent_nd
:''No comment''
;geography_spgist_leaf_consistent_nd
:''No comment''
;geography_spgist_picksplit_nd
:''No comment''
;geography_typmod_in
:''No comment''
;geography_typmod_out
:''No comment''
;geom2d_brin_inclusion_add_value
:''No comment''
;geom2d_brin_inclusion_merge
:''No comment''
;geom3d_brin_inclusion_add_value
:''No comment''
;geom3d_brin_inclusion_merge
:''No comment''
;geom4d_brin_inclusion_add_value
:''No comment''
;geom4d_brin_inclusion_merge
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry
:''No comment''
;geometry_above
:''No comment''
;geometry_analyze
:''No comment''
;geometry_below
:''No comment''
;geometry_cmp
:''No comment''
;geometry_contained_3d
:''No comment''
;geometry_contains
:''No comment''
;geometry_contains_3d
:''No comment''
;geometry_contains_nd
:''No comment''
;geometry_distance_box
:''No comment''
;geometry_distance_centroid
:''No comment''
;geometry_distance_centroid_nd
:''No comment''
;geometry_distance_cpa
:''No comment''
;geometry_eq
:''No comment''
;geometry_ge
:''No comment''
;geometry_gist_compress_2d
:''No comment''
;geometry_gist_compress_nd
:''No comment''
;geometry_gist_consistent_2d
:''No comment''
;geometry_gist_consistent_nd
:''No comment''
;geometry_gist_decompress_2d
:''No comment''
;geometry_gist_decompress_nd
:''No comment''
;geometry_gist_distance_2d
:''No comment''
;geometry_gist_distance_nd
:''No comment''
;geometry_gist_penalty_2d
:''No comment''
;geometry_gist_penalty_nd
:''No comment''
;geometry_gist_picksplit_2d
:''No comment''
;geometry_gist_picksplit_nd
:''No comment''
;geometry_gist_same_2d
:''No comment''
;geometry_gist_same_nd
:''No comment''
;geometry_gist_sortsupport_2d
:''No comment''
;geometry_gist_union_2d
:''No comment''
;geometry_gist_union_nd
:''No comment''
;geometry_gt
:''No comment''
;geometry_hash
:''No comment''
;geometry_in
:''No comment''
;geometry_le
:''No comment''
;geometry_left
:''No comment''
;geometry_lt
:''No comment''
;geometry_neq
:''No comment''
;geometry_out
:''No comment''
;geometry_overabove
:''No comment''
;geometry_overbelow
:''No comment''
;geometry_overlaps
:''No comment''
;geometry_overlaps_3d
:''No comment''
;geometry_overlaps_nd
:''No comment''
;geometry_overleft
:''No comment''
;geometry_overright
:''No comment''
;geometry_recv
:''No comment''
;geometry_right
:''No comment''
;geometry_same
:''No comment''
;geometry_same_3d
:''No comment''
;geometry_same_nd
:''No comment''
;geometry_send
:''No comment''
;geometry_sortsupport
:''No comment''
;geometry_spgist_choose_2d
:''No comment''
;geometry_spgist_choose_3d
:''No comment''
;geometry_spgist_choose_nd
:''No comment''
;geometry_spgist_compress_2d
:''No comment''
;geometry_spgist_compress_3d
:''No comment''
;geometry_spgist_compress_nd
:''No comment''
;geometry_spgist_config_2d
:''No comment''
;geometry_spgist_config_3d
:''No comment''
;geometry_spgist_config_nd
:''No comment''
;geometry_spgist_inner_consistent_2d
:''No comment''
;geometry_spgist_inner_consistent_3d
:''No comment''
;geometry_spgist_inner_consistent_nd
:''No comment''
;geometry_spgist_leaf_consistent_2d
:''No comment''
;geometry_spgist_leaf_consistent_3d
:''No comment''
;geometry_spgist_leaf_consistent_nd
:''No comment''
;geometry_spgist_picksplit_2d
:''No comment''
;geometry_spgist_picksplit_3d
:''No comment''
;geometry_spgist_picksplit_nd
:''No comment''
;geometry_typmod_in
:''No comment''
;geometry_typmod_out
:''No comment''
;geometry_within
:''No comment''
;geometry_within_nd
:''No comment''
;geometrytype
:''No comment''
;geometrytype
:''No comment''
;geomfromewkb
:''No comment''
;geomfromewkt
:''No comment''
;get_proj4_from_srid
:''No comment''
;get_restricted_events
:Return the [[#rov.event|events]] that are either unrestricted, or subject to [[#shared.restriction|restrictions]] for which at least one of the user's [[#public.auth_group|groups]] is permitted.
;gidx_in
:''No comment''
;gidx_out
:''No comment''
;gin_extract_query_trgm
:''No comment''
;gin_extract_value_trgm
:''No comment''
;gin_trgm_consistent
:''No comment''
;gin_trgm_triconsistent
:''No comment''
;gserialized_gist_joinsel_2d
:''No comment''
;gserialized_gist_joinsel_nd
:''No comment''
;gserialized_gist_sel_2d
:''No comment''
;gserialized_gist_sel_nd
:''No comment''
;gtrgm_compress
:''No comment''
;gtrgm_consistent
:''No comment''
;gtrgm_decompress
:''No comment''
;gtrgm_distance
:''No comment''
;gtrgm_in
:''No comment''
;gtrgm_options
:''No comment''
;gtrgm_out
:''No comment''
;gtrgm_penalty
:''No comment''
;gtrgm_picksplit
:''No comment''
;gtrgm_same
:''No comment''
;gtrgm_union
:''No comment''
;inat_taxon_level
:''No comment''
;int2_dist
:''No comment''
;int4_dist
:''No comment''
;int8_dist
:''No comment''
;interval_dist
:''No comment''
;is_contained_2d
:''No comment''
;is_contained_2d
:''No comment''
;is_contained_2d
:''No comment''
;json
:''No comment''
;jsonb
:''No comment''
;lookup_position
:''No comment''
;normal_rand
:''No comment''
;oid_dist
:''No comment''
;overlaps_2d
:''No comment''
;overlaps_2d
:''No comment''
;overlaps_2d
:''No comment''
;overlaps_geog
:''No comment''
;overlaps_geog
:''No comment''
;overlaps_geog
:''No comment''
;overlaps_nd
:''No comment''
;overlaps_nd
:''No comment''
;overlaps_nd
:''No comment''
;path
:''No comment''
;pgis_asflatgeobuf_finalfn
:''No comment''
;pgis_asflatgeobuf_transfn
:''No comment''
;pgis_asflatgeobuf_transfn
:''No comment''
;pgis_asflatgeobuf_transfn
:''No comment''
;pgis_asgeobuf_finalfn
:''No comment''
;pgis_asgeobuf_transfn
:''No comment''
;pgis_asgeobuf_transfn
:''No comment''
;pgis_asmvt_combinefn
:''No comment''
;pgis_asmvt_deserialfn
:''No comment''
;pgis_asmvt_finalfn
:''No comment''
;pgis_asmvt_serialfn
:''No comment''
;pgis_asmvt_transfn
:''No comment''
;pgis_asmvt_transfn
:''No comment''
;pgis_asmvt_transfn
:''No comment''
;pgis_asmvt_transfn
:''No comment''
;pgis_asmvt_transfn
:''No comment''
;pgis_geometry_accum_transfn
:''No comment''
;pgis_geometry_accum_transfn
:''No comment''
;pgis_geometry_accum_transfn
:''No comment''
;pgis_geometry_clusterintersecting_finalfn
:''No comment''
;pgis_geometry_clusterwithin_finalfn
:''No comment''
;pgis_geometry_collect_finalfn
:''No comment''
;pgis_geometry_coverageunion_finalfn
:''No comment''
;pgis_geometry_makeline_finalfn
:''No comment''
;pgis_geometry_polygonize_finalfn
:''No comment''
;pgis_geometry_union_parallel_combinefn
:''No comment''
;pgis_geometry_union_parallel_deserialfn
:''No comment''
;pgis_geometry_union_parallel_finalfn
:''No comment''
;pgis_geometry_union_parallel_serialfn
:''No comment''
;pgis_geometry_union_parallel_transfn
:''No comment''
;pgis_geometry_union_parallel_transfn
:''No comment''
;point
:''No comment''
;polygon
:''No comment''
;populate_geometry_columns
:''No comment''
;populate_geometry_columns
:''No comment''
;postgis_addbbox
:''No comment''
;postgis_cache_bbox
:''No comment''
;postgis_constraint_dims
:''No comment''
;postgis_constraint_srid
:''No comment''
;postgis_constraint_type
:''No comment''
;postgis_dropbbox
:''No comment''
;postgis_extensions_upgrade
:''No comment''
;postgis_full_version
:''No comment''
;postgis_geos_compiled_version
:''No comment''
;postgis_geos_noop
:''No comment''
;postgis_geos_version
:''No comment''
;postgis_getbbox
:''No comment''
;postgis_hasbbox
:''No comment''
;postgis_index_supportfn
:''No comment''
;postgis_lib_build_date
:''No comment''
;postgis_lib_revision
:''No comment''
;postgis_lib_version
:''No comment''
;postgis_libjson_version
:''No comment''
;postgis_liblwgeom_version
:''No comment''
;postgis_libprotobuf_version
:''No comment''
;postgis_libxml_version
:''No comment''
;postgis_noop
:''No comment''
;postgis_proj_compiled_version
:''No comment''
;postgis_proj_version
:''No comment''
;postgis_scripts_build_date
:''No comment''
;postgis_scripts_installed
:''No comment''
;postgis_scripts_released
:''No comment''
;postgis_srs
:''No comment''
;postgis_srs_all
:''No comment''
;postgis_srs_codes
:''No comment''
;postgis_srs_search
:''No comment''
;postgis_svn_version
:''No comment''
;postgis_transform_geometry
:''No comment''
;postgis_transform_pipeline_geometry
:''No comment''
;postgis_type_name
:''No comment''
;postgis_typmod_dims
:''No comment''
;postgis_typmod_srid
:''No comment''
;postgis_typmod_type
:''No comment''
;postgis_version
:''No comment''
;postgis_wagyu_version
:''No comment''
;regexp_match
:''No comment''
;regexp_match
:''No comment''
;regexp_matches
:''No comment''
;regexp_matches
:''No comment''
;regexp_replace
:''No comment''
;regexp_replace
:''No comment''
;regexp_split_to_array
:''No comment''
;regexp_split_to_array
:''No comment''
;regexp_split_to_table
:''No comment''
;regexp_split_to_table
:''No comment''
;replace
:''No comment''
;restriction_group_set_admin
:When a [[#shared.restriction|restriction]] is inserted, automatically inserts a record into [[#shared.restriction|restriction_group]] group to give admins permission to see the restricted record. Other groups can be added manualy.
;set_limit
:''No comment''
;show_limit
:''No comment''
;show_trgm
:''No comment''
;similarity
:''No comment''
;similarity_dist
:''No comment''
;similarity_op
:''No comment''
;spheroid_in
:''No comment''
;spheroid_out
:''No comment''
;split_part
:''No comment''
;st_3dclosestpoint
:''No comment''
;st_3ddfullywithin
:''No comment''
;st_3ddistance
:''No comment''
;st_3ddwithin
:''No comment''
;st_3dintersects
:''No comment''
;st_3dlength
:''No comment''
;st_3dlineinterpolatepoint
:''No comment''
;st_3dlongestline
:''No comment''
;st_3dmakebox
:''No comment''
;st_3dmaxdistance
:''No comment''
;st_3dperimeter
:''No comment''
;st_3dshortestline
:''No comment''
;st_addmeasure
:''No comment''
;st_addpoint
:''No comment''
;st_addpoint
:''No comment''
;st_affine
:''No comment''
;st_affine
:''No comment''
;st_angle
:''No comment''
;st_angle
:''No comment''
;st_area
:''No comment''
;st_area
:''No comment''
;st_area
:''No comment''
;st_area2d
:''No comment''
;st_asbinary
:''No comment''
;st_asbinary
:''No comment''
;st_asbinary
:''No comment''
;st_asbinary
:''No comment''
;st_asencodedpolyline
:''No comment''
;st_asewkb
:''No comment''
;st_asewkb
:''No comment''
;st_asewkt
:''No comment''
;st_asewkt
:''No comment''
;st_asewkt
:''No comment''
;st_asewkt
:''No comment''
;st_asewkt
:''No comment''
;st_asgeojson
:''No comment''
;st_asgeojson
:''No comment''
;st_asgeojson
:''No comment''
;st_asgeojson
:''No comment''
;st_asgml
:''No comment''
;st_asgml
:''No comment''
;st_asgml
:''No comment''
;st_asgml
:''No comment''
;st_asgml
:''No comment''
;st_ashexewkb
:''No comment''
;st_ashexewkb
:''No comment''
;st_askml
:''No comment''
;st_askml
:''No comment''
;st_askml
:''No comment''
;st_aslatlontext
:''No comment''
;st_asmarc21
:''No comment''
;st_asmvtgeom
:''No comment''
;st_assvg
:''No comment''
;st_assvg
:''No comment''
;st_assvg
:''No comment''
;st_astext
:''No comment''
;st_astext
:''No comment''
;st_astext
:''No comment''
;st_astext
:''No comment''
;st_astext
:''No comment''
;st_astwkb
:''No comment''
;st_astwkb
:''No comment''
;st_asx3d
:''No comment''
;st_azimuth
:''No comment''
;st_azimuth
:''No comment''
;st_bdmpolyfromtext
:''No comment''
;st_bdpolyfromtext
:''No comment''
;st_boundary
:''No comment''
;st_boundingdiagonal
:''No comment''
;st_box2dfromgeohash
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buffer
:''No comment''
;st_buildarea
:''No comment''
;st_centroid
:''No comment''
;st_centroid
:''No comment''
;st_centroid
:''No comment''
;st_chaikinsmoothing
:''No comment''
;st_cleangeometry
:''No comment''
;st_clipbybox2d
:''No comment''
;st_closestpoint
:''No comment''
;st_closestpoint
:''No comment''
;st_closestpoint
:''No comment''
;st_closestpointofapproach
:''No comment''
;st_clusterintersecting
:''No comment''
;st_clusterwithin
:''No comment''
;st_collect
:''No comment''
;st_collect
:''No comment''
;st_collectionextract
:''No comment''
;st_collectionextract
:''No comment''
;st_collectionhomogenize
:''No comment''
;st_combinebbox
:''No comment''
;st_combinebbox
:''No comment''
;st_combinebbox
:''No comment''
;st_concavehull
:''No comment''
;st_contains
:''No comment''
;st_containsproperly
:''No comment''
;st_convexhull
:''No comment''
;st_coorddim
:''No comment''
;st_coverageunion
:''No comment''
;st_coveredby
:''No comment''
;st_coveredby
:''No comment''
;st_coveredby
:''No comment''
;st_covers
:''No comment''
;st_covers
:''No comment''
;st_covers
:''No comment''
;st_cpawithin
:''No comment''
;st_crosses
:''No comment''
;st_curven
:''No comment''
;st_curvetoline
:''No comment''
;st_delaunaytriangles
:''No comment''
;st_dfullywithin
:''No comment''
;st_difference
:''No comment''
;st_dimension
:''No comment''
;st_disjoint
:''No comment''
;st_distance
:''No comment''
;st_distance
:''No comment''
;st_distance
:''No comment''
;st_distancecpa
:''No comment''
;st_distancesphere
:''No comment''
;st_distancesphere
:''No comment''
;st_distancespheroid
:''No comment''
;st_distancespheroid
:''No comment''
;st_dump
:''No comment''
;st_dumppoints
:''No comment''
;st_dumprings
:''No comment''
;st_dumpsegments
:''No comment''
;st_dwithin
:''No comment''
;st_dwithin
:''No comment''
;st_dwithin
:''No comment''
;st_endpoint
:''No comment''
;st_envelope
:''No comment''
;st_equals
:''No comment''
;st_estimatedextent
:''No comment''
;st_estimatedextent
:''No comment''
;st_estimatedextent
:''No comment''
;st_expand
:''No comment''
;st_expand
:''No comment''
;st_expand
:''No comment''
;st_expand
:''No comment''
;st_expand
:''No comment''
;st_expand
:''No comment''
;st_exteriorring
:''No comment''
;st_filterbym
:''No comment''
;st_findextent
:''No comment''
;st_findextent
:''No comment''
;st_flipcoordinates
:''No comment''
;st_force2d
:''No comment''
;st_force3d
:''No comment''
;st_force3dm
:''No comment''
;st_force3dz
:''No comment''
;st_force4d
:''No comment''
;st_forcecollection
:''No comment''
;st_forcecurve
:''No comment''
;st_forcepolygonccw
:''No comment''
;st_forcepolygoncw
:''No comment''
;st_forcerhr
:''No comment''
;st_forcesfs
:''No comment''
;st_forcesfs
:''No comment''
;st_frechetdistance
:''No comment''
;st_fromflatgeobuf
:''No comment''
;st_fromflatgeobuftotable
:''No comment''
;st_generatepoints
:''No comment''
;st_generatepoints
:''No comment''
;st_geogfromtext
:''No comment''
;st_geogfromwkb
:''No comment''
;st_geographyfromtext
:''No comment''
;st_geohash
:''No comment''
;st_geohash
:''No comment''
;st_geomcollfromtext
:''No comment''
;st_geomcollfromtext
:''No comment''
;st_geomcollfromwkb
:''No comment''
;st_geomcollfromwkb
:''No comment''
;st_geometricmedian
:''No comment''
;st_geometryfromtext
:''No comment''
;st_geometryfromtext
:''No comment''
;st_geometryn
:''No comment''
;st_geometrytype
:''No comment''
;st_geomfromewkb
:''No comment''
;st_geomfromewkt
:''No comment''
;st_geomfromgeohash
:''No comment''
;st_geomfromgeojson
:''No comment''
;st_geomfromgeojson
:''No comment''
;st_geomfromgeojson
:''No comment''
;st_geomfromgml
:''No comment''
;st_geomfromgml
:''No comment''
;st_geomfromkml
:''No comment''
;st_geomfrommarc21
:''No comment''
;st_geomfromtext
:''No comment''
;st_geomfromtext
:''No comment''
;st_geomfromtwkb
:''No comment''
;st_geomfromwkb
:''No comment''
;st_geomfromwkb
:''No comment''
;st_gmltosql
:''No comment''
;st_gmltosql
:''No comment''
;st_hasarc
:''No comment''
;st_hasm
:''No comment''
;st_hasz
:''No comment''
;st_hausdorffdistance
:''No comment''
;st_hausdorffdistance
:''No comment''
;st_hexagon
:''No comment''
;st_hexagongrid
:''No comment''
;st_interiorringn
:''No comment''
;st_interpolatepoint
:''No comment''
;st_intersection
:''No comment''
;st_intersection
:''No comment''
;st_intersection
:''No comment''
;st_intersects
:''No comment''
;st_intersects
:''No comment''
;st_intersects
:''No comment''
;st_inversetransformpipeline
:''No comment''
;st_isclosed
:''No comment''
;st_iscollection
:''No comment''
;st_isempty
:''No comment''
;st_ispolygonccw
:''No comment''
;st_ispolygoncw
:''No comment''
;st_isring
:''No comment''
;st_issimple
:''No comment''
;st_isvalid
:''No comment''
;st_isvalid
:''No comment''
;st_isvaliddetail
:''No comment''
;st_isvalidreason
:''No comment''
;st_isvalidreason
:''No comment''
;st_isvalidtrajectory
:''No comment''
;st_largestemptycircle
:''No comment''
;st_length
:''No comment''
;st_length
:''No comment''
;st_length
:''No comment''
;st_length2d
:''No comment''
;st_length2dspheroid
:''No comment''
;st_lengthspheroid
:''No comment''
;st_letters
:''No comment''
;st_linecrossingdirection
:''No comment''
;st_lineextend
:''No comment''
;st_linefromencodedpolyline
:''No comment''
;st_linefrommultipoint
:''No comment''
;st_linefromtext
:''No comment''
;st_linefromtext
:''No comment''
;st_linefromwkb
:''No comment''
;st_linefromwkb
:''No comment''
;st_lineinterpolatepoint
:''No comment''
;st_lineinterpolatepoint
:''No comment''
;st_lineinterpolatepoint
:''No comment''
;st_lineinterpolatepoints
:''No comment''
;st_lineinterpolatepoints
:''No comment''
;st_lineinterpolatepoints
:''No comment''
;st_linelocatepoint
:''No comment''
;st_linelocatepoint
:''No comment''
;st_linelocatepoint
:''No comment''
;st_linemerge
:''No comment''
;st_linemerge
:''No comment''
;st_linestringfromwkb
:''No comment''
;st_linestringfromwkb
:''No comment''
;st_linesubstring
:''No comment''
;st_linesubstring
:''No comment''
;st_linesubstring
:''No comment''
;st_linetocurve
:''No comment''
;st_locatealong
:''No comment''
;st_locatebetween
:''No comment''
;st_locatebetweenelevations
:''No comment''
;st_longestline
:''No comment''
;st_m
:''No comment''
;st_makebox2d
:''No comment''
;st_makeenvelope
:''No comment''
;st_makeline
:''No comment''
;st_makeline
:''No comment''
;st_makepoint
:''No comment''
;st_makepoint
:''No comment''
;st_makepoint
:''No comment''
;st_makepointm
:''No comment''
;st_makepolygon
:''No comment''
;st_makepolygon
:''No comment''
;st_makevalid
:''No comment''
;st_makevalid
:''No comment''
;st_maxdistance
:''No comment''
;st_maximuminscribedcircle
:''No comment''
;st_memsize
:''No comment''
;st_minimumboundingcircle
:''No comment''
;st_minimumboundingradius
:''No comment''
;st_minimumclearance
:''No comment''
;st_minimumclearanceline
:''No comment''
;st_mlinefromtext
:''No comment''
;st_mlinefromtext
:''No comment''
;st_mlinefromwkb
:''No comment''
;st_mlinefromwkb
:''No comment''
;st_mpointfromtext
:''No comment''
;st_mpointfromtext
:''No comment''
;st_mpointfromwkb
:''No comment''
;st_mpointfromwkb
:''No comment''
;st_mpolyfromtext
:''No comment''
;st_mpolyfromtext
:''No comment''
;st_mpolyfromwkb
:''No comment''
;st_mpolyfromwkb
:''No comment''
;st_multi
:''No comment''
;st_multilinefromwkb
:''No comment''
;st_multilinestringfromtext
:''No comment''
;st_multilinestringfromtext
:''No comment''
;st_multipointfromtext
:''No comment''
;st_multipointfromwkb
:''No comment''
;st_multipointfromwkb
:''No comment''
;st_multipolyfromwkb
:''No comment''
;st_multipolyfromwkb
:''No comment''
;st_multipolygonfromtext
:''No comment''
;st_multipolygonfromtext
:''No comment''
;st_ndims
:''No comment''
;st_node
:''No comment''
;st_normalize
:''No comment''
;st_npoints
:''No comment''
;st_nrings
:''No comment''
;st_numcurves
:''No comment''
;st_numgeometries
:''No comment''
;st_numinteriorring
:''No comment''
;st_numinteriorrings
:''No comment''
;st_numpatches
:''No comment''
;st_numpoints
:''No comment''
;st_offsetcurve
:''No comment''
;st_orderingequals
:''No comment''
;st_orientedenvelope
:''No comment''
;st_overlaps
:''No comment''
;st_patchn
:''No comment''
;st_perimeter
:''No comment''
;st_perimeter
:''No comment''
;st_perimeter2d
:''No comment''
;st_point
:''No comment''
;st_point
:''No comment''
;st_pointfromgeohash
:''No comment''
;st_pointfromtext
:''No comment''
;st_pointfromtext
:''No comment''
;st_pointfromwkb
:''No comment''
;st_pointfromwkb
:''No comment''
;st_pointinsidecircle
:''No comment''
;st_pointm
:''No comment''
;st_pointn
:''No comment''
;st_pointonsurface
:''No comment''
;st_points
:''No comment''
;st_pointz
:''No comment''
;st_pointzm
:''No comment''
;st_polyfromtext
:''No comment''
;st_polyfromtext
:''No comment''
;st_polyfromwkb
:''No comment''
;st_polyfromwkb
:''No comment''
;st_polygon
:''No comment''
;st_polygonfromtext
:''No comment''
;st_polygonfromtext
:''No comment''
;st_polygonfromwkb
:''No comment''
;st_polygonfromwkb
:''No comment''
;st_polygonize
:''No comment''
;st_project
:''No comment''
;st_project
:''No comment''
;st_project
:''No comment''
;st_project
:''No comment''
;st_quantizecoordinates
:''No comment''
;st_reduceprecision
:''No comment''
;st_relate
:''No comment''
;st_relate
:''No comment''
;st_relate
:''No comment''
;st_relatematch
:''No comment''
;st_removeirrelevantpointsforview
:''No comment''
;st_removepoint
:''No comment''
;st_removerepeatedpoints
:''No comment''
;st_removesmallparts
:''No comment''
;st_reverse
:''No comment''
;st_rotate
:''No comment''
;st_rotate
:''No comment''
;st_rotate
:''No comment''
;st_rotatex
:''No comment''
;st_rotatey
:''No comment''
;st_rotatez
:''No comment''
;st_scale
:''No comment''
;st_scale
:''No comment''
;st_scale
:''No comment''
;st_scale
:''No comment''
;st_scroll
:''No comment''
;st_segmentize
:''No comment''
;st_segmentize
:''No comment''
;st_seteffectivearea
:''No comment''
;st_setpoint
:''No comment''
;st_setsrid
:''No comment''
;st_setsrid
:''No comment''
;st_sharedpaths
:''No comment''
;st_shiftlongitude
:''No comment''
;st_shortestline
:''No comment''
;st_shortestline
:''No comment''
;st_shortestline
:''No comment''
;st_simplify
:''No comment''
;st_simplify
:''No comment''
;st_simplifypolygonhull
:''No comment''
;st_simplifypreservetopology
:''No comment''
;st_simplifyvw
:''No comment''
;st_snap
:''No comment''
;st_snaptogrid
:''No comment''
;st_snaptogrid
:''No comment''
;st_snaptogrid
:''No comment''
;st_snaptogrid
:''No comment''
;st_split
:''No comment''
;st_square
:''No comment''
;st_squaregrid
:''No comment''
;st_srid
:''No comment''
;st_srid
:''No comment''
;st_startpoint
:''No comment''
;st_subdivide
:''No comment''
;st_summary
:''No comment''
;st_summary
:''No comment''
;st_swapordinates
:''No comment''
;st_symdifference
:''No comment''
;st_symmetricdifference
:''No comment''
;st_tileenvelope
:''No comment''
;st_touches
:''No comment''
;st_transform
:''No comment''
;st_transform
:''No comment''
;st_transform
:''No comment''
;st_transform
:''No comment''
;st_transformpipeline
:''No comment''
;st_translate
:''No comment''
;st_translate
:''No comment''
;st_transscale
:''No comment''
;st_triangulatepolygon
:''No comment''
;st_unaryunion
:''No comment''
;st_union
:''No comment''
;st_union
:''No comment''
;st_union
:''No comment''
;st_voronoilines
:''No comment''
;st_voronoipolygons
:''No comment''
;st_within
:''No comment''
;st_wkbtosql
:''No comment''
;st_wkttosql
:''No comment''
;st_wrapx
:''No comment''
;st_x
:''No comment''
;st_xmax
:''No comment''
;st_xmin
:''No comment''
;st_y
:''No comment''
;st_ymax
:''No comment''
;st_ymin
:''No comment''
;st_z
:''No comment''
;st_zmax
:''No comment''
;st_zmflag
:''No comment''
;st_zmin
:''No comment''
;strict_word_similarity
:''No comment''
;strict_word_similarity_commutator_op
:''No comment''
;strict_word_similarity_dist_commutator_op
:''No comment''
;strict_word_similarity_dist_op
:''No comment''
;strict_word_similarity_op
:''No comment''
;strpos
:''No comment''
;text
:''No comment''
;texticlike
:''No comment''
;texticlike
:''No comment''
;texticnlike
:''No comment''
;texticnlike
:''No comment''
;texticregexeq
:''No comment''
;texticregexeq
:''No comment''
;texticregexne
:''No comment''
;texticregexne
:''No comment''
;time_dist
:''No comment''
;translate
:''No comment''
;trigger_compile_event_restriction_masks
:Triggers compilation of [[#shared.restriction|restriction]] masks on the [[#rov.event|event]] table when it is updated.
;ts_dist
:''No comment''
;tstz_dist
:''No comment''
;updated_on_column
:Updates the updated_on column of a relation to the current time on update.
;updategeometrysrid
:''No comment''
;updategeometrysrid
:''No comment''
;updategeometrysrid
:''No comment''
;word_similarity
:''No comment''
;word_similarity_commutator_op
:''No comment''
;word_similarity_dist_commutator_op
:''No comment''
;word_similarity_dist_op
:''No comment''
;word_similarity_op
:''No comment''


===== Procedures =====
===== Procedures =====


;_copy_habitat_events
:''No comment''
;_copy_status_events
:''No comment''
;cache_clear_cruise
:Clear cached entities associated with the given cruise.
;cache_refresh_cruise_stats
:Refresh the [[#cache.cruise_stats|cruise stats]] table.
;cache_refresh_cruise_track
:Stores a linestring representing the path of a platform over the course of a cruise.
;cache_refresh_dive_track
:Stores a linestring representing the path of a platform over the course of a dive.
;cache_refresh_evt_depth
:Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true truncates the table before rebuilding it.
;cache_refresh_evt_measurement
:Populates the cache table with measurements corresponding to each event. For events that cover a time span, the timestamp and measurement will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. The boolean parameter, if true
;cache_refresh_evt_pos
:Populates the cache table with depths corresponding to each event. For events that cover a time span, the timestamp and position will be stored as multiple ordered values in the array. For events without an end time a single element will be contained in the array. If the boolean parameter is true, the table is truncated before rebuilding.
;cache_refresh_tables
:Calls the cache refresh procedures stored in the [[#admin.cache_table|cache_table]] table. These procedures refresh or rebuild cache tables and other tables that need periodic compilation. Each procedure called by this procedure must have a boolean parameter to do with as it chooses. In most cases, the parameter clears or truncates the target table.
;cache_refresh_tables
:Refreshes all of the cache tables: event positions, event depths, event measurements, dive tracks, transect tracks and cruise tracks.
;cache_refresh_transect_track
:Stores a linestring representing the path of a platform over the course of a transect.
;clean_event_duplicates
:Deletes duplicate [[#rov.event|events]] over all cruises.
;clean_event_duplicates
:Deletes duplicate [[#rov.event|events]] for the given cruise by checking their time stamps, properties, [[#rov.instrument_config|instrument configs]] and dive IDs. Loops multiple times to capture multiple duplicates. Deletes duplicate measurements in a separate loop, looking at the type, timestamps, instrument configs and quantity.
;clean_measurement_event_duplicates
:Deletes duplicate [[#rov.event|measurment events]] for a specific [[#rov.cruise|cruise]].
;clean_stream_duplicates
:''No comment''
;clean_uploaded_files
:Removes [[#shared.uploaded_file|uploaded file]] instances that are not referenced by any other entity. A server-side script must run which deletes files with no corresponding uploaded file record.
;compile_event_restrictions
:Compiles the [[#rov.event_group|event group]] table which links events to the [[#public.auth_user|users]] whose [[#public.auth_group|groups]] has access to the record based on [[#shared.restriction|restriction]] table
;fix_comment_links
:''No comment''
;initial_import_groups
:''No comment''
;measurement_position_maintain_dive
:''No comment''
;measurement_position_maintain_dives
:''No comment''
;p_measurement_position_crosstab
:''No comment''
;p_measurement_position_maintain_dive
:''No comment''
;p_measurement_position_maintain_dives
:''No comment''
;remove_duplicates
:Removes duplicated [[#rov.position|positions]], [[#rov.measurement|measurements]] and [[#rov.event|events]] (not observations which cannot be deduplicated deterministically).
;remove_event_duplicates
:''No comment''
;update_biigle_fov
:Finds status events indicating a Laser Point and computes the laser distance in pixels and field of view in centimetres using the annotation points. Creates measurement events and deletes the status events.


==== Schema: rov ====
=== Schema: rov ===
<span id="rov"></span>
<span id="rov"></span>


Line 3,579: Line 1,571:
Stores a list of abundance labels from the ACFOR scale.
Stores a list of abundance labels from the ACFOR scale.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A descriptive label for the abundance level.
|
;rank
|-
:A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
| name
;source
| A descriptive label for the abundance level.
:A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
|-
;note
| rank
:An optional note about the abundance level.
| A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
;short_code
|-
:Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
| source
| A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
|-
| note
| An optional note about the abundance level.
|-
| short_code
| Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
|}


====== annotation_job ======
====== annotation_job ======
Line 3,599: Line 1,599:
Stores information about the annotation projects that generate information from photo and video media.
Stores information about the annotation projects that generate information from photo and video media.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for the annotation project.
|
;objective
|-
:A statement of the objectives of the annotation project.
| name
;note
| A name for the annotation project.
:Operational notes about the annotation project.
|-
;start_date
| objective
:The starting date of the project.
| A statement of the objectives of the annotation project.
;end_date
|-
:The ending date of the project.
| note
;created_on
| Operational notes about the annotation project.
:The date of creation of the entity.
|-
;updated_on
| start_date
:The date of last modification of the entity.
| The starting date of the project.
|-
| end_date
| The ending date of the project.
|-
| created_on
| The date of creation of the entity.
|-
| updated_on
| The date of last modification of the entity.
|}


====== annotation_job_annotation_protocol ======
====== annotation_job_annotation_protocol ======
Line 3,623: Line 1,633:
Associates the annotation job with one or more [[#rov.annotation_protocol|annotation protocols]], which are used to direct annotation activities.
Associates the annotation job with one or more [[#rov.annotation_protocol|annotation protocols]], which are used to direct annotation activities.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;annotation_job_id
| id
:The ID of the [[#rov.annotation_job|annotation job]].
|
;annotation_protocol_id
|-
:The ID of the [[#rov.annotation_protocol|annotation protocol]].
| annotation_job_id
| The ID of the [annotation job](#rov.annotation_job).
|-
| annotation_protocol_id
| The ID of the [annotation protocol](#rov.annotation_protocol).
|}


====== annotation_job_crew ======
====== annotation_job_crew ======
Line 3,637: Line 1,652:
Associates crew members with an [[#rov.annotation_job|annotation job]] with their respective [[#rov.annotation_job_role|roles]].
Associates crew members with an [[#rov.annotation_job|annotation job]] with their respective [[#rov.annotation_job_role|roles]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;annotation_job_id
| id
:The ID of the [[#rov.annotation_job|annotation job]].
|
;person_id
|-
:The ID of the [[#shared.person|crew member]].
| annotation_job_id
;role_id
| The ID of the [annotation job](#rov.annotation_job).
:The ID of the [[#rov.annotation_job_role|role]].
|-
| person_id
| The ID of the [crew member](#shared.person).
|-
| role_id
| The ID of the [role](#rov.annotation_job_role).
|}


====== annotation_job_role ======
====== annotation_job_role ======
Line 3,653: Line 1,674:
Stores the possible roles one can perform on an [[#rov.annotation_job|annotation job]].
Stores the possible roles one can perform on an [[#rov.annotation_job|annotation job]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the role.
|
;note
|-
:A descript of the role.
| name
| The name of the role.
|-
| note
| A descript of the role.
|}


====== annotation_protocol ======
====== annotation_protocol ======
Line 3,667: Line 1,693:
A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.
A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;medium_type_id
| id
:The type of media used for annotation. Looked up in [[#rov.medium_type|media type]] table.
|
;annotation_software_id
|-
:Software used to annotate the video or images. Looked up in the [[#rov.annotation_software|annotation software]] table.
| medium_type_id
;name
| The type of media used for annotation. Looked up in [media type](#rov.medium_type) table.  
:The name of the annotation protocol. Should be unique.
|-
;is_template
| annotation_software_id
:If this is meant to be a template that is copied for use, mark this column `true`.
| Software used to annotate the video or images. Looked up in the [annotation software](#rov.annotation_software) table.
;image_interval
|-
:The interval between images or frame grabs. Typically 3 to 10 seconds.
| name
;image_overlap
| The name of the annotation protocol. Should be unique.
:Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
|-
;habitat_only
| is_template
:Set to true if only habitat variables were recorded.
| If this is meant to be a template that is copied for use, mark this column `true`.
;species_guide
|-
:A URL to the iNaturalist species guide that was used for annotation.
| image_interval
;note
| The interval between images or frame grabs. Typically 3 to 10 seconds.
:If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
|-
;created_on
| image_overlap
:The date of creation of this record.
| Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
;updated_on
|-
:The date of update of this record.
| habitat_only
;creator_id
| Set to true if only habitat variables were recorded.
:Records the identity of the person who created this protocol.
|-
;invertebrate_species
| species_guide
:Whether all invertebrate species are identified: "all", "subset" or "none".
| A URL to the iNaturalist species guide that was used for annotation.
;fish_species
|-
:Whether all fish species are identified: "all", "subset" or "none".
| note
;algae_species
| If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
:Whether all algae species are identified: "all", "subset" or "none".
|-
;biogenic_habitat
| created_on
:True if any habitat categories include fauna (e.g., sponge reefs).
| The date of creation of this record.
;protocol_document
|-
:Link, title, DOI, etc. of a document describing the protocol in full.
| updated_on
;observation_interval
| The date of update of this record.
:The time interval between species or anthropogenic observations.
|-
;habitat_interval
| creator_id
:The time interval between habitat observations.
| Records the identity of the person who created this protocol.
;fov_interval
|-
:The time interval between field-of-view measurements.
| invertebrate_species
;image_interval_unit
| Whether all invertebrate species are identified: "all", "subset" or "none".
:A unit for the image interval, such as 's' for seconds or 'm' for metres.
|-
;observation_interval_unit
| fish_species
:A unit for the observation interval, such as 's' for seconds or 'm' for metres.
| Whether all fish species are identified: "all", "subset" or "none".
;habitat_interval_unit
|-
:A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
| algae_species
;fov_interval_unit
| Whether all algae species are identified: "all", "subset" or "none".
:A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
|-
| biogenic_habitat
| True if any habitat categories include fauna (e.g., sponge reefs).
|-
| protocol_document
| Link, title, DOI, etc. of a document describing the protocol in full.
|-
| observation_interval
| The time interval between species or anthropogenic observations.
|-
| habitat_interval
| The time interval between habitat observations.
|-
| fov_interval
| The time interval between field-of-view measurements.
|-
| image_interval_unit
| A unit for the image interval, such as 's' for seconds or 'm' for metres.
|-
| observation_interval_unit
| A unit for the observation interval, such as 's' for seconds or 'm' for metres.
|-
| habitat_interval_unit
| A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
|-
| fov_interval_unit
| A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
|}


====== annotation_protocol_document ======
====== annotation_protocol_document ======
Line 3,725: Line 1,778:
Contains documents related to an [[#rov.annotation_protocol|annotation protocol]]. These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.
Contains documents related to an [[#rov.annotation_protocol|annotation protocol]]. These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;annotation_protocol_id
| id
:A reference to the [[#rov.annotation_protocol|annotation protocol]].
|
;note
|-
:An optional note about the document.
| annotation_protocol_id
;title
| A reference to the [annotation protocol](#rov.annotation_protocol).
:The title of the document.
|-
;url
| note
:An optional URL for the document. If file data are not given, this field is required.
| An optional note about the document.
;created_on
|-
:The time of creation of the record.
| title
;updated_on
| The title of the document.
:The time of update of the record.
|-
;file_id
| url
:A reference to the [[#shared.uploaded_file|uploaded file]].
| An optional URL for the document. If file data are not given, this field is required.
|-
| created_on
| The time of creation of the record.
|-
| updated_on
| The time of update of the record.
|-
| file_id
| A reference to the [uploaded file](#shared.uploaded_file).
|}


====== annotation_software ======
====== annotation_software ======
Line 3,749: Line 1,812:
The software used for annotation.
The software used for annotation.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the annotation software.
|
;note
|-
:An optional note about the annotation software.
| name
| The name of the annotation software.
|-
| note
| An optional note about the annotation software.
|}


====== biigle_label_map ======
====== biigle_label_map ======
Line 3,763: Line 1,831:
Contains mappings from Biigle labels to properties that apply to events.
Contains mappings from Biigle labels to properties that apply to events.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;label_tree_id
| id
:The ID of the Biigle label tree.
|
;label_id
|-
:The ID of the Biigle label.
| label_tree_id
;label_hierarchy
| The ID of the Biigle label tree.
:The full hierarchical text of the Biigle label.
|-
;label_text
| label_id
:The text of the final element of the label.
| The ID of the Biigle label.
;properties
|-
:Stores the properties of the observation.
| label_hierarchy
;note
| The full hierarchical text of the Biigle label.
:A textual note or comment.
|-
;created_on
| label_text
:The time of creation of the record.
| The text of the final element of the label.
;updated_on
|-
:Time of last update of the record.
| properties
| Stores the properties of the observation.
|-
| note
| A textual note or comment.
|-
| created_on
| The time of creation of the record.
|-
| updated_on
| Time of last update of the record.
|}


====== biigle_label_map_restriction ======
====== biigle_label_map_restriction ======
Line 3,789: Line 1,868:
Links a [[#rov.biigle_label_map|Biigle label map]] to a [restriction][#shared.restriction].
Links a [[#rov.biigle_label_map|Biigle label map]] to a [restriction][#shared.restriction].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;restriction_id
| id
:A link to the [[#shared.restriction|restriction]].
|
;biigle_label_map_id
|-
:A link to the [[#rov.biigle_label_map|label map]].
| restriction_id
| A link to the [restriction](#shared.restriction).
|-
| biigle_label_map_id
| A link to the [label map](#rov.biigle_label_map).
|}


====== biocover ======
====== biocover ======
Line 3,803: Line 1,887:
A lookup table listing the available biocover types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the [[#taxonomy.taxon|taxon]] table.
A lookup table listing the available biocover types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the [[#taxonomy.taxon|taxon]] table.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the biocover.
|
;note
|-
:An optional description of the biocover.
| name
;short_code
| The name of the biocover.
:Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
|-
| note
| An optional description of the biocover.
|-
| short_code
| Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
|}


====== complexity ======
====== complexity ======
Line 3,819: Line 1,909:
A lookup table listing the available habitat complexity types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available habitat complexity types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the complexity type.
|
;note
|-
:An optional description of the complexity type.
| name
;short_code
| The name of the complexity type.
:Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
|-
| note
| An optional description of the complexity type.
|-
| short_code
| Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
|}


====== coverage ======
====== coverage ======
Line 3,835: Line 1,931:
A lookup table listing the percentage of coverage for the [[#rov.event|habitat_event]] table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.
A lookup table listing the percentage of coverage for the [[#rov.event|habitat_event]] table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A characterization of percent coverage. Presented as a range of percentages.
|
;minimum
|-
:The minimum value in the range.
| name
;maximum
| A characterization of percent coverage. Presented as a range of percentages.
:The minimum value in the range.
|-
;note
| minimum
:An optional note about the coverage percentage.
| The minimum value in the range.
;short_code
|-
:Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
| maximum
| The minimum value in the range.
|-
| note
| An optional note about the coverage percentage.
|-
| short_code
| Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
|}


====== cruise ======
====== cruise ======
Line 3,855: Line 1,959:
Cruise legs occur within a [[#rov.cruise|cruise]] and are assigned specific [[#rov.cruise_crew|crews]], [[#rov.program|scientific programs]], etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a [[#rov.program|scientific program]] or a [[#rov.cruise|cruise]] because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.
Cruise legs occur within a [[#rov.cruise|cruise]] and are assigned specific [[#rov.cruise_crew|crews]], [[#rov.program|scientific programs]], etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a [[#rov.program|scientific program]] or a [[#rov.cruise|cruise]] because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for this leg of the cruise.
|
;objective
|-
:A statement of the operational or scientific objectives of the cruise.
| name
;start_time
| A name for this leg of the cruise.
:The start time of the leg.
|-
;end_time
| objective
:The end time of the leg.
| A statement of the operational or scientific objectives of the cruise.
;planned_track
|-
:A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
| start_time
;note
| The start time of the leg.
:Notes about the cruise.
|-
;created_on
| end_time
:The date of creation of this record.
| The end time of the leg.
;updated_on
|-
:The date of update of this record.
| planned_track
;leg
| A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
:Cruise legs are numbered from 1.
|-
;summary
| note
:A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
| Notes about the cruise.
;approved
|-
:If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
| created_on
;ship_id
| The date of creation of this record.
:The ID of the [[#rov.platform|ship]] used on this cruise.
|-
;admin_note
| updated_on
:Notes by the database administrator about this entity.
| The date of update of this record.
;mark_for_delete
|-
:Marks the entity for asynchronous deletion by the runner.
| leg
| Cruise legs are numbered from 1.
|-
| summary
| A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
|-
| approved
| If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
|-
| ship_id
| The ID of the [ship](#rov.platform) used on this cruise.
|-
| admin_note
| Notes by the database administrator about this entity.
|-
| mark_for_delete
| Marks the entity for asynchronous deletion by the runner.
|}


====== cruise_crew ======
====== cruise_crew ======
Line 3,893: Line 2,014:
Associates [[#shared.person|crew members]] with a [[#rov.cruise|cruise leg]] and their [[#rov.cruise_role|roles]]. A crew member can have multiple roles. Note: these roles are distinct from members of [[#rov.program|programs]], such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.
Associates [[#shared.person|crew members]] with a [[#rov.cruise|cruise leg]] and their [[#rov.cruise_role|roles]]. A crew member can have multiple roles. Note: these roles are distinct from members of [[#rov.program|programs]], such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:Reference to the [[#rov.cruise|cruise leg]] to which the member is assigned.
|
;person_id
|-
:Reference to the [[#shared.person|person]] on the crew.
| cruise_id
;cruise_role_id
Reference to the [cruise leg](#rov.cruise) to which the member is assigned.
:Reference to the [[#rov.cruise_role|cruise role]].
|-
;note
| person_id
:An optional note about the crew member.
| Reference to the [person](#shared.person) on the crew.
|-
| cruise_role_id
| Reference to the [cruise role](#rov.cruise_role).
|-
| note
| An optional note about the crew member.
|}


====== cruise_document ======
====== cruise_document ======
Line 3,911: Line 2,039:
Stores information about documents related to a [[#rov.cruise|cruise]].
Stores information about documents related to a [[#rov.cruise|cruise]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:The ID of the [[#rov.cruise|cruise]].
|
;note
|-
:A note about the document.
| cruise_id
;title
| The ID of the [cruise](#rov.cruise).
:The title of the document.
|-
;url
| note
:A URL for the online copy of the document. May be used when no file is available.
| A note about the document.
;created_on
|-
:The date and time of creation of the entity.
| title
;updated_on
| The title of the document.
:The date and time of the entity's last update.
|-
;file_id
| url
:''No comment''
| A URL for the online copy of the document. May be used when no file is available.
|-
| created_on
| The date and time of creation of the entity.
|-
| updated_on
| The date and time of the entity's last update.
|-
| file_id
|
|}


====== cruise_fn_contact ======
====== cruise_fn_contact ======
Line 3,935: Line 2,073:
A table for associating First Nations contacts with a cruise.
A table for associating First Nations contacts with a cruise.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:A reference to the [[#rov.cruise|cruise]].
|
;contact_name
|-
:The full name of the contact.
| cruise_id
;email
| A reference to the [cruise](#rov.cruise).
:The email address of the contact.
|-
;phone
| contact_name
:The phone number of the contact.
| The full name of the contact.
;nation
|-
:The name of the nation or group represented by the contact.
| email
;note
| The email address of the contact.
:A note about the contact.
|-
| phone
| The phone number of the contact.
|-
| nation
| The name of the nation or group represented by the contact.
|-
| note
| A note about the contact.
|}


====== cruise_import ======
====== cruise_import ======
Line 3,957: Line 2,104:
Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.
Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A unique name for the import job.
|
;data
|-
:A JSON document containing the cruise import data.
| name
;status
| A unique name for the import job.
:A status message about processing.
|-
;logs
| data
:A JSON array containing the complete processing log.
| A JSON document containing the cruise import data.
;created_on
|-
:''No comment''
| status
;updated_on
| A status message about processing.
:''No comment''
|-
;version
| logs
:''No comment''
| A JSON array containing the complete processing log.
;task_id
|-
:Stores the task ID for the asychrnonous task (i.e., a Celery task) used to process the import.
| created_on
|
|-
| updated_on
|
|-
| version
|
|-
| task_id
| Stores the task ID for the asychrnonous task (i.e., a Celery task) used to process the import.
|}


====== cruise_program ======
====== cruise_program ======
Line 3,983: Line 2,141:
A table to link [[#rov.program|programs]] and [[#rov.cruise|cruises]]. A cruise can be under the auspices of more than one program or none.
A table to link [[#rov.program|programs]] and [[#rov.cruise|cruises]]. A cruise can be under the auspices of more than one program or none.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:The ID of a [[#rov.cruise|cruise]].
|
;program_id
|-
:The ID of a [[#rov.program|program]].
| cruise_id
| The ID of a [cruise](#rov.cruise).
|-
| program_id
| The ID of a [program](#rov.program).
|}


====== cruise_role ======
====== cruise_role ======
Line 3,997: Line 2,160:
A lookup table of roles available to members of [[#rov.cruise_crew|cruise leg crews]].
A lookup table of roles available to members of [[#rov.cruise_crew|cruise leg crews]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the role.
|
;note
|-
:An optional note about the role and its responsibilities.
| name
;short_code
| The name of the role.
:A short string used to identify the role.
|-
| note
| An optional note about the role and its responsibilities.
|-
| short_code
| A short string used to identify the role.
|}


====== disturbance ======
====== disturbance ======
Line 4,013: Line 2,182:
Provides a nominal level of disturbance for [[#rov.event|habitat events]].
Provides a nominal level of disturbance for [[#rov.event|habitat events]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The textual representation of the disturbance level.
|
;note
|-
:A note about the disturbance level.
| name
;short_code
| The textual representation of the disturbance level.
:Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
|-
| note
| A note about the disturbance level.
|-
| short_code
| Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
|}


====== dive ======
====== dive ======
Line 4,029: Line 2,204:
A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a [[#rov.dive_crew|crew]] and possibly a name. [[#rov.transect|Transects]] occur during dives.
A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a [[#rov.dive_crew|crew]] and possibly a name. [[#rov.transect|Transects]] occur during dives.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_id
| id
:A reference to the [[#rov.cruise|cruise leg]] during which the dive was performed.
|
;name
|-
:A name for the dive.
| cruise_id
;objective
| A reference to the [cruise leg](#rov.cruise) during which the dive was performed.
:A statement of the practical or research objectives for this dive.
|-
;start_time
| name
:The start of the dive. Not necessarily the time the vehicle is placed in the water.
| A name for the dive.
;end_time
|-
:The end of the dive.
| objective
;note
| A statement of the practical or research objectives for this dive.
:An optional note about the dive.
|-
;attributes
| start_time
:A JSON column used for recording structured attributes that do not fit with the regular table structure.
| The start of the dive. Not necessarily the time the vehicle is placed in the water.
;created_on
|-
:The date of creation of this record.
| end_time
;updated_on
| The end of the dive.
:The date of update of this record.
|-
;summary
| note
:A summary of the [[#rov.dive|dive]]; whether objectives were met, problems encountered, etc.
| An optional note about the dive.
;sub_config_id
|-
:A reference to the [[#rov.platform_config|platform config]] for the submersible or ROV.
| attributes
;ship_config_id
| A JSON column used for recording structured attributes that do not fit with the regular table structure.
:A reference to the [[#rov.platform_config|platform config]] for the ship.
|-
;admin_note
| created_on
:''No comment''
| The date of creation of this record.
;seatube_id
|-
:The ID of a dive on SeaTube corresponding to this dive.
| updated_on
;mark_for_delete
| The date of update of this record.
:Marks the entity for asynchronous deletion by the runner.
|-
;site
| summary
:An optional name for the site.
| A summary of the [dive](#rov.dive); whether objectives were met, problems encountered, etc.
|-
| sub_config_id
| A reference to the [platform config](#rov.platform_config) for the submersible or ROV.
|-
| ship_config_id
| A reference to the [platform config](#rov.platform_config) for the ship.
|-
| admin_note
|
|-
| seatube_id
| The ID of a dive on SeaTube corresponding to this dive.
|-
| mark_for_delete
| Marks the entity for asynchronous deletion by the runner.
|-
| site
| An optional name for the site.
|}


====== dive_crew ======
====== dive_crew ======
Line 4,071: Line 2,265:
Assigns roles to dive crew members. Crew members are selected from the [[#shared.person|person]].
Assigns roles to dive crew members. Crew members are selected from the [[#shared.person|person]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;dive_id
| id
:The [[#rov.dive|dive]] to which the crew member is assigned.
|
;person_id
|-
:A reference to the [[#shared.person|person]].
| dive_id
;dive_role_id
| The [dive](#rov.dive) to which the crew member is assigned.
:A reference to the [[#rov.dive_role|dive role]].
|-
;note
| person_id
:An optional note about the crew member.
| A reference to the [person](#shared.person).
|-
| dive_role_id
| A reference to the [dive role](#rov.dive_role).
|-
| note
| An optional note about the crew member.
|}


====== dive_role ======
====== dive_role ======
Line 4,089: Line 2,290:
A list of roles available to crew members on a [[#rov.dive|dive]] via the [[#rov.dive_crew|dive_crew]] table.
A list of roles available to crew members on a [[#rov.dive|dive]] via the [[#rov.dive_crew|dive_crew]] table.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the role.
|
;note
|-
:An optional description of the role.
| name
;short_code
| The name of the role.
:A short string used to identify the role.
|-
| note
| An optional description of the role.
|-
| short_code
| A short string used to identify the role.
|}


====== equipment_type ======
====== equipment_type ======
Line 4,105: Line 2,312:
This is a lookup table to provide the names of types of equipment for the [[#rov.model|model]] table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.
This is a lookup table to provide the names of types of equipment for the [[#rov.model|model]] table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for the equipment type.
|
;note
|-
:An optional note about the equipment type.
| name
;category
| A name for the equipment type.
:An enumeration column identifying the equipment as platform, instrument or some other type.
|-
| note
| An optional note about the equipment type.
|-
| category
| An enumeration column identifying the equipment as platform, instrument or some other type.
|}


====== event ======
====== event ======
Line 4,121: Line 2,334:
The event table, a schemaless table storing all recorded observations and statuses during operations.
The event table, a schemaless table storing all recorded observations and statuses during operations.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;dive_id
| id
:A reference to the dive during which this event occurred.
|
;annotation_job_id
|-
:''No comment''
| dive_id
;instrument_config_id
| A reference to the dive during which this event occurred.
:''No comment''
|-
;start_time
| annotation_job_id
:The start time of the event.
|
;end_time
|-
:The end time of the event. Null, if the event is discrete.
| instrument_config_id
;properties
|
:A JSON object containing name-value pairs describing the event.
|-
;note
| start_time
:An optional note about the event. Do not use to store event data.
| The start time of the event.
;created_on
|-
:The time of creation of the event.
| end_time
;updated_on
| The end time of the event. Null, if the event is discrete.
:The time of update of the event. Automatically updated by a trigger.
|-
;hidden
| properties
:If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
| A JSON object containing name-value pairs describing the event.
;import_group_id
|-
:A reference to the [[#rov.import_group|import group]], which tracks events which were imported at the same time, from the same file.
| note
| An optional note about the event. Do not use to store event data.
|-
| created_on
| The time of creation of the event.
|-
| updated_on
| The time of update of the event. Automatically updated by a trigger.
|-
| hidden
| If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
|-
| import_group_id
| A reference to the [import group](#rov.import_group), which tracks events which were imported at the same time, from the same file.
|}


====== event_group ======
====== event_group ======
Line 4,153: Line 2,380:
Links the [[#rov.event|event]] table to the [[#public.auth_group|group]] table to facilitate the [[#shared.restriction|restriction]] mechanism.
Links the [[#rov.event|event]] table to the [[#public.auth_group|group]] table to facilitate the [[#shared.restriction|restriction]] mechanism.


''Columns:''
:: {| class="wikitable"
 
! Column
;event_id
! Comment
:Links to the [[#rov.event|event]] table.
|-
;group_id
| event_id
:Links to the [[#public.auth_group|group]] table.
| Links to the [event](#rov.event) table.
|-
| group_id
| Links to the [group](#public.auth_group) table.
|}


====== event_logger ======
====== event_logger ======
Line 4,165: Line 2,396:
This table tracks the [[#shared.person|people]] who contributed to annotation, which may be composed of a number of separate labels.
This table tracks the [[#shared.person|people]] who contributed to annotation, which may be composed of a number of separate labels.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;person_id
| id
:A [[#shared.person|person]] who contributed to the annotation.
|
;event_id
|-
:The [[#rov.event|event]] that was created from the annotation(s).
| person_id
| A [person](#shared.person) who contributed to the annotation.
|-
| event_id
| The [event](#rov.event) that was created from the annotation(s).
|}


====== flow ======
====== flow ======
Line 4,179: Line 2,415:
Stores categories of current flow for [[#rov.event|habitat]].
Stores categories of current flow for [[#rov.event|habitat]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A note about the flow category.
|
;note
|-
:''No comment''
| name
;short_code
| A note about the flow category.
:A short code for the flow category.
|-
| note
|
|-
| short_code
| A short code for the flow category.
|}


====== generic_label_map ======
====== generic_label_map ======
Line 4,195: Line 2,437:
A table for storing mappings from annotation labels to property sets.
A table for storing mappings from annotation labels to property sets.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;label_text
| id
:The text of the label.
|
;properties
|-
:A dictionary of mapped properties.
| label_text
;note
| The text of the label.
:A note about the mapping.
|-
;created_on
| properties
:The date of creation.
| A dictionary of mapped properties.
;updated_on
|-
:The date of last update.
| note
| A note about the mapping.
|-
| created_on
| The date of creation.
|-
| updated_on
| The date of last update.
|}


====== generic_label_map_restriction ======
====== generic_label_map_restriction ======
Line 4,215: Line 2,465:
Links a [[#rov.generic_label_map|generic label mapping]] to a [[#shared.restriction|restriction]].
Links a [[#rov.generic_label_map|generic label mapping]] to a [[#shared.restriction|restriction]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;restriction_id
| id
:A reference to a [[#shared.restriction|restriction]].
|
;generic_label_map_id
|-
:A reference to a [[#rov.generic_label_map|generic label mapping]].
| restriction_id
| A reference to a [restriction](#shared.restriction).
|-
| generic_label_map_id
| A reference to a [generic label mapping](#rov.generic_label_map).
|}


====== image_quality ======
====== image_quality ======
Line 4,229: Line 2,484:
Nominal image quality levels, originally used by VideoMiner but applicable to new records.
Nominal image quality levels, originally used by VideoMiner but applicable to new records.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for the quality level.
|
;rank
|-
:An ordinal rank (zero is high) for the quality level.
| name
;note
| A name for the quality level.
:An optional note.
|-
;short_code
| rank
:Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
| An ordinal rank (zero is high) for the quality level.
|-
| note
| An optional note.
|-
| short_code
| Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
|}


====== import_group ======
====== import_group ======
Line 4,247: Line 2,509:
Stores information about a group of [[#rov.measurement|measurements]], [[#rov.position|positions]] or [[#rov.event|events]] so they can be distinguished by when or from what file they were imported. This provides the ability to delete a single stream of data at a finer resolution that just the [[#rov.instrument_config|instrument config]], [[#rov.platform_config|platform config]], [[#rov.dive|dive]], etc. The initial entries in the table are created retroactively, and contain undifferentiated records based on the instrument config and measurement type (measurements); the instrument config (positions) or the dive and instrument config (events).
Stores information about a group of [[#rov.measurement|measurements]], [[#rov.position|positions]] or [[#rov.event|events]] so they can be distinguished by when or from what file they were imported. This provides the ability to delete a single stream of data at a finer resolution that just the [[#rov.instrument_config|instrument config]], [[#rov.platform_config|platform config]], [[#rov.dive|dive]], etc. The initial entries in the table are created retroactively, and contain undifferentiated records based on the instrument config and measurement type (measurements); the instrument config (positions) or the dive and instrument config (events).


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for the import or the name of the file from which the data were imported.
|
;note
|-
:''No comment''
| name
;created_on
| A name for the import or the name of the file from which the data were imported.
:The date and time that the import was initiated.
|-
;source_file
| note
:''No comment''
|
|-
| created_on
| The date and time that the import was initiated.
|-
| source_file
|
|}


====== import_queue_annotator ======
====== import_queue_annotator ======
Line 4,265: Line 2,534:
Stores the import packages created by annotators. Some fields are transferred to the [[#rov.annotation_job|annotation job]] to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.
Stores the import packages created by annotators. Some fields are transferred to the [[#rov.annotation_job|annotation job]] to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;user_id
| id
:A reference to the [[#shared.mseauser|MSEA user]] that created the record.
|
;note
|-
:An optional note about the import package.
| user_id
;created_on
| A reference to the [MSEA user](#shared.mseauser) that created the record.
:The date of creation of the record.
|-
;updated_on
| note
:The date of update of the record.
| An optional note about the import package.
;name
|-
:A unique name for the import queue record.
| created_on
;status
| The date of creation of the record.
:A short description of the processing status of the job.
|-
;cruise_name
| updated_on
:The name of the [[#rov.cruise|cruise]] to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
| The date of update of the record.
;data
|-
:Stores the JSON representation of the import job.
| name
;hidden
| A unique name for the import queue record.
:''No comment''
|-
;objective
| status
:''No comment''
| A short description of the processing status of the job.
;start_date
|-
:''No comment''
| cruise_name
;end_date
| The name of the [cruise](#rov.cruise) to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
:''No comment''
|-
| data
| Stores the JSON representation of the import job.
|-
| hidden
|
|-
| objective
|
|-
| start_date
|
|-
| end_date
|
|}


====== import_queue_annotator_label_map_prefill ======
====== import_queue_annotator_label_map_prefill ======
Line 4,299: Line 2,583:
A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.
A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;tags
| id
:The list of tags.
|
;properties
|-
:The the tag data.
| tags
;created_on
| The list of tags.
:The date and time of creation of the entity.
|-
;updated_on
| properties
:The date and time of the entity's last update.
| The the tag data.
;name
|-
:The text of the label.
| created_on
;label_tree_name
| The date and time of creation of the entity.
:The label tree name. If given identifies the label uniquely with the tree name.
|-
;event_type
| updated_on
:''No comment''
| The date and time of the entity's last update.
|-
| name
| The text of the label.
|-
| label_tree_name
| The label tree name. If given identifies the label uniquely with the tree name.
|-
| event_type
|
|}


====== import_queue_pi ======
====== import_queue_pi ======
Line 4,323: Line 2,617:
Stores the import packages created by principal investigators.
Stores the import packages created by principal investigators.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;user_id
| id
:A reference to the [[#shared.mseauser|MSEA user]] that created the record.
|
;name
|-
:A name of the import job
| user_id
;note
| A reference to the [MSEA user](#shared.mseauser) that created the record.
:An optional note about the import package.
|-
;status
| name
:A short description of the processing status of the job.
| A name of the import job
;created_on
|-
:The date of creation of the record.
| note
;updated_on
| An optional note about the import package.
:The date of update of the record.
|-
;cruise_id
| status
:A reference to the [[#rov.cruise|cruise]].
| A short description of the processing status of the job.
;hidden
|-
:''No comment''
| created_on
| The date of creation of the record.
|-
| updated_on
| The date of update of the record.
|-
| cruise_id
| A reference to the [cruise](#rov.cruise).
|-
| hidden
|
|}


====== instrument ======
====== instrument ======
Line 4,349: Line 2,654:
This table represents instruments, which are concrete instances of the types represented in the [[#rov.model|model]] table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a [[#rov.platform|platform]].
This table represents instruments, which are concrete instances of the types represented in the [[#rov.model|model]] table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a [[#rov.platform|platform]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;model_id
| id
:A reference to the instrument [[#rov.model|model]].
|
;serial_number
|-
:The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
| model_id
;retired
| A reference to the instrument [model](#rov.model).
:If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
|-
;attributes
| serial_number
:A freeform list of attributes for this instrument.
| The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
;note
|-
:An optional note about this instrument.
| retired
;created_on
| If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
:The date of creation of this record.
|-
;updated_on
| attributes
:The date of update of this record.
| A freeform list of attributes for this instrument.
;organisation_id
|-
:A reference to the organisation that owns and operates the instrument.
| note
;name
| An optional note about this instrument.
:A name for the instrument to distinguish it from others of the same model.
|-
| created_on
| The date of creation of this record.
|-
| updated_on
| The date of update of this record.
|-
| organisation_id
| A reference to the organisation that owns and operates the instrument.
|-
| name
| A name for the instrument to distinguish it from others of the same model.
|}


====== instrument_config ======
====== instrument_config ======
Line 4,377: Line 2,694:
This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.
This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;configuration
| id
:Configuration information about the instrument config.
|
;note
|-
:An optional note about this configuration.
| configuration
;created_on
| Configuration information about the instrument config.
:The date of creation of this record.
|-
;updated_on
| note
:The date of update of this record.
| An optional note about this configuration.
;platform_config_id
|-
:The ID of the [[#rov.platform|platform]] upon which the instrument is used.
| created_on
;instrument_id
| The date of creation of this record.
:Reference to the [[#rov.instrument|instrument]] targeted by the configuration.
|-
;mark_for_delete
| updated_on
:Marks the entity for asynchronous deletion by the runner.
| The date of update of this record.
|-
| platform_config_id
| The ID of the [platform](#rov.platform) upon which the instrument is used.
|-
| instrument_id
| Reference to the [instrument](#rov.instrument) targeted by the configuration.
|-
| mark_for_delete
| Marks the entity for asynchronous deletion by the runner.
|}


====== measurement ======
====== measurement ======
Line 4,401: Line 2,728:
This table preserves time-stamped measurements generated by [[#rov.instrument_config|instruments]]. Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.
This table preserves time-stamped measurements generated by [[#rov.instrument_config|instruments]]. Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;measurement_type_id
| id
:A reference to the [[#rov.measurement_type|type]] of this measurement.
|
;timestamp
|-
:The time that the measurement was recorded.
| measurement_type_id
;quantity
| A reference to the [type](#rov.measurement_type) of this measurement.
:The scalar quantity or magnitude of the measurement.
|-
;signal_quality
| timestamp
:A quality of the measurement as reported by the instrument. TODO: Requires clarification.
| The time that the measurement was recorded.
;is_modelled
|-
:A flag to indicate whether the value is derived from measurements by some modelling process.
| quantity
;instrument_config_id
| The scalar quantity or magnitude of the measurement.
:The [[#rov.instrument_config|configured instrument]] used to generate this item.
|-
;import_group_id
| signal_quality
:A reference to the [[#rov.import_group|import group]], which tracks measurements which were imported at the same time, from the same file.
| A quality of the measurement as reported by the instrument. TODO: Requires clarification.
|-
| is_modelled
| A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| instrument_config_id
| The [configured instrument](#rov.instrument_config) used to generate this item.
|-
| import_group_id
| A reference to the [import group](#rov.import_group), which tracks measurements which were imported at the same time, from the same file.
|}


====== measurement_type ======
====== measurement_type ======
Line 4,425: Line 2,762:
This is a lookup table of types of measurement types for the [[#rov.measurement|measurement]] table. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.
This is a lookup table of types of measurement types for the [[#rov.measurement|measurement]] table. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The type of measurement. E.g., "Density" or "Salinity."
|
;unit
|-
:The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
| name
;minimum
| The type of measurement. E.g., "Density" or "Salinity."
:An optional lower bound on the value of the measurement. Null implies no limit.
|-
;maximum
| unit
:An optional upper bound on the value of the measurement. Null implies no limit.
| The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
;note
|-
:An optional note about this measurement type.
| minimum
;short_code
| An optional lower bound on the value of the measurement. Null implies no limit.
:Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
|-
| maximum
| An optional upper bound on the value of the measurement. Null implies no limit.
|-
| note
| An optional note about this measurement type.
|-
| short_code
| Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
|}


====== medium_format ======
====== medium_format ======
Line 4,447: Line 2,793:
A lookup table for data formats. This will include things like video, photo and acoustic. Medium formats can be discriminated as granularly as desired: as video/photo/acoustic/etc. or by format (JPG, MP4, AAC) and possibly more specific encoding parameters.
A lookup table for data formats. This will include things like video, photo and acoustic. Medium formats can be discriminated as granularly as desired: as video/photo/acoustic/etc. or by format (JPG, MP4, AAC) and possibly more specific encoding parameters.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;medium_type_id
| id
:A reference to the [[#rov.medium_type|medium type]] (e.g., video or photo).
|
;name
|-
:The name of the format.
| medium_type_id
;extensions
| A reference to the [medium type](#rov.medium_type) (e.g., video or photo).
:A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
|-
;note
| name
:An optional note about the format.
| The name of the format.
;short_code
|-
:Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
| extensions
| A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
|-
| note
| An optional note about the format.
|-
| short_code
| Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
|}


====== medium_type ======
====== medium_type ======
Line 4,467: Line 2,821:
A simple lookup to provide media types to the [[#rov.annotation_protocol|annotation_protocol]] table. These are not specific media formats (as stored in [[#rov.medium_format|medium_format]]), but provided a higher-level distinction.
A simple lookup to provide media types to the [[#rov.annotation_protocol|annotation_protocol]] table. These are not specific media formats (as stored in [[#rov.medium_format|medium_format]]), but provided a higher-level distinction.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the media type.
|
;note
|-
:An optional note about the media type.
| name
;short_code
| The name of the media type.
:Provides a short code for looking up the entity.
|-
| note
| An optional note about the media type.
|-
| short_code
| Provides a short code for looking up the entity.
|}


====== model ======
====== model ======
Line 4,483: Line 2,843:
This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the [[#rov.instrument|instrument]] table. The model table stores both [[#rov.instrument|instruments]] and [[#rov.platform|platforms]].
This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the [[#rov.instrument|instrument]] table. The model table stores both [[#rov.instrument|instruments]] and [[#rov.platform|platforms]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;brand_name
| id
:The brand name.
|
;model_name
|-
:The model name.
| brand_name
;attributes
| The brand name.
:A free-form JSON field for attributes of this model.
|-
;note
| model_name
:An optional note about the model.
| The model name.
;equipment_type_id
|-
:A reference to the [[#rov.equipment_type|equipment type]].
| attributes
| A free-form JSON field for attributes of this model.
|-
| note
| An optional note about the model.
|-
| equipment_type_id
| A reference to the [equipment type](#rov.equipment_type).
|}


====== observation_confidence ======
====== observation_confidence ======
Line 4,503: Line 2,871:
Provides a nominal observation confidence level for [[#rov.event|observation events]].
Provides a nominal observation confidence level for [[#rov.event|observation events]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The textual representation of the confidence level.
|
;rank
|-
:This field is a way of ranking confidence levels so that an ordering can be established.
| name
;note
| The textual representation of the confidence level.
:A note about the confidence level.
|-
;short_code
| rank
:Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.
| This field is a way of ranking confidence levels so that an ordering can be established.
|-
| note
| A note about the confidence level.
|-
| short_code
| Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.
|}


====== orientation ======
====== orientation ======
Line 4,521: Line 2,896:
This table preserves time-stamped orientation measurements from [[#rov.instrument_config|instruments]]. These are interpreted according to a [[#rov.orientation_type|specified type]]. Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.
This table preserves time-stamped orientation measurements from [[#rov.instrument_config|instruments]]. These are interpreted according to a [[#rov.orientation_type|specified type]]. Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;orientation_type_id
| id
:A reference to the [[#rov.orientation_type|orientation type]] of this orientation.
|
;timestamp
|-
:The time the position was recorded.
| orientation_type_id
;orientation
| A reference to the [orientation type](#rov.orientation_type) of this orientation.
:The orientation vector.
|-
;signal_quality
| timestamp
:The signal quality of the position as reported by the instrument. TODO: Requires clarification.
| The time the position was recorded.
;is_modelled
|-
:A flag to indicate whether the value is derived from measurements by some modelling process.
| orientation
;instrument_config_id
| The orientation vector.
:The [[#rov.instrument_config|configured instrument]] used to generate this item.
|-
| signal_quality
| The signal quality of the position as reported by the instrument. TODO: Requires clarification.
|-
| is_modelled
| A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| instrument_config_id
| The [configured instrument](#rov.instrument_config) used to generate this item.
|}


====== orientation_type ======
====== orientation_type ======
Line 4,543: Line 2,927:
These entities describe the interpretation of the orientation vector in the [[#rov.instrument_config|instrument_config]] and [[#rov.orientation|orientation]] tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.
These entities describe the interpretation of the orientation vector in the [[#rov.instrument_config|instrument_config]] and [[#rov.orientation|orientation]] tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the orientation type (e.g., "Quaternion").
|
;unit
|-
:The units used to interpret the elements of the vector.
| name
;note
| The name of the orientation type (e.g., "Quaternion").
:An optional note about the orientation type.
|-
;short_code
| unit
:Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
| The units used to interpret the elements of the vector.
|-
| note
| An optional note about the orientation type.
|-
| short_code
| Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
|}


====== platform ======
====== platform ======
Line 4,561: Line 2,952:
This table maintains the inventory of vehicles, that is, ships and ROVs.
This table maintains the inventory of vehicles, that is, ships and ROVs.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;model_id
| id
:A reference to the [[#rov.model|model]] of the platform.
|
;name
|-
:The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
| model_id
;serial_number
| A reference to the [model](#rov.model) of the platform.  
:The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
|-
;retired
| name
:If the platform is retired, this records the date. If null, the platform is assumed to be active.
| The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
;attributes
|-
:A freeform list of attributes for this platform.
| serial_number
;note
| The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
:An optional note about this platform.
|-
;created_on
| retired
:The date of creation of this record.
If the platform is retired, this records the date. If null, the platform is assumed to be active.
;updated_on
|-
:The date of update of this record.
| attributes
;short_code
| A freeform list of attributes for this platform.
:Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
|-
;organisation_id
| note
:A reference to the organisation that owns and operates the platform.
| An optional note about this platform.
|-
| created_on
| The date of creation of this record.
|-
| updated_on
| The date of update of this record.
|-
| short_code
| Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
|-
| organisation_id
| A reference to the organisation that owns and operates the platform.
|}


====== platform_config ======
====== platform_config ======
Line 4,591: Line 2,995:
This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the [[#rov.platform|platform]] table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.
This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the [[#rov.platform|platform]] table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;platform_id
| id
:A reference to the [[#rov.platform|platform]].
|
;configuration
|-
:The configuration data as a JSON object.
| platform_id
;note
| A reference to the [platform](#rov.platform).
:An optional note about the configuration record.
|-
;created_on
| configuration
:The date of creation of this record.
| The configuration data as a JSON object.
;updated_on
|-
:The date of update of this record.
| note
;mark_for_delete
| An optional note about the configuration record.
:Marks the entity for asynchronous deletion by the runner.
|-
| created_on
| The date of creation of this record.
|-
| updated_on
| The date of update of this record.
|-
| mark_for_delete
| Marks the entity for asynchronous deletion by the runner.
|}


====== position ======
====== position ======
Line 4,613: Line 3,026:
This table preserves time-stamped position measurements from [[#rov.instrument_config|instruments]]. These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a [[#rov.position_type|specified unit]]. Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?
This table preserves time-stamped position measurements from [[#rov.instrument_config|instruments]]. These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a [[#rov.position_type|specified unit]]. Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;position_type_id
| id
:A reference to the [[#rov.position_type|position type]] of this position.
|
;timestamp
|-
:The time the position was recorded.
| position_type_id
;signal_quality
| A reference to the [position type](#rov.position_type) of this position.
:The signal quality of the position as reported by the instrument. TODO: Requires clarification.
|-
;geom
| timestamp
:The point geometry.
| The time the position was recorded.
;is_modelled
|-
:A flag to indicate whether the value is derived from measurements by some modelling process.
| signal_quality
;instrument_config_id
| The signal quality of the position as reported by the instrument. TODO: Requires clarification.
:The [[#rov.instrument_config|configured instrument]] used to generate this item.
|-
;import_group_id
| geom
:A reference to the [[#rov.import_group|import group]], which tracks positions which were imported at the same time, from the same file.
| The point geometry.
|-
| is_modelled
| A flag to indicate whether the value is derived from measurements by some modelling process.
|-
| instrument_config_id
| The [configured instrument](#rov.instrument_config) used to generate this item.
|-
| import_group_id
| A reference to the [import group](#rov.import_group), which tracks positions which were imported at the same time, from the same file.
|}


====== position_type ======
====== position_type ======
Line 4,637: Line 3,060:
Describes the interpretation of a coordinate vector in the [[#rov.position|position]] table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.
Describes the interpretation of a coordinate vector in the [[#rov.position|position]] table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
|
;unit
|-
:The unit. Linear or angular. E.g., "m" or "radians."
| name
;note
| The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
:An optional note about this position type.
|-
;short_code
| unit
:Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
| The unit. Linear or angular. E.g., "m" or "radians."
|-
| note
| An optional note about this position type.
|-
| short_code
| Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
|}


====== program ======
====== program ======
Line 4,655: Line 3,085:
This is a listing of scientific or other programs that can be associated with [[#rov.cruise|cruises]].
This is a listing of scientific or other programs that can be associated with [[#rov.cruise|cruises]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the program.
|
;objective
|-
:The objective or mandate of the program.
| name
;start_date
| The name of the program.
:The starting date of the program.
|-
;end_date
| objective
:The optional end date of the program.
| The objective or mandate of the program.
;note
|-
:An optional note about the program.
| start_date
;created_on
| The starting date of the program.
:The date of creation of this item.
|-
;updated_on
| end_date
:The date of update of this record.
| The optional end date of the program.
;summary
|-
:A summary of the [[#rov.program|program]]; whether objectives were met, problems encountered, etc.
| note
| An optional note about the program.
|-
| created_on
| The date of creation of this item.
|-
| updated_on
| The date of update of this record.
|-
| summary
| A summary of the [program](#rov.program); whether objectives were met, problems encountered, etc.
|}


====== program_member ======
====== program_member ======
Line 4,681: Line 3,122:
Assigns [[#shared.person|user]] [[#rov.program_role|roles]] to a [[#rov.program|program]].
Assigns [[#shared.person|user]] [[#rov.program_role|roles]] to a [[#rov.program|program]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;program_id
| id
:The reference to the [[#rov.program|program]].
|
;person_id
|-
:A reference to the [[#shared.person|person]].
| program_id
;role_id
| The reference to the [program](#rov.program).
:A reference to the [[#rov.program_role|program role]].
|-
| person_id
| A reference to the [person](#shared.person).
|-
| role_id
| A reference to the [program role](#rov.program_role).
|}


====== program_role ======
====== program_role ======
Line 4,697: Line 3,144:
Represents the roles a [[#shared.person|person]] might perform in respect to a [[#rov.program|program]]. A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.
Represents the roles a [[#shared.person|person]] might perform in respect to a [[#rov.program|program]]. A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the role. E.g., "Chief Scientist."
|
;note
|-
:An optional note about the role.
| name
| The name of the role. E.g., "Chief Scientist."
|-
| note
| An optional note about the role.
|}


====== protocol ======
====== protocol ======
Line 4,711: Line 3,163:
This table stores "(survey) protocol" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.
This table stores "(survey) protocol" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A name for the survey protocol.
|
;note
|-
:An optional note about the protocol.
| name
;short_code
| A name for the survey protocol.
:Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
|-
| note
| An optional note about the protocol.
|-
| short_code
| Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
|}


====== relief ======
====== relief ======
Line 4,727: Line 3,185:
Provides a nominal level of terrain relief for [[#rov.event|habitat events]].
Provides a nominal level of terrain relief for [[#rov.event|habitat events]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The textual representation of the relief level.
|
;note
|-
:A note about the relief level.
| name
;short_code
| The textual representation of the relief level.
:Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
|-
| note
| A note about the relief level.
|-
| short_code
| Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
|}


====== signup_area ======
====== signup_area ======
Line 4,743: Line 3,207:
Stores the region within which sign-ups are permitted, generally North America.
Stores the region within which sign-ups are permitted, generally North America.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the sign-up region.
|
;geom
|-
:The geometry of the sign-up region.
| name
| The name of the sign-up region.
|-
| geom
| The geometry of the sign-up region.
|}


====== status_type ======
====== status_type ======
Line 4,757: Line 3,226:
This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the [[#rov.status_type_detail|status_type_detail]] table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.
This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the [[#rov.status_type_detail|status_type_detail]] table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the status event.
|
;note
|-
:An optional description of the status type.
| name
;short_code
| The name of the status event.
:A short code for referencing the status type in import documents.
|-
| note
| An optional description of the status type.
|-
| short_code
| A short code for referencing the status type in import documents.
|}


====== status_type_detail ======
====== status_type_detail ======
Line 4,773: Line 3,248:
This table associates a [[#rov.status_type|status type]] with a [[#rov.event|status event]]. The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The [[#rov.status_type|status type]] value is the discriminator for the event, but the detail adds context the doesn't interfere with it.
This table associates a [[#rov.status_type|status type]] with a [[#rov.event|status event]]. The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The [[#rov.status_type|status type]] value is the discriminator for the event, but the detail adds context the doesn't interfere with it.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;status_type_id
| id
:A reference to the [[#rov.status_type|status type]].
|
;name
|-
:The status type detail. This field distinguishes different uses for [[#rov.status_type|status types]]. For example, there can be more than one reason to record an "Off Transect" event.
| status_type_id
;note
| A reference to the [status type](#rov.status_type).
:Optional extended description of detail.
|-
;short_code
| name
:Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
| The status type detail. This field distinguishes different uses for [status types](#rov.status_type). For example, there can be more than one reason to record an "Off Transect" event.
|-
| note
| Optional extended description of detail.
|-
| short_code
| Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
|}


====== substrate ======
====== substrate ======
Line 4,791: Line 3,273:
A lookup table listing the available substrate types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available substrate types for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the substrate.
|
;note
|-
:An optional description of the substrate.
| name
;short_code
| The name of the substrate.
:Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
|-
| note
| An optional description of the substrate.
|-
| short_code
| Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
|}


====== survey_mode ======
====== survey_mode ======
Line 4,807: Line 3,295:
This table stores "survey mode" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.
This table stores "survey mode" entries from the source data. TODO: Used by [[#rov.event|events]] though it's not yet clear if it should stay this way.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the survey mode.
|
;note
|-
:An optional note about the survey mode.
| name
;short_code
| The name of the survey mode.
:Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
|-
| note
| An optional note about the survey mode.
|-
| short_code
| Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
|}


====== thickness ======
====== thickness ======
Line 4,823: Line 3,317:
A lookup table listing the available substrate thicknesses for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.
A lookup table listing the available substrate thicknesses for the [[#rov.event|habitat_event]] table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:A characterization of biocover thickness.
|
;minimum
|-
:The minimum value in the range.
| name
;maximum
| A characterization of biocover thickness.
:The maximum value in the range.
|-
;note
| minimum
:An optional note about the biocover thickness.
| The minimum value in the range.
;short_code
|-
:Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
| maximum
| The maximum value in the range.
|-
| note
| An optional note about the biocover thickness.
|-
| short_code
| Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
|}


====== transect ======
====== transect ======
Line 4,843: Line 3,345:
A transect is a section of a [[#rov.dive|dive]] during which interesting data are collected. Every transect is associated with a [[#rov.dive|dive]].
A transect is a section of a [[#rov.dive|dive]] during which interesting data are collected. Every transect is associated with a [[#rov.dive|dive]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;dive_id
| id
:A reference to the [[#rov.dive|dive]] during which this transect occurred.
|
;name
|-
:The name of the transect.
| dive_id
;objective
| A reference to the [dive](#rov.dive) during which this transect occurred.
:A statement of the practical or research objectives for this true.
|-
;start_time
| name
:The start time of the transect.
| The name of the transect.
;end_time
|-
:The end time of the transect.
| objective
;note
| A statement of the practical or research objectives for this true.
:An optional note about the transect.
|-
;attributes
| start_time
:A JSON column used for recording structured attributes that do not fit with the regular table structure.
| The start time of the transect.
;summary
|-
:A summary of the [[#rov.transect|transect]]; whether objectives were met, problems encountered, etc.
| end_time
;admin_note
| The end time of the transect.
:''No comment''
|-
| note
| An optional note about the transect.
|-
| attributes
| A JSON column used for recording structured attributes that do not fit with the regular table structure.
|-
| summary
| A summary of the [transect](#rov.transect); whether objectives were met, problems encountered, etc.
|-
| admin_note
|
|}


====== weather_observation ======
====== weather_observation ======
Line 4,871: Line 3,385:
Surface weather observations can be recorded by any [[#rov.cruise_crew|crew member]] aboard a ship during a [[#rov.cruise|cruise leg]].
Surface weather observations can be recorded by any [[#rov.cruise_crew|crew member]] aboard a ship during a [[#rov.cruise|cruise leg]].


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;cruise_crew_id
| id
:A reference to the [[#rov.cruise_crew|cruise leg crew]] member who is making the report.
|
;temperature
|-
:The air temperature.
| cruise_crew_id
;pressure
| A reference to the [cruise leg crew](#rov.cruise_crew) member who is making the report.
:The air pressure.
|-
;wind_speed
| temperature
:The wind speed.
| The air temperature.
;wind_direction
|-
:The wind direction.
| pressure
;swell
| The air pressure.
:Description of swell.
|-
;time
| wind_speed
:An optional note about the weather.
| The wind speed.
;note
|-
:An optional note about the observation
| wind_direction
;cruise_id
| The wind direction.
:A link to the [[#rov.cruise|cruise]] during which this record was recorded.
|-
| swell
| Description of swell.
|-
| time
| An optional note about the weather.
|-
| note
| An optional note about the observation
|-
| cruise_id
| A link to the [cruise](#rov.cruise) during which this record was recorded.
|}




===== Indexes =====
===== Indexes =====


;abundance_name_key
:''No comment''
;abundance_pkey
:''No comment''
;annotation_job_annotation_protocol_pkey
:''No comment''
;annotation_job_annotation_protocol_unique
:''No comment''
;annotation_job_annotation_protocol_unique_idx
:''No comment''
;annotation_job_crew_annotation_job_id_person_id_role_id_key
:''No comment''
;annotation_job_crew_pkey
:''No comment''
;annotation_job_pkey
:''No comment''
;annotation_job_role_pkey
:''No comment''
;annotation_protocol_document_pkey
:''No comment''
;annotation_protocol_name_idx
:''No comment''
;annotation_protocol_name_key
:''No comment''
;annotation_protocol_pkey
:''No comment''
;annotation_software_name_key
:''No comment''
;annotation_software_pkey
:''No comment''
;biigle_label_map_label_id_unique
:''No comment''
;biigle_label_map_pkey
:''No comment''
;biigle_label_map_restriction_pkey
:''No comment''
;biocover_name_key
:''No comment''
;biocover_pkey
:''No comment''
;complexity_name_key
:''No comment''
;complexity_pkey
:''No comment''
;cov_unique_range
:''No comment''
;coverage_name_key
:''No comment''
;coverage_pkey
:''No comment''
;cruise_crew_pkey
:''No comment''
;cruise_crew_unique_idx
:''No comment''
;cruise_document_pkey
:''No comment''
;cruise_end_time_idx
:''No comment''
;cruise_fn_contact_pkey
:''No comment''
;cruise_import_pkey
:''No comment''
;cruise_leg_idx
:''No comment''
;cruise_leg_unique_idx
:''No comment''
;cruise_name_idx
:''No comment''
;cruise_pkey
:''No comment''
;cruise_program_pkey
:''No comment''
;cruise_program_unique
:''No comment''
;cruise_role_name_key
:''No comment''
;cruise_role_pkey
:''No comment''
;cruise_start_time_idx
:''No comment''
;d_unique_cruiseleg_name
:''No comment''
;disturbance_name_key
:''No comment''
;disturbance_pkey
:''No comment''
;dive_crew_pkey
:''No comment''
;dive_crew_unique_idx
:''No comment''
;dive_cruise_id_idx
:''No comment''
;dive_end_time_idx
:''No comment''
;dive_name_idx
:''No comment''
;dive_pkey
:''No comment''
;dive_role_name_key
:''No comment''
;dive_role_pkey
:''No comment''
;dive_ship_config_id_idx
:''No comment''
;dive_start_time_idx
:''No comment''
;dive_sub_config_id_idx
:''No comment''
;equipment_type_name_key
:''No comment''
;equipment_type_pkey
:''No comment''
;event_biotope_idx
:''No comment''
;event_cf_idx
:''No comment''
;event_comment_idx
:''No comment''
;event_comname_idx
:''No comment''
;event_desc_idx
:''No comment''
;event_dive_id_idx
:''No comment''
;event_end_time_gist_idx
:''No comment''
;event_group_event_id_group_id_key
:''No comment''
;event_group_event_id_idx
:''No comment''
;event_group_group_id_idx
:''No comment''
;event_import_group_id_idx
:''No comment''
;event_instrument_config_id_idx
:''No comment''
;event_logger_person_id_event_id_key
:''No comment''
;event_logger_pkey
:''No comment''
;event_logger_unique
:''No comment''
;event_ls_idx
:''No comment''
;event_morpho_idx
:''No comment''
;event_ol_idx
:''No comment''
;event_on_idx
:''No comment''
;event_otu_idx
:''No comment''
;event_pkey1
:''No comment''
;event_props_idx
:''No comment''
;event_sciname_idx
:''No comment''
;event_sp_idx
:''No comment''
;event_spp_idx
:''No comment''
;event_start_time_gist_idx
:''No comment''
;event_tags_idx
:''No comment''
;event_times_idx
:Lookup index for cache procedure.
;flow_pkey
:''No comment''
;generic_label_map_label_text
:''No comment''
;generic_label_map_label_text_unique
:''No comment''
;generic_label_map_pkey
:''No comment''
;generic_label_map_restriction_pkey
:''No comment''
;image_quality_pkey
:''No comment''
;import_group_name_unique
:''No comment''
;import_group_pkey
:''No comment''
;import_queue_annotation_name_key
:''No comment''
;import_queue_annotation_pkey
:''No comment''
;import_queue_annotator_label_map_prefill_pkey
:''No comment''
;import_queue_annotator_label_map_prefill_tree_name_unique
:''No comment''
;import_queue_pi_pkey
:''No comment''
;inst_unique_model_serial_number
:''No comment''
;instrument_config_pkey
:''No comment''
;instrument_config_platform_config_id
:''No comment''
;instrument_pkey
:''No comment''
;iqpi_unique
:''No comment''
;measurement_import_group_id_idx
:''No comment''
;measurement_inst_meas_time_idx
:Lookup index for cache procedure.
;measurement_instrument_config_id_idx
:''No comment''
;measurement_lookup_idx
:Lookup index for cache procedure.
;measurement_measurement_type_id_idx
:''No comment''
;measurement_pkey
:''No comment''
;measurement_timestamp_gist_idx
:''No comment''
;measurement_timestamp_idx
:''No comment''
;measurement_type_name_id
:''No comment''
;measurement_type_pkey
:''No comment''
;medium_format_name_key
:''No comment''
;medium_format_pkey
:''No comment''
;medium_type_name_key
:''No comment''
;medium_type_pkey
:''No comment''
;model_pkey
:''No comment''
;mt_unique_name_unit
:''No comment''
;observation_confidence_name_key
:''No comment''
;observation_confidence_pkey
:''No comment''
;orientation_instrument_config_id_idx
:''No comment''
;orientation_orientation_type_id_idx
:''No comment''
;orientation_pkey
:''No comment''
;orientation_timestamp_idx
:''No comment''
;orientation_type_pkey
:''No comment''
;ot_unique_name_unit
:''No comment''
;plat_model_serial_number
:''No comment''
;platform_config_pkey
:''No comment''
;platform_config_platform_id_idx
:''No comment''
;platform_pkey
:''No comment''
;position_geom_geography_idx
:''No comment''
;position_import_group_id_idx
:''No comment''
;position_instrument_config_id_idx
:''No comment''
;position_lookup_idx
:Lookup index for cache procedure.
;position_pkey
:''No comment''
;position_timestamp_gist_idx
:''No comment''
;position_timestamp_idx
:''No comment''
;position_type_pkey
:''No comment''
;program_end_date_idx
:''No comment''
;program_member_pkey
:''No comment''
;program_name_idx
:''No comment''
;program_name_key
:''No comment''
;program_pkey
:''No comment''
;program_role_name_key
:''No comment''
;program_role_pkey
:''No comment''
;program_start_date_idx
:''No comment''
;protocol_pkey
:''No comment''
;pt_unique_name_unit
:''No comment''
;relief_name_key
:''No comment''
;relief_pkey
:''No comment''
;rov_annotation_job_unique_name
:''No comment''
;rov_event_import_group_idx
:''No comment''
;rov_instrument_config_platform_config_instrument_unique
:''No comment''
;rov_measurement_import_group_idx
:''No comment''
;rov_position_import_group_idx
:''No comment''
;signup_area_idx
:''No comment''
;signup_area_name_key
:''No comment''
;signup_area_pkey
:''No comment''
;st_unique_type_detail
:''No comment''
;status_type_detail_pkey
:''No comment''
;status_type_pkey
:''No comment''
;substrate_name_key
:''No comment''
;substrate_pkey
:''No comment''
;survey_mode_pkey
:''No comment''
;thickness_name_key
:''No comment''
;thickness_pkey
:''No comment''
;tr_unique_dive_name
:''No comment''
;transect_end_time_idx
:''No comment''
;transect_name_idx
:''No comment''
;transect_pkey
:''No comment''
;transect_start_time_idx
:''No comment''
;unique_biigle_label_map_restriction
:''No comment''
;unique_brand_model
:''No comment''
;weather_observation_pkey
:''No comment''


==== Schema: shared ====
=== Schema: shared ===
<span id="shared"></span>
<span id="shared"></span>


Line 5,256: Line 3,434:
Stores the current database version so that upgrade scripts can perform migrations appropriately.
Stores the current database version so that upgrade scripts can perform migrations appropriately.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;version_major
| id
:The major version.
|
;version_minor
|-
:The minor version number.
| version_major
;updated_on
| The major version.
:The time the upgrade was performed.
|-
;revision
| version_minor
:The revision number.
| The minor version number.
|-
| updated_on
| The time the upgrade was performed.
|-
| revision
| The revision number.
|}


====== file ======
====== file ======
Line 5,274: Line 3,459:
Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.
Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;file_type_id
| id
:An optional reference to the [[#shared.file_type|file type]].
|
;name
|-
:The name for the file.
| file_type_id
;description
| An optional reference to the [file type](#shared.file_type).
:An optional description for the file.
|-
;metadata
| name
:A JSON dictionary containing metadata relating to the file.
| The name for the file.
;path
|-
:A path of the file, relative to the root directory where files are stored.
| description
;created_on
| An optional description for the file.
:The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
;updated_on
| metadata
:The update time of the file record, not necessarily the file itself (this should be stored in metadata).
| A JSON dictionary containing metadata relating to the file.
;hash
|-
:And MD5 hash of the file data. Used to compare files and search for identical versions.
| path
;blob_url
| A path of the file, relative to the root directory where files are stored.
:A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
|-
| created_on
| The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
| updated_on
| The update time of the file record, not necessarily the file itself (this should be stored in metadata).
|-
| hash
| And MD5 hash of the file data. Used to compare files and search for identical versions.
|-
| blob_url
| A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
|}


====== file_type ======
====== file_type ======
Line 5,302: Line 3,499:
A list of file types.
A list of file types.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the file type.
|
;short_code
|-
:A short code for referencing the file type in import documents.
| name
| The name of the file type.
|-
| short_code
| A short code for referencing the file type in import documents.
|}


====== mseauser ======
====== mseauser ======
Line 5,316: Line 3,518:
Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.
Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;user_id
| id
:A reference to the [[#public.auth_user|Django user]].
|
;biigle_username
|-
:The Biigle username.
| user_id
;biigle_api_key
| A reference to the [Django user](#public.auth_user).
:The Biigle API key.
|-
;pg_role
| biigle_username
:The name of the PostgreSQL role that the user will use to log in directly to the database.
| The Biigle username.
;organization
|-
:The organization with which a user is affiliated.
| biigle_api_key
;org_type
| The Biigle API key.
:The the type of organization with which the user is affiliated.
|-
;registration_reason
| pg_role
:A short note about why the user registered.
| The name of the PostgreSQL role that the user will use to log in directly to the database.
;bio
|-
:Biographical information about the user.
| organization
;verification_code
| The organization with which a user is affiliated.
:An auto-generated string used to identify the user for verification purposes.
|-
;verification_expiry
| org_type
:The time of expiration of the verification code.
| The the type of organization with which the user is affiliated.
;verification_time
|-
:The date and time at which the user was verified.
| registration_reason
;registration_ip
| A short note about why the user registered.
:The IP used by the user to register.
|-
;ip_in_region
| bio
:Set to true if the user's IP is within the signup region. False positives and negatives are possible.
| Biographical information about the user.
;registration_note
|-
:Administrator notes about the user's registration status.
| verification_code
;allowed
| An auto-generated string used to identify the user for verification purposes.
:If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
|-
| verification_expiry
| The time of expiration of the verification code.
|-
| verification_time
| The date and time at which the user was verified.
|-
| registration_ip
| The IP used by the user to register.
|-
| ip_in_region
| Set to true if the user's IP is within the signup region. False positives and negatives are possible.
|-
| registration_note
| Administrator notes about the user's registration status.
|-
| allowed
| If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
|}


====== organisation ======
====== organisation ======
Line 5,356: Line 3,576:
Convenient storage for organisations involved in MSEA activities.
Convenient storage for organisations involved in MSEA activities.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The full name of the organisation.
|
;country
|-
:The code for the country where the organisation is based (e.g., "CA" for Canada).
| name
;note
| The full name of the organisation.
:An optional note about the organisation.
|-
| country
| The code for the country where the organisation is based (e.g., "CA" for Canada).
|-
| note
| An optional note about the organisation.
|}


====== person ======
====== person ======
Line 5,372: Line 3,598:
Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.
Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;biigle_user_id
| id
:The Biigle database ID of a user. The UUID should be used instead.
|
;first_name
|-
:First name.
| biigle_user_id
;last_name
| The Biigle database ID of a user. The UUID should be used instead.
:Last name.
|-
;email
| first_name
:Email address.
| First name.
;photo
|-
:A photo of the person.
| last_name
;bio
| Last name.
:A brief biography of the person.
|-
;biigle_uuid
| email
:The Biigle UUID is used to identify the user in Biigle apps.
| Email address.
;affiliation
|-
:The organization with which this user is currently affiliated.
| photo
| A photo of the person.
|-
| bio
| A brief biography of the person.
|-
| biigle_uuid
| The Biigle UUID is used to identify the user in Biigle apps.
|-
| affiliation
| The organization with which this user is currently affiliated.
|}


====== restriction ======
====== restriction ======
Line 5,398: Line 3,635:
The restriction table provides restrictions for [[#rov.event|events]], based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.
The restriction table provides restrictions for [[#rov.event|events]], based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;name
| id
:The name of the restriction.
|
;key
|-
:The top-level property name or key.
| name
;pattern
| The name of the restriction.
:A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
|-
;note
| key
:An optional note about the restriction.
| The top-level property name or key.
;created_on
|-
:The date of creation of the restriction.
| pattern
;updated_on
| A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
:The date of last update of the restriction.
|-
| note
| An optional note about the restriction.
|-
| created_on
| The date of creation of the restriction.
|-
| updated_on
| The date of last update of the restriction.
|}


====== restriction_group ======
====== restriction_group ======
Line 5,420: Line 3,666:
Links the restriction to a group. Members of linked groups are able to view the restricted items.
Links the restriction to a group. Members of linked groups are able to view the restricted items.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;restriction_id
| id
:The ID of the [[#shared.restriction|restriction]].
|
;group_id
|-
:The ID of the Django authentication group.
| restriction_id
| The ID of the [restriction](#shared.restriction).
|-
| group_id
| The ID of the Django authentication group.
|}


====== site ======
====== site ======
Line 5,434: Line 3,685:
Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.
Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;spatial_library_id
| id
:A reference to the [[#shared.spatial_library|spatial library]] entry.
|
;name
|-
:A name for the site.
| spatial_library_id
;note
| A reference to the [spatial library](#shared.spatial_library) entry.
:An optional note about the site.
|-
| name
| A name for the site.
|-
| note
| An optional note about the site.
|}


====== spatial_library ======
====== spatial_library ======
Line 5,450: Line 3,707:
Maintains a library of spatial data.
Maintains a library of spatial data.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;file_id
| id
:A reference to a related [[#shared.file|file]].
|
;name
|-
:A name for the entry.
| file_id
;note
| A reference to a related [file](#shared.file).
:A note about this library item.
|-
;thumbnail
| name
:A small thumbnail in binary (JPG) form.
| A name for the entry.
;created_on
|-
:The time when this record was created.
| note
;updated_on
| A note about this library item.
:The date of update of this record.
|-
;geom
| thumbnail
:A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
| A small thumbnail in binary (JPG) form.
;metadata
|-
:A JSON object containing metadata related to the spatial object.
| created_on
;rast
| The time when this record was created.
:A raster.
|-
| updated_on
| The date of update of this record.
|-
| geom
| A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
|-
| metadata
| A JSON object containing metadata related to the spatial object.
|-
| rast
| A raster.
|}


====== spatial_library_file ======
====== spatial_library_file ======
Line 5,478: Line 3,747:
Allows a [[#shared.spatial_library|spatial library]] entity to own more than one file.
Allows a [[#shared.spatial_library|spatial library]] entity to own more than one file.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;spatial_library_id
| id
:A link to the [[#shared.spatial_library|spatial library]].
|
;file_id
|-
:A link to the [[#shared.file|file]].
| spatial_library_id
| A link to the [spatial library](#shared.spatial_library).
|-
| file_id
| A link to the [file](#shared.file).
|}


====== uploaded_file ======
====== uploaded_file ======
Line 5,492: Line 3,766:
A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.
A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;path
| id
:The path to the temporary location of the file.
|
;type
|-
:The guessed MIME type of the file.
| path
;name
| The path to the temporary location of the file.
:The original name of the file.
|-
;created_on
| type
:The time of creation of the record.
| The guessed MIME type of the file.
;expires_on
|-
:The expiry time of the file. It may be deleted by a maintenance script after this time.
| name
;marked_for_delete
| The original name of the file.
:If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.
|-
| created_on
| The time of creation of the record.
|-
| expires_on
| The expiry time of the file. It may be deleted by a maintenance script after this time.
|-
| marked_for_delete
| If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.
|}




===== Indexes =====
===== Indexes =====


;db_version_pkey
:''No comment''
;file_pkey
:''No comment''
;file_type_name_key
:''No comment''
;file_type_pkey
:''No comment''
;file_type_short_code_key
:''No comment''
;mseauser_pg_role_key
:''No comment''
;mseauser_pkey
:''No comment''
;mseauser_user_id_key
:''No comment''
;organisation_pkey
:''No comment''
;person_biigle_user_id_key
:''No comment''
;person_biigle_uuid_key
:''No comment''
;person_email_idx
:''No comment''
;person_email_unique
:''No comment''
;person_first_name_idx
:''No comment''
;person_last_name_idx
:''No comment''
;person_name_unique
:''No comment''
;person_pkey
:''No comment''
;person_unique
:''No comment''
;restriction_group_pkey
:''No comment''
;restriction_pkey
:''No comment''
;shared_restriction_group_unique
:''No comment''
;shared_restriction_name_unique
:''No comment''
;shared_restriction_unique
:''No comment''
;site_name_idx
:''No comment''
;site_name_key
:''No comment''
;site_name_unique
:''No comment''
;site_pkey
:''No comment''
;spatial_library_file_pkey
:''No comment''
;spatial_library_geom_idx
:''No comment''
;spatial_library_name_idx
:''No comment''
;spatial_library_pkey
:''No comment''
;uploads_pkey
:''No comment''


==== Schema: taxonomy ====
=== Schema: taxonomy ===
<span id="taxonomy"></span>
<span id="taxonomy"></span>


Line 5,587: Line 3,806:
Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.
Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.


''Columns:''
:: {| class="wikitable"
 
! Column
;id
! Comment
:''No comment''
|-
;taxon_id
| id
:The taxonomic ID from the source database.
|
;source
|-
:The name of the source database: "inaturalist", "worms", "obis", etc.
| taxon_id
;rank
| The taxonomic ID from the source database.
:The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
|-
;scientific_name
| source
:The scientific name of the species.
| The name of the source database: "inaturalist", "worms", "obis", etc.
;common_name
|-
:The common name of the species.
| rank
;superdomain
| The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
:The superdomain name.
|-
;domain
| scientific_name
:The domain name.
| The scientific name of the species.
;kingdom
|-
:The kingdom name.
| common_name
;subkingdom
| The common name of the species.
:The subkingdom name.
|-
;infrakingdom
| superdomain
:The infrakingdom name.
| The superdomain name.
;phylum
|-
:The phylum name.
| domain
;phylum_division
| The domain name.
:The phylum division name.
|-
;subphylum_subdivision
| kingdom
:The subphylum division name.
| The kingdom name.
;subphylum
|-
:The subphylum name.
| subkingdom
;infraphylum
| The subkingdom name.
:The infraphylum name.
|-
;parvphylum
| infrakingdom
:The parvphylum name.
| The infrakingdom name.
;gigaclass
|-
:The gigaclass name.
| phylum
;megaclass
| The phylum name.
:The megaclass name.
|-
;superclass
| phylum_division
:The superclass name.
| The phylum division name.
;class
|-
:The "class" name.
| subphylum_subdivision
;subclass
| The subphylum division name.
:The subclass name.
|-
;infraclass
| subphylum
:The infraclass name.
| The subphylum name.
;subterclass
|-
:The subterclass name.
| infraphylum
;superorder
| The infraphylum name.
:The superorder name.
|-
;order
| parvphylum
:The "order" name.
| The parvphylum name.
;suborder
|-
:The suborder name.
| gigaclass
;infraorder
| The gigaclass name.
:The infraorder name.
|-
;parvorder
| megaclass
:The parvorder name.
| The megaclass name.
;superfamily
|-
:The superfamily name.
| superclass
;family
| The superclass name.
:The family name.
|-
;subfamily
| class
:The subfamily name.
| The "class" name.
;supertribe
|-
:The supertribe name.
| subclass
;tribe
| The subclass name.
:The tribe name.
|-
;subtribe
| infraclass
:The subtribe name.
| The infraclass name.
;genus
|-
:The genus name.
| subterclass
;genus_hybrid
| The subterclass name.
:The genus hybrid name.
|-
;subgenus
| superorder
:The subgenus name.
| The superorder name.
;section
|-
:The section name.
| order
;subsection
| The "order" name.
:The subsection name.
|-
;series
| suborder
:The series name.
| The suborder name.
;species
|-
:The species name.
| infraorder
;hybrid
| The infraorder name.
:The hybrid name.
|-
;subspecies
| parvorder
:The subspecies name.
| The parvorder name.
;natio
|-
:The natio name.
| superfamily
;variety
| The superfamily name.
:The variety name.
|-
;subvariety
| family
:The subvariety name.
| The family name.
;form
|-
:The form name.
| subfamily
;subform
| The subfamily name.
:The subform name.
|-
;no_common_name
| supertribe
:If a search has been performed for a common name and none was found, this prevents the processor from trying again.
| The supertribe name.
;accepted_taxon_id
|-
:The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
| tribe
;parent_taxon_id
| The tribe name.
:The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.
|-
| subtribe
| The subtribe name.
|-
| genus
| The genus name.
|-
| genus_hybrid
| The genus hybrid name.
|-
| subgenus
| The subgenus name.
|-
| section
| The section name.
|-
| subsection
| The subsection name.
|-
| series
| The series name.
|-
| species
| The species name.
|-
| hybrid
| The hybrid name.
|-
| subspecies
| The subspecies name.
|-
| natio
| The natio name.
|-
| variety
| The variety name.
|-
| subvariety
| The subvariety name.
|-
| form
| The form name.
|-
| subform
| The subform name.
|-
| no_common_name
| If a search has been performed for a common name and none was found, this prevents the processor from trying again.
|-
| accepted_taxon_id
| The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
|-
| parent_taxon_id
| The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.
|}




===== Indexes =====
===== Indexes =====
;taxon_common_name_idx
:''No comment''
;taxon_pkey
:''No comment''
;taxon_rank_idx
:''No comment''
;taxon_scientific_name_idx
:''No comment''
;taxon_source_idx
:''No comment''
;taxon_source_taxon_id_key
:''No comment''
<!-- END GENERATED CONTENT -->
<!-- END GENERATED CONTENT -->

Revision as of 02:17, 21 September 2025

Database entity documentation is generated automatically from the production database by the Django task, db_documentation.py. The script automatically modifies this page, replacing the text between the <!-- BEGIN GENERATED CONTENT --> and <!-- END GENERATED CONTENT --> tags.

Documentation resides in the database itself, in the form of comments on the relations and columns. Documentations can be created by executing SQL statements in the form,

   COMMENT ON SHCEMA [schema] IS 'This is a schema comment.'
   COMMENT ON TABLE [schema].[table name] IS 'This is a table comment.'
   COMMENT ON COLUMN [schema].[table name].[column name] IS 'This is a column comment.'

Comments on MSEA's tables are managed using DDL, as described on the Database Upgrades page. Many other tables are generated by application frameworks and are not documented.

Note: this page is auto-generated from the documentation comments in the actual database. Do not edit it directly.

Entity Documentation

Schemas

Schema: admin

Tables
cache_table

A table containing information about cache refreshment procedures and the tables they impact. The cache_refresh_tables procedure will read this table and execute the procedures stored therein.

Column Comment
id
table_name Stores the name of the table impacted by the associated cache procedure. Triggers will be disabled on the table, then re-enabled.
proc_name The name of the cache refresh procedure to be called.
created_on
updated_on


Indexes

Schema: cache

Tables
cruise_stats

Stores compiled statistics for cruises.

Column Comment
id
cruise_id The ID of the [cruise](#rov.cruise).
name The name of the [cruise](#rov.cruise).
leg The [cruise](#rov.cruise) leg.
start_date The start date of the [cruise](#rov.cruise).
end_date The end date of the [cruise](#rov.cruise).
num_dives The number of dives performed during the [cruise](#rov.cruise).
num_measurements The number measurements collected during the [cruise](#rov.cruise).
num_positions The number positions collected during the [cruise](#rov.cruise).
num_habitats The number habitats annotated during the [cruise](#rov.cruise).
num_observations The number observations annotated during the [cruise](#rov.cruise).
is_approved
num_transects The number of [transects](#rov.transect) that occurred during this [cruise](#rov.cruise).
num_taxa The number of [taxa](#taxonomy.taxon) observed during this [cruise](#rov.cruise).
num_cruise_crew The number of [crew members](#rov.cruise_crew) configured for this [cruise](#rov.cruise).
num_dive_crew The number of [crew members](#rov.dive_crew) configured for the [dives](#rov.dive) of this [cruise](#rov.cruise).
num_ap_docs The number of [documents](#rov.annotation_protocol_document) attached to an [annotation protocol](#rov.annotation_protocol) used to annotate this [cruise's](#rov.cruise) data.
num_cruise_docs True if there is at least one [document](#rov.cruise_document) attached this [cruise](#rov.cruise).
has_fov True if the cruise has field of view measurements.
cruise_track

Constructs a geometry for each cruise which describes the path of the ship.

Column Comment
cruise_id The reference to the [cruise](#rov.cruise).
cruise_name The [cruise](#rov.cruise) name and leg.
colour The a colour code generated from the cruise's ID used for cartography.
geom The cruise track geometry.
dive_track

Constructs a geometry for each dive which describes the path of the submersible.

Column Comment
dive_id The reference to the [dive](#rov.dive).
cruise_id The reference to the [cruise](#rov.cruise).
dive_name The [dive](#rov.dive) name.
cruise_name The [cruise](#rov.cruise) name.
colour The a colour code generated from the cruise's ID. Used for cartography.
geom The dive track geometry.
evt_depth

Creates a relation between an event and the depth nearest the start and end times of the event.

Column Comment
event_id The link to the [event's](#rov.event) event ID.
instrument_config_id The link to the [instrument configuration](#rov.instrument_config).
timestamps The array of timestamps corresponding to the depths.
depths The array of [depths](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple depths are returned.
evt_measurement

Creates a relation between an event and the measurement nearest the start and end times of the event.

Column Comment
event_id The link to the [event's](#rov.event) event ID.
instrument_config_id The link to the [instrument configuration](#rov.instrument_config).
measurement_type_id The link to the [measurement type](#rov.measurement_type).
timestamps The array of timestamps corresponding to the measurements.
measurements The array of [measurements](#rov.measurement) between the event's start and end times. If the event covers a span of time, multiple measurements are returned.
evt_pos

Creates a relation between an event and the positions within the span of the event, as a MultiPoint.

Column Comment
event_id The link to the [event's](#rov.event)'s event ID.
instrument_config_id The link to the [instrument configuration](#rov.instrument_config).
timestamps The list of timestamps corresponding to the geometries in the geoms column.
geoms The list of positions comprising the ROV track during the time span of the event. A MultiPoint.
transect_track

Constructs a geometry for each transect which describes the path of the submersible.

Column Comment
transect_id The reference to the [transect](#rov.transect).
dive_id The reference to the [dive](#rov.dive).
cruise_id The reference to the [cruise](#rov.cruise).
transect_name The [transect](#rov.transect) name.
dive_name The [dive](#rov.dive) name.
cruise_name The [cruise](#rov.cruise) name.
colour The a colour code generated from the cruise's ID. Used for cartography.
geom The transect track geometry.


Indexes

Schema: geo

Tables
area

Stores area geometries linked to area groups.

Column Comment
id
area_group_id
name_en The english name of the area.
name_fr The french name of the area.
properties A JSON object containing properties of the area.
geom The area geometry, a MultiPolygon.
area_group

Stores groups of similar areas, such as MPAs, seamounts, etc. Linked by areas.

Column Comment
id
name_en The english name of the area group.
name_fr The french name of the area group.
description_en The english description of the area group.
description_fr The french description of the area group.


Indexes

Schema: maxmind

Tables
geoip_city_blocks

Contains both IPv4 and IPv6 network addresses, which reference locations in the geoip_city_locations table.

Column Comment
network The network address, IPv4 or IPv6.
geoname_id References the location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table.
registered_country_geoname_id The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table which is registered to the network address.
represented_country_geoname_id The location ID in the [geoip_city_locations](#maxmind.geoip_city_locations) table from which the IP comes.
is_anonymous_proxy True if the address is of an anonymous proxy.
is_satellite_provider True if the address is used by a satellite network provider.
postal_code The postal code of the location.
latitude The latitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
longitude The longitude of the geographic center of a region, defined by the accuracy radius, which contains the location.
accuracy_radius The radius (m) of a circle within which the location is located.
is_anycast True if the address is that of an Anycast network.
location
region
geoip_city_locations

Stores the country, region and city data for GeoIP.

Column Comment
geoname_id The internal GeoIP city ID.
locale_code The two-character local code.
continent_code The two-character ISO continent code.
continent_name The continent name
country_iso_code The two-character ISO country code.
country_name The country name
subdivision_1_iso_code The ISO subdivision 1 code.
subdivision_1_name The ISO subdivision 1 name.
subdivision_2_iso_code The ISO subdivision 2 code.
subdivision_2_name The ISO subdivision 2 name.
city_name The city name.
metro_code The three-digit metro code.
time_zone The name of the time zone.
is_in_european_union True if the location is within the European Union.
geoip_last_update

Stores the time of last update of the database.

Column Comment
last_update The time of last update of the database.


Indexes

Schema: ndst

Tables
cruise

Contains information about a cruise, as entered by NDST staff. Will be combined with other data to populate the cruise table.

Column Comment
row_id A UUID providing a universally-unique identifier for the cruise.
name The name of the cruise.
leg The leg of the cruise. Should start at 1 and increase.
objective
summary A summary of the cruise, its accomplishments, problems, etc.
note The objective of the cruise.
status The current status of the cruise viz. database import.
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
id
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
hide True if the entity should be hidden in the UI.
diveconfig

Stores configurations for each dive, including the submersible, ship and any instruments on either.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
name The name of the dive config.
ship_config Stores the name of the [ship configuration](#ndst.equipconfig) during the dive.
sub_config Stores the name of the [submersible configuration](#ndst.equipconfig) during the dive.
ship_instrument_configs Stores the names of the [instruments](#ndst.equipconfig) on the ship during the dive.
sub_instrument_configs Stores the names of the [instruments](#ndst.equipconfig) on the sub during the dive.
note A note about the dive config.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
dives

Stores information about each dive.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
cruise_name The name of the [cruise](#ndst.cruise).
leg The leg of the [cruise](#ndst.cruise).
name The name of the dive.
pilot The [pilot](#shared.person)(s) of the dive.
start_time The time of dive start.
end_time The time of dive ending.
site_name The name of the dive site.
dive_config The name of the [dive configuration](#ndst.diveconfig).
objective The objective of the dive.
summary A summary of the dive, its accomplishments, problems, etc.
note A note about the dive.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
hide True if the entity should be hidden in the UI.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
equipconfig

Stores configurations for equipment, including instruments and platforms.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
name The name of the equipment config.
short_code A short, easy-to-use identifier for the configuration.
type The type of equipment.
configuration A JSON object containing configuration properties.
note A note about the equipment config.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
equipment

Stores equipment, including instruments and platforms.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
short_code The short code for the equipment as used in the [ROV database equipment table](#ndst.equipment).
brand The brand name of the equipment.
model The model name of the equipment.
serial_number The serial number.
type The type of equipment.
note A note about the equipment.
instrument_id The ID of the [instrument](#rov.instrument) in the ROV database. Mutually exclusive with platform_id.
platform_id The ID of the [platform](#rov.platform) in the ROV database. Mutually exclusive with instrument_id.
short_code_mapped An optional mapping from the origin short code to an internal short code. Not unique because multiple source items can map to a single internal item.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
people

Stores the people who worked on the cruise.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
initials The initials. Used like a short code for the person.
first_name The first name.
last_name The last name.
email The email address.
person_id The ID of the [person](#shared.person) in the ROV database.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
transects

Stores information about each transect.

Column Comment
row_id A UUID providing a universally-unique identifier for the entity.
cruise_name The name of the [cruise](#ndst.cruise).
leg The leg of the [cruise](#ndst.cruise).
dive_name The name of the dive.
name The name of the transect.
start_time The time of transect start.
end_time The time of transect ending.
objective The objective of the transect.
summary A summary of the transect, its accomplishments, problems, etc.
note A note about the transect.
active Set to true if the entity is active, that is, if it's currently being used. If not, set to false.
hide True if the entity should be hidden in the UI.
id
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.


Indexes

Schema: public

Tables
auth_group

A Django table for authorization groups.

Column Comment
id
name
auth_group_permissions

A Django table for permissions on authorization groups.

Column Comment
id
group_id
permission_id
auth_permission

A Django table for available permissions.

Column Comment
id
name
content_type_id
codename
auth_user

A Django table for users.

Column Comment
id
password
last_login
is_superuser
first_name
last_name
email
is_staff
is_active
date_joined
biigle_username
biigle_api_key
organization
org_type
registration_reason
bio
verification_code
verification_expiry
verification_time
registration_ip
ip_in_region
registration_note
allowed
password_reset_code
password_reset_expiry
registration_location
auth_user_groups

A Django table to relate users to groups.

Column Comment
id
user_id
group_id
auth_user_user_permissions

A Django for user permissions.

Column Comment
id
user_id
permission_id
django_admin_log

A Django table for admin logging.

Column Comment
id
action_time
object_id
object_repr
action_flag
change_message
content_type_id
user_id
django_celery_beat_clockedschedule

No comment

Column Comment
id
clocked_time
django_celery_beat_crontabschedule

No comment

Column Comment
id
minute
hour
day_of_week
day_of_month
month_of_year
timezone
django_celery_beat_intervalschedule

No comment

Column Comment
id
every
period
django_celery_beat_periodictask

No comment

Column Comment
id
name
task
args
kwargs
queue
exchange
routing_key
expires
enabled
last_run_at
total_run_count
date_changed
description
crontab_id
interval_id
solar_id
one_off
start_time
priority
headers
clocked_id
expire_seconds
django_celery_beat_periodictasks

No comment

Column Comment
ident
last_update
django_celery_beat_solarschedule

No comment

Column Comment
id
event
latitude
longitude
django_celery_results_chordcounter

No comment

Column Comment
id
group_id
sub_tasks
count
django_celery_results_groupresult

No comment

Column Comment
id
group_id
date_created
date_done
content_type
content_encoding
result
django_celery_results_taskresult

No comment

Column Comment
id
task_id
status
content_type
content_encoding
result
date_done
traceback
meta
task_args
task_kwargs
task_name
worker
date_created
periodic_task_name
date_started
django_content_type

A Django table for content types.

Column Comment
id
app_label
model
django_migrations

Records migrations applied to database.

Column Comment
id
app
name
applied
django_session

Django session management.

Column Comment
session_key
session_data
expire_date
django_site

No comment

Column Comment
id
domain
name
event_group

No comment

Column Comment
event_id
group_id
knox_authtoken

No comment

Column Comment
digest
created
user_id
expiry
token_key
spatial_ref_sys

No comment

Column Comment
srid
auth_name
auth_srid
srtext
proj4text
thumbnail_kvstore

No comment

Column Comment
key
value


Views
geography_columns

No comment

Column Comment
f_table_catalog
f_table_schema
f_table_name
f_geography_column
coord_dimension
srid
type
geometry_columns

No comment

Column Comment
f_table_catalog
f_table_schema
f_table_name
f_geometry_column
coord_dimension
srid
type


Indexes
Functions
Procedures

Schema: rov

Tables
abundance

Stores a list of abundance labels from the ACFOR scale.

Column Comment
id
name A descriptive label for the abundance level.
rank A rank used to objectively interpret the abundance label as an ordinal rank. It doesn't matter what the values are so long as they increase monotonically and do not overlap.
source A source label to distinguish abundance labels with the same names. TODO: Provisional, pending determination of how abundance codes are handled.
note An optional note about the abundance level.
short_code Contains a short code that can be used to look up an abundance (e.g., during import) without relying on the primary key.
annotation_job

Stores information about the annotation projects that generate information from photo and video media.

Column Comment
id
name A name for the annotation project.
objective A statement of the objectives of the annotation project.
note Operational notes about the annotation project.
start_date The starting date of the project.
end_date The ending date of the project.
created_on The date of creation of the entity.
updated_on The date of last modification of the entity.
annotation_job_annotation_protocol

Associates the annotation job with one or more annotation protocols, which are used to direct annotation activities.

Column Comment
id
annotation_job_id The ID of the [annotation job](#rov.annotation_job).
annotation_protocol_id The ID of the [annotation protocol](#rov.annotation_protocol).
annotation_job_crew

Associates crew members with an annotation job with their respective roles.

Column Comment
id
annotation_job_id The ID of the [annotation job](#rov.annotation_job).
person_id The ID of the [crew member](#shared.person).
role_id The ID of the [role](#rov.annotation_job_role).
annotation_job_role

Stores the possible roles one can perform on an annotation job.

Column Comment
id
name The name of the role.
note A descript of the role.
annotation_protocol

A table to record annotation protocols for annotation projects. Stores information such as the author of the protocol, the observation interval, the medium used and the types of observations to be made.

Column Comment
id
medium_type_id The type of media used for annotation. Looked up in [media type](#rov.medium_type) table.
annotation_software_id Software used to annotate the video or images. Looked up in the [annotation software](#rov.annotation_software) table.
name The name of the annotation protocol. Should be unique.
is_template If this is meant to be a template that is copied for use, mark this column `true`.
image_interval The interval between images or frame grabs. Typically 3 to 10 seconds.
image_overlap Is there overlap between the images (true) or do they represent independent non-overlapping space (false).
habitat_only Set to true if only habitat variables were recorded.
species_guide A URL to the iNaturalist species guide that was used for annotation.
note If only a subset of invert, fish or algae species were identified, note here which groups were the primary focus (target species). For example, benthic fish or corals and sponges. Also for other notes of interest.
created_on The date of creation of this record.
updated_on The date of update of this record.
creator_id Records the identity of the person who created this protocol.
invertebrate_species Whether all invertebrate species are identified: "all", "subset" or "none".
fish_species Whether all fish species are identified: "all", "subset" or "none".
algae_species Whether all algae species are identified: "all", "subset" or "none".
biogenic_habitat True if any habitat categories include fauna (e.g., sponge reefs).
protocol_document Link, title, DOI, etc. of a document describing the protocol in full.
observation_interval The time interval between species or anthropogenic observations.
habitat_interval The time interval between habitat observations.
fov_interval The time interval between field-of-view measurements.
image_interval_unit A unit for the image interval, such as 's' for seconds or 'm' for metres.
observation_interval_unit A unit for the observation interval, such as 's' for seconds or 'm' for metres.
habitat_interval_unit A unit for the habitat interval, such as 's' for seconds or 'm' for metres.
fov_interval_unit A unit for the field of view interval, such as 's' for seconds or 'm' for metres.
annotation_protocol_document

Contains documents related to an annotation protocol. These can be a URL or actual file data. If the file data are present in the database, the URL can still be used to provide the origin of the file, etc.

Column Comment
id
annotation_protocol_id A reference to the [annotation protocol](#rov.annotation_protocol).
note An optional note about the document.
title The title of the document.
url An optional URL for the document. If file data are not given, this field is required.
created_on The time of creation of the record.
updated_on The time of update of the record.
file_id A reference to the [uploaded file](#shared.uploaded_file).
annotation_software

The software used for annotation.

Column Comment
id
name The name of the annotation software.
note An optional note about the annotation software.
biigle_label_map

Contains mappings from Biigle labels to properties that apply to events.

Column Comment
id
label_tree_id The ID of the Biigle label tree.
label_id The ID of the Biigle label.
label_hierarchy The full hierarchical text of the Biigle label.
label_text The text of the final element of the label.
properties Stores the properties of the observation.
note A textual note or comment.
created_on The time of creation of the record.
updated_on Time of last update of the record.
biigle_label_map_restriction

Links a Biigle label map to a [restriction][#shared.restriction].

Column Comment
id
restriction_id A link to the [restriction](#shared.restriction).
biigle_label_map_id A link to the [label map](#rov.biigle_label_map).
biocover

A lookup table listing the available biocover types for the habitat_event table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity. TODO: Should perhaps refer to the taxon table.

Column Comment
id
name The name of the biocover.
note An optional description of the biocover.
short_code Contains a short code that can be used to look up a biocover (e.g., during import) without relying on the primary key.
complexity

A lookup table listing the available habitat complexity types for the habitat_event table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Column Comment
id
name The name of the complexity type.
note An optional description of the complexity type.
short_code Contains a short code that can be used to look up a complexity (e.g., during import) without relying on the primary key.
coverage

A lookup table listing the percentage of coverage for the habitat_event table. The coverages are given as ranges so the text of the level is given in the name field and the values in the min and max fields contain the bounding values.

Column Comment
id
name A characterization of percent coverage. Presented as a range of percentages.
minimum The minimum value in the range.
maximum The minimum value in the range.
note An optional note about the coverage percentage.
short_code Contains a short code that can be used to look up a coverage (e.g., during import) without relying on the primary key.
cruise

Cruise legs occur within a cruise and are assigned specific crews, scientific programs, etc. A single leg can cover an entire cruise, legs can be spaced end-to-end, or can theoretically overlap. Legs can share members or equipment, and crew members can have specific roles related to a leg. Cruise legs can be created without a scientific program or a cruise because imported data sets may only list the name of the cruise and not indicate whether it was part of a longer cruise.

Column Comment
id
name A name for this leg of the cruise.
objective A statement of the operational or scientific objectives of the cruise.
start_time The start time of the leg.
end_time The end time of the leg.
planned_track A multilinestring containing the planned track of the leg. TODO: Not known whether this is necessary.
note Notes about the cruise.
created_on The date of creation of this record.
updated_on The date of update of this record.
leg Cruise legs are numbered from 1.
summary A summary of the cruise, with information about whether the objectives were met and any other pertinent information.
approved If zero, the record is not approved and should not be shown or used. Currently a non-zero value represents approval, but may be expanded to various levels of approval in the future.
ship_id The ID of the [ship](#rov.platform) used on this cruise.
admin_note Notes by the database administrator about this entity.
mark_for_delete Marks the entity for asynchronous deletion by the runner.
cruise_crew

Associates crew members with a cruise leg and their roles. A crew member can have multiple roles. Note: these roles are distinct from members of programs, such as Chief Scientist. It may be necessary to revisit this structure or the division of roles.

Column Comment
id
cruise_id Reference to the [cruise leg](#rov.cruise) to which the member is assigned.
person_id Reference to the [person](#shared.person) on the crew.
cruise_role_id Reference to the [cruise role](#rov.cruise_role).
note An optional note about the crew member.
cruise_document

Stores information about documents related to a cruise.

Column Comment
id
cruise_id The ID of the [cruise](#rov.cruise).
note A note about the document.
title The title of the document.
url A URL for the online copy of the document. May be used when no file is available.
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
file_id
cruise_fn_contact

A table for associating First Nations contacts with a cruise.

Column Comment
id
cruise_id A reference to the [cruise](#rov.cruise).
contact_name The full name of the contact.
email The email address of the contact.
phone The phone number of the contact.
nation The name of the nation or group represented by the contact.
note A note about the contact.
cruise_import

Stores cruise import tasks in the database. These contain the JSON data description, a status message and complete processing log.

Column Comment
id
name A unique name for the import job.
data A JSON document containing the cruise import data.
status A status message about processing.
logs A JSON array containing the complete processing log.
created_on
updated_on
version
task_id Stores the task ID for the asychrnonous task (i.e., a Celery task) used to process the import.
cruise_program

A table to link programs and cruises. A cruise can be under the auspices of more than one program or none.

Column Comment
id
cruise_id The ID of a [cruise](#rov.cruise).
program_id The ID of a [program](#rov.program).
cruise_role

A lookup table of roles available to members of cruise leg crews.

Column Comment
id
name The name of the role.
note An optional note about the role and its responsibilities.
short_code A short string used to identify the role.
disturbance

Provides a nominal level of disturbance for habitat events.

Column Comment
id
name The textual representation of the disturbance level.
note A note about the disturbance level.
short_code Contains a short code that can be used to look up a disturbance (e.g., during import) without relying on the primary key.
dive

A dive is what an ROV does. The dive has a start and end time (not necessarily submerge/resurface), a crew and possibly a name. Transects occur during dives.

Column Comment
id
cruise_id A reference to the [cruise leg](#rov.cruise) during which the dive was performed.
name A name for the dive.
objective A statement of the practical or research objectives for this dive.
start_time The start of the dive. Not necessarily the time the vehicle is placed in the water.
end_time The end of the dive.
note An optional note about the dive.
attributes A JSON column used for recording structured attributes that do not fit with the regular table structure.
created_on The date of creation of this record.
updated_on The date of update of this record.
summary A summary of the [dive](#rov.dive); whether objectives were met, problems encountered, etc.
sub_config_id A reference to the [platform config](#rov.platform_config) for the submersible or ROV.
ship_config_id A reference to the [platform config](#rov.platform_config) for the ship.
admin_note
seatube_id The ID of a dive on SeaTube corresponding to this dive.
mark_for_delete Marks the entity for asynchronous deletion by the runner.
site An optional name for the site.
dive_crew

Assigns roles to dive crew members. Crew members are selected from the person.

Column Comment
id
dive_id The [dive](#rov.dive) to which the crew member is assigned.
person_id A reference to the [person](#shared.person).
dive_role_id A reference to the [dive role](#rov.dive_role).
note An optional note about the crew member.
dive_role

A list of roles available to crew members on a dive via the dive_crew table.

Column Comment
id
name The name of the role.
note An optional description of the role.
short_code A short string used to identify the role.
equipment_type

This is a lookup table to provide the names of types of equipment for the model table, e.g., "Digital Still Camera", "Thermometer," "ROV," etc.

Column Comment
id
name A name for the equipment type.
note An optional note about the equipment type.
category An enumeration column identifying the equipment as platform, instrument or some other type.
event

The event table, a schemaless table storing all recorded observations and statuses during operations.

Column Comment
id
dive_id A reference to the dive during which this event occurred.
annotation_job_id
instrument_config_id
start_time The start time of the event.
end_time The end time of the event. Null, if the event is discrete.
properties A JSON object containing name-value pairs describing the event.
note An optional note about the event. Do not use to store event data.
created_on The time of creation of the event.
updated_on The time of update of the event. Automatically updated by a trigger.
hidden If true, the entity should be hidden from searches and reports. An alternative to deleting entities that may prove useful in the future.
import_group_id A reference to the [import group](#rov.import_group), which tracks events which were imported at the same time, from the same file.
event_group

Links the event table to the group table to facilitate the restriction mechanism.

Column Comment
event_id Links to the [event](#rov.event) table.
group_id Links to the [group](#public.auth_group) table.
event_logger

This table tracks the people who contributed to annotation, which may be composed of a number of separate labels.

Column Comment
id
person_id A [person](#shared.person) who contributed to the annotation.
event_id The [event](#rov.event) that was created from the annotation(s).
flow

Stores categories of current flow for habitat.

Column Comment
id
name A note about the flow category.
note
short_code A short code for the flow category.
generic_label_map

A table for storing mappings from annotation labels to property sets.

Column Comment
id
label_text The text of the label.
properties A dictionary of mapped properties.
note A note about the mapping.
created_on The date of creation.
updated_on The date of last update.
generic_label_map_restriction

Links a generic label mapping to a restriction.

Column Comment
id
restriction_id A reference to a [restriction](#shared.restriction).
generic_label_map_id A reference to a [generic label mapping](#rov.generic_label_map).
image_quality

Nominal image quality levels, originally used by VideoMiner but applicable to new records.

Column Comment
id
name A name for the quality level.
rank An ordinal rank (zero is high) for the quality level.
note An optional note.
short_code Contains a short code that can be used to look up an image quality (e.g., during import) without relying on the primary key.
import_group

Stores information about a group of measurements, positions or events so they can be distinguished by when or from what file they were imported. This provides the ability to delete a single stream of data at a finer resolution that just the instrument config, platform config, dive, etc. The initial entries in the table are created retroactively, and contain undifferentiated records based on the instrument config and measurement type (measurements); the instrument config (positions) or the dive and instrument config (events).

Column Comment
id
name A name for the import or the name of the file from which the data were imported.
note
created_on The date and time that the import was initiated.
source_file
import_queue_annotator

Stores the import packages created by annotators. Some fields are transferred to the annotation job to record the objectives of the project. Each queue item (and therefore each job) should correspond to a single annotation project, and not encompass multiple projects with different objectives.

Column Comment
id
user_id A reference to the [MSEA user](#shared.mseauser) that created the record.
note An optional note about the import package.
created_on The date of creation of the record.
updated_on The date of update of the record.
name A unique name for the import queue record.
status A short description of the processing status of the job.
cruise_name The name of the [cruise](#rov.cruise) to which this record is linked. A lookup is not used because the cruise record may not have been created yet.
data Stores the JSON representation of the import job.
hidden
objective
start_date
end_date
import_queue_annotator_label_map_prefill

A table to store the last configured tags and values for labels. Provides pre-filling in label mapping application.

Column Comment
id
tags The list of tags.
properties The the tag data.
created_on The date and time of creation of the entity.
updated_on The date and time of the entity's last update.
name The text of the label.
label_tree_name The label tree name. If given identifies the label uniquely with the tree name.
event_type
import_queue_pi

Stores the import packages created by principal investigators.

Column Comment
id
user_id A reference to the [MSEA user](#shared.mseauser) that created the record.
name A name of the import job
note An optional note about the import package.
status A short description of the processing status of the job.
created_on The date of creation of the record.
updated_on The date of update of the record.
cruise_id A reference to the [cruise](#rov.cruise).
hidden
instrument

This table represents instruments, which are concrete instances of the types represented in the model table. instruments tend to be things that generate data, be it a thermometer or a camera. For the purposes of this database, an instrument is anything that is not a platform.

Column Comment
id
model_id A reference to the instrument [model](#rov.model).
serial_number The serial number of the instrument. If a serial number is not available, some unique identifier can be substituted. No two instruments of the same model may have the same serial number.
retired If the instrument is retired, this records the retirement date. If null, the instrument is assumed to be active.
attributes A freeform list of attributes for this instrument.
note An optional note about this instrument.
created_on The date of creation of this record.
updated_on The date of update of this record.
organisation_id A reference to the organisation that owns and operates the instrument.
name A name for the instrument to distinguish it from others of the same model.
instrument_config

This table records the configuration of an instrument, including settings and its spatial relationship to a parent entity -- another configured vehicle or instrument upon which this instrument is mounted.

Column Comment
id
configuration Configuration information about the instrument config.
note An optional note about this configuration.
created_on The date of creation of this record.
updated_on The date of update of this record.
platform_config_id The ID of the [platform](#rov.platform) upon which the instrument is used.
instrument_id Reference to the [instrument](#rov.instrument) targeted by the configuration.
mark_for_delete Marks the entity for asynchronous deletion by the runner.
measurement

This table preserves time-stamped measurements generated by instruments. Each measurement has an associated quantity and unit. TODO: At this point multi-part measurement would be stored separately as the ability to store vectors isn't universal across DBMSes.

Column Comment
id
measurement_type_id A reference to the [type](#rov.measurement_type) of this measurement.
timestamp The time that the measurement was recorded.
quantity The scalar quantity or magnitude of the measurement.
signal_quality A quality of the measurement as reported by the instrument. TODO: Requires clarification.
is_modelled A flag to indicate whether the value is derived from measurements by some modelling process.
instrument_config_id The [configured instrument](#rov.instrument_config) used to generate this item.
import_group_id A reference to the [import group](#rov.import_group), which tracks measurements which were imported at the same time, from the same file.
measurement_type

This is a lookup table of types of measurement types for the measurement table. This is fairly open-ended and can represent something like salinity with a specific unit, be it the SI unit or a discipline-specific unit. It is provided to allow users to easily select units for a measurement category when importing data.

Column Comment
id
name The type of measurement. E.g., "Density" or "Salinity."
unit The unit. SI units are preferred but not required. The unit selection should probably depend on field-specific idiomatic or cultural preferences.
minimum An optional lower bound on the value of the measurement. Null implies no limit.
maximum An optional upper bound on the value of the measurement. Null implies no limit.
note An optional note about this measurement type.
short_code Contains a short code that can be used to look up a measurement type (e.g., during import) without relying on the primary key.
medium_format

A lookup table for data formats. This will include things like video, photo and acoustic. Medium formats can be discriminated as granularly as desired: as video/photo/acoustic/etc. or by format (JPG, MP4, AAC) and possibly more specific encoding parameters.

Column Comment
id
medium_type_id A reference to the [medium type](#rov.medium_type) (e.g., video or photo).
name The name of the format.
extensions A list of file extensions that correspond to this medium type. For example, the JPEG image type may have extensions "jpg" or "jpeg" in any case. This list will help applications guess the correct format of a file if it isn't known. Note that more than one media type can have the same extension, so this feature doesn't provide a guaranteed one-to-one mapping. Use it only as a guide.
note An optional note about the format.
short_code Contains a short code that can be used to look up a medium format (e.g., during import) without relying on the primary key.
medium_type

A simple lookup to provide media types to the annotation_protocol table. These are not specific media formats (as stored in medium_format), but provided a higher-level distinction.

Column Comment
id
name The name of the media type.
note An optional note about the media type.
short_code Provides a short code for looking up the entity.
model

This table records the brand and model of equipment in the inventory. This data is abstract, which is to say, there is only one record for "GoPro Hero4" but there will be one record for each concrete instance of the model in the instrument table. The model table stores both instruments and platforms.

Column Comment
id
brand_name The brand name.
model_name The model name.
attributes A free-form JSON field for attributes of this model.
note An optional note about the model.
equipment_type_id A reference to the [equipment type](#rov.equipment_type).
observation_confidence

Provides a nominal observation confidence level for observation events.

Column Comment
id
name The textual representation of the confidence level.
rank This field is a way of ranking confidence levels so that an ordering can be established.
note A note about the confidence level.
short_code Contains a short code that can be used to look up a observation confidence (e.g., during import) without relying on the primary key.
orientation

This table preserves time-stamped orientation measurements from instruments. These are interpreted according to a specified type. Ship and ROV orientation will be recorded here, though ships don't ordinarily have an orientation.

Column Comment
id
orientation_type_id A reference to the [orientation type](#rov.orientation_type) of this orientation.
timestamp The time the position was recorded.
orientation The orientation vector.
signal_quality The signal quality of the position as reported by the instrument. TODO: Requires clarification.
is_modelled A flag to indicate whether the value is derived from measurements by some modelling process.
instrument_config_id The [configured instrument](#rov.instrument_config) used to generate this item.
orientation_type

These entities describe the interpretation of the orientation vector in the instrument_config and orientation tables. This can be a 3- or 4-element vector representing yaw, pitch roll; Tait-Bryan angles; Euler angles or a Quaternion.

Column Comment
id
name The name of the orientation type (e.g., "Quaternion").
unit The units used to interpret the elements of the vector.
note An optional note about the orientation type.
short_code Contains a short code that can be used to look up an orientation type (e.g., during import) without relying on the primary key.
platform

This table maintains the inventory of vehicles, that is, ships and ROVs.

Column Comment
id
model_id A reference to the [model](#rov.model) of the platform.
name The name of the platform. If this is a ship, it might be "CCGS Vector" or if it's an ROV, it might be given an arbitrary name by the maintainer.
serial_number The serial number of the platform. If this is an ROV it will be the manufacturer's serial number. If it's a vessel, this might be the IMO number. In any case, it must be unique.
retired If the platform is retired, this records the date. If null, the platform is assumed to be active.
attributes A freeform list of attributes for this platform.
note An optional note about this platform.
created_on The date of creation of this record.
updated_on The date of update of this record.
short_code Contains a short code that can be used to look up a platform (e.g., during import) without relying on the primary key.
organisation_id A reference to the organisation that owns and operates the platform.
platform_config

This table stores configuration information about vehicles (ships, ROVs,etc.) used for surveys. All references to vehicles are made through this table rather than directly to the platform table, because the disposition of equipment on the platform is essential to understanding how data has been generated, as well as for simple record-keeping purposes.

Column Comment
id
platform_id A reference to the [platform](#rov.platform).
configuration The configuration data as a JSON object.
note An optional note about the configuration record.
created_on The date of creation of this record.
updated_on The date of update of this record.
mark_for_delete Marks the entity for asynchronous deletion by the runner.
position

This table preserves time-stamped position measurements from instruments. These can be linear (e.g., UTM) or angular (e.g., Geographic) positions in a specified unit. Ship and ROV positions will be recorded here. TODO: Should this table have a spatial object (point) as well, or be split into two tables, one for absolute georeferenced positions and one for relative positions and orientations?

Column Comment
id
position_type_id A reference to the [position type](#rov.position_type) of this position.
timestamp The time the position was recorded.
signal_quality The signal quality of the position as reported by the instrument. TODO: Requires clarification.
geom The point geometry.
is_modelled A flag to indicate whether the value is derived from measurements by some modelling process.
instrument_config_id The [configured instrument](#rov.instrument_config) used to generate this item.
import_group_id A reference to the [import group](#rov.import_group), which tracks positions which were imported at the same time, from the same file.
position_type

Describes the interpretation of a coordinate vector in the position table. These can be geographic or Cartesian positions or orientations and have defined linear or angular units.

Column Comment
id
name The name of the position type. E.g., "Geographic" or "Yaw, Pitch, Roll."
unit The unit. Linear or angular. E.g., "m" or "radians."
note An optional note about this position type.
short_code Contains a short code that can be used to look up a position type (e.g., during import) without relying on the primary key.
program

This is a listing of scientific or other programs that can be associated with cruises.

Column Comment
id
name The name of the program.
objective The objective or mandate of the program.
start_date The starting date of the program.
end_date The optional end date of the program.
note An optional note about the program.
created_on The date of creation of this item.
updated_on The date of update of this record.
summary A summary of the [program](#rov.program); whether objectives were met, problems encountered, etc.
program_member

Assigns user roles to a program.

Column Comment
id
program_id The reference to the [program](#rov.program).
person_id A reference to the [person](#shared.person).
role_id A reference to the [program role](#rov.program_role).
program_role

Represents the roles a person might perform in respect to a program. A person can be assigned multiple roles within a single program, and multiple people can work on a program with the same role.

Column Comment
id
name The name of the role. E.g., "Chief Scientist."
note An optional note about the role.
protocol

This table stores "(survey) protocol" entries from the source data. TODO: Used by events though it's not yet clear if it should stay this way.

Column Comment
id
name A name for the survey protocol.
note An optional note about the protocol.
short_code Contains a short code that can be used to look up a survey protocol (e.g., during import) without relying on the primary key.
relief

Provides a nominal level of terrain relief for habitat events.

Column Comment
id
name The textual representation of the relief level.
note A note about the relief level.
short_code Contains a short code that can be used to look up a relief (e.g., during import) without relying on the primary key.
signup_area

Stores the region within which sign-ups are permitted, generally North America.

Column Comment
id
name The name of the sign-up region.
geom The geometry of the sign-up region.
status_type

This is a lookup table for available status types, such as "on bottom" or "off bottom." These are specialized in the status_type_detail table where a note distinguishes different flavours of a given type. For example, there can be multiple types of "Off Transect" events with a different explanation for each.

Column Comment
id
name The name of the status event.
note An optional description of the status type.
short_code A short code for referencing the status type in import documents.
status_type_detail

This table associates a status type with a status event. The point of this indirection is to allow the addition of detail relative to the status type. For example, there are multiple reasons why an ROV might be "off transect", including that the vehicle has experienced a failure, or the pilot is investigating some interesting object with no research value. The status type value is the discriminator for the event, but the detail adds context the doesn't interfere with it.

Column Comment
id
status_type_id A reference to the [status type](#rov.status_type).
name The status type detail. This field distinguishes different uses for [status types](#rov.status_type). For example, there can be more than one reason to record an "Off Transect" event.
note Optional extended description of detail.
short_code Contains a short code that can be used to look up a status type detail (e.g., during import) without relying on the primary key.
substrate

A lookup table listing the available substrate types for the habitat_event table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Column Comment
id
name The name of the substrate.
note An optional description of the substrate.
short_code Contains a short code that can be used to look up a substrate (e.g., during import) without relying on the primary key.
survey_mode

This table stores "survey mode" entries from the source data. TODO: Used by events though it's not yet clear if it should stay this way.

Column Comment
id
name The name of the survey mode.
note An optional note about the survey mode.
short_code Contains a short code that can be used to look up a survey mode (e.g., during import) without relying on the primary key.
thickness

A lookup table listing the available substrate thicknesses for the habitat_event table. TODO: This table may be altered to provide a hierarchical list of types with increasing specificity.

Column Comment
id
name A characterization of biocover thickness.
minimum The minimum value in the range.
maximum The maximum value in the range.
note An optional note about the biocover thickness.
short_code Contains a short code that can be used to look up a thickness (e.g., during import) without relying on the primary key.
transect

A transect is a section of a dive during which interesting data are collected. Every transect is associated with a dive.

Column Comment
id
dive_id A reference to the [dive](#rov.dive) during which this transect occurred.
name The name of the transect.
objective A statement of the practical or research objectives for this true.
start_time The start time of the transect.
end_time The end time of the transect.
note An optional note about the transect.
attributes A JSON column used for recording structured attributes that do not fit with the regular table structure.
summary A summary of the [transect](#rov.transect); whether objectives were met, problems encountered, etc.
admin_note
weather_observation

Surface weather observations can be recorded by any crew member aboard a ship during a cruise leg.

Column Comment
id
cruise_crew_id A reference to the [cruise leg crew](#rov.cruise_crew) member who is making the report.
temperature The air temperature.
pressure The air pressure.
wind_speed The wind speed.
wind_direction The wind direction.
swell Description of swell.
time An optional note about the weather.
note An optional note about the observation
cruise_id A link to the [cruise](#rov.cruise) during which this record was recorded.


Indexes

Schema: shared

Tables
db_version

Stores the current database version so that upgrade scripts can perform migrations appropriately.

Column Comment
id
version_major The major version.
version_minor The minor version number.
updated_on The time the upgrade was performed.
revision The revision number.
file

Stores a record of a file object and its location on disk, along with some metadata. This entity is used by all other entities in all schemas that refer to a file object. This should make it easier to audit file stores and e.g., find duplicates using the hash.

Column Comment
id
file_type_id An optional reference to the [file type](#shared.file_type).
name The name for the file.
description An optional description for the file.
metadata A JSON dictionary containing metadata relating to the file.
path A path of the file, relative to the root directory where files are stored.
created_on The creation time of the file record, not necessarily the file itself (this should be stored in metadata).
updated_on The update time of the file record, not necessarily the file itself (this should be stored in metadata).
hash And MD5 hash of the file data. Used to compare files and search for identical versions.
blob_url A URL referencing the file in online blob storage. This field is subject to change depending on where the files reside and will change if they're moved.
file_type

A list of file types.

Column Comment
id
name The name of the file type.
short_code A short code for referencing the file type in import documents.
mseauser

Represents an MSEA user and is linked to a single Django auth User. Stores extra application-related properties such as the Biigle API key.

Column Comment
id
user_id A reference to the [Django user](#public.auth_user).
biigle_username The Biigle username.
biigle_api_key The Biigle API key.
pg_role The name of the PostgreSQL role that the user will use to log in directly to the database.
organization The organization with which a user is affiliated.
org_type The the type of organization with which the user is affiliated.
registration_reason A short note about why the user registered.
bio Biographical information about the user.
verification_code An auto-generated string used to identify the user for verification purposes.
verification_expiry The time of expiration of the verification code.
verification_time The date and time at which the user was verified.
registration_ip The IP used by the user to register.
ip_in_region Set to true if the user's IP is within the signup region. False positives and negatives are possible.
registration_note Administrator notes about the user's registration status.
allowed If true, the user is allowed to sign in. This can be set to false during sign up (e.g., by failing the IP check) or by an admin.
organisation

Convenient storage for organisations involved in MSEA activities.

Column Comment
id
name The full name of the organisation.
country The code for the country where the organisation is based (e.g., "CA" for Canada).
note An optional note about the organisation.
person

Stores information about people involved in all aspects of the application. This is not intended to be a comprehensive duplicate of the individual's HR dossier, just a means of representing a person and providing a means of associating it with a real-world individual, e.g., by their email.

Column Comment
id
biigle_user_id The Biigle database ID of a user. The UUID should be used instead.
first_name First name.
last_name Last name.
email Email address.
photo A photo of the person.
bio A brief biography of the person.
biigle_uuid The Biigle UUID is used to identify the user in Biigle apps.
affiliation The organization with which this user is currently affiliated.
restriction

The restriction table provides restrictions for events, based on specific property keys and values. If any event has a key and matching value in a restriction, the event is not shown to non-administrators.

Column Comment
id
name The name of the restriction.
key The top-level property name or key.
pattern A pattern matching the property value using the SQL ILIKE operator. An exact (case-insensitive) match is a bare string, while appending % at any location is a wildcard match. For example, '%term' matches 'exterm' but not 'exterminate'.
note An optional note about the restriction.
created_on The date of creation of the restriction.
updated_on The date of last update of the restriction.
restriction_group

Links the restriction to a group. Members of linked groups are able to view the restricted items.

Column Comment
id
restriction_id The ID of the [restriction](#shared.restriction).
group_id The ID of the Django authentication group.
site

Contains the names and geographic boundaries of study sites. This will be useful not only for mapping but for querying data by spatial extent.

Column Comment
id
spatial_library_id A reference to the [spatial library](#shared.spatial_library) entry.
name A name for the site.
note An optional note about the site.
spatial_library

Maintains a library of spatial data.

Column Comment
id
file_id A reference to a related [file](#shared.file).
name A name for the entry.
note A note about this library item.
thumbnail A small thumbnail in binary (JPG) form.
created_on The time when this record was created.
updated_on The date of update of this record.
geom A vector representation of the object(s), projected into WGS84 (lat/lon) and stored as a geography type.
metadata A JSON object containing metadata related to the spatial object.
rast A raster.
spatial_library_file

Allows a spatial library entity to own more than one file.

Column Comment
id
spatial_library_id A link to the [spatial library](#shared.spatial_library).
file_id A link to the [file](#shared.file).
uploaded_file

A table to store uploaded files that can be associated with other entities in separate requests. This table is intended to store temporary entities: when an uploaded file has been handled, these records should be deleted.

Column Comment
id
path The path to the temporary location of the file.
type The guessed MIME type of the file.
name The original name of the file.
created_on The time of creation of the record.
expires_on The expiry time of the file. It may be deleted by a maintenance script after this time.
marked_for_delete If true, the file is marked for delete. Otherwise it will not be touched unless there is an age limit set in the daemon.


Indexes

Schema: taxonomy

Tables
taxon

Stores taxonomic names from a variety of databases in a common format distinguished by source and taxon_id.

Column Comment
id
taxon_id The taxonomic ID from the source database.
source The name of the source database: "inaturalist", "worms", "obis", etc.
rank The name of the taxonomic rank of the record, e.g., "class", "subspecies", etc.
scientific_name The scientific name of the species.
common_name The common name of the species.
superdomain The superdomain name.
domain The domain name.
kingdom The kingdom name.
subkingdom The subkingdom name.
infrakingdom The infrakingdom name.
phylum The phylum name.
phylum_division The phylum division name.
subphylum_subdivision The subphylum division name.
subphylum The subphylum name.
infraphylum The infraphylum name.
parvphylum The parvphylum name.
gigaclass The gigaclass name.
megaclass The megaclass name.
superclass The superclass name.
class The "class" name.
subclass The subclass name.
infraclass The infraclass name.
subterclass The subterclass name.
superorder The superorder name.
order The "order" name.
suborder The suborder name.
infraorder The infraorder name.
parvorder The parvorder name.
superfamily The superfamily name.
family The family name.
subfamily The subfamily name.
supertribe The supertribe name.
tribe The tribe name.
subtribe The subtribe name.
genus The genus name.
genus_hybrid The genus hybrid name.
subgenus The subgenus name.
section The section name.
subsection The subsection name.
series The series name.
species The species name.
hybrid The hybrid name.
subspecies The subspecies name.
natio The natio name.
variety The variety name.
subvariety The subvariety name.
form The form name.
subform The subform name.
no_common_name If a search has been performed for a common name and none was found, this prevents the processor from trying again.
accepted_taxon_id The taxon ID of the accepted taxon for this unaccepted taxon. If this column is null, the taxon is accepted.
parent_taxon_id The taxon ID of the taxon's parent taxon. If this column is null, the taxon has no parents.


Indexes