Difference between revisions of "DB Model 2014"

From ecology
Jump to: navigation, search
(gps. ee_tracker (table))
(gps. ee_tracker (table))
 
(37 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''NOTE: THIS PAGE IS STILL ACTIVELY BEING EDITED. Many things may and will change in the next days. Please visit it regularly to have the latest information.'''
+
From the users' perspective, the database is split into two schemas: ''admin'' and ''gps''. The ''gps'' schema is meant for data that should be readily available for users, and that they may edit via the services (software tools) offered to that effect. The ''admin'' schema is meant to host data only accessible for the administrators of e-Ecology.  
 
 
From the users' perspective, the database is split into two schemas: ''admin'' and ''gps''. The ''gps'' schema is meant for data that should be readily available for users, and that they may edit via the services (software tools) offered to that effect. The ''admin'' schema is meant to host data only accessible for the administration users of e-Ecology.  
 
  
 
The following tables are available
 
The following tables are available
Line 14: Line 12:
 
By editing the start and end dates, administrators of the project that this track session belongs to, can delimit (and therefore, establish) when the coupling makes sense (or is to be understood as useful).  
 
By editing the start and end dates, administrators of the project that this track session belongs to, can delimit (and therefore, establish) when the coupling makes sense (or is to be understood as useful).  
  
Whenever a tracker is attached to a bird, a track session must be started to indicate that the tracking data that is received is already live data. If the tracker is separated from the bird, the tracking data ceases to make sense, so the track session's end date should be set to denote it has ended. New track sessions can be started if the tracker is re-attached to a bird (possibly the same as before, or maybe a different one) afterwards.
+
Whenever a tracker is attached to a bird, a track session must be started (start_date) to indicate that the tracking data that is received is already live data. If the tracker is separated from the bird, the tracking data ceases to make sense, so the track session's end date should be set to denote it has ended. New track sessions can be started if the tracker is re-attached to a bird (possibly the same as before, or maybe a different one) afterwards.
  
 
==== ''gps.''ee_track_session (table) ====
 
==== ''gps.''ee_track_session (table) ====
Line 88: Line 86:
 
==== ''gps.''ee_''shared''_track_session_limited (view) ====
 
==== ''gps.''ee_''shared''_track_session_limited (view) ====
  
Shows information of the track sessions that other projects are sharing with your projects and within which dates.
+
In some cases you may be interested in sharing data from an individual bird with all users from a specific project, you can then provide that project with access to that individual bird for a specific period of time.  This is called "sharing".  To view information that has been shared with other projects, use the shared views. To make data available for viewing on the UvA-BiTS website each project administrator must also "share" the tracker for the period of interest with the website project (key_name = 'WWW').
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 392: Line 390:
  
 
It has the same fields as [[#gps.uva_acceleration101 (table)|gps.uva_acceleration101]].
 
It has the same fields as [[#gps.uva_acceleration101 (table)|gps.uva_acceleration101]].
 +
 +
It replaces the old gps.uva_acceleration_limited.
  
 
==== ''gps.''ee_''shared''_acceleration_limited (view) ====
 
==== ''gps.''ee_''shared''_acceleration_limited (view) ====
Line 444: Line 444:
 
|end_date||timestamp||NO||Date at which the bird is no longer relevant
 
|end_date||timestamp||NO||Date at which the bird is no longer relevant
 
|-
 
|-
|mass||numeric(5,0)||YES||Mass (ideally, in grams)
+
|mass||numeric(5,0)||YES||Mass (grams)
 
|-
 
|-
 
|operated_date||timestamp||NO||Recording of the last time the row was edited
 
|operated_date||timestamp||NO||Recording of the last time the row was edited
Line 467: Line 467:
 
Each row represents bird's details that your memberships allow you to see.
 
Each row represents bird's details that your memberships allow you to see.
  
This view replaces the old gps.uva_individual_limited.
+
This view replaces the old gps.uva_individual_limited. It joins, among others, the following tables: ee_individual and ee_species.
 +
 
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|key_name||varchar||NO||Project's key name that allows you to see the bird.
 +
|-
 +
|ring_number||varchar||NO||Ring number.
 +
|-
 +
|species||varchar||NO||Latin name of the species of the bird.
 +
|-
 +
|colour_ring||varchar||YES||String for ring colour.
 +
|-
 +
|sex||varchar||NO||Sex (M=male, F=female, X=unknown/unspecified)
 +
|-
 +
|mass||numeric(5,0)||YES||Mass (grams)
 +
|-
 +
|start_date||timestamp||NO||Date before which the bird is not relevant.
 +
|-
 +
|end_date||timestamp||NO||Date at which the bird is no longer relevant.
 +
|-
 +
|remarks||text||YES||Text for user remarks
 +
|}
 +
 
 +
==== ''gps.''ee_''shared''_individual_limited (view) ====
 +
 
 +
Each row represents bird's details that other projects have shared with projects you belong to.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 486: Line 515:
 
|-
 
|-
 
|mass||numeric(5,0)||YES||Mass (ideally, in grams)
 
|mass||numeric(5,0)||YES||Mass (ideally, in grams)
 +
|-
 +
|remarks||text||YES||Text for user remarks
 
|-
 
|-
 
|start_date||timestamp||NO||Date before which the bird is not relevant.
 
|start_date||timestamp||NO||Date before which the bird is not relevant.
Line 491: Line 522:
 
|end_date||timestamp||NO||Date at which the bird is no longer relevant.
 
|end_date||timestamp||NO||Date at which the bird is no longer relevant.
 
|-
 
|-
|remarks||text||YES||Text for user remarks
+
|sharing_start_date||timestamp||NO||Date when the sharing period begins.
 +
|-
 +
|sharing_end_date||timestamp||NO||Date when the sharing period ends.
 +
|}
 +
 
 +
=== Nests ===
 +
 
 +
==== ''gps.''uva_nest (table) ====
 +
 
 +
This table contains what amounts to observations of a nest. Each row represents what you saw for a bird in one nest once. All remarks that you make for the same ring_number and nest_id are meant to belong to the same nest and the same bird.
 +
 
 +
This table schema has ''not'' change from the old database.
 +
 
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|ring_number||text||NO||ring number
 +
|-
 +
|nest_id||text||YES||individual code for nest or territory
 +
|-
 +
|date_time||timestamp||NO||Timestamp without time zone (UTC) when nest first marked yyyy-mm-dd hh:mm:ss
 +
|-
 +
|latitude||float8||YES||latitude of nest or territory (decimal degrees)
 +
|-
 +
|longitude||float8||YES||longitude of nest or territory (decimal degrees)
 +
|-
 +
|Remarks||text||YES||If additional breeding information is available please provide the file with relevant data.  This field should include the file name and extension
 +
|-
 
|}
 
|}
  
Line 643: Line 704:
 
|}
 
|}
  
==== ''gps.''ee_tracker_sharing ====
+
==== ''gps.''ee_tracker_sharing (table) ====
 +
 
 +
Projects can now share tracking information from specific time periods with other projects. They can do so by creating a '''sharing''' of a tracker they own with another tracker. They can share the same tracker with the same project in multiple different periods.
 +
 
 +
You can only share trackers you own and within the time periods that your tracker belongs to you.
 +
 
 +
The motivation here is to let projects decide which trackers to share on the http://uva-bits.nl website. For example, you may want to allow the general public to see your birds' tracking data for the whole year every year except spring, because you may want to hide your birds' nest location. If you want to show a tracker on the website then you need to share it with the project whose key name is WWW. Then, if it's the first time you are going to show a tracker on the public website, contact the UvA-BiTS administrators so that they prepare the dynamic map for your project.
  
 
Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.
 
Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
! COLUMN_NAME
 
! COLUMN_NAME
Line 667: Line 735:
 
|-
 
|-
 
|tracker_ownership||int8||NO||Reference to the tracker ownership by virtue of which, the tracker information is shared
 
|tracker_ownership||int8||NO||Reference to the tracker ownership by virtue of which, the tracker information is shared
 +
|}
 +
 +
==== ''gps.''ee_tracker_sharing_limited (view) ====
 +
 +
You can see the trackers you are sharing and the time periods.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|giver_key_name||varchar||NO||Key name of the project that allows you to see this sharing, and that is actually sharing a tracker with some other project
 +
|-
 +
|borrower_key_name||varchar||NO||Key name of the project that the tracker is being shared with
 +
|-
 +
|device_info_serial||int8||NO||Serial number of the tracker that is being shared
 +
|-
 +
|tracker_sharing_start_date||timestamp||NO||Date at which the tracker begins to be shared
 +
|-
 +
|tracker_sharing_end_date||timestamp||NO||Date at which the tracker stops being shared
 +
|-
 +
|tracker_sharing_id||int8||NO||Unique identifier of the tracker sharing. Included just to allow joins.
 +
|-
 +
|tracker_ownership_id||int8||NO||Reference to the tracker ownership that links the tracker and the giver project. Included just to allow joins.
 
|}
 
|}
  
Line 696: Line 789:
 
|-
 
|-
 
|version||int4||YES||Optimistic locking field. Ignore it as a user.
 
|version||int4||YES||Optimistic locking field. Ignore it as a user.
 +
|-
 +
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (surge) axis
 +
|-
 +
|x_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the x (surge) axis
 +
|-
 +
|y_o||numeric(30,6)||YES||Accelerometer calibration: offset on the y (sway) axis
 +
|-
 +
|y_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (sway) axis
 +
|-
 +
|z_o||numeric(30,6)||YES||Accelerometer calibration: offset on the z (heave) axis
 +
|-
 +
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (heave) axis
 +
|}
 +
 +
==== ''gps.''ee_tracker_limited (view) ====
 +
 +
Each row represents tracker's details that your memberships allow you to see.
 +
 +
This view replaces the old gps.uva_device_limited.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|key_name||varchar||NO||Key name of the project that allows you to see this tracker.
 +
|-
 +
|device_info_serial||int8||NO||Serial number of the tracker
 +
|-
 +
|firmware_version||varchar||YES||String for firmware version
 +
|-
 +
|mass||numeric(4,2)||YES||Mass (in grams)
 +
|-
 +
|start_date||timestamp||NO||Date before which the device is not relevant
 +
|-
 +
|end_date||timestamp||NO||Date at which the device is not relevant any more
 
|-
 
|-
 
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis
 
|x_o||numeric(30,6)||YES||Accelerometer calibration: offset on the x (or surge) axis
Line 708: Line 838:
 
|-
 
|-
 
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis
 
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis
 +
|-
 +
|ownership_start_date||timestamp||NO||Date at which the tracker information becomes available to the project that allows you to see the tracker
 +
|-
 +
|ownership_end_date||timestamp||NO||Date at which the tracker information ceases to be available to the project that allows you to see the tracker
 +
|-
 +
|project_id||int8||NO||Reference to the project this tracker belongs to. Included just to enable joins.
 +
|-
 +
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.
 
|}
 
|}
  
==== ''gps.'' ee_tracker_limited (view) ====
+
==== ''gps.''ee_''shared''_tracker_limited (view) ====
  
Each row represents tracker's details that your memberships allow you to see.
+
Shows the tracker data for trackers that other projects have shared with your projects.  
 
 
This view replaces the old gps.uva_device_limited.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 746: Line 882:
 
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis
 
|z_s||numeric(30,6)||YES||Accelerometer calibration: sensitivity on the y (or heave) axis
 
|-
 
|-
|ownership_start_date||timestamp||NO||Date at which the tracker information becomes available to the project that allows you to see the tracker
+
|sharing_start_date||timestamp||NO||Date at which the tracker information becomes available to the project that allows you to see the tracker
 +
|-
 +
|sharing_end_date||timestamp||NO||Date at which the tracker information ceases to be available to the project that allows you to see the tracker
 +
|-
 +
|sharing_project_key_name||varchar||NO||Key name of the project that is sharing the tracker with you.
 
|-
 
|-
|ownership_end_date||timestamp||NO||Date at which the tracker information ceases to be available to the project that allows you to see the tracker
+
|sharing_project_id||int8||NO||Reference to the project that is sharing the tracker with you. Included just to enable joins.
 
|-
 
|-
 
|project_id||int8||NO||Reference to the project this tracker belongs to. Included just to enable joins.
 
|project_id||int8||NO||Reference to the project this tracker belongs to. Included just to enable joins.
Line 754: Line 894:
 
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.
 
|tracker_id||int8||NO||Tracker unique id. Included just to enable joins.
 
|}
 
|}
 +
 +
==== ''gps.''uva_comm101 (table) ====
 +
 +
Communication table indicates status and result of communications with ground stations. Only for newer firmware (v.1.0.1.4 and higher).
 +
 +
This table structure has ''not'' changed with respect to our previous database.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
| device_info_serial || int4 || NO || Serial number of the tracker.
 +
|-
 +
| date_time || timestamp || NO || timestamp of start communication
 +
|-
 +
| date_time_end || timestamp ||YES|| timestamp of end communication         
 +
|-
 +
| date_time_utc || timestamp ||YES|| date_time in utc (if available)
 +
|-
 +
| date_time_end_utc || timestamp ||YES|| date_time_end in utc (if available)
 +
|-
 +
| action || text||YES|| JOINED / RESCHEDULE  ??
 +
|-
 +
| bytes_communicated || int4 ||YES|| Number of bytes communicated (total of all bytes per DATA line) 
 +
|-
 +
|status || text ||YES|| READY, TIMEOUT, LOWPOWER, MISSING
 +
|-
 +
| network_join_time || int4||YES||milliseconds
 +
|-
 +
| number_identical_lines || int4 ||YES|| Number identical lines in data block. Gives indication
 +
|-
 +
| non_ascii_char || int4 ||YES|| Number of non ascii characters (indicated by question-mark ?)
 +
|-
 +
| sts_time || timestamp ||YES|| derived from S0 hh,mi
 +
|-
 +
| timesynced || int2||YES|| TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)
 +
|-
 +
|devicemode || int2||YES||DeviceMode (0-99). This describes whether the device is in a special operational mode.  0 = normal operational mode; 80 hex = Memory save mode (memory is almost full and all activity is drastically reduced so the circular memory probably won't be overwritten or, if it does,  it will be kept to a minimum)
 +
|-
 +
| vbat || float8 ||YES|| Battery voltage in V (0-~4.200V)
 +
|-
 +
|logb || int4 ||YES|| logged bytes, waiting for download (0-4Mbyte)
 +
|-
 +
| logp || int2 ||YES|| Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)
 +
|-
 +
| gpsii || int4 ||YES|| GpsIval, current (0-65535)
 +
|-
 +
|comii || int4||YES|| ComIval, current (0-65535)
 +
|-
 +
|accii || int4||YES|| AcceleroIval, current (0-65535)
 +
|-
 +
|swddd || int4||YES|| User switches, current (0-65535)
 +
|-
 +
|last_gps_fix ||timestamp||YES||timestamp of last fix
 +
|-
 +
|latitude||float8||YES||Latitude of last fix. Decimal degrees
 +
|-
 +
|longitude||float8||YES||Longitude of last fix. Decimal degrees
 +
|}
 +
 +
==== ''gps.''ee_comm_limited (view) ====
 +
 +
Shows the communication data for trackers that your memberships allow you to see.
 +
 +
It has the same fields as [[#gps.uva_comm101 (table)|gps.uva_comm101]].
 +
 +
It replaces the old gps.uva_comm_limited view.
 +
 +
==== ''gps.''uva_energy101 (table) ====
 +
 +
Only for newer firmware.
 +
 +
This table structure has not changed with respect to our previous database.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|device_info_serial||int4||NO||Serial number of the tracker
 +
|-
 +
|date_time||timestamp||NO||Date and time of the reported data
 +
|-
 +
|timesynced ||int2||YES||TimeSynced (0=not synced, 1=user set, 2=Gps synced)
 +
|-
 +
|devicemode ||int2||YES||(0-99)
 +
|-
 +
|vsll ||float8||YES||Solar Voltage during charging in mV (0-~2500)
 +
|-
 +
|vbat ||float8||YES||Battery Voltage in V (0-~4.200)
 +
|-
 +
|ssw ||int2||YES|| Solar Cell Switches ... (0-255) fw1022 and up
 +
|-
 +
| ||||YES||extended fields if special user switch is on
 +
|-
 +
|vsoo ||float8||YES|| Solar voltage open in V (0-~2.500)
 +
|-
 +
|vdrf ||float8||YES||reference voltage Dac in V (0-~2.435)
 +
|-
 +
|vchr ||float8||YES||charge current voltage
 +
|-
 +
|g ||int2||YES|| Gps battery threshold OK
 +
|-
 +
|c || int2||YES||Com battery threshold OK
 +
|-
 +
|m || int2||YES||Charge Mode (0,1,2 Com battery threshold OK
 +
|-
 +
|pressure || int4||YES|| in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)
 +
|-
 +
|temperature || float8||YES|| in celcius degrees 
 +
|}
 +
 +
==== ''gps.''ee_energy_limited (view) ====
 +
 +
Shows the energy data for trackers that your memberships allow you to see.
 +
 +
It has the same fields as [[#gps.uva_energy101 (table)|gps.uva_energy101]].
 +
 +
It replaces the old gps.uva_energy_limited view.
 +
 +
==== ''gps.''uva_engineering_data (table) ====
 +
 +
Engineering data from UvA GPS tags for older firmware (up to and including V 1.0.0.3).  These tags used the UBlox gps chip LEAS4S.
 +
 +
The table schema has ''not'' changed from the old database.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|device_info_serial||int4||NO||Serial number of the tracker
 +
|-
 +
|date_time||timestamp||NO||Date and time where the data was sampled
 +
|-
 +
|t_syncsts||int2||YES||0: not synced, 1: user synced, 2: Gps synced
 +
|-
 +
|t_entzt||int2||YES||0: UCT time,1: TZT time (timezone time)
 +
|-
 +
|gzp_currentrategps||int4||YES||
 +
|-
 +
|gzp_currentratecom||int4||YES||
 +
|-
 +
|gzp_currentratepwr||int4||YES||
 +
|-
 +
|sbm_voltagesolarpanel||float8||YES||
 +
|-
 +
|sbm_voltagebattery||float8||YES||
 +
|-
 +
|sbm_chargemode||int2||YES||
 +
|-
 +
|egzp_mainrategps||int4||YES||
 +
|-
 +
|egzp_mainratecom||int4||YES||
 +
|-
 +
|egzp_mainratepwr||int4||YES||
 +
|-
 +
|smg_on||text||YES||
 +
|-
 +
|smg_off||text||YES||
 +
|-
 +
|smg_esavegpsrate||int4||YES||
 +
|-
 +
|smz_on||text||YES||
 +
|-
 +
|smz_off||text||YES||
 +
|-
 +
|smz_esavecomrate||int4||YES||
 +
|-
 +
|gpsnavigationmode||int2||YES||This is the Kalman filter used for GPS navigation mode often called the "Dynamic platform model". The following codes are provided by the GPS chip manufacturer for UBlox chip LEAS4S: 1 = stationary, 2 = pedestrian, 3 = automotive, 4 = sea, 5 = airborne 1G, 6 = airborne 2G, 7 = airborne 3G
 +
|-
 +
|gpsfixtimeout||int2||YES||
 +
|-
 +
|eh||text||YES||
 +
|-
 +
|}
 +
 +
==== ''gps.''uva_settings101 (table) ====
 +
 +
Settings are either from C0-C1-C9 lines or parsed from uplink communication lines.
 +
If C0-C1 is parsed its values are compared with the previous value and if the settings are the same, then no new records need to be added.
 +
If uplink settings are parsed, then wait until the last setting has been seen (DL command or EOF); then store all the new settings in one record. Only for newer firmware.
 +
 +
This table structure has ''not'' changed from the old database.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|device_info_serial||int4||NO||
 +
|-
 +
|date_time||timestamp||NO||Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line
 +
|-
 +
|timesynced || int2 ||YES||
 +
|-
 +
|timezone_time || int2 ||YES||
 +
|-
 +
|swddd || int4||YES|| SpecialUserSwitches
 +
|-
 +
|gpsnavmode || int2||YES|| GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the "Dynamic platform model". The following codes are provided by the GPS chip manufacturer for the UBlox GPS chip LEAS4S: 1 = stationary, 2 = pedestrian, 3 = automotive, 4 = sea, 5 = airborne 1G, 6 = airborne 2G, 7 = airborne 3G.  The UBlox GPS chip LEAS6S uses the following codes: 0 = portable, 2 = stationary, 3 = pedestrian, 4 = automotive, 5 = sea, 6 = airborne with < 1g acceleration, 7 = airborne with < 2g acceleration, 8 = airborne with < 4g acceleration
 +
|-
 +
|gpsreceivermode || int2 ||YES|| GpsReceiverNode 0-3
 +
|-
 +
|gpsfixtime || int2||YES|| GpsFixTime 0-255
 +
|-
 +
|gps_ivaln_on_h || int2||YES|| hours Gps IvalN on
 +
|-
 +
|gps_ivaln_on_m || int2||YES|| minutes Gps IvalN on
 +
|-
 +
|gps_ivaln  || int4||YES|| GpsIvalN (0-65530)
 +
|-
 +
|gps_ivale_on_h || int2||YES|| hours Gps IvalE on
 +
|-
 +
|gps_ivale_on_m || int2||YES|| minutes GpS IvalE on
 +
|-
 +
|gps_ivale  || int4||YES|| GpsIvalE
 +
|-
 +
|com_ivaln_on_h || int2||YES|| hours Com IvalN on
 +
|-
 +
|com_ivaln_on_m || int2||YES|| minutes Com IvalN on
 +
|-
 +
|com_ivaln || int4||YES|| ComIvalN (0-65530)
 +
|-
 +
|com_ivale_on_h || int2||YES|| hours Com IvalE on
 +
|-
 +
|com_ivale_on_m || int2||YES|| minutes Com IvalE on
 +
|-
 +
|com_ivale || int4||YES|| ComIvalE
 +
|-
 +
|accii || int4||YES|| Accelero measurement interval       
 +
|-
 +
|accbn || int4||YES|| Accelero number of blocks
 +
|-
 +
|accsn || int4||YES|| Accelero number of samples (0-65536)
 +
|-
 +
|f || int2||YES||Accelero sample frequency  (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)
 +
|-
 +
|pdp || int2||YES|| PdopMsk (3-250)
 +
|-
 +
|pac||int2||YES|| PaccMsk (10-100)
 +
|-
 +
|tdp ||int2||YES|| TdopMsk (3-250)
 +
|-
 +
|tac ||int2||YES|| TaccMsk (30-300)
 +
|-
 +
|ga || int2||YES|| Additional Fixes GpsIval mode (3-25) before interval fix is logged
 +
|-
 +
|aol || int2||YES||AccMemOffLev (100 - 950) units 0.1%; if Memfull above  this level all Accelero activity will be overruled and switched off untill MemFull < level - 5
 +
|-
 +
|eventnum || text||YES|| 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text
 +
|}
 +
 +
==== ''gps.''ee_settings_limited (view) ====
 +
 +
Shows the settings data for trackers that your memberships allow you to see.
 +
 +
It has the same fields as [[#gps.uva_settings101 (table)|gps.uva_settings101]].
 +
 +
It replaces the old gps.uva_settings_limited view.
 +
 +
==== ''gps.''uva_trackingfile_parsing (table) ====
 +
 +
Each row on this table represents the status of the last attempt to parse (process) the raw data file that came from a tracker.
 +
 +
It is heavily used by the dashboard to determine how a given file is represented there.
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|id||int8||NO||Unique identifier of the row
 +
|-
 +
|date_reported||date||NO||Date that the file arrived
 +
|-
 +
|filename||varchar||NO||Name of the file
 +
|-
 +
|last_modified_date||timestamp||NO||Date that the file was last modified on
 +
|-
 +
|device_info_serial||int4||YES||Serial number of the tracker this file comes from
 +
|-
 +
|filesize||int8||NO||Size of the file in KB
 +
|-
 +
|parsed_date||timestamp||YES||Date and time that the file was last attempted to be parsed on
 +
|-
 +
|version||int4||NO||Optimistic locking field. Ignore it as a user.
 +
|-
 +
|last_found_date||timestamp||YES||Last time that a process that runs to look for new files saw the file
 +
|-
 +
|n_lines||int4||YES||Count of lines found in the file last time it was processed
 +
|-
 +
|n_data_lines||int4||YES||Count of actual data lines, out of the total lines
 +
|-
 +
|n_tracking_records||int4||YES||Count of GPS fixes found during the parsing process
 +
|-
 +
|n_communication_records||int4||YES||Count of communication records found during the parsing process
 +
|-
 +
|n_energy_records||int4||YES||Count of energy records found during the parsing process
 +
|-
 +
|n_acceleration_records||int4||YES||Count of acceleration records found during the parsing process
 +
|-
 +
|n_acceleration_start_records||int4||YES||Count of acceleration start records found during the parsing process
 +
|-
 +
|n_errors||int4||YES||Count of errors encountered during the parsing process
 +
|-
 +
|n_settings_records||int4||YES||Count of settings records found during the parsing process
 +
|-
 +
|filepath||text||NO||Directory path of the file on the server
 +
|}
 +
 +
==== ''gps.''uva_trackingfile_limited (view) ====
 +
 +
Allows you to see the files received and their parsing status for trackers that your memberships allow you to see.
 +
 +
It has the same fields as [[#gps.uva_trackingfile_parsing (table)|gps.uva_trackingfile_parsing]], and it adds a key_name field to identify which project allows you to see the file.
 +
 +
==== ''gps.''uva_trackingfile_messages (table) ====
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|id||serial||NO||Unique identifier of the row
 +
|-
 +
|tracking_bookkeeping_id||int4||YES||Reference to the gps.uva_trackingfile_parsing row for this file
 +
|-
 +
|message_type||int4||YES||Code for the type of information being told by the message.
 +
|-
 +
|message||text||YES||Textual message from the parsing process telling what it found.
 +
|-
 +
|message_code||int4||YES||
 +
|-
 +
|line_number||int4||YES||Line in the file where the message is reported
 +
|}
 +
 +
==== ''gps.''uva_warning102 (table) ====
 +
 +
Since firmware version 1.0.2.7 this table was added as catchall for events that do not occur very often (C10, C20) or errors that occur during parsing.
 +
For example all CRC failures can be selected with :
 +
 +
  select * from gps.uva_warning102
 +
  where warning = 'CRC8 failure'
 +
  order by device_info_serial;
 +
 +
{| class="wikitable"
 +
! COLUMN_NAME
 +
! TYPE_NAME
 +
! IS_NULLABLE
 +
! DESCRIPTION
 +
|-
 +
|device_info_serial||int4||NO||Serial number of the tracker
 +
|-
 +
|filename||text||NO||log file name
 +
|-
 +
|linenumber||integer||YES||line number in file
 +
|-
 +
|warning||text||YES||The warning message
 +
|-
 +
|line||text||YES||The actual line in the file
 +
|}
 +
 +
==== ''gps.''ee_warning_limited (view) ====
 +
 +
Shows the warning data for trackers that your memberships allow you to see.
 +
 +
It has the same fields as [[#gps.uva_warning102 (table)|gps.uva_warning102]].
 +
 +
It replaces the old gps.uva_warning_limited view.

Latest revision as of 09:47, 23 October 2014

From the users' perspective, the database is split into two schemas: admin and gps. The gps schema is meant for data that should be readily available for users, and that they may edit via the services (software tools) offered to that effect. The admin schema is meant to host data only accessible for the administrators of e-Ecology.

The following tables are available

Contents

Tracking data

Track sessions

A track session links a tracker and a bird for a given period of time. Therefore, it is mandatory for projects to supply this piece of metadata before they can see any tracking data related to a tracker they own.

In order to create a track session, the project must create first an entry in the system for the bird that they are attaching the tracker to, and this is the way for the UvA-BiTS community to make sense of the tracking data that we are receiving. This is why providing the metadata is so important.

By editing the start and end dates, administrators of the project that this track session belongs to, can delimit (and therefore, establish) when the coupling makes sense (or is to be understood as useful).

Whenever a tracker is attached to a bird, a track session must be started (start_date) to indicate that the tracking data that is received is already live data. If the tracker is separated from the bird, the tracking data ceases to make sense, so the track session's end date should be set to denote it has ended. New track sessions can be started if the tracker is re-attached to a bird (possibly the same as before, or maybe a different one) afterwards.

gps.ee_track_session (table)

Each row represents a track session.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
end_date timestamp NO Date at which the track session is not relevant any more
operated_date timestamp NO Recording of the last time the row was edited
remarks text YES Free text for comments
start_date timestamp NO Date before which the track session is not relevant
start_latitude numeric(11,8) NO Latitude where the bird was tagged
start_longitude numeric(11,8) NO Longitude where the bird was tagged
version int4 YES Optimistic locking field. Ignore it as a user.
device int8 NO Reference to the tracker
individual int8 NO Reference to the individual
operator_user int8 NO Reference to the user who last edited the row
project int8 NO Reference to the project this track session belongs to

gps.ee_track_session_limited (view)

Shows information of the track sessions that your memberships allow you to see.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
track_session_id int8 NO Unique identifier of the track session.
key_name varchar NO The project that the track session belongs to.
device_info_serial int8 NO Tracker serial number of the tracker this track session involves.
ring_number varchar NO Ring number of the bird that this track session involves.
track_session_start_date timestamp NO Date before which the track session is not relevant
track_session_end_date timestamp NO Date at which the track session is not relevant any more
remarks text YES Free text for comments
start_latitude numeric(11,8) NO Latitude where the bird was tagged
start_longitude numeric(11,8) NO Longitude where the bird was tagged
project_id int8 NO Reference to the project this track session belongs to. Included just to enable joins.
tracker_id int8 NO Reference to the tracker this track session involves. Included just to enable joins.
individual_id int8 NO Reference to the individual this track session involves. Included just to enable joins.

gps.ee_shared_track_session_limited (view)

In some cases you may be interested in sharing data from an individual bird with all users from a specific project, you can then provide that project with access to that individual bird for a specific period of time. This is called "sharing". To view information that has been shared with other projects, use the shared views. To make data available for viewing on the UvA-BiTS website each project administrator must also "share" the tracker for the period of interest with the website project (key_name = 'WWW').

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
track_session_id int8 NO Unique identifier of the track session.
key_name varchar NO The project that allows you to see the track session (the one it has been shared with).
device_info_serial int8 NO Tracker serial number of the tracker this track session involves.
ring_number varchar NO Ring number of the bird that this track session involves.
track_session_start_date timestamp NO Date before which the track session is not relevant
track_session_end_date timestamp NO Date at which the track session is not relevant any more
remarks text YES Free text for comments
start_latitude numeric(11,8) NO Latitude where the bird was tagged
start_longitude numeric(11,8) NO Longitude where the bird was tagged
project_id int8 NO Reference to the project the track session has been shared with. Included just to enable joins.
tracker_id int8 NO Reference to the tracker this track session involves. Included just to enable joins.
individual_id int8 NO Reference to the individual this track session involves. Included just to enable joins.
sharing_start_date timestamp NO Begin of the time period that this track session has been shared with the project that allows you to see it.
sharing_end_date timestamp NO End of the time period that this track session has been shared with the project that allows you to see it.
sharing_project_key_name varchar NO Key name of the project that owns the track session (and which is sharing it with the project that allows you to see it).
sharing_project_id int8 NO Reference to the project that owns the track session (and which is sharing it with the project that allows you to see it). Included just to enable joins.

Tracking fixes, speeds and accelerations

From the GPS tracker, we receive data files that are parsed and brought into the database. This gives us the GPS fixes and component speeds. Some calculations are made to also provide the 3D speed and the linear speed next to the GPS fix.

From the accelerometers, we receive accelerations from the different acceleration-vector components.

gps.uva_tracking_data101 (table)

Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker.

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.
date_time timestamp NO Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix.
latitude float8 YES Latitude of the GPS fix.
longitude float8 YES Longitude of the GPS fix.
altitude int4 YES Altitude above sea level measured by GPS tag in meters
pressure int4 YES Pressure measured by GPS tag sensor in Pascals
temperature float8 YES Temperature measured by GPS tag sensor in Celsius
h_accuracy float8 YES Horizontal accuracy (meters)
v_accuracy float8 YES vertical accuracy (meters)
x_speed float8 YES meters/second
y_speed float8 YES meters/second
z_speed float8 YES meters/second
gps_fixtime float8 YES GPS fix time (also known as Time to Fix) in seconds
userflag int4 YES Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.
satellites_used int2 YES Number of satellites used for fix the GPS measurement
positiondop float8 YES Positional DOP (Dilution of Precision), unitless
speed_accuracy float8 YES
location geometry YES postgreSQL geometry; to allow GIS operations

gps.uva_tracking_data (table)

Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker. For trackers with firmware version under V.1.0.1.4.

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.
date_time timestamp NO Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix.
engineering_date_time timestamp YES
latitude float8 YES Latitude of the GPS fix.
longitude float8 YES Longitude of the GPS fix.
altitude int4 YES Altitude above sea level measured by GPS tag in meters
pressure int4 YES Pressure measured by GPS tag sensor in Pascals
temperature float8 YES Temperature measured by GPS tag sensor in Celsius
h_accuracy float8 YES Horizontal accuracy (meters)
v_accuracy float8 YES vertical accuracy (meters)
x_speed float8 YES meters/second
y_speed float8 YES meters/second
z_speed float8 YES meters/second
speed_3d_accuracy float8 YES meters/second
x_acceleration float8 YES x axis acceleration (m/s22) movement to right is + and to left is -
y_acceleration float8 YES y axis acceleration (m/s22) forward movement is + and backwards is -
z_acceleration float8 YES z axis acceleration (m/s22) upwards movement is + and downwards is -
heading float8 YES
heading_accuracy float8 YES
solar_voltage float8 YES Solar voltage at the time of the measurement in volts
battery_voltage float8 YES Battery voltage at the time of the measurement in volts
gps_fixtime float8 YES GPS fix time (also known as Time to Fix) in seconds
gps_fixstatus text YES 2D = latitude and longitude measured; 3D= latitude, longitude and altitude measured; nofix_power = no GPS measurement
userflag int4 YES Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.
location geometry YES postgreSQL geometry; to allow GIS operations

gps.ee_tracking_speed_limited (view)

Shows the tracking data that your memberships allow you to see.

Each row represents a GPS fix as it is interpreted from the data that comes via the GPS tracker, plus it adds speeds.

It replaces old views gps.uva_tracking_limited, gps.uva_tracking_speed_3d_limited and gps.uva_tracking_speed. This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.
date_time timestamp NO Time when the fix was taken. UTC (i.e.: no timezone). Part of the unique identifier of the GPS fix.
latitude float8 YES Latitude of the GPS fix.
longitude float8 YES Longitude of the GPS fix.
altitude int4 YES Altitude above sea level measured by GPS tag in meters
pressure int4 YES Pressure measured by GPS tag sensor in Pascals
temperature float8 YES Temperature measured by GPS tag sensor in Celsius
h_accuracy float8 YES Horizontal accuracy (meters)
v_accuracy float8 YES vertical accuracy (meters)
x_speed float8 YES meters/second
y_speed float8 YES meters/second
z_speed float8 YES meters/second
gps_fixtime float8 YES GPS fix time (also known as Time to Fix) in seconds
userflag int4 YES Acceptable = 0; Data flagged as unacceptable by user if not equal to 0.
satellites_used int2 YES Number of satellites used for fix the GPS measurement
positiondop float8 YES Positional DOP (Dilution of Precision), unitless
speed_accuracy float8 YES
location geometry YES postgreSQL geometry; to allow GIS operations
vnorth float8 YES - vx * sin(lat) * cos(long) - vy * sin(lat) * sin (long) + vz * cos(lat)
veast float8 YES - vx * sin(lon) + vy * cos(lon)
vdown float8 YES - vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat)
speed float8 YES - vx * sin(lon) + vy * cos(lon)
speed3d float8 YES - vx * cos(lat) * cos(lon) - vy * cos(lat) * sin(lon) - vz * sin(lat)
direction numeric YES Heading in degrees; 0 is north, 90 is east

gps.ee_shared_tracking_speed_limited (view)

Shows the tracking data for trackers that other projects have shared with your projects.

It has the same fields as gps.ee_tracking_speed_limited.

gps.uva_acc_start102 (table)

Each row represents the start of a block of accelerations when a GPS fix is not available.

The logger tries to mark the start of blocks from the GPS fix that coincides with the begin of the acceleration block. If there's no GPS fix during that block, then it extrapolates the date and time and makes a special record which is interpreted by our accelerometer processing software and inserted into this specific table.

Therefore, to know all valid dates and times that mark a valid block for a tracker, you need to consider all of the values in column date_time on table gps.ee_tracking_data101 for the given tracker, and all the values on column date_time for that tracker. And the order is important within each block, so you should sort the acceleration measurements by block and index.

Added in firmware 1.0.2.7.

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker that reported the acceleration measurement.
date_time timestamp NO Time to mark the start of the acceleration block.
line_counter int4 NO Number of lines associated with this set of accelerations.
timesynced int2 YES The source of the time that marks the acceleration block (0=not synced, 1=user set, 2=Gps Synced).
ascii int4 YES Acceleration measurement interval.
accsn int4 YES Number of samples (0-65536).
f int2 YES Acceleration sampling frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz).

gps.ee_acc_start_limited (view)

Shows the acceleration start data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_acc_start102.

gps.ee_shared_acc_start_limited (view)

Shows the acceleration start data for trackers that other projects have shared with your projects.

It has the same fields as gps.ee_acc_start_limited.

gps.uva_acceleration101 (table)

Each row represents an acceleration measurement as it is interpreted from the data that comes via the accelerometer. Acceleration is looked at in batches for a period of time, so the 3 components (X,Y,Z). The blocks are delimited by a starting date and time, and then each observation is numbered consecutively.

The logger tries to mark the start of blocks from the GPS fix that coincides with the begin of the acceleration block. If there's no GPS fix during that block, then it extrapolates the date and time and makes a special record which is interpreted by our accelerometer processing software and inserted into a specific table called gps.ee_acc_start102. Therefore, to know all valid dates and times that mark a valid block for a tracker, you need to consider all of the values in column date_time on table gps.ee_tracking_data101 for the given tracker, and all the values on column date_time for that tracker. And the order is important within each block, so you should sort the acceleration measurements by block and index.

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker that reported the fix. Part of the unique identifier of the GPS fix.
date_time timestamp NO Time of the acceleration block that this measurement belongs to.
index int2 NO Sorting order of the measurement within the acceleration block (each block starts at 0).
x_acceleration int2 YES Acceleration measured on the x (or surge) axis (range between -2666 and 2666).
y_acceleration int2 YES Acceleration measured on the y (or sway) axis (range between -2666 and 2666).
z_acceleration int2 YES Acceleration measured on the z (or heave) axis (range between -2666 and 2666).

gps.ee_acceleration_limited (view)

Shows the acceleration measurements data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_acceleration101.

It replaces the old gps.uva_acceleration_limited.

gps.ee_shared_acceleration_limited (view)

Shows the acceleration measurements data for trackers that other projects have shared with your projects.

It has the same fields as gps.ee_acceleration_limited.

Bird data

Birds

gps.ee_species (table)

Each row represents a species.

Each bird now holds a reference to a record in this table. Only UvA-BiTS administrators will maintain the catalogue of valid species, so if you need to add a bird for which a species is not yet in the system, you must contact them. This way we ensure that the species' names are consistent.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
abbr varchar NO Abbreviation of the species. Should be unique. Used as the prefix of the project's key name.
english_name varchar YES Name in English
latin_name varchar NO Name in Latin
version int4 YES Optimistic locking field. Ignore it as a user.

gps.ee_individual (table)

Each row represents a bird.

This table replaces gps.uva_individual from the old database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
colour_ring varchar YES String for ring colour
end_date timestamp NO Date at which the bird is no longer relevant
mass numeric(5,0) YES Mass (grams)
operated_date timestamp NO Recording of the last time the row was edited
remarks text YES Text for user remarks
ring_number varchar NO Ring number
sex varchar NO Sex
start_date timestamp NO Date before which the bird is not relevant
version int4 YES Optimistic locking field. Ignore it as user.
operator_user int8 NO Reference to the user who last edited the row
species int8 NO Reference to the species

gps.ee_individual_limited (view)

Each row represents bird's details that your memberships allow you to see.

This view replaces the old gps.uva_individual_limited. It joins, among others, the following tables: ee_individual and ee_species.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
key_name varchar NO Project's key name that allows you to see the bird.
ring_number varchar NO Ring number.
species varchar NO Latin name of the species of the bird.
colour_ring varchar YES String for ring colour.
sex varchar NO Sex (M=male, F=female, X=unknown/unspecified)
mass numeric(5,0) YES Mass (grams)
start_date timestamp NO Date before which the bird is not relevant.
end_date timestamp NO Date at which the bird is no longer relevant.
remarks text YES Text for user remarks

gps.ee_shared_individual_limited (view)

Each row represents bird's details that other projects have shared with projects you belong to.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
key_name varchar NO Project's key name that allows you to see the bird.
ring_number varchar NO Ring number.
species varchar NO Latin name of the species of the bird.
colour_ring varchar YES String for ring colour.
sex varchar NO Sex (M=male, F=female, X=unknown/unspecified)
mass numeric(5,0) YES Mass (ideally, in grams)
remarks text YES Text for user remarks
start_date timestamp NO Date before which the bird is not relevant.
end_date timestamp NO Date at which the bird is no longer relevant.
sharing_start_date timestamp NO Date when the sharing period begins.
sharing_end_date timestamp NO Date when the sharing period ends.

Nests

gps.uva_nest (table)

This table contains what amounts to observations of a nest. Each row represents what you saw for a bird in one nest once. All remarks that you make for the same ring_number and nest_id are meant to belong to the same nest and the same bird.

This table schema has not change from the old database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
ring_number text NO ring number
nest_id text YES individual code for nest or territory
date_time timestamp NO Timestamp without time zone (UTC) when nest first marked yyyy-mm-dd hh:mm:ss
latitude float8 YES latitude of nest or territory (decimal degrees)
longitude float8 YES longitude of nest or territory (decimal degrees)
Remarks text YES If additional breeding information is available please provide the file with relevant data. This field should include the file name and extension

Extra data

Administrative data

admin.ee_user

Each row represents a user.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key
address varchar YES String for postal address
email varchar NO e-mail address
encrypted_password varchar NO Encrypted password
login_name varchar NO Login name
mobile_phone varchar YES String for mobile phone number
name varchar NO (first) name
surname varchar NO Surname
version int4 YES Optimistic locking field. Ignore it as a user.
operator_user int8 YES Id of the user who last edited this user's data.

admin.ee_project

Each row represents a project.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key
description text YES String for free description. Updatable by the user.
end_date timestamp NO Date at which the project is not relevant any more
key_name varchar NO Unique key name, of the form species_place
lft int8 NO "Modified preorder tree traversal" field. Ignore it as a user.
rgt int8 NO "Modified preorder tree traversal" field. Ignore it as a user.
start_date timestamp NO Project start date
station_name varchar NO Where the receiving station is
version int4 YES Optimistic locking field. Ignore it as a user.
operator_user int8 NO Reference to the user who last edited the project
parent int8 YES Reference to the parent project. Only the root project has no parent.

admin.ee_membership

Each row represents the fact that a user has a given role in a given project for a given period of time.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
comments text YES Free text for comments
label text YES Labels that Willem wants to have for people in projects
role varchar NO Role that the user holds during this period
status varchar NO Status that the row holds during that period. Look at the attached file to know the allowed transitions.
version int4 YES Optimistic locking field. Ignore it as a user.
member_user int8 NO Reference to the user that this membership applies to
operated_date timestamp NO Date that the row was last modified
operator_user int8 NO Reference to the user who last edited this row
project int8 NO Reference to the project that this membership applies to

admin.ee_individual_ownership

Each row represents the fact that an individual belongs to a project within a specified time period.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
end_date timestamp NO Date at which the individual ceases to belong to the project
operated_date timestamp NO Recording of the last time the row was edited
start_date timestamp NO Date at which the project begins to own the individual
version int4 YES Optimistic locking field. Ignore it as a user.
individual int8 NO Reference to the individual
operator_user int8 NO Reference to the user who last edited the row
project int8 NO Reference to the project this individual belongs to

admin.ee_tracker_ownership

Each row represents the fact that a tracker belongs to a project within a specified time period.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
end_date timestamp NO Date at which the tracker ceases to belong to the project
operated_date timestamp NO Recording of the last time the row was edited
start_date timestamp NO Date at which the project begins to own the tracker
version int4 YES Optimistic locking field. Ignore it as a user.
device int8 NO Reference to the tracker
operator_user int8 NO Reference to the user who last edited the row
project int8 NO Reference to the project this tracker belongs to

gps.ee_tracker_sharing (table)

Projects can now share tracking information from specific time periods with other projects. They can do so by creating a sharing of a tracker they own with another tracker. They can share the same tracker with the same project in multiple different periods.

You can only share trackers you own and within the time periods that your tracker belongs to you.

The motivation here is to let projects decide which trackers to share on the http://uva-bits.nl website. For example, you may want to allow the general public to see your birds' tracking data for the whole year every year except spring, because you may want to hide your birds' nest location. If you want to show a tracker on the website then you need to share it with the project whose key name is WWW. Then, if it's the first time you are going to show a tracker on the public website, contact the UvA-BiTS administrators so that they prepare the dynamic map for your project.

Each row represents the fact that a tracker's information within a specified period, can be accessed by users belonging to another project.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
end_date timestamp NO Date at which the tracker information ceases to be available to the receiving project
operated_date timestamp NO Recording of the last time the row was edited
start_date timestamp NO Date at which the tracker information becomes available to the receiving project
version int4 YES Optimistic locking field. Ignore it as a user.
operator_user int8 NO Reference to the user who last edited the row
project int8 NO Reference to the project that receives access to the tracker information
tracker_ownership int8 NO Reference to the tracker ownership by virtue of which, the tracker information is shared

gps.ee_tracker_sharing_limited (view)

You can see the trackers you are sharing and the time periods.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
giver_key_name varchar NO Key name of the project that allows you to see this sharing, and that is actually sharing a tracker with some other project
borrower_key_name varchar NO Key name of the project that the tracker is being shared with
device_info_serial int8 NO Serial number of the tracker that is being shared
tracker_sharing_start_date timestamp NO Date at which the tracker begins to be shared
tracker_sharing_end_date timestamp NO Date at which the tracker stops being shared
tracker_sharing_id int8 NO Unique identifier of the tracker sharing. Included just to allow joins.
tracker_ownership_id int8 NO Reference to the tracker ownership that links the tracker and the giver project. Included just to allow joins.

Engineering data

gps. ee_tracker (table)

Each row represents a tracker.

This table replaces the old gps.uva_device.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier. Primary key.
device_info_serial int8 NO Serial number of the tracker
end_date timestamp NO Date at which the device is not relevant any more
firmware_version varchar YES String for firmware version
mass numeric(4,2) YES Mass (in grams)
start_date timestamp NO Date before which the device is not relevant
version int4 YES Optimistic locking field. Ignore it as a user.
x_o numeric(30,6) YES Accelerometer calibration: offset on the x (surge) axis
x_s numeric(30,6) YES Accelerometer calibration: sensitivity on the x (surge) axis
y_o numeric(30,6) YES Accelerometer calibration: offset on the y (sway) axis
y_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (sway) axis
z_o numeric(30,6) YES Accelerometer calibration: offset on the z (heave) axis
z_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (heave) axis

gps.ee_tracker_limited (view)

Each row represents tracker's details that your memberships allow you to see.

This view replaces the old gps.uva_device_limited.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
key_name varchar NO Key name of the project that allows you to see this tracker.
device_info_serial int8 NO Serial number of the tracker
firmware_version varchar YES String for firmware version
mass numeric(4,2) YES Mass (in grams)
start_date timestamp NO Date before which the device is not relevant
end_date timestamp NO Date at which the device is not relevant any more
x_o numeric(30,6) YES Accelerometer calibration: offset on the x (or surge) axis
x_s numeric(30,6) YES Accelerometer calibration: sensitivity on the x (or surge) axis
y_o numeric(30,6) YES Accelerometer calibration: offset on the y (or sway) axis
y_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (or sway) axis
z_o numeric(30,6) YES Accelerometer calibration: offset on the z (or heave) axis
z_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (or heave) axis
ownership_start_date timestamp NO Date at which the tracker information becomes available to the project that allows you to see the tracker
ownership_end_date timestamp NO Date at which the tracker information ceases to be available to the project that allows you to see the tracker
project_id int8 NO Reference to the project this tracker belongs to. Included just to enable joins.
tracker_id int8 NO Tracker unique id. Included just to enable joins.

gps.ee_shared_tracker_limited (view)

Shows the tracker data for trackers that other projects have shared with your projects.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
key_name varchar NO Key name of the project that allows you to see this tracker.
device_info_serial int8 NO Serial number of the tracker
firmware_version varchar YES String for firmware version
mass numeric(4,2) YES Mass (in grams)
start_date timestamp NO Date before which the device is not relevant
end_date timestamp NO Date at which the device is not relevant any more
x_o numeric(30,6) YES Accelerometer calibration: offset on the x (or surge) axis
x_s numeric(30,6) YES Accelerometer calibration: sensitivity on the x (or surge) axis
y_o numeric(30,6) YES Accelerometer calibration: offset on the y (or sway) axis
y_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (or sway) axis
z_o numeric(30,6) YES Accelerometer calibration: offset on the z (or heave) axis
z_s numeric(30,6) YES Accelerometer calibration: sensitivity on the y (or heave) axis
sharing_start_date timestamp NO Date at which the tracker information becomes available to the project that allows you to see the tracker
sharing_end_date timestamp NO Date at which the tracker information ceases to be available to the project that allows you to see the tracker
sharing_project_key_name varchar NO Key name of the project that is sharing the tracker with you.
sharing_project_id int8 NO Reference to the project that is sharing the tracker with you. Included just to enable joins.
project_id int8 NO Reference to the project this tracker belongs to. Included just to enable joins.
tracker_id int8 NO Tracker unique id. Included just to enable joins.

gps.uva_comm101 (table)

Communication table indicates status and result of communications with ground stations. Only for newer firmware (v.1.0.1.4 and higher).

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker.
date_time timestamp NO timestamp of start communication
date_time_end timestamp YES timestamp of end communication
date_time_utc timestamp YES date_time in utc (if available)
date_time_end_utc timestamp YES date_time_end in utc (if available)
action text YES JOINED / RESCHEDULE  ??
bytes_communicated int4 YES Number of bytes communicated (total of all bytes per DATA line)
status text YES READY, TIMEOUT, LOWPOWER, MISSING
network_join_time int4 YES milliseconds
number_identical_lines int4 YES Number identical lines in data block. Gives indication
non_ascii_char int4 YES Number of non ascii characters (indicated by question-mark ?)
sts_time timestamp YES derived from S0 hh,mi
timesynced int2 YES TimeSynced (0=not sy:wnced, 1=user set, 2=Gps Synced)
devicemode int2 YES DeviceMode (0-99). This describes whether the device is in a special operational mode. 0 = normal operational mode; 80 hex = Memory save mode (memory is almost full and all activity is drastically reduced so the circular memory probably won't be overwritten or, if it does, it will be kept to a minimum)
vbat float8 YES Battery voltage in V (0-~4.200V)
logb int4 YES logged bytes, waiting for download (0-4Mbyte)
logp int2 YES Logged percentage (units 0.1%) of memory waiting to be downloaded (0-1000)
gpsii int4 YES GpsIval, current (0-65535)
comii int4 YES ComIval, current (0-65535)
accii int4 YES AcceleroIval, current (0-65535)
swddd int4 YES User switches, current (0-65535)
last_gps_fix timestamp YES timestamp of last fix
latitude float8 YES Latitude of last fix. Decimal degrees
longitude float8 YES Longitude of last fix. Decimal degrees

gps.ee_comm_limited (view)

Shows the communication data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_comm101.

It replaces the old gps.uva_comm_limited view.

gps.uva_energy101 (table)

Only for newer firmware.

This table structure has not changed with respect to our previous database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker
date_time timestamp NO Date and time of the reported data
timesynced int2 YES TimeSynced (0=not synced, 1=user set, 2=Gps synced)
devicemode int2 YES (0-99)
vsll float8 YES Solar Voltage during charging in mV (0-~2500)
vbat float8 YES Battery Voltage in V (0-~4.200)
ssw int2 YES Solar Cell Switches ... (0-255) fw1022 and up
YES extended fields if special user switch is on
vsoo float8 YES Solar voltage open in V (0-~2.500)
vdrf float8 YES reference voltage Dac in V (0-~2.435)
vchr float8 YES charge current voltage
g int2 YES Gps battery threshold OK
c int2 YES Com battery threshold OK
m int2 YES Charge Mode (0,1,2 Com battery threshold OK
pressure int4 YES in pascal (1mBar = 100Pa, 1pressuremeter = ~12Pa)
temperature float8 YES in celcius degrees

gps.ee_energy_limited (view)

Shows the energy data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_energy101.

It replaces the old gps.uva_energy_limited view.

gps.uva_engineering_data (table)

Engineering data from UvA GPS tags for older firmware (up to and including V 1.0.0.3). These tags used the UBlox gps chip LEAS4S.

The table schema has not changed from the old database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker
date_time timestamp NO Date and time where the data was sampled
t_syncsts int2 YES 0: not synced, 1: user synced, 2: Gps synced
t_entzt int2 YES 0: UCT time,1: TZT time (timezone time)
gzp_currentrategps int4 YES
gzp_currentratecom int4 YES
gzp_currentratepwr int4 YES
sbm_voltagesolarpanel float8 YES
sbm_voltagebattery float8 YES
sbm_chargemode int2 YES
egzp_mainrategps int4 YES
egzp_mainratecom int4 YES
egzp_mainratepwr int4 YES
smg_on text YES
smg_off text YES
smg_esavegpsrate int4 YES
smz_on text YES
smz_off text YES
smz_esavecomrate int4 YES
gpsnavigationmode int2 YES This is the Kalman filter used for GPS navigation mode often called the "Dynamic platform model". The following codes are provided by the GPS chip manufacturer for UBlox chip LEAS4S: 1 = stationary, 2 = pedestrian, 3 = automotive, 4 = sea, 5 = airborne 1G, 6 = airborne 2G, 7 = airborne 3G
gpsfixtimeout int2 YES
eh text YES

gps.uva_settings101 (table)

Settings are either from C0-C1-C9 lines or parsed from uplink communication lines. If C0-C1 is parsed its values are compared with the previous value and if the settings are the same, then no new records need to be added. If uplink settings are parsed, then wait until the last setting has been seen (DL command or EOF); then store all the new settings in one record. Only for newer firmware.

This table structure has not changed from the old database.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO
date_time timestamp NO Derived timestamp from Hh:mi fields in C0 combined with computer timestamp in JOINED line
timesynced int2 YES
timezone_time int2 YES
swddd int4 YES SpecialUserSwitches
gpsnavmode int2 YES GpsNavMode 0-8. This is the Kalman filter used for GPS navigation mode often called the "Dynamic platform model". The following codes are provided by the GPS chip manufacturer for the UBlox GPS chip LEAS4S: 1 = stationary, 2 = pedestrian, 3 = automotive, 4 = sea, 5 = airborne 1G, 6 = airborne 2G, 7 = airborne 3G. The UBlox GPS chip LEAS6S uses the following codes: 0 = portable, 2 = stationary, 3 = pedestrian, 4 = automotive, 5 = sea, 6 = airborne with < 1g acceleration, 7 = airborne with < 2g acceleration, 8 = airborne with < 4g acceleration
gpsreceivermode int2 YES GpsReceiverNode 0-3
gpsfixtime int2 YES GpsFixTime 0-255
gps_ivaln_on_h int2 YES hours Gps IvalN on
gps_ivaln_on_m int2 YES minutes Gps IvalN on
gps_ivaln int4 YES GpsIvalN (0-65530)
gps_ivale_on_h int2 YES hours Gps IvalE on
gps_ivale_on_m int2 YES minutes GpS IvalE on
gps_ivale int4 YES GpsIvalE
com_ivaln_on_h int2 YES hours Com IvalN on
com_ivaln_on_m int2 YES minutes Com IvalN on
com_ivaln int4 YES ComIvalN (0-65530)
com_ivale_on_h int2 YES hours Com IvalE on
com_ivale_on_m int2 YES minutes Com IvalE on
com_ivale int4 YES ComIvalE
accii int4 YES Accelero measurement interval
accbn int4 YES Accelero number of blocks
accsn int4 YES Accelero number of samples (0-65536)
f int2 YES Accelero sample frequency (0=20Hz, 1=10Hz, 2=5Hz, 3=1Hz)
pdp int2 YES PdopMsk (3-250)
pac int2 YES PaccMsk (10-100)
tdp int2 YES TdopMsk (3-250)
tac int2 YES TaccMsk (30-300)
ga int2 YES Additional Fixes GpsIval mode (3-25) before interval fix is logged
aol int2 YES AccMemOffLev (100 - 950) units 0.1%; if Memfull above this level all Accelero activity will be overruled and switched off untill MemFull < level - 5
eventnum text YES 12 eventnumbers (0-0xff) only printed if not zero, therfore converted to text

gps.ee_settings_limited (view)

Shows the settings data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_settings101.

It replaces the old gps.uva_settings_limited view.

gps.uva_trackingfile_parsing (table)

Each row on this table represents the status of the last attempt to parse (process) the raw data file that came from a tracker.

It is heavily used by the dashboard to determine how a given file is represented there.

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id int8 NO Unique identifier of the row
date_reported date NO Date that the file arrived
filename varchar NO Name of the file
last_modified_date timestamp NO Date that the file was last modified on
device_info_serial int4 YES Serial number of the tracker this file comes from
filesize int8 NO Size of the file in KB
parsed_date timestamp YES Date and time that the file was last attempted to be parsed on
version int4 NO Optimistic locking field. Ignore it as a user.
last_found_date timestamp YES Last time that a process that runs to look for new files saw the file
n_lines int4 YES Count of lines found in the file last time it was processed
n_data_lines int4 YES Count of actual data lines, out of the total lines
n_tracking_records int4 YES Count of GPS fixes found during the parsing process
n_communication_records int4 YES Count of communication records found during the parsing process
n_energy_records int4 YES Count of energy records found during the parsing process
n_acceleration_records int4 YES Count of acceleration records found during the parsing process
n_acceleration_start_records int4 YES Count of acceleration start records found during the parsing process
n_errors int4 YES Count of errors encountered during the parsing process
n_settings_records int4 YES Count of settings records found during the parsing process
filepath text NO Directory path of the file on the server

gps.uva_trackingfile_limited (view)

Allows you to see the files received and their parsing status for trackers that your memberships allow you to see.

It has the same fields as gps.uva_trackingfile_parsing, and it adds a key_name field to identify which project allows you to see the file.

gps.uva_trackingfile_messages (table)

COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
id serial NO Unique identifier of the row
tracking_bookkeeping_id int4 YES Reference to the gps.uva_trackingfile_parsing row for this file
message_type int4 YES Code for the type of information being told by the message.
message text YES Textual message from the parsing process telling what it found.
message_code int4 YES
line_number int4 YES Line in the file where the message is reported

gps.uva_warning102 (table)

Since firmware version 1.0.2.7 this table was added as catchall for events that do not occur very often (C10, C20) or errors that occur during parsing. For example all CRC failures can be selected with :

 select * from gps.uva_warning102 
 where warning = 'CRC8 failure'
 order by device_info_serial;
COLUMN_NAME TYPE_NAME IS_NULLABLE DESCRIPTION
device_info_serial int4 NO Serial number of the tracker
filename text NO log file name
linenumber integer YES line number in file
warning text YES The warning message
line text YES The actual line in the file

gps.ee_warning_limited (view)

Shows the warning data for trackers that your memberships allow you to see.

It has the same fields as gps.uva_warning102.

It replaces the old gps.uva_warning_limited view.