DB Model 2014
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 administration users of e-Ecology.
The following tables are available
Contents
- 1 Tracking data
- 1.1 Track sessions
- 1.2 Tracking fixes, speeds and accelerations
- 1.2.1 gps.uva_tracking_data101 (table)
- 1.2.2 gps.uva_tracking_data (table)
- 1.2.3 gps.ee_tracking_speed_limited (view)
- 1.2.4 gps.ee_shared_tracking_speed_limited (view)
- 1.2.5 gps.uva_acc_start102 (table)
- 1.2.6 gps.ee_acc_start_limited (view)
- 1.2.7 gps.ee_shared_acc_start_limited (view)
- 1.2.8 gps.uva_acceleration101 (table)
- 1.2.9 gps.ee_acceleration_limited (view)
- 1.2.10 gps.ee_shared_acceleration_limited (view)
- 2 Bird data
- 3 Extra data
- 3.1 Administrative data
- 3.2 Engineering data
- 3.2.1 gps. ee_tracker (table)
- 3.2.2 gps.ee_tracker_limited (view)
- 3.2.3 gps.ee_shared_tracker_limited (view)
- 3.2.4 gps.uva_comm101 (table)
- 3.2.5 gps.ee_comm_limited (view)
- 3.2.6 gps.uva_energy101 (table)
- 3.2.7 gps.ee_energy_limited (view)
- 3.2.8 gps.uva_engineering_data (table)
- 3.2.9 gps.uva_settings101 (table)
- 3.2.10 gps.ee_settings_limited (view)
- 3.2.11 gps.uva_trackingfile_parsing (table)
- 3.2.12 gps.uva_trackingfile_messages (table)
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 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. |
Shows information of the track sessions that other projects are sharing with your projects and within which dates.
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 |
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.
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.
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 (ideally, in 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.
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) |
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 |
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 |
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 (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 |
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. |
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_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 |
} |